【问题标题】:My ios app got rejected due to ipv6 network issue由于 ipv6 网络问题,我的 ios 应用程序被拒绝
【发布时间】:2016-10-04 07:32:25
【问题描述】:

我的应用被 Apple 拒绝,并显示“您的应用在运行 iOS 10.0.2 并连接到 IPv6 网络的 iPad 上崩溃”。并且也没有从附加的崩溃日志中得到任何信息。请回复解决此问题的人。

实际上,每当尝试从仅 ipv6 的网络访问 api 服务器时,我都会收到未找到服务器的错误。我的 api 服务器只支持 ipv4 网络。我需要更改 api 服务器中的任何内容吗?任何人都可以发布任何示例代码来使用支持 ipv6 only 网络的 NSUrlConnection 对象访问 api 服务器吗?

【问题讨论】:

  • 只需更新苹果的可达性并尝试
  • 您在您的应用中使用UIWebview 吗? UIWebView 已弃用。 Apple 推荐 WKWebView。
  • 我如何更新可达性@Anbu Karthik

标签: ios objective-c ipv6 reachability


【解决方案1】:

如果您使用AFNetworking 库或Apple 的Reachability 类,更新您的类,问题就解决了。

【讨论】:

【解决方案2】:

不要被这条信息弄糊涂了。我也明白了,但问题不一定是由 IPv6 网络引起的。我的感觉是他们总是写这个,即使错误是别的东西。上周我自己使用了一个应用程序,但错误只是一个完全不同的原因。也许您只是查看发生问题的代码。他们可能会在您的应用程序中写到它崩溃的时间点。

【讨论】:

  • 实际上我在尝试登录时无法访问服务器。调试后发现每次访问api server时,返回no server found。我认为DNS没有解决。但我没有找到任何线索来解决这个问题。
  • 但是为什么这会导致崩溃呢?你也应该解决这个问题。没有连接不应导致崩溃。
【解决方案3】:

在将目标版本增加到 9.2 之后,应用程序现在得到了苹果审查团队的批准,之前是 8.1。

【讨论】:

    【解决方案4】:

    很多服务器环境还没有开始支持 IPV6(想想 Azure 在某些配置中)。这会导致应用程序使用的 api 不可用的情况。请务必在您的代码中处理此类情况。

    Apple 自己的可达性类和其他一些第三方框架使用低级 apis/sockets 来实现自己的目的。这些是有问题的地方。

    大多数使用 NSURLConnection 的高级代码都可以,但是如果您使用任何第三方库或旧版本的 AFNetworking,则需要检查它们是否使用任何套接字。如果是,则寻找选项/升级。

    我们最近遇到了同样的问题,最终对应用中的服务器和第三方库进行了大量修复。

    【讨论】:

      猜你喜欢
      • 2016-11-24
      • 1970-01-01
      • 2017-04-04
      • 2017-12-21
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多