2016-11-15 7 views
0

私は、iOSでFacebook SDK 4をベースにしたxfFBという名前のane開発にも取り組んでいます。私は、ログイン用のネイティブライブラリとして、以下のコードを配置:Adob​​e Airモバイル用のFacebook iOS 4.16.1 SDKを使用してANEを開発してください。

[self dispatchEvent:@"LOGIN_IN_PROGRESS" withMessage: @"iOS login to facebook..."]; 
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 

    [login 
    logInWithReadPermissions: permissions fromViewController:nil // block below is either not executed or not interacting with the actionscript. 
    handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    if (error) { 
    NSLog(@"Process error"); 
    [xfFB dispatchEvent:failed withMessage:[error localizedDescription]]; 
    } else if (result.isCancelled) { 
    NSLog(@"Cancelled"); 
    [xfFB dispatchEvent:success withMessage:@"CANCEL"]; 
    } else { 
    NSLog(@"Logged in"); 
    NSString *jsonString =[self obj2Json: (NSObject *)result]; 
    [xfFB dispatchEvent:success withMessage: jsonString]; 
    } 
    }]; 

コードが目を覚ましてFacebookのネイティブアプリをしましたが、ただ単にハンドラブロックを実行せずに私のAS3アプリに戻ります。私は、fb 4.x SDKがActionScriptと統合できるかどうかは、アプリケーション自体がプロセスに関与するように制御するにはあまりにも多くのコントロールを要するので、不思議に思っています。誰かが例を持っていますか?

答えて

0

ログインを完了するには、上のコードを実行した後にINVOKEイベントを使用してas3アプリケーションをコールバックすることがわかりました。 as3アプリはそのイベントをリッスンする必要があります。次に、返されたURLをアプリケーションの代理人が承認するために開く必要があります。 (まだブロックのコードが実行されていない理由はわかりませんが、今ではアクセストークンを取得してユーザープロファイルにアクセスできます)

+0

URLだけでなく、オプションキー。正しいオプションキーがデリゲートに渡されると、ブロック内のコードが実行されます。これはfb sdkドキュメントに準拠する必要があります –

関連する問題