2016-11-12 50 views
1

拒绝我的应用程序的原因是ipv6网络连接问题。因为ipv6网络连接问题而被拒绝的应用程序

首先,我使用AWS作为我的后端服务器。我用我的域名到我的服务器连接如http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:80/parse,其中X是一个数字

其次,我试图通过 重现该问题a)进入我的iPhone设置 - >开发 - >状态(代理店链接机) - >创建一个与LTE完全相同的配置文件,但协议是IPv6 b)与Apple建议的做法相同。使用霹雳以太网连接我的MacBook并与我的iPhone共享WiFi。 我的应用程序适用于这两种情况。

第三,我看AWS关于支持IPv6。链接在这里。 http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#AAAAFormat似乎没有什么应该改变。我不太确定,因为我不熟悉服务器。

有什么建议吗?谢谢。


UPDATE

如果您正在使用旧苹果的Rechability类,如果你使用的是旧AFNetworking的AFNetworkReachabilityManager类

响应 - 我并没有实现可达性或AFNetworking任何代码。我是否应该担心这些类在像Parse这样的其他资源框架中?

enter image description here

如果您使用的是硬编码的IP地址

回应:我的域名是http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:80/parse,其中X是一个数字。所以,我认为这应该没问题。

+0

在这些情况的许多(大多数)情况下,它是第三方库或框架的突破。广告或分析代码可能? –

+0

我的应用程序终于获得批准。感谢您的帮助。 –

回答

0

我的应用程序已获批准。

我改变的唯一事情是

  • 设置签署“自动管理签约”,因为我的应用程序失败,当我改变了构建配置以“释放”(我不知道跑是这涉及到而IPv6我认为这是一种奇怪的),谁使用谷歌地图API的其他人

参考,解析在AWS和Facebook登录托管:

  • 我觉得牛逼继承框架有利于通过IPv6要求。

我仍在质疑苹果为什么说我的应用在我上次提交时未能通过IPv6要求。

0

有几点经常会导致此问题。

  • 如果您正在使用旧的苹果的Rechability类,然后替换它与最新的一个,因为老Rechability class不与`仅支持IPv6的网络兼容。
  • 同为老AfNetworking库,如果您使用的是旧AFNetworking's AFNetworkReachabilityManager class然后替换这个类最新AFNetworkReachabilityManager类或更换最新的一个
  • 如果您正在使用hard coded IP addressesapi然后用域名更换整个图书馆。例如,你不应该使用如下所示的API:http://192.168.1.11:4444/login。你的API应该是这样的:http://api.example.com/login

由于苹果文件规定,

确保你不及格的IPv4地址文字的点符号 API,如的getaddrinfo和SCNetworkReachabilityCreateWithName。 而是使用高级网络框架和地址不可知的 版本的API,例如getaddrinfo和getnameinfo,并将它们传递给主机名或完全限定的域名(FQDN) 。请参阅getaddrinfo(3) Mac OS X开发人员工具手册页和getnameinfo(3)Mac OS X 开发人员工具手册页码。请注意:在iOS 9和OS X 10.11及更高版本中,NSURLSession和CFNetwork 会自动从本地IPv4文本合成IPv6地址,并在设备上运行DNS64/NAT64网络。但是,你还是应该 工作,以摆脱你的IP地址文字

  • 和你的API的托管服务器应该兼容ipv6(这不是主要问题,因为几乎服务器是兼容IPv6)
的代码

您可以参考Apple documentation了解更多详情

你会知道如何创建仅IPv6上的MAC网络进行测试也被上述苹果文档!

+0

如果可能的话,您应该从您使用的任何框架中更改旧的Rechability,因为如果该框架在内部使用此旧的rechability类,那么它可能会在ipv6上创建问题! – Lion

+0

我的应用程序终于获得批准。感谢您的帮助。 –

相关问题