次のコードを使用して ACAccountStore からアカウントを取得しようとしています:
- (void) facebookLoginOnSuccess: (void (^)(void)) successBlock onError:(void(^)(NSError *error))errorBlock{
self.facebookPermissions = @[
@"offline_access",
@"publish_stream",
@"user_birthday",
@"user_location",
@"email"
];
NSDictionary *options = @{
@"ACFacebookAppIDKey": [[NSBundle mainBundle] objectForInfoDictionaryKey:@"FacebookAppID"],
@"ACFacebookAppVersionKey": @"1.0",
@"ACFacebookPermissionsKey": self.facebookPermissions,
@"ACFacebookPermissionGroupKey": @"write"
};
[self accountLoginFor:ACAccountTypeIdentifierFacebook withOptions:options OnSuccess:successBlock onError:errorBlock];
}
- (void) accountLoginFor: (NSString *) accountTypeID withOptions: (NSDictionary *) options OnSuccess: (void (^)(void)) successBlock onError:(void(^)(NSError *error))errorBlock{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:accountTypeID];
[accountStore requestAccessToAccountsWithType:accountType
options:options
completion:^(BOOL granted, NSError *error){
if (granted){
NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
NSLog(@"%@",accountsArray);
}
else {
NSLog(@"Error accessing account: %@", [error localizedDescription]);
}
}];
}
しかし、私はこのエラーが発生しています:
Error Domain=com.apple.accounts Code=6 "The operation couldn't be completed. (com.apple.accounts error 6.)"
そして、関連するものは何も見つかりません。この質問だけです。何が間違っている可能性がありますか?
アップデート
これは Apple Developer Docs で見つけました。
アカウント フレームワーク
Facebook アカウントへのアクセスを要求する場合、オプション ディクショナリで必要な唯一のキーは ACFacebookAppIdKey です。ACFacebookPermissionGroupKey と ACFacebookAppVersionKey は廃止されました。
publish_streamなどの ACFacebookPermissionsKey で書き込み権限を要求する場合、ACFacebookAudienceKey の値を指定する必要があります。これは、ACFacebookAudienceEveryone、ACFacebookAudienceFriends、またはACFacebookAudienceOnlyMeのいずれかです。
そこで、オプションを次のように変更しました。
NSDictionary *options = @{
@"ACFacebookAppIDKey": [[NSBundle mainBundle] objectForInfoDictionaryKey:@"FacebookAppID"],
@"ACFacebookPermissionsKey": self.facebookPermissions,
@"ACFacebookAudienceKey": ACFacebookAudienceFriends
};
しかし、私は同じエラーが発生しています。