菜鸟教程小白 发表于 2022-12-12 16:16:38

ios facebook登录在取消按钮上崩溃


                                            <p><p>重现错误的步骤:</p>

<ol>
<li>用 Facebook 登录</li>
<li>输入凭据</li>
<li>点击取消按钮</li>
</ol>

<p>您的实现中的相关代码片段:
~~~</p>

<pre><code>NSLog(@&#34;Your code goes here&#34;);
var manager = FBSDKLoginManager();


    manager.loginBehavior = FBSDKLoginBehavior.Web

    manager.logInWithReadPermissions(
      [&#34;public_profile&#34;,&#34;email&#34; ],
      handler: {
            (result: FBSDKLoginManagerLoginResult!, error: NSError!) -&gt; Void in

            if ((error) != nil)
            {
                // Process error
                println(&#34;error\(error)&#34;)

            }
            else if result.isCancelled {
                // Handle cancellations
                println(&#34;isCancelled\(result.isCancelled)&#34;)


            }
            else {
                // If you ask for multiple permissions at once, you
                // should check if specific permissions missing
                if result.grantedPermissions.contains(&#34;email&#34;)
                {
                  self.returnUserData()
                }
            }


    })
</code></pre>

<p>~~~</p>

<p>SDK 版本:v4.5.1</p>

<p>当我调试时,我遇到了错误</p>

<pre><code>+:
    0x103ad7cb2 &lt;+0&gt;:   pushq%rbp
    0x103ad7cb3 &lt;+1&gt;:   movq   %rsp, %rbp
    0x103ad7cb6 &lt;+4&gt;:   pushq%r15
    0x103ad7cb8 &lt;+6&gt;:   pushq%r14
    0x103ad7cba &lt;+8&gt;:   pushq%r13

0x103ad7cbc &lt;+10&gt;:pushq%r12
0x103ad7cbe &lt;+12&gt;:pushq%rbx
0x103ad7cbf &lt;+13&gt;:pushq%rax
0x103ad7cc0 &lt;+14&gt;:movq   %rdx, %rdi
0x103ad7cc3 &lt;+17&gt;:callq*0x207d57(%rip)         ; (void *)0x0000000105e6e930: objc_retain
0x103ad7cc9 &lt;+23&gt;:movq   %rax, %r14
0x103ad7ccc &lt;+26&gt;:movq   0x5375cd(%rip), %rdi      ; _transientObjects
0x103ad7cd3 &lt;+33&gt;:movq   0x2f99ae(%rip), %rsi      ; &#34;objectForKey:&#34;
0x103ad7cda &lt;+40&gt;:movq   0x207d2f(%rip), %r13      ; (void *)0x0000000105e71000: objc_msgSend

    0x103ad7ce1 &lt;+47&gt;:movq   %r14, %rdx
    0x103ad7ce4 &lt;+50&gt;:callq*%r13
    0x103ad7ce7 &lt;+53&gt;:movq   %rax, %rdi
    0x103ad7cea &lt;+56&gt;:callq0x103c2e7e0               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x103ad7cef &lt;+61&gt;:movq   %rax, %rbx
    0x103ad7cf2 &lt;+64&gt;:movq   0x2f9a3f(%rip), %rsi      ; &#34;unsignedIntegerValue&#34;
    0x103ad7cf9 &lt;+71&gt;:movq   %rbx, %rdi
    0x103ad7cfc &lt;+74&gt;:callq*%r13
    0x103ad7cff &lt;+77&gt;:movq   %rax, %r15

0x103ad7d02 &lt;+80&gt;:movq   %rbx, %rdi
0x103ad7d05 &lt;+83&gt;:callq*0x207d0d(%rip)         ; (void *)0x0000000105e6e9b0: objc_release
0x103ad7d0b &lt;+89&gt;:testq%r15, %r15
0x103ad7d0e &lt;+92&gt;:je   0x103ad7d74               ; &lt;+194&gt; at FBSDKInternalUtility.m:456
0x103ad7d10 &lt;+94&gt;:cmpq   $0x1, %r15
0x103ad7d14 &lt;+98&gt;:jne    0x103ad7d2f               ; &lt;+125&gt; at FBSDKInternalUtility.m:454
0x103ad7d16 &lt;+100&gt;: movq   0x537583(%rip), %rdi      ; _transientObjects
0x103ad7d1d &lt;+107&gt;: movq   0x2f9184(%rip), %rsi      ; &#34;removeObjectForKey:&#34;
0x103ad7d24 &lt;+114&gt;: movq   %r14, %rdx
0x103ad7d27 &lt;+117&gt;: callq*0x207ce3(%rip)         ; (void *)0x0000000105e71000: objc_msgSend
0x103ad7d2d &lt;+123&gt;: jmp    0x103ad7d74               ; &lt;+194&gt; at FBSDKInternalUtility.m:456
0x103ad7d2f &lt;+125&gt;: movq   0x53756a(%rip), %r12      ; _transientObjects
0x103ad7d36 &lt;+132&gt;: movq   0x302fa3(%rip), %rdi      ; (void *)0x0000000105d0cb88: NSNumber
0x103ad7d3d &lt;+139&gt;: decq   %r15
0x103ad7d40 &lt;+142&gt;: movq   0x2f92d9(%rip), %rsi      ; &#34;numberWithUnsignedLong:&#34;
0x103ad7d47 &lt;+149&gt;: movq   %r15, %rdx
0x103ad7d4a &lt;+152&gt;: callq*%r13
0x103ad7d4d &lt;+155&gt;: movq   %rax, %rdi
0x103ad7d50 &lt;+158&gt;: callq0x103c2e7e0               ; symbol stub for: objc_retainAutoreleasedReturnValue
0x103ad7d55 &lt;+163&gt;: movq   %rax, %rbx
0x103ad7d58 &lt;+166&gt;: movq   0x2f99e1(%rip), %rsi      ; &#34;setObject:forKey:&#34;
0x103ad7d5f &lt;+173&gt;: movq   %r12, %rdi
0x103ad7d62 &lt;+176&gt;: movq   %rbx, %rdx
0x103ad7d65 &lt;+179&gt;: movq   %r14, %rcx
0x103ad7d68 &lt;+182&gt;: callq*%r13
0x103ad7d6b &lt;+185&gt;: movq   %rbx, %rdi
0x103ad7d6e &lt;+188&gt;: callq*0x207ca4(%rip)         ; (void *)0x0000000105e6e9b0: objc_release
0x103ad7d74 &lt;+194&gt;: movq   %r14, %rdi
0x103ad7d77 &lt;+197&gt;: addq   $0x8, %rsp
0x103ad7d7b &lt;+201&gt;: popq   %rbx
0x103ad7d7c &lt;+202&gt;: popq   %r12
0x103ad7d7e &lt;+204&gt;: popq   %r13
0x103ad7d80 &lt;+206&gt;: popq   %r14
0x103ad7d82 &lt;+208&gt;: popq   %r15
0x103ad7d84 &lt;+210&gt;: popq   %rbp
0x103ad7d85 &lt;+211&gt;: jmpq   *0x207c8d(%rip)         ; (void *)0x0000000105e6e9b0: objc_release
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我今天也目睹了这次崩溃。在完全相同的位置,即 并在执行完全相同的步骤后(FB 登录 -> 输入凭据 -> 取消按钮 -> 崩溃)。</p>

<p>似乎不仅影响 iOS Facebook SDK v4.5.1,还影响 v4.6 和 v4.1.0。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios facebook登录在取消按钮上崩溃,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/32565568/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/32565568/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios facebook登录在取消按钮上崩溃