由于山狮现在已经officialy Facebook的整合,我想打一点点与Accounts.framework
和OS X.在OS X山狮访问Facebook帐户
我建立了一个应用程序在Facebook开发应用程序和使用的Social.framework
下面的代码请求访问登录的用户的Facebook的帐户:
ACAccountStore *acStore = [[ACAccountStore alloc] init];
ACAccountType *accType = [acStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:FB_APP_ID, ACFacebookAppIdKey, @"read_stream, publish_stream", ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil];
[acStore requestAccessToAccountsWithType:accType options:options completion:^(BOOL granted, NSError *error) {
if (granted) {
NSLog(@"Accounts: %@", acStore.accounts);
NSLog(@"Access granted");
} else {
NSLog(@"Access denied");
}
}];
现在我总是当我从Xcode中启动的应用程序出现错误Error Domain=XPCObjectsErrorDomain Code=2 "The operation couldn’t be completed. (XPCObjectsErrorDomain error 2.)"
第2-3次,OS X显示确认对话框“XYZ想要访问您的Facebook帐户”,我点击确定,我收到一个错误,说“应用程序尚未安装”。现在这个错误“消失了”,我得到了上面提到的错误。
我的问题是:我是否必须在我的Xcode Project(Info.plist)或Facebook Developer App中配置一些特殊的东西来使其与OS X一起使用?或者我在代码中丢失了什么?有关这方面的示例和教程似乎非常罕见: -/
我已经观看了有关Twitter/Facebook集成的WWDC 2012视频,但它几乎完全使用我使用的代码。
任何帮助表示赞赏:-)
干杯, 比约恩
更新
我解决了这个问题,我只是没有阅读文档不够仔细;-)我必须通过权限作为NSArray而不是字符串。我已经修改了方案字典是这样的:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: FB_APP_ID, ACFacebookAppIdKey, [NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"email", @"user_likes", nil], ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil];
现在OS X显示,问我,如果我想允许应用程序发布到Facebook的代表我一个警告,我点击确定和新出现的错误导致无法访问Facebook账号:
Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The app must ask for a basic read permission at install time."
我已经修改的权限是公正email
或只是user_likes
但是这一切都导致了同样的错误。如果我只请求read_stream
访问的访问被授权,但结果在OAuth错误190的消息Error validating access token: User XXXXXX has not authorized application XXXXXX.
更新2:
我现在解决了我所有的问题,见我的回答如下。
嗨,可能你可以回答我的问题吗? http://stackoverflow.com/questions/12644229/ios-6-facebook-posting-procedure-ends-up-with-permissions-alert-view – Stas
虽然我尝试了你在这里发布的所有内容 - 我的意思是不同类型的权限..结果是一样的:( – Stas
尼斯好好干得好!..它也帮了我很多 – Warewolf