菜鸟教程小白 发表于 2022-12-12 20:57:14

ios - 需要 Quicklox token


                                            <p><p>我在我的应用程序中使用 quickblox。我做了我的用户注册、用户登录和聊天。我第一次登录时一切正常。如果我按 home 并再次进入应用程序,我会来到我的 <code>viewController</code> 页面。用户自动注销。当我尝试登录时,它说,需要 token 。</p>

<p>我已将 session 身份验证放入 <code>appdelegate</code></p>

<pre><code>
    -(void)viewDidAppear:(BOOL)animated
    {

    if(.currentUser == nil)// check if user is logged in
    {
      NSCharacterSet *nonalphanumericSet = [[ NSCharacterSet alphanumericCharacterSet] invertedSet];

      .username componentsSeparatedByCharactersInSet:nonalphanumericSet ] componentsJoinedByString:@&#34;1&#34;] password:@&#34;password&#34; delegate:self];
    }
    }

    - (void)completedWithResult:(Result *)result
    {
    if(result.success &amp;&amp; )
    {
      // Success, do something
      QBUUserLogInResult *userResult = (QBUUserLogInResult *)result;
      NSLog(@&#34;Logged In user=%@&#34;, userResult.user);


            userResult.user.password =@&#34;password&#34;;

      // Save current user
      //
      [ setCurrentUser: userResult.user];


      // Login to QuickBlox Chat
      //
      [ loginWithUser:.currentUser completionBlock:^{

            NSLog(@&#34;chat logged successfully&#34;);


      }];

      // Errors
    }
    else
    {
      NSString *errorMessage = [ stringByReplacingOccurrencesOfString:@&#34;(&#34; withString:@&#34;&#34;];
      errorMessage = ;

      UIAlertView *alert = [ initWithTitle:@&#34;Errors&#34;
                                                      message:errorMessage
                                                       delegate:nil
                                              cancelButtonTitle:@&#34;Ok&#34;
                                              otherButtonTitles: nil];
      ;

    }

}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strong>token is required</strong>表示您正在尝试执行请求,但您还没有创建 session </p>

<p>您可以重现此问题,只需一一执行 2 个请求:</p>

<pre><code>;
;
</code></pre>

<p>在此序列之后,您将得到“需要 token ”</p>

<p>要摆脱这种情况,您应该等待创建 session 请求完成并执行下一个请求:</p>

<pre><code>;
</code></pre>

<p>...</p>

<pre><code>- (void)completedWithResult:(Result *)result{
   if(result.success &amp;&amp; ){

         // you got token here - perform any other requests after this

         ;

   }
}
</code></pre>

<p>这不是您的问题的解决方案,而是解释它发生的原因以及如何解决它</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 需要 Quickloxtoken ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22707908/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22707908/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 需要 Quicklox token