2016-10-01 94 views
0

我一直试图让我的应用程序在应用程序商店批准相当长一段时间了。每次苹果拒绝它说他们无法加载ipv6网络中的内容。苹果拒绝我的应用程序说内容不加载在ipv6网络

首先,我来自尼泊尔,这里的isp在我们的连接中并没有提供ipv6的支持。 我在加拿大和美国做了一些朋友作为我的外部测试人员,我的应用程序在那里工作顺利。正如苹果建议的那样,我从我的Mac mini创建了一个虚拟ipv6热点,并且内容在尼泊尔也很好地加载,但是他们在尝试查看时仍然说它没有加载。那么苹果审查团队会怎么样,我做了他们所建议的所有事情。

我使用Alamofire 3.4.1进行网络连接,并研究了一下,发现Almofire肯定是ipv6的投诉。

我真的很需要应用程序商店中的应用程序。任何洞察力将非常感激。

+0

使用免费的2级代码级支持随开发人员资格一起解决,这将是您的最佳选择。您将通过代码获得Apple工程师的直接帮助。您可以通过https://developer.apple.com/account/#/support/ –

+0

找到它[如何测试iOS应用程序是否支持IPv6?](http://stackoverflow.com/questions/37096725/ how-to-test-ios-app-is-it-supporting-ipv6) – Kitson88

+0

@ Zhi-Wei-Cai我也打算这么做。但苹果会查看我的代码吗?如果他们给我的代码带来其他问题,说出这个和那个怎么办?他们会这么做吗? – AkshayKriti

回答

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) 

不要让我知道,如果有可能通过这样的一些问题。

相关问题