无法重现App Store审查小组所具有的(IPv6?)连接问题
我的iOS应用遇到了IPv6问题。 最初,我在6月1日前几天提交了不了解IPv6要求( https://developer.apple.com/news/?id=05042016a )。
他们在6月1日进行了审查,并因IPv6不兼容/无法连接而被拒绝。 我不想build立自己的IPv6networking,所以我更新了代码是否合规 – 我更新了Apple提供的Reachability到最新版本。 我也在使用几年前由联合创始人编写的自己的下载库。 它没有连接到IP地址,或任何苹果build议,所以我没有决定现在升级它。 我也使用旧版本的AFNetworking。
我重新提交了一个应用程序。 同样的理由再次被拒绝。 我去购买了雷电适配器并设置了IPv6。 现在我很好地连接到该应用程序。 我也可以很好地连接到另一个应用程序,它仍然有非常古老的可达性代码。 我的主要问题是我想让它像苹果公司一样突破,所以我可以正确地修复它。
笔记:
– 我最初试图发表对IPv6app store拒绝的评论,但它太长了。 我是Twitter上的@andytriboletti,由Sean在这个问题上链接。
– 我在苹果开发者论坛发布了这个,但是它仍然在等待10小时后的批准: https : //forums.developer.apple.com/message/141461#141461
– 这是我如何使用我的Macbook Pro上的Thunderbolt以太网适配器设置我的IPv6networking。 https://developer.apple.com/library/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
– 我正在运行OS 9.3.2的iPhone 6进行testing。 正在运行IPv6networking设置的我的Macbook Pro正如苹果公司链接到我的文章中所述,正在运行10.11.5。
– 我testing了苹果testing的确切版本。 我使用buddybuild作为构build自动化工具,并且他们向我发送了一封电子邮件,其中包含上传到iTunes的版本。
– 该应用程序向https://greenrobot.com发出networking请求(还包括广告和分析库)。 在我的代码中没有硬编码的IP地址。 GreenRobot看起来像是为IPv6设置的: https : //ip6.nl/#greenrobot.com
对于它的价值,我也看到了这一点,正如这里所讨论的,截至6/14/16的文档和App Review Team的设置之间显然存在差异。
正如我所怀疑的,正如评论者所build议的那样,这与广告和分析代码无关。 它必须与服务器与IPv6兼容。 我用Linode。 我有我的服务器上我的Linux服务器pipe理升级到IPv6。 如果广告或分析失败,他们只会默默地失败,游戏没有问题。 问题是我的游戏服务器,这只在IPv6下无法正常工作。
根据回答: https : //stackoverflow.com/a/37689996/211457我用这个网站来testing我的网站的兼容性: http : //ready.chair6.net/ – http://ready.chair6.net/?url = HTTPS://greenrobot.com
有趣的是,Apple.com,Google.com,Facebook.com,Twitter.com都不合规。 唯一的其他领域,我可以find完全符合像我的网站现在是arin.net。
进行这些更改后,我的应用程序现在被批准。 注意我还添加了一些关于没有连接并显示适当的错误屏幕的错误检查。 但是由于其他的Stackoverflow海报也有IPv6服务器的问题,并没有很大的意义,只是添加错误检查会导致应用程序突然连接,我相当确信这是一个服务器的问题。
另一个有趣的事情是,我在6月1日之后通过了手机上的iOS开发者的更新。 他们正在使用AWS,并不知道我在谈论什么关于AWS不在IPv6下工作。 非常奇怪的是,除非苹果只在一定比例的应用上要求IPv6。
编辑:新的信息:从下面的评论:“如果你的服务器有IPv6logging(即声称支持IPv6),但你的服务器的IPv6支持被打破,那么它明显不会在IPv6上工作,但如果你的服务器不'根本就没有IPv6logging(即声称只有IPv4),所以应该没有任何问题。“