問題タブ [pffacebookutils]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 未解決の識別子 PFFacebookUtils の使用
FacebookログインをiOSに実装するために、ここ( https://www.parse.com/docs/ios_guide#fbusers/iOS )に記載されているすべてのことを行いました。
問題は、che行の近くに「未解決の識別子PFFacebookUtilsの使用」というコンパイルエラーがあることです
PFFacebookUtils.initializeFacebook()
AppDelegate で。Parse と Facebook Framework をプロジェクトに正しくインポートしました。Xcode 6 Beta で既知のバグはありますか?
objective-c - [PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions] (semaphore_wait_slow トラップ) を使用して Facebook 4.0.x 以降のログイン ハングを解析する
Facebook を v4.0.x および最新の Parse ライブラリに更新してから、ユーザーがログインしようとすると、アプリがハングします。
私のスタック トレースは次のようになります。
私は以前に非常によく似た問題を抱えていました。ここで答えました: [PFFacebookUtils initializeFacebook] - semaphore_wait_trap
ただし、そのソリューションは機能しなくなりまし[PFUser currentUser]
た。[PFUser(Private) _getCurrentUserWithOptions:]
[BFTask(Private) waitForResult:withMainThreadWarning:]
私のアプリでは、PFUser を MPLUser というクラスにサブクラス化し、ユーザー メソッドをオーバーライドしました。これが問題と関係があるかどうかわかりませんか?
これが発生し始めると、アプリを起動できなくなります。ただし、通常、ロックが発生し始める前にアプリを数回起動することができます。それは通常、クラッシュした後に発生します...
私はポッド「ParseFacebookUtilsV4」を使用しており、すべてのライブラリを最新バージョンに更新しています。
アップデート:
ログオンしようとしているように見える別のスレッドからのスタック トレースを次に示します。
Parse と Facebook を次の順序で初期化します。呼び出しを逆にすると、クラッシュします。
ios - セレクター 'logInInBackgroundWithReadPermissions:block:' の既知のクラス メソッドはありません
PFFacebookUtils を使用して、解析と Facebook でユーザー ログインを設定します。このリンクのコードを正確に使用しています: https://github.com/ParsePlatform/ParseUI-iOS/wiki/Integrate-Login-with-Facebook
私のコードを見てください:
Xcode は、このメソッドが存在しないと言っています。メソッドはわかっていても、適切なヘッダー ファイルをすべてインポートしています。
facebook-login - accesstoken が PFFacebookUtils logInBackgroundWithReadPermissions メソッドによって設定されないのはなぜですか?
参考までに: 私は最新の Facebook IOS SDK v4 と最新の Parse v1.7.4 および ParseFacebookUtilsV4 SDK を使用しています。
だから私は PFFacebookUtils loginInBackgroundWithReadPermissions:block: メソッドを使用して、ユーザーに Facebook 資格情報でログインさせ、それらの資格情報で PFUser を作成しています。そして、私が読んだものから、有効なトークンが設定されていると仮定するFBSDKGraphRequestを使用してFacebookグラフリクエストを作成しました(それにトークンパラメーターが渡されていません)。
しかし、Facebook のグラフ リクエストは失敗しました。問題を追跡していると、「アクセス トークン」が loginInBackgroudnWithReadPermissions メソッドによって設定されていないことに気付きました。このメソッドが行うことは、Parse で PFUser と Session インスタンスを作成し、そこにセッション トークン文字列を格納することだけですが、 currentAccessToken は設定しません。ブロック内で [[FBSDKAccessToken currentAccessToken] tokenString] 呼び出しを行うと、(null) が返されます。しかし、PFSession クラスから「トークン文字列」を読み取ると、Parse の Session クラス インスタンスに「トークン文字列」ストアが取得されます。
以下のコードを参照してください。
}
そして、これがデバッグコンソールの出力です
だから私は何が起こっているのか分かりません。PFSession トークンが何かに設定されている場合、FBSDKAccessToken currentAccessToken はこれと同じ PFsession トークンを返すべきではありませんか?
accessToken を手動で設定する場合、Parse に保存されているトークン文字列を FBSDKAccessToken インスタンスに変換するにはどうすればよいですか? これを行う方法はないようですか?
ありがとう