こちらのネイティブ iOS アプリのログイン手順に従いましたhttps://developers.facebook.com/docs/mobile/ios/build/
application:didFinishLaunchingWithOptions: の AppDelegate にすべての facebook があります。
facebook = [[Facebook alloc] initWithAppId:@"xyzabc" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"publish_stream",
nil];
[facebook authorize:permissions];
}
問題は、アプリが開き、アプリの機能を使用するために Facebook にログインする必要があることです。Apple は、Facebook 機能は強制ではなくオプションであるべきだと言って私を拒否しました (拒否理由 17.2 にリストされています)。
アプリデリゲートにほとんどすべてを保持できるかどうか疑問に思っていましたが、
if (![facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"publish_stream",
nil];
[facebook authorize:permissions];
}
別の場所 (Facebook へのログイン ボタンが押されたときなど)。この場合、他の人が拒否されないように Facebook のドキュメントを更新する必要がありますか? それとも、アプリのデリゲートでそれを保持できる何かを見逃したのかもしれませんが、ログインをオプションにするために何か他のものを呼び出しますか?
よろしくお願いします。