虽然,有这样的问题, Facebook的错误(7)的iOS 6 ,它已经关闭,没有任何的回答! 而获得用户的Facebook帐户的访问,我得到了一个错误: error is: Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The proxied app is not already installed." UserInfo=0xa260270 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The proxied app is not already installed.}
error is: Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The proxied app is not already installed." UserInfo=0xa260270 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The proxied app is not already installed.}
我执行这样的请求:
self.statusLabel.text = @"Waiting for authorization...";
if (self.accountStore == nil) {
self.accountStore = [[ACAccountStore alloc] init];
}
ACAccountType * facebookAccountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary * dict = @{ACFacebookAppIdKey : FB_APP_ID, 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);
}
}];
这个错误是什么意思?
我已经解决了这个问题! 这是因为我没有通过权限阵! 虽然ACAccountStore
类指出,这个参数是可选的,它不是!
更在应用程序可以启动,并要求基本权限(因为它是隐含的)!
所以,你必须通过一个权限数组。
这里也是由帐户存储返回错误代码的描述:
typedef enum ACErrorCode {
ACErrorUnknown = 1,
ACErrorAccountMissingRequiredProperty,
ACErrorAccountAuthenticationFailed,
ACErrorAccountTypeInvalid,
ACErrorAccountAlreadyExists,
ACErrorAccountNotFound,
ACErrorPermissionDenied,
ACErrorAccessInfoInvalid
} ACErrorCode;
(我有ACErrorPermissionDenied
这里)
我们有同样的问题,并在iOS版Facebook的文档广告左看右看后
https://developers.facebook.com/docs/howtos/ios-6/
我注意到以下段落:
注意,使用iOS 6的本地身份验证,应用程序需要改变他们的请求用户权限的方式 - 应用程序必须分开他们的请求读取和写入权限。
我一定是读了一个几个时间,但它包含的解决方案:
你必须做访问多个请求,如果要授予写(发布访问)。 所以,现在我们首先要问的同意“电子邮件”,以获得读取权限,然后“publish_action”到能够发布到时间轴上。
该错误消息不是因为“应用程序”可能是您的iOS应用清楚了吗? Facebook.app在手机上? Facebook应用程序? 在“代理程序”是Facebook的应用程序,而“尚未安装”的意思,它尚未与Facebook的用户在网上的权限方面有关。
您的Facebook应用程序连接到用户的Facebook帐户的第一次,您必须指定您的基本信息值(S) ACFacebookPermissionsKey
选项字典的关键。 通过为关键供应默认的基本信息等的Facebook SDK的过去和现在,如Javascript或PHP库,让你从未有过的。 这似乎在iOS上的原生集成并没有这样做,因此,如果当用户第一次您的应用程序没有提供权限连接到他们的Facebook帐户,你得到这个错误。
您将得到访问,即后-用户连接到应用程序在他们的隐私设置在线后, ACFacebookPermissionsKey
确实为苹果公司的文件,成为可选。
这一切都有点混乱,当你开始尝试使用本地Facebook的整合...
使用原生Facebook的整合,你必须提供以下密钥,其基本信息项之一: email
, user_birthday
,或user_location
。
引述的Facebook( 来源 ):
要创建一个使用iOS 6的本地身份验证对话框这个基本的连接,应用程序必须通过请求的电子邮件,user_birthday,或USER_LOCATION权限一个请求访问用户的基本个人资料信息。
经历在我的设备之一此错误后(看到正确后,预计iOS的警报视图要求我批准的Facebook访问我的应用程序):
“Facebook的服务器无法满足这个访问请求:无效的应用程序ID”。
我终于发现了问题。
虽然它最初似乎是在FB开发者网站事实证明,我的设备的iOS Facebook帐户不再有与之相关联的有效密码Facebook的应用程序设置有问题 - 这可以开心的时候用户恢复使用iOS备份到新设备。 当我整理,在我的设备设置一切都按预期。
我没有经历过,要求在第一个FB权限访问请求“publish_stream”的任何问题 - 其实,我觉得这里真正的问题是,错误消息是那么的随意,他们不帮助开发者找到我们”的错误根源再经历感谢苹果和Facebook的不团结的!
一些更多的东西,人们可以比上述建议尝试另一种是在facebook.com上检查您的应用程序设置,在这里 -
https://developers.facebook.com/apps/<*APP_ID*>/summary
保存更改并经过一段时间尝试,因为它可能需要几分钟的时间为Facebook同步更改它的所有服务器。
文章来源: iOS 6 - Facebook sharing procedure fails with error “The proxied app is not already installed”