0

私はしばらくの間、モバイル アプリに Appcelerator を使用してきましたが、Facebook SDK に問題があるため、アプリをネイティブに移行し、より詳細に制御できるようにするために、Swift を検討しています。

現在、すべてのアプリはバックエンドに Parse を使用しており、Facebook は Appcelerator Facebook モジュールを介してサインインしています。

ただし、Appcelerator でビルドされたすべての iOS バージョン (iOS9 以降) は、次のエラーでログインに失敗します。

-canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"

1 つは Parse SDK を使用するプロジェクト、もう 1 つは Facebook SDK を使用するプロジェクトです。両方のプロジェクトが意図したとおりに実行され、オブジェクトが Parse に保存され、それぞれ Facebook でサインインされます。

Facebook プロジェクトはサインインし、ユーザーの電子メールと public_profile を正常に取得します。上記のエラーは引き続き発生しますが、サインイン プロセスやデータの取得には影響しません。

しかし、私は今、この 2 つを融合させて Parse FacebookUtils フレームワークを使用しようとしましたが、Appcelerator アプリで抱えていたのと同じ問題を抱えています。エラーが発生しましたが、何もありません。

これは、Appcelerator Facebook モジュールと同様に、上記のエラーが原因で FacebookUtils フレームワークがサイレントに失敗するように見えます。

だから、私の最初の質問は次のとおりだと思います:

iOS9 で Parse FacebookUtils フレームワークを使用して運が良かった人はいますか?

他の人が成功している場合は、さらに調査することができます。単に不可能なことを実装しようとして、何時間もかけてぐるぐる回りたいわけではありません。

  • Xcode: 7.1.1
  • ParseFacebookUtilsV4
  • Facebook ログインキット: V4.8.0

これが私の迅速なログインコードです:

let readPermissions = ["public_profile","email","user_friends"]
PFFacebookUtils.logInInBackgroundWithReadPermissions(readPermissions, block: {
            (user: PFUser?, error: NSError?) -> Void in
            NSLog("Signing in")
            if let user = user {
                if user.isNew {
                    NSLog("User signed up through facebook")
                } else {
                    NSLog("User logged in through Facebook")
                }
            } else {
                NSLog("user cancelled login")
            }
        })

クロージャーが呼び出されることはなく、「サインイン」のログは出力されません。

それが役に立ったら、空白のプロジェクトを Github に投稿できます。

ありがとう

ポール

4

1 に答える 1