我正在尝试实现Facebook发布程序。你能帮我了解如何检查iPhone(iOS6 特性)中是否存在该账户吗?我看过WWDC会议,他们使用了以下代码:
if (self.accountStore == nil) {
self.accountStore = [[ACAccountStore alloc] init];
}
ACAccountType * facebookAccountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
//Now we can obtain some extra permissions
NSArray * permissions = @[@"publish_stream"];
//NSArray * permissions = @[@"user_about_me"];
NSDictionary * dict = @{ACFacebookAppIdKey : FB_APP_ID, ACFacebookPermissionsKey : permissions, ACFacebookAudienceKey : ACFacebookAudienceEveryone};
[self.accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) {
__block NSString * statusText = nil;
if (granted) {
statusText = @"Logged in";
NSArray * accounts = [self.accountStore accountsWithAccountType:facebookAccountType];
self.facebookAccount = [accounts lastObject];
NSLog(@"account is: %@", self.facebookAccount);
self.statusLabel.text = statusText;
[self postToFeed];
}
else {
self.statusLabel.text = @"Login failed";
NSLog(@"error is: %@", error);
}
}];
但是如果账户不存在,我会收到一个错误消息:
Error Domain=com.apple.accounts Code=6 "The operation couldn’t be completed
可能是我漏掉了什么,但我并不确定该怎么做。如果您能发布一些教程或链接,介绍如何使用这个新的iOS 6功能,那就太好了,因为Facebook的教程不够清晰。