私のアプリケーションでaccess_tokenを保存する際に問題があります。問題は、iPhoneにFacebookアプリがインストールされていない場合、Safariがこれを処理して問題がないことです。しかし、iPhoneにFacebookアプリがインストールされるとすぐに。それはちょうどアクセストークンを保存しておらず、Facebookで何かをする必要があるたびにFacebookアプリを開きます。fbDidLoginに関する問題がiOSと呼ばれることはありません
:それから、許可...これは私が許可を最初に尋ねると、ユーザデフォルトからアクセストークンを受け取るためのviewDidLoad中にやっているものです....あなたはすでに与えている、と言います
facebook = [[Facebook alloc] initWithAppId:@"APPID"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
NSArray* permissions = [[NSArray arrayWithObjects:
@"read_stream", @"offline_access", nil] retain];
if (![facebook isSessionValid]) {
[facebook authorize:permissions delegate:self];
}
これは私がfbdidloginでやっているものです:
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
しかし、Facebookアプリだけでは動作しません。これを制御取るいくつかの方法のために...それは時に表示するたびに認可DOEウィル負荷がかかった、再度ロードします。
誰か手掛かりがありますか?
Thnx!
はところで:それは今何をするかだ
(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [[controller facebook] handleOpenURL:url]; }
Safariに行きますか、またはアプリケーションの「UIWebView」オーバーレイで開きますか? –