Xcode5:应用程序引用非公开选择在有效载荷/ 的.app/:setAttribution:

问题描述:

今天,我试图向一个更新我的应用程序使用Xcode 5商店,它给了警告The app references non-public selectors in Payload/<AppName>.app/<AppName>: setAttribution:。之前,它工作得很好,最后一次更新是在八月。Xcode5:应用程序引用非公开选择在有效载荷/ <AppName>的.app/<AppName>:setAttribution:

我正在使用Facebook SDK 3.2库。可能是什么问题呢?谢谢!

尝试下载最新的SDK版本,Facebook表示,他们已经解决了这个 https://developers.facebook.com/bugs/273730516072926

+0

谢谢!我认为它应该工作! – dzep

还发现,如果在你的代码[fbPoxy.userInfo objectForKey:@"id"]取代fbProxy.userInfo.id则警告将消失。

Naughty Facebook使用关键字作为属性名称!

+0

我找不到那些行。在哪里看 –

+0

它可能不是在每个Facebook项目中,因此可能不涉及您的具体问题。 – jowie

+3

我还必须替换“链接”:userInfo.link - > [userInfo objectForKey:@“link”] – Ampers4nd

如果在我们的应用程序中声明了相同的名称,Apple将给出任何方法或变量的警告。但如果这些警告并不重要,那么我们不必担心。毕竟我们还可以提供一个有意义的名称:-)

我们可以用AppScanner这类实用程序来检查这类警告的威胁。如果我们必须在提交应用之前解决它,它会显示红色警告,否则我们可以忽略所有其他警告。

To remove warning "the app references non-public selectors in payload: birthday", 

While getting FBUser detail from (NSDictionary<FBGraphUser>*)user 

instead of using 
NSString *FBDoB = user.birthday; 

Use this: 
NSString *FBDoB = [user valueForKey:@"birthday"]; 

Its Done, You will get the message "Validation Successful"!!!!