上传app到苹果商店被拒理由及解决方案

一,Apps that are "demo", "trial", or "test" versions will be rejected. Beta Apps may only be submitted through TestFlight and must follow the TestFlight guidelines(任何“beta”,“演示(demo)”,“试用(trial)”或“测试(test)”版本的应用会被拒。)


原因:app中含有demo,trial,test,或beta等字样,不符合苹果官方的审核条件。

解决方案:检查app中是否含有上述字样,删除即可。

另:If you would like to conduct beta trial for your app, you may wish to review the TestFlight Beta Testing Guide.If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.(如果想发布测试版,需要根据testFlight 测试版本指南进行发布内测)。


二,Apps must follow the iOS Data Storage Guidelines or they will be rejected。

 

原因:app中没有按照苹果官方规定的数据存数方案进行存储。

解决方案:To check how much data your app is storing:
    - Install and launch your app
    - Go to Settings > iCloud > Storage > Manage Storage
    - Select your device
    - If necessary, tap "Show all apps"
    - Check your app‘s storage

即是检查工程中得数据存储方式,并根据IOS数据存储知道方针修改app的数据存储方式。


附:

数据存储要求:

1. 只有那些用户生成的文档或其它数据,或者应用不能重新创建的数据,才应该存储在/Documents目录下,并且会被自动备份到iCloud


2. 可以重新下载或生成的数据,应该存储在/Library/Caches目录。例如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等都属于这一类。


3. 临时使用的数据应该存放在/tmp目录。尽管这些文件不会被iCloud备份,应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间。


4. 使用不要备份属性来指定那些需要保留在设备中的文件(即使是低存储空间情况下)。那些能够重新生成,但在低存储空间时仍需保留,对应用正常运行有影响,或者用户希望文件在离线时可用的文件,需要使用这个属性。无论哪个目录下的文件(包括Documents目录),都可以使用这个属性。这些文件不会被删除,也不会包含在用户的iCloudiTunes备份中。由于这些文件一直占用着用户设备的存储空间,应用有责任定期监控和删除这些文件。


三,Please revise your app to complete, remove, or fully configure any partially implemented feature(s).


原因:项目中存在未实现的功能模块。

解决方案:对未实现的功能模块进行屏蔽或完整实现其功能。(估计苹果是怕影响用户体验。)


四,64-bit and ios 8 requirements starts soon.英文被拒语句未收录到,大致就是根据2015年2月开始实施的强制实行支持64为系统,此app不符合上传要求。


原因:工程中使用了支持32位系统的第三方库,或者是工程配置中未选择支持64位的arm。

解决方法:将程序中所有不支持64位的代码和第三方库进行升级和修改。


附:检测方法

1,项目设置成支持iOS6甚至更高;

2,将Architectures build设置成“Standard Architectures(includeing 64-bit)”

3,  用64位的硬件进行检测(真机调试可测出不支持64位的第三方库,然后进行升级或替换即可)

4,设置工程valid architectures :arm64,armv7,armv7s,

      Archtectures:Standard Architectures(armv7,arm64)-$(ARCHS_STANDARD))。


五,还有一个最为人熟知的是,2015年3月份开始,上传苹果商店的app不能再包含检查更新的字样,苹果将会有自动检查更新功能。否则,这样被拒就是非常悲催的一件事了。


以上多是二进制数据问题,需要修改代码后重新打包上传。新app上传审核时间比较长,一旦审核不过,将消耗更多时间,让对手抢占了先机,所以希望总结一下被拒原因和解决方案,希望新手少走些弯路!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。