4

iOS用のfacebook SDK 3.5をセットアップしようとしています。正常に動作するようになりましたが、現在クラッシュしています。クラッシュは、ユーザーがデフォルトの iOS facebook 設定 (アプリ ストアの facebook アプリケーションではなく AKA) を使用してログインした場合にのみ発生するようです。Facebook の「ログイン」ビューがタップされると、特にアプリがクラッシュします。

クラッシュは次のとおりです: エラー: [NSError fberrorShouldNotifyUser]: 認識されないセレクターがインスタンスに送信されました。

私はいくつかの調査を行い、一部の人々は -Objc を「他のリンカーフラグ」に配置することを提案しています。私はそれを正確には持っていませんが、似たようなものを持っていると思います。他のライブラリには他のオプションが必要でした。ここに私のオプションがあります:

ここに画像の説明を入力

これが問題の原因であるかどうか、誰にも教えてもらえますか? そうでない場合、クラッシュの原因を本当に知っている人はいますか? ありがとう!

編集

最初の「if」でこのメソッドでエラーが発生しているようです

- (void)loginView:(FBLoginView *)loginView
  handleError:(NSError *)error {
NSString *alertMessage, *alertTitle;
if (error.fberrorShouldNotifyUser) // CRASH HERE {
// If the SDK has a message for the user, surface it. This conveniently
// handles cases like password change or iOS6 app slider state.
alertTitle = @"Facebook Error";
alertMessage = error.fberrorUserMessage;
} else if (error.fberrorCategory == FBErrorCategoryAuthenticationReopenSession) {
 // It is important to handle session closures since they can happen
// outside of the app. You can inspect the error for more context
// but this sample generically notifies the user.
alertTitle = @"Session Error";
alertMessage = @"Your current session is no longer valid. Please log in again.";
 } else {
 // For simplicity, this sample treats other errors blindly.
alertTitle  = @"Unknown Error";
alertMessage = @"Error. Please try again later.";
NSLog(@"Unexpected error:%@", error);
}
}
4

3 に答える 3

2

私も同じ問題を抱えていました。これによれば

https://developers.facebook.com/docs/ios/errors/#prerequisites

-ObjCフラグを設定するか、FBErrorUtility代わりに使用する必要がありますfberror*

-ObjC フラグを追加したところ、問題なく動作しました。

于 2013-11-01T19:15:30.507 に答える
1

ARC を使用するプロジェクトを既に使用している場合は、このリンカー フラグを追加する必要はありません。

コードでファイルがインポートされていることを確認してくださいNSError+FBError.h。そこからそのカテゴリが取得されます。

技術的には、インポートする場合<FacebookSDK/FacebookSDK.h>、そのカテゴリ定義が含まれます。

また、コードでそのヘッダー ファイルが見つからない場合FacebookSDK.Frameworkは、ターゲットの概要ページのリンクされたフレームワークとライブラリのリストに が含まれていることを確認してください。

于 2013-05-19T00:31:50.353 に答える
0

デバイスが Facebook ログインからアプリに戻ると、アプリはバックグラウンドで実行されている必要があります。「アプリの高速切り替え」をオンにして、このエラーを修正しました。「アプリケーションはバックグラウンドで実行されません」というターゲット情報タブの下の設定です。NOである必要があります。

于 2013-06-20T20:09:12.900 に答える