非公开选择者

时间:2013-09-11 07:58:43

标签: ios

尝试验证二进制文件时收到以下警告。 “应用程序引用Payload / app.app / app中的非公共选择器:cache,decoder,hasPhotoType” 问题是我不知道怎么去“Payload / app.app”。 我很确定我的代码中没有使用“hasPhotoType”,即我无法使用Xcode搜索功能找到“hasPhotoType”。

奇怪的是,当我处于正常窗口时,我没有收到警告错误。只有当我试图“验证”二进制文件时,我才会收到上述警告

4 个答案:

答案 0 :(得分:6)

我95%确定它来自Google Maps for iOS SDK。我提交了一份错误报告,请帮忙明星: http://code.google.com/p/gmaps-api-issues/issues/detail?id=5817

答案 1 :(得分:5)

在Xcode 5构建我的iOS 7应用程序后,我遇到了同样的问题。

“该应用引用了Payload / app.app / app中的非公共选择器:cache,hasPhotoType”

我的代码中没有“hasPhotoType”这样的东西,但我使用的是谷歌地图SDK for iOS,它是我项目中唯一存在的非Apple库。我删除了框架,重建了应用程序,并且没有任何警告就通过了验证。

希望这些信息可以帮到你。

答案 2 :(得分:3)

转到终端中的项目文件夹并输入:

$ find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep hasPhotoType

来自这里的灵感来源:

App rejected, but I don't use UDID

答案 3 :(得分:2)

如果人们通过搜索登陆此页面,则此问题已在Google Maps iOS SDK 1.5中修复

  

版本1.5 - 2013年9月功能

     

此版本正式支持iOS 7,需要iOS 6.0或更高版本(不再支持iOS 5.1)。

V 1.5下载链接:https://dl.google.com/geosdk/GoogleMaps-iOS-1.5.0.zip

V 1.5发行说明:https://developers.google.com/maps/documentation/ios/releases