我正在构建一个iOS应用程序,我已经在应用程序中实现了Facebook和Twitter集成。
我在视图控制器中遇到问题,我有一个按钮“下一步”,并在该按钮上实现了推送功能以继续下一个视图,但是当我单击“下一步”按钮并出现错误时,我的应用程序崩溃了。
错误:由于未捕获的异常'NSGenericException',正在终止应用程序,原因:'找不到针对'nextSport'的导航控制器。仅当源控制器由UINavigationController的实例管理时,才可以使用推送选择。
这是情节提要的屏幕截图:
上一张图片:
当前(新)图片已添加:
这是我的代码:
- (IBAction)fbLogin:(id)sender {
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_location",@"user_birthday",@"user_hometown"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
NSLog(@"error:%@",error);
}
else
{
// retrive user's details at here as shown below
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *FBuser, NSError *error) {
if (error) {
// Handle error
}
else {
NSString *userName = [FBuser name];
NSLog(@"username===%@",userName);
NSLog(@"sesseion=%@",session);
}
}];
NSLog(@"FB user first name:%@",user.first_name);
userName=user.first_name;
NSLog(@"FB user last name:%@",user.last_name);
NSLog(@"FB user birthday:%@",user.birthday);
NSLog(@"FB user location:%@",user.location);
NSLog(@"FB user username:%@",user.username);
NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]);
NSLog(@"email id:%@",[user objectForKey:@"email"]);
NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n",
user.location[@"name"]]);
userImageURL = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", [user objectID]];
NSLog(@"image=%@",userImageURL);
}
[self performSegueWithIdentifier:@"afterLogin" sender:nil];
}];
break;
}
} ];
}
您要推送到,UINavigationController
但是执行推送的viewController也应该在内UINavigationController
。如错误所示,没有UINavigationController
执行segue'nextSport'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句