我的iOS应用遇到了IPv6问题。最初我在6月1日前几天提交了不了解IPv6要求(https://developer.apple.com/news/?id=05042016a)。
他们在6月1日进行了审核,但由于IPv6不兼容/无法连接而遭到拒绝。我不想建立自己的IPv6网络,因此我更新了代码以符合要求 - 我将Apple提供的Reachability更新为最新版本。几年前我也在使用我自己的下载库,这是由前联合创始人编写的。它没有连接到IP地址或Apple推荐的任何内容,因此我现在还没有决定升级它。我也在使用旧版的AFNetworking。
我重新提交了一个应用。因同样的原因被再次拒绝。我去买了霹雳适配器并设置了IPv6。现在我连接到该应用程序。我也可以很好地连接到另一个仍然具有非常旧的可达性代码的应用程序。我的主要问题是我希望它能像Apple破解一样突破,所以我可以正确修复它。
注意:
- 我最初试图在IPv6 App Store Rejection发表评论,但时间太长了。我是Twitter上的@andytriboletti,在那个问题上与Sean联系在一起。
- 我在Apple Developer Forums上发布了此消息,但它仍在等待10小时后的批准: https://forums.developer.apple.com/message/141461#141461
- 这是我在Macbook pro上使用thunderbolt以太网适配器设置IPv6网络的方法。 https://developer.apple.com/library/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
- 我正在使用运行OS 9.3.2的iPhone 6进行测试。正如Apple链接到我的文章中描述的运行IPv6网络设置的Macbook Pro正在运行10.11.5。
- 我测试了Apple测试的确切版本。我使用buddybuild作为构建自动化工具,他们向我发送了一封电子邮件,其中包含由他们上传到iTunes的版本。
- 该应用向https://greenrobot.com发出网络请求(并且还包括广告和分析库)。我的代码中没有硬编码的IP地址。 GreenRobot看起来像是为IPv6设置的:https://ip6.nl/#greenrobot.com
答案 0 :(得分:4)
为了它的价值,我也看到了这一点,并且正如所讨论的那样here,截至2016年6月14日的文档与App Review Team&#之间明显存在差异。 39;设置。
答案 1 :(得分:2)
正如我所怀疑的那样,这与广告和分析代码没有关系,正如评论者所建议的那样。它与服务器与IPv6的兼容性有关。我用的是Linode。我的linux服务器管理员在我的服务器上为我升级到了IPv6。如果广告或分析无法连接,他们就会默默地失败,玩游戏没有问题。问题是与我的游戏服务器交谈,该服务器仅在IPv6下无法正常工作。
根据回答: https://stackoverflow.com/a/37689996/211457我使用此网站测试我网站的兼容性:http://ready.chair6.net/ - http://ready.chair6.net/?url=https://greenrobot.com
有趣的是,Apple.com,Google.com,Facebook.com,Twitter.com都不合规。我能找到的唯一一个完全符合我网站的域名是arin.net。
进行这些更改后,我的应用程序现已获得批准。注意我还添加了一些关于没有连接并显示相应错误屏幕的错误检查。但是,由于其他Stackoverflow海报也存在IPv6服务器问题,并且仅仅添加错误检查会导致应用程序突然连接并没有多大意义,我相信这是服务器问题。
另一个有趣的事情是我在6月1日之后与手机上的iOS开发人员进行了交谈。他们正在使用AWS,并且不知道我在谈论有关AWS无法在IPv6下工作的内容。很奇怪,除非Apple仅在一定比例的应用程序上要求IPv6。
编辑:新信息:来自下面的评论:“如果您的服务器具有IPv6记录(即声称支持IPv6),但您的服务器的IPv6支持被破坏,那么它显然无法在IPv6上运行。但是如果您的服务器根本没有IPv6记录(即声称只支持IPv4),它应该没有任何问题。“