В случае, если мы используем последнюю статическую библиотеку Facebook, мы не получаем доступ к файлу .m. В таком случае, как мы сможем достичь той же функциональности?
я проблемы с моим приложением, сохраняющим access_token. Проблема в том, что когда на iPhone не установлено приложение Facebook, Safari справится с этим, и проблем не будет. Но как только на iPhone будет установлено приложение Facebook. Он просто не сохраняет маркер доступа и открывает приложение Facebook каждый раз, когда ему нужно что-то сделать с Facebook. Затем он говорит, что вы уже дали .... разрешение ...
Вот что я делаю в 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 получает контроль, это просто не работает ... Он будет авторизоваться каждый раз, когда представление загружается, загружается снова.
У кого-нибудь есть подсказка?
Thnx!
кстати: у меня также есть следующая строка:
(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [[controller facebook] handleOpenURL:url]; }