我已经在我的应用程序中实现了Facebook,并注意到我遇到了一些我无法弄清楚的问题。
Facebook签名后,在Facebook.app批准后返回我的应用程序,从XCode运行和调试时...应用程序在恢复时挂起,大约30-40秒后切换回请求的页面facebook身份验证。 当我独立运行应用程序时,如果没有在XCode中调试,应用程序会在10-15秒后崩溃。我从设备中提取了崩溃日志,结果是:http://pastebin.com/MeT7Rt52
当我在模拟器中测试时,会发生同样的事情......尽管它使用的是Safari。我不相信Facebook或Safari是或可能是问题的根源......因为它不可能。
我搜索过,但找不到这个问题的答案。
以下是我的AooDelegate中的一些代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
[FlurryAnalytics startSession:APP_FLURRY];
[TestFlight takeOff:APP_TESTFLIGHT_KEY];
facebook = [[Facebook alloc] initWithAppId:APP_FB_APP_ID andDelegate:self];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setBackgroundColor:[UIColor scrollViewTexturedBackgroundColor]];
[...]
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
答案 0 :(得分:2)
我认为这不会解决问题,但是,您可以尝试添加此方法:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [facebook handleOpenURL:url];
}
{@ 1}}已被弃用。
答案 1 :(得分:0)
答案 2 :(得分:0)
我解决了问题,问题的答案是我没想到的。 在我的应用程序中,我使用了TestFlightApp的API。我在应用程序启动时启动它,因为我应该...但是,这也是阻止应用程序返回其先前状态(如图所示)的事情。
我使TestFligthApp无效,应用程序恢复原状。
感谢您的回答!