与Facebook的iOS SDK 3.1.1,我用这个电话进行登录 -
NSArray *permissions = [[NSArray alloc] initWithObjects: @"email", @"user_birthday", @"user_location", nil];
@try {
return [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
@catch { ... }
在极少数情况下,当这种方法抛出NSInvalidArgumentException
与信息Access options are not permitted for this account type. The options argument must be nil.
Access options are not permitted for this account type. The options argument must be nil.
,这是从抛出[ACAccountStore requestAccessToAccountsWithType:options:completion:]
检查的苹果的文档ACAccountStore
,我看到那个方法此评论:
“某些帐户类型(如Facebook)需要一个选项字典。此方法只要这种帐户类型不设置选项字典将抛出NSInvalidArgumentException。相反,如果该帐户类型不需要选择词典,选项参数必须是零。”
苹果公司要求这是零,除了脸谱,但这种方法从Facebook调用,所以也许这是一个错误 - 无论是在Facebook或在iOS的6.0 / .1但我找不到任何关于这个问题在网络上任何东西。
有任何想法吗?