苹果爸爸一向很傲娇,这是大家都知道的事。人家说你有问题,你就有问题,而且还不给你说明问题在哪里。本人最近就遇到过让人哭笑不得的拒绝理由:
1,语气过于强硬
一般当我们的app需要定位,需要发送推送消息的时候,都会在info.plist文件中,写一些询问的话,最近我在定位的时候,提醒用户“我们需要获取你的定位来做XX操作”,然后苹果就给我拒绝了,说我的语气过于强硬,于是我就改成“我们需要获取你的定位来做XX操作,可以吗?”,后来,我就过了。
2 ,定位信息在国外不能解析
因为,我们国内的app,定位环境无论是高德的,还是百度的,都能够逆地址解析出对应的地址。也就是说,很有可能,无论我们在国内做什么样的测试,都没有问题。只要一拿到苹果那边去审核,人家分分钟就让你崩,而且还是毫无征兆的崩,运行1秒就崩,然后苹果这边就给你打回来,说你的app在发射时坠毁(运行时崩溃),而且还误导你去检测你的网络(是否支持IPv6),去检测你的手机版本(是否是因为版本不兼容)。其实,这些都不是,我们能检测的最好方式就是,自己去看苹果自带的崩溃日志。(方法:XCode 的菜单Window->Organizer 选择Devices -> 选中的手机 -> 点击手机名称左边的箭头,这个里面就有崩溃的原因,其实这里还有一个更好的第三方平台,腾讯的bugly检测平台,具体使用方法,简单的说一下,去下一个sdk ,然后根据文档,把sdk导入到你的项目中,然后去配置信息,生产符号表,那么你就可以检测到,苹果审核人员,和你的用户在使用过程中,发生崩溃的地方,会直接具体到某一行,所以真的是良心产品,值得使用)。
3 IPv6 不兼容
这个原因,真的是很坑,苹果也很看重这个问题。但是有一个情况就是,国内的服务器,90%都不会支持IPv6 ,但是苹果有时候就非常轴,非要给你打回来。那么这个时候,我们没办法,要么去自己的服务器配置一下IPv6的兼容,要么就自己创建一个IPv6 的热点,自行测试。如果自己测试没有问题,而苹果测试出,说你的有问题,那么你可以自己录一个视频过去,说明自己这边是没有问题的(亲测有效)。
4 其他问题
其他问题那么多,那说得完。以上就是最近审核遇到的问题。如果你也遇到类似的问题的话,不要抱怨苹果了,自己多检测检测吧,多半都是自己的问题。