iOS应用被拒绝:非公开的API
相同的应用程序已经被批准了两次之前,但经过一些改变,如设置图像视图和提交应用程序,苹果拒绝了我的应用程序以下错误:
性能 – 2.5.1
您的应用使用或引用以下非公开API:
setResult:nextStarIndex
应用程序商店不允许使用非公共API,因为如果这些API发生更改,可能会导致糟糕的用户体验。
如果用户在包含私有API的情况下如何testing他/她的应用程序?
我没有在我的项目中的任何地方使用setResult:
和nextStarIndex
代码,所以我该怎么办?
我最后一次遇到这种情况是因为我的代码中的方法和Cocoa API中的私有方法之间的命名空间冲突。 你也可以使用grep
来找出你正在使用这些select器的地方:
grep -R 'setResult:' *
我和你有同样的情况 现在,该应用程序已准备好出售。 我希望我会帮你解决这个问题。
“您的应用程序使用或引用以下非公共API:cancelAction :, defaultInstance”
我解决的步骤:
(1)grep -R'defaultInstance'*
CrashReporterSDK匹配,所以我删除它。
(2)grep -R'cancelAction:'*它匹配一些项目函数名称。 我也解决它们。
(3)我build议在使用“grep -R”之前,应该删除项目的“build document files”,所以“grep -R”会给我们更多有用的信息。
完
如果你没有find你的项目search引用,这个问题是编译的第三方库中最喜欢的。 您可以使用“nm”列出已编译库中的符号。
我的一个应用被同样的原因拒绝了。 我使用最新的Facebook SDK更新了我的项目(此时为4.15.1),并且该应用程序通过了审核。
在可执行文件上运行otool。
转到生成目录:
AppName的/编译/ AppName.build /释放-的iPhoneOS / AppName.build /目标正常/ ARMv6的/
并运行
stringAppName | grep'setResult'来知道哪个框架使用了特定的方法。
- Xcode 4.3的“估计的应用程序商店大小”与.ipa文件大不相同,为什么?
- iphone:Apple ID没有权限访问iTunes Connect
- 检测TestFlight?
- 如何检测当前正在运行的应用程序是否从应用程序商店安装?
- 应用程序显示安装与新的应用程序图标的新版本的应用程序后的旧版本的应用程序
- 应用程序拒绝在Documents目录中存储数据库
- Appstore Failure在二进制文件中没有体系结构。 Lipo未能检测到软件包可执行文件中的任何体系结构。“在SoftwareAssets / SoftwareAsset
- iOS:以编程方式检测iOS应用程序安装的源代码(在安装的应用程序中)
- 是否可以确定SKStore Review Controller是否已经出现。