在使用Application Loader提交我的应用程序时,我收到了此警告.
The app references non-public selector in MyApp : id
Run Code Online (Sandbox Code Playgroud)
此警告可能会从Apple AppStore的验证中拒绝我的应用程序.
我的应用程序使用Facebook SDK iOS 3.1.1(也尝试过3.1)
我在我的项目和应用程序中使用最新的Google分析iOS SDK 2.0,在几分钟内拒绝无效二进制文件.我收到了Apple审核小组发来的一封电子邮件,说"不允许应用访问UDID,不得使用UIDevice的uniqueIdentifier方法:".我使用终端命令搜索了所有应用程序,并使用manualy搜索UDID.我在没有Google Analytic的情况下上传应用程序并在6天内获得批准,但是使用Google分析它会遭到拒绝.请分享更多详细信息.
我搜索过了
研发后及以下答案我发现苹果建议.用于检查私有API的otool&nm工具,但我无法检查UDID.
我正在尝试将应用程序上传到AppStore,但在上传后我发现此错误:
您的应用包含非公共API使用情况.请检查错误,更正错误,然后重新提交您的应用.
不允许应用程序使用UDID,也不得使用UIDevice的唯一标识符方法.请更新您应用的服务器,以便与iOS6中引入的供应商或广告标识符相关联.
不应该显示这些错误吗?我找不到任何访问UDID的代码.
尝试验证我的二进制文件时收到以下警告."该应用程序引用了Payload/app.app/app中的非公共选择器:cache,decoder,hasPhotoType" 问题是我不知道怎么去"Payload/app.app".很确定我没有在我的代码中的任何地方使用"hasPhotoType",即我无法使用Xcode搜索功能找到"hasPhotoType".
奇怪的是,当我处于正常窗口时,我没有收到警告错误.只有当我试图"验证"二进制文件时,我才会收到上述警告
非公共API使用情况:
不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法.请更新您的应用和服务器,以便将用户与iOS 6中引入的供应商或广告标识符相关联.如果源代码中的方法名称与上面列出的私有Apple API匹配,则更改方法名称将有助于防止此应用在未来的提交中被标记.此外,请注意,上述API中的一个或多个可能位于应用程序附带的静态库中.如果是这样,他们必须被删除.
请帮助我如何避免他的问题.
关心约翰