由于IPV6问题,我的应用被app store拒绝。以下是App Store的信息
- 1性能:应用完整性指南2.1 - 性能
醇>您的应用在连接到IPv6的运行iOS 10.3.1的iPad上崩溃了 网络当我们:
输入提供的凭据。该应用程序加载了一秒钟然后 坠毁。重新启动应用程序时,我们似乎已经平静地“登录”了 但应用程序加载片刻并再次崩溃。
使用您的应用时发生这种情况:
- 在Wi-Fi上
我们附加了详细的崩溃日志,以帮助解决此问题。
后续步骤
要解决此问题,请修改您的应用并在设备上进行测试 连接到IPv6网络(所有应用程序必须支持IPv6)时 确保它按预期运行。
资源
有关如何表示和阅读崩溃日志的信息,请 查看技术说明TN2151了解和分析应用程序崩溃 报告。
有关支持IPv6网络的信息,请查看 支持IPv6 DNS64 / NAT64网络和关于网络。
我该如何解决这个问题?
答案 0 :(得分:1)
我在iOS中遇到了这个问题。比我更改我的aptblility类互联网连接方法和我的应用程序批准。如果您想在系统中制作Ipv6网络,请检查
https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
目标c
+ (instancetype)reachabilityForInternetConnection
{
struct sockaddr_in6 zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin6_len = sizeof(zeroAddress);
zeroAddress.sin6_family = AF_INET6;
return [self reachabilityWithAddress: (const struct sockaddr *) &zeroAddress];
}
Swift 3
func ipv6Reachability() -> SCNetworkReachability?
{
var zeroAddress = sockaddr_in6()
zeroAddress.sin6_len = UInt8(MemoryLayout<sockaddr_in>.size)
zeroAddress.sin6_family = sa_family_t(AF_INET6)
return withUnsafePointer(to: &zeroAddress, {
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
SCNetworkReachabilityCreateWithAddress(nil, $0)
}
})
}
答案 1 :(得分:0)
是。我也经常多次面对这个问题。 Apple现在只支持与IPv6兼容的应用程序。
首先,我根据他们的描述测试了我的应用程序。我在IPv6上进行了测试,但我没有得到任何错误。所以在连接到IPv6之后首先完成调试。如果你觉得,它的工作正常就可以了。
我通过不同的网站发现了我网络的IPVersion。我在移动设备上截取了我连接的网络的截图,并将这些屏幕截图发送给苹果进行审核(说它是连接到IPv6的证据)。
以下是帮助您找出所使用版本的几个网站。
现在已被接受
答案 2 :(得分:0)
问题是我使用了一些代码来检查应用是否连接到互联网。这些代码仅支持IPV4而不支持IPV6。所以我只是将这些代码更新为支持IPV6。这是代码:
旧代码:
var zeroAddress = sockaddr_in()
zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
新代码:
var zeroAddress = sockaddr_in6()
zeroAddress.sin6_len = UInt8(MemoryLayout.size(ofValue: zeroAddress))
zeroAddress.sin6_family = sa_family_t(AF_INET6)