经过20天与苹果的艰苦斗争,终于在被拒7次的今天,成功上线,下面谈一谈被拒的解决方法。1、Performance - 2.3
We noticed that your app's metadata includes the following information, which is not relevant to the app's content and functionality:"苹果政策规定:iOS端充值余额不能在其他非iOS端使用"Next StepsPlease revise or remove this content from your app's metadata.
解决方法:说的是这一句话和app没关系,我们把他去掉,然后问题解决
2、
Legal - 5.1.1
We noticed that your app requires users to register or login to access non account-based features, such as In-App Purchase products, which is not allowed on the App Store. We've attached screenshot(s) for your reference.Next StepsUser registration that requires the sharing of personal information must be optional or tied to account-specific functionality.Please make it clear to the user that registering will enable them to access the content from any of their iOS devices, and to provide them a way to register at any time, if they wish to later extend access to additional iOS devices.Please note that although guideline 3.1.2 of the App Store Review Guidelines requires an application to make subscription content available to all the iOS devices owned by a single user, it is not appropriate to force user registration to meet this requirement; such user registration must be made optional.
解决方案:这个项目含有内购,开始我们以为内部购买的时候,就是点击购买,先提示先登录,登录后才能调到购买界面,这也是符合逻辑的,但是不能成功。我们开始改为不登录也能跳到购买界面(购买界面含购买项目的具体金额等),在购买界面购买时弹出提示界面,可供选择登陆与不登录,这个问题就没了。没想到又有新的相关问题,因为我们的充值和点击登陆在同一个界面,点击充值的时候,也会说我们强制登陆了,没办法我们修改为没有登陆的时候,把充值隐藏掉,登陆后显示,但还是不成功,最后我们采取游客模式,最终解决掉这个bug。
3、
Performance - 2.1
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.3.2 on Wi-Fi.Specifically, an error message (null) is displayed when purchasing app currencies. We've attached screenshot(s) for your reference. Next StepsPlease run your app on a device to identify the issue(s), then revise and resubmit your app for review.Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.For additional information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and Supporting IPv6-only Networks.For a networking overview, see About Networking.If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.
For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue(s). For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue(s).
解决方法:这个上面写的是ipv6的问题,我先按网上验证ipv6的方式(http://www.cnblogs.com/dahe007/archive/2016/05/26/5527086.html)验证了一下发现没问题,就判定这个绝对不是ipv6的问题,查了很多资料最终确定后台充值没做二次验证,苹果审核时仍然在沙盒环境(https://sandbox.itunes.apple.com/verifyReceipt)下测试,但是上线下载时用得是生产环境(https://buy.itunes.apple.com/verifyReceipt)所以就会报21007的错误,会形成支付成功但是后台充不上值,所以会被拒,修改办法就是后台做二次验证,即收到21007时做二次验证,用沙盒环境验证。
总结:上线时遇到问题,不要慌,多网上查查原因,多揣摩苹果的原意,你一定没有问题。