Xcode5:应用程序在 Payload/<AppName>.app/<AppName> 中引用了非公共选择器: setAttribution:
Posted
技术标签:
【中文标题】Xcode5:应用程序在 Payload/<AppName>.app/<AppName> 中引用了非公共选择器: setAttribution:【英文标题】:Xcode5 : The app references non-public selectors in Payload/<AppName>.app/<AppName>: setAttribution: 【发布时间】:2013-10-10 22:07:42 【问题描述】:今天,我尝试使用 Xcode 5
将我的应用程序更新提交到商店,它给出了警告 The app references non-public selectors in Payload/<AppName>.app/<AppName>: setAttribution:
。之前,它工作得很好,最后一次更新是在 8 月。
我正在使用Facebook SDK 3.2
库。可能是什么问题呢?谢谢!
【问题讨论】:
【参考方案1】:还发现,如果您将代码中的 fbProxy.userInfo.id
替换为 [fbPoxy.userInfo objectForKey:@"id"]
,则警告将消失。
使用关键字作为属性名称的淘气 Facebook!
【讨论】:
我找不到那些行。在哪里看 它可能不在每个 Facebook 项目中,因此可能与您的具体问题无关。 我还必须替换“link”:userInfo.link -> [userInfo objectForKey:@"link"] 可以苹果会拒绝同样的警告,如:应用程序引用 Payload/.app/ 中的非公共选择器:id @jowie @DhavalBhadania 如果它在第三方库(例如 Facebook)上,那么没有。我们收到这个警告已经很久了,将它提交到 App Store 没有问题。我只是想摆脱烦人的警告。【参考方案2】:尝试下载最新的 SDK 版本,Facebook 说他们已经解决了这个问题 https://developers.facebook.com/bugs/273730516072926
【讨论】:
【参考方案3】:如果在我们的应用程序中以相同的名称声明了任何方法或变量,Apple 将给出警告。但是,如果这些警告并不重要,那么我们不必担心。毕竟我们也可以提供一个有意义的名字:-)
我们可以使用 AppScanner 等一些实用应用程序检查此类警告威胁。如果我们必须在提交应用程序之前解决它,它将显示红色警告,否则我们可以忽略所有其他警告。
【讨论】:
【参考方案4】: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"!!!!
【讨论】:
以上是关于Xcode5:应用程序在 Payload/<AppName>.app/<AppName> 中引用了非公共选择器: setAttribution:的主要内容,如果未能解决你的问题,请参考以下文章
该应用在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:生日
应用程序加载器警告:应用程序在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:changeState:
该应用在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:FailWithError: , topMostAlert
应用程序加载器警告:应用程序在 Payload/<Appname>.app/<App name> 中引用了非公共选择器:id [重复]