3

現在、新しい iOS 6 ソーシャル フレームワークを利用して iOS に保存されている Facebook アカウントを収集し、カスタム SLRequest を作成してステータスの更新と写真をユーザーのタイムラインに投稿するアプリを構築しています。Facebook デベロッパー センターでアプリを構成し、アプリ ID を受け取りましたが、ACAccountStore から Facebook アカウントを要求しようとすると、常に次のローカライズされたエラー メッセージが表示されます。

2012-10-14 17:34:46.429 Status Update[12042:4c0b] The operation couldn’t be completed. (com.apple.accounts error 8.)

アカウントストアからアカウントを取得するリクエストを処理するために現在使用しているコードは次のとおりです。

NSDictionary *options = @{
@"ACFacebookAppIdKey" : @"XXXXXXXXXXXXXXX",
@"ACFacebookPermissionsKey" : @[@"publish_stream"],
@"ACFacebookPermissionGroupKey" : @[@"write", @"email"]};

self.facebookStore = [[ACAccountStore alloc] init];
self.facebookAccountType = [self.facebookStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
self.facebookAccount = [[ACAccount alloc] initWithAccountType:self.facebookAccountType];
[self.facebookStore requestAccessToAccountsWithType:self.facebookAccountType options:options completion:^(BOOL granted, NSError *error)
{
    if (granted)
    {
        NSArray *accounts = [self.facebookStore accountsWithAccountType:self.facebookAccountType];
        self.facebookAccount = [accounts lastObject];
        NSLog(@"Facebook Account Enabled: %@", _facebookAccount);
    }
    else
    {
        NSLog([NSString stringWithFormat:@"%@", error.localizedDescription]);
    }
}];
4

1 に答える 1

2

ご覧ください: http://developer.apple.com/library/ios/#releasenotes/General/RN-iOSSDK-6_0/_index.html

そして注意してください:

Facebook アカウントへのアクセスを要求する場合、オプション ディクショナリで必要な唯一のキーは ACFacebookAppIdKey です。ACFacebookPermissionGroupKey と ACFacebookAppVersionKey は廃止されました。

publish_stream などの ACFacebookPermissionsKey で書き込み権限を要求する場合、ACFacebookAudienceKey の値を指定する必要があります。これは、ACFacebookAudienceEveryone、ACFacebookAudienceFriends、または ACFacebookAudienceOnlyMe のいずれかです。

NSDictionary *options = @{
ACFacebookAppIdKey: @"XXXXXXXX",
ACFacebookPermissionsKey: @[@"publish_stream"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
于 2012-10-27T00:54:09.170 に答える