Với Facebook iOS SDK 3.1.1, tôi đang thực hiện đăng nhập bằng cuộc gọi này -NSInvalidArgumentException ném từ ACAccountStore khi gọi [FBSession openActiveSessionWithPermissions ...] trên iOS 6.0 và iOS 6.0.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 { ... }
Có trường hợp hiếm khi phương pháp này ném NSInvalidArgumentException
với thông báo Access options are not permitted for this account type. The options argument must be nil.
, điều này được ném từ [ACAccountStore requestAccessToAccountsWithType:options:completion:]
.
Kiểm tra tài liệu của ACAccountStore
của Apple, tôi thấy nhận xét này cho phương pháp đó:.
"Một số loại tài khoản (như Facebook) đòi hỏi một từ điển tùy chọn Phương pháp này sẽ ném một NSInvalidArgumentException nếu từ điển tùy chọn không được cung cấp đối với các loại tài khoản như vậy. Ngược lại, nếu loại tài khoản không yêu cầu từ điển tùy chọn, tham số tùy chọn phải là số không. "
Apple yêu cầu này không phải là ngoại trừ Facebook, nhưng phương pháp này được gọi từ Facebook, vì vậy Có thể đây là lỗi - tại Facebook hoặc iOS 6.0/.1, nhưng tôi không thể tìm thấy bất kỳ thứ gì trên web về vấn đề này.
Bất kỳ ý tưởng nào?
Tôi đã có một crashlog với cùng dấu vết. Bạn đã bao giờ sửa lỗi này chưa ?. Cảm ơn trước! –
Không, hiện tại tôi mới bắt được ngoại lệ và bỏ qua nó. – Kof
Bạn đã giải quyết được sự cố này chưa? – vburojevic