2016-09-28 13 views
0

開発中のアプリケーションの場合は、FacebookログインSDKを追加しています。私はこれまでに他のアプリのために行ってきましたが、私はこのアプリケーションで予期しない動作に陥っています。何らかの理由で、インストール後にアプリを初めて起動したときに、(カスタム)フェイスブックのログインボタンを押すと、Safariのログイン画面が表示されなくなります。ログインイベントのハンドラが呼び出されることはなく、エラーを表示することさえできません。iOS Facebook最初のインストール時にカスタムログインが応答しない

誰でもこれまでにこれまでに遭遇したことはありますか?

コード: AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    [[FBSDKApplicationDelegate sharedInstance] application:application 
         didFinishLaunchingWithOptions:launchOptions]; 
    // Some other setup code 

    return YES; 
} 

- (BOOL) application:(UIApplication *)app 
     openURL:(NSURL *)url 
     options:(NSDictionary<NSString *,id> *)options 
{ 
    BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:app 
                   openURL:url 
                sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] 
                  annotation:options[UIApplicationOpenURLOptionsAnnotationKey] 
       ]; 
    handled |= [GIDSignIn.sharedInstance handleURL:url 
          sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] 
            annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]; 
    return handled; 

} 

- (BOOL)application:(UIApplication *)application 
     openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication 
    annotation:(id)annotation 
{ 
    BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application 
               openURL:url 
            sourceApplication:sourceApplication 
              annotation:annotation]; 
    handled |= [GIDSignIn.sharedInstance handleURL:url sourceApplication:sourceApplication annotation:annotation]; 
    return handled; 
} 

カスタムFacebookの認証:

-(void)authenticate: (UIViewController *) viewController onCompletion: (void (^)(NSMutableDictionary *bundle, NSError *error))completion { 
    successBundle = [BundleUtils generateBundle:YES]; 

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login logInWithReadPermissions: permissions 
     fromViewController:viewController 
     handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     // Never Reached 
    }]; 
} 

とカスタム変数は、各ビルド構成のためのユーザ定義の変数で宣言されている関連のInfo.plist部品(使用)

誰かが私を見て行方不明?

答えて

0

問題が見つかりました。 loginWithPermissionsはまだ処理中ですが、認証機能内でFBLoginManagerをインスタンス化したため、割り当て解除されます。しかし、これにより、ログインマネージャへの弱い参照がもはや適切な値を持たなくなりました。

インジケータに​​を移動し、セッションにログインして保存すると、私の問題が解決されます。これが最初のセットアップでのみ発生したという事実はおそらく完了までに時間がかかり、ログインの割り当てが解除される可能性が高くなります。

関連する問題