Iphone 设备上iOS错误2的Facebook SDK 3.6
Facebook登录在iOS模拟器上正常工作,但在iPhone 4设备上不工作。就它在模拟器上的工作而言,我认为facebookId、权限等等。。。。你准备好了吗Iphone 设备上iOS错误2的Facebook SDK 3.6,iphone,ios,facebook,ios6,Iphone,Ios,Facebook,Ios6,Facebook登录在iOS模拟器上正常工作,但在iPhone 4设备上不工作。就它在模拟器上的工作而言,我认为facebookId、权限等等。。。。你准备好了吗 NSArray *permissions = [NSArray arrayWithObjects:@"email",nil]; [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:^(FBSess
NSArray *permissions = [NSArray arrayWithObjects:@"email",nil];
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
[self sessionStateChanged:session state:status error:error];
}];
有什么帮助吗?
谢谢解决了
我检查了FacebookSDK中的SessionLoginSample,找到了一个解决方案
我必须将上述代码更改为以下代码:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (!appDelegate.session.isOpen || appDelegate.session.state != FBSessionStateCreated) {
// Create a new, logged out session.
appDelegate.session = [[FBSession alloc] init];
}
// if the session isn't open, let's open it now and present the login UX to the user
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {
// and here we make sure to update our UX according to the new session state
[self sessionStateChanged:session state:status error:error];
}];
我在MyAppDelegate.h中添加了一个属性
@property (strong, nonatomic) FBSession *session;
并更改MyAppDelegate.m中的方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication: (NSString *)sourceApplication annotation:(id)annotation
{
// return [FBSession.activeSession handleOpenURL:url];
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:self.session];
}
现在可以正常工作了:)您是否禁用了沙盒模式?是的。它在模拟器上工作