我一直试图在应用程序商店中批准我的应用程序已有一段时间了。每次苹果拒绝它说他们无法在ipv6网络中加载内容。
首先,我来自尼泊尔,这里的isp在我们的连接中直到现在才提供ipv6支持。 我在加拿大和美国结交了一些朋友作为我的外部测试人员,我的应用程序在那里工作顺利。正如Apple建议的那样,我从我的mac mini创建了一个虚拟的ipv6热点,内容在尼泊尔也很好地加载,但是当他们试图审查时,他们仍然说它没有加载。那么苹果审核团队的成就是什么,我做了他们建议的所有事情。
我正在使用Alamofire 3.4.1进行联网,并研究了abit以发现,Almofire肯定是ipv6投诉。
我很快就会在应用程序商店中使用该应用程序。任何见解都会非常感激。
答案 0 :(得分:1)
我找到了一个解决方案,但我不知道它是否是最佳做法,但我的应用程序已被接受。我所做的只是在alamofire的NetworkReachabilityManager类中添加了一个字符。
public convenience init?() {
var address = sockaddr_in()
address.sin_len = UInt8(sizeofValue(address))
address.sin_family = sa_family_t(AF_INET)
guard let reachability = withUnsafePointer(&address, {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}) else { return nil }
self.init(reachability: reachability)
}
更改了行
address.sin_family = sa_family_t(AF_INET)
到
address.sin_family = sa_family_t(AF_INET6)
如果可能存在某些问题,请告诉我。