ios - 不再调用 FBLoginView 委托(delegate)方法
<p><p>我在我的应用中使用 <code>FBLoginView</code>(版本 3.xx)根据他们的 Facebook 个人资料自动创建用户帐户,但 <code>FBLoginViewDelegate</code> 的委托(delegate)回调没有不再被调用。</p>
<p>我的代码如下:</p>
<p>在我的 <code>AppDelegate</code> 的 <code>didFinishLaunchingWithOptions</code> 方法中,我有这一行:</p>
<pre><code>;
</code></pre>
<p>我有一个名为 <code>LoginHandler</code> 的类,它符合 <code>FBLoginViewDelegate</code> 协议(protocol)并实现了这些方法:</p>
<pre><code>- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView
- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView
- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
- (void)loginView:(FBLoginView *)loginView handleError:(NSError *)error
</code></pre>
<p>在我的 ViewController 的 <code>viewDidLoad</code> 方法中,我有以下代码:</p>
<pre><code>self.fbLoginView.readPermissions = @[@"public_profile", @"email"];
self.fbLoginView.delegate = ;
</code></pre>
<p>我还设置了我的 Info.plist:</p>
<pre><code>FacebookAppID (containing <my-app-id>)
FacebookDisplayName (containing my app name=
CFBundleURLSchemes (containing fb<my-app-id>)
</code></pre>
<p>当我按下 Facebook 登录按钮时,它会切换到 Facebook 应用程序,询问权限(仅第一次)并返回到我的应用程序。但是,此时没有调用任何委托(delegate)方法。这以前可以工作,我确实得到了 <code>loginViewShowingLoggedInUser</code> 和 <code>loginViewFetchedUserInfo</code> 的回调,但前段时间它停止工作,我根本不知道是什么改变破坏了它.
有趣的是,每次我启动应用程序时(在我使用 Facebook 按钮执行任何操作之前)我的 <code>loginViewShowingLoggedOutUser</code> 都会被调用。我不知道这是否与我的问题有关,或者这是否是正常行为。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我找到了答案。我需要在我的应用委托(delegate)中重写此方法。</p>
<pre><code>-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
// Call FBAppCall's handleOpenURL:sourceApplication to handle Facebook app responses
BOOL wasHandled = ;
// You can add your app-specific url handling code here if needed
return wasHandled;
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 不再调用 FBLoginView 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/24800673/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/24800673/
</a>
</p>
页:
[1]