2016-07-05 57 views
0

Apple拒绝了我的应用iOS应用,我一直试图在过去两周内在商店中获得此应用。iOS应用拒绝 - 确保您的应用支持IPv6网络

该应用程序需要一个模拟账户的IP,端口,账号,客户端号码和账户密钥。我用这些信息为苹果创建了几个账户,但我一直被拒绝。

起初,这是由于UIBackgroundModes的位置,我需要更改为ios 9并添加免责声明。

我让苹果开发人员检查所有的信息以获得应用程序的访问权限。他们再次拒绝了该应用程序,注意:请注意,应用程序在IPv6网络上进行审查。请确保您的应用程序支持IPv6网络,因为需要IPv6兼容性。

我目前使用reachability 2.2来监视设备的状态。这对于IPv4网络下的所有测试都是完美的。

虽然有一个新版本reachability 3.0表示它完全支持IPv6。我不确定可达性是否是最新的,因为它们仍然使用AF_INET而不是AF_INET6,这在文档中概述。苹果也删除了对于本地WiFi的可用性,但我的应用包含它并监视IN_LINKLOCALNETNUM。

如果可能的话,我该如何在iMac上设置IPv6网络?该应用程序使用IP地址(例如199.56.42.21)初始化与服务器的连接。我还没有IPv6网络,所以我尝试使用我的iMac从 set up a local IPv6 Wi-Fi network using your Mac设置IPv6连接。问题是我的iMac在代理(使用以太网)后面运行,并且外部网络在WiFi上并且在设置指南上说不通过WiFi

+0

这不是一个编程问题,真的。这是网络配置。 –

+0

基本上你需要确保你已经在你的项目中更新了所有的'NSULRConnection'到'NSURLSession',这几乎是欢乐的第一步。 – holex

回答

1

刚刚注册任何CDN网站像cloudFlare和您的应用程序将被批准下一次不需要将整个转移站点到任何其他服务器。这是获得应用商店批准的最简单方法。

0

互联网协议版本6(IPv6)是互联网协议(IP)的最新版本,它是为网络上的计算机提供识别和定位系统并通过互联网路由流量的通信协议。

因特网连接的用户,设备和应用程序的数量正在快速增长,因此原始版本的Internet协议(IPv4)的可用地址池正在迅速耗尽。 IPv4使用32位地址,并且可以支持直接连接到互联网的43亿设备。替换协议称为IPv6,使用128位地址并提供约三百四十万亿。

如今,Apple拒绝应用程序,因为应用程序应该支持IPv6网络。在我们的环境中,我们也遇到了与应用程序相同的情况,我们发现了这个问题的解决方案之一。大多数应用程序不需要任何更改,因为IPv6已经被NSURLSession和CFNetwork API支持。如果您的应用程序使用IPv4特定的API或硬编码的IP地址,则需要进行一些更改。

Apple还建议不要长期使用IP地址Literals,并确保您未将点表示法中的IPv4地址字面值传递给API,例如getaddrinfo和SCNetworkReachabilityCreateWithName。相反,我们可以使用高级网络框架和地址无关的API版本,例如getaddrinfo和getnameinfo,并传递它们的主机名或完全限定的域名(FQDN)。如果您正在使用AFNetworking Library,请确保将它更新到3.x以上的版本,因为它们似乎已经更新了少量的内容。我们要做的AFNetworking库的一些变化类AFNetworkReachabilityManager

+ (instancetype)sharedManager { 
static AFNetworkReachabilityManager *_sharedManager = nil; 
static dispatch_once_t onceToken; 
dispatch_once(&onceToken, ^{ 
struct sockaddr_in address; 
bzero(&address, sizeof(address)); 
address.sin_len = sizeof(address); 
address.sin_family = AF_INET6; //Change AF_INET TO AF_INET6 
_sharedManager = [self managerForAddress:&address]; 
}); 
return _sharedManager; 
} 

我们需要作出上述模块中的一些变化对我们的应用程序,并添加到库中。完成此操作后,我们可以通过在MAC中启用Internet共享选项来测试应用程序的IPv6。

测试IPv6 DNS64/NAT64兼容性 首先,我们需要确保Mac通过Wi-Fi连接到互联网。导航到系统首选项并选择共享选项,并确保在选择共享选项之前需要按住选项键。选择Internet共享,然后选择创建NAT64网络复选框。现在我们需要选择提供互联网连接的网络接口,如以太网,Wi-Fi,蓝牙PAN。

我在这里选择Wi-Fi共享互联网连接并配置Wi-Fi网络选项。一旦配置了Wi-Fi,然后启用互联网共享选项。

一旦我们选择互联网共享,它会要求提示开始共享设备的互联网访问。

现在IOS设备已连接到共享网络,我们可以检查该应用是否在该网络上工作。

+0

http://stackoverflow.com/q/43028924/285594 - 我已经做到了,但仍然拒绝? – YumYumYum

相关问题