【问题标题】:About iOS IPv6 network with ionic framework关于带有离子框架的 iOS IPv6 网络
【发布时间】:2016-10-03 00:14:52
【问题描述】:

昨天,我提交了我的应用以供审核,但我收到了来自苹果的消息。

在 IPv6 网络上审核应用程序。请确保您的应用支持 IPv6 网络,因为需要兼容 IPv6。

有关支持 IPv6 网络的更多信息,请参阅Supporting iPv6 DNS64/NAT64 Networks

有关网络概述,请参阅About Networking

我的应用使用了离子框架,我该如何解决这个问题。

我已经使用域访问我的服务器,但是这个问题仍然存在。

【问题讨论】:

  • 您找到解决方案了吗?

标签: ios angularjs cordova networking ionic-framework


【解决方案1】:

根据我的经验。 我有同样的问题。我使用https://ready.chair6.net/ 检查我的后端是否支持 ipv6。在 DevOps 为服务器添加支持 ipv6 后,Apple 接受了我的应用程序。

【讨论】:

    【解决方案2】:

    如果您的应用应该连接到后端服务器/API,您应该测试是否在 IPV6 模式下工作,我们遇到了这个问题。更新您的服务器网络配置和 DNS 规则,然后您可以使用这样的工具进行 ping 测试 https://centralops.net/co/Ping.aspx

    【讨论】:

      【解决方案3】:

      无需更改您的应用代码。

      您必须检查 API 服务器是否支持 IPv6 网络。

      详情请查看--http://www.internetsociety.org/deploy360/blog/2016/05/starting-june-1-apple-requires-all-ios-apps-to-work-in-ipv6-only-networks/?gclid=CK6K9ZfWgNMCFUoXaAodkuoGhw

      【讨论】:

        【解决方案4】:

        我也遇到过这个问题(有点),但我不知道这只发生在 iOS10 中,实际上该应用程序在 iOS 9.2 及以下版本(真实设备和模拟器)中运行。我发现将应用程序提交到 AppStore 的这个问题(与一周前一样,并且这个被批准了)。他们只是因为“该应用程序不支持 IPv6 连接”而拒绝了该应用程序……太好了:____D,我们更改了所有服务器端,而不是文字 IP 使用,最后,我们让服务器准备好支持 IPv6 和通过所有测试。我们再次提交了该应用程序......并且......他们只是因为“该应用程序不支持 IPv6 连接”而拒绝了该应用程序。真是难以置信……

        最后在绝望中,经过 100 次荒谬的测试,甚至阅读了一些类似的拒绝案例,我刚刚更新了我的模拟器版本,以便在其他版本的 iOS 下使用该应用程序。我意识到问题仅适用于 iOS 10+。这就是问题所在:在 6 月 16 日之后,Apple 改变了他们的政策,他们现在只支持 IPv6 连接,尽管每个人都说你应该在改变之后更新元标记“Content-Security-Policy”,这不是真的,在至少在我的情况下。最后没有这个元标记我只能正常编译和测试应用程序(在iOS10中)

        PD。昨天我提交了对我的应用程序的更改,Apple 再次拒绝了该应用程序,因为 IPv6 连接问题...然后,我更改了我的版本,我再次编译了应用程序...没有对代码进行任何更改,然后我提交了再次访问 AppStore……然后“瞧”……他们接受了之前被拒绝的同一个应用……

        希望对你有帮助!

        【讨论】:

          【解决方案5】:

          最后我用了这个插件cordova-HTTP

          使用AFNetworking v3.1.0 的最后一个版本

          然后,添加一些代码来解决我的网络问题

          // using AFNetworking if on iOS device
          if ($window.cordova && ionic.Platform.isIOS()) {
              // $window.CordovaHttpPlugin.get
              // $window.CordovaHttpPlugin.post
              // or
              // cordovaHTTP.get
              // cordovaHTTP.post
          } else {
              // $http.get
              // $http.post
          }
          

          【讨论】:

          • 有趣的解决方案,您是否确认您在 iOS 上的 IPV4 上为您工作的正常 $http.post 不适用于苹果的测试环境?我面临同样的问题,如果您能提供更多详细信息,那就太好了。提前致谢。
          • @Tobio:使用 NAT64 为我们的 iOS 设备模拟仅 IPv6 的 WiFi 连接,我们的应用程序运行良好,但 Apple 仍然拒绝它。在使用cordova-http 而不是直接使用$http 之后,我们不再有 IPv6 问题。我不确定为什么来自 UIWebView 的请求不起作用(也许 WKWebView 会起作用?)。
          • @user276648 我的应用程序在 NAT64 上也可以正常工作,但在 Apple 审核环境中无法正常工作。他们一直拒绝,几天后他们自己批准了该应用程序。我想知道这是否是他们方面的问题。
          • @Tobio:所以你只是不断地重新发布你的应用程序而不修改你的应用程序或你的后端,最终他们批准了?如果是这样,听起来他们确实有些奇怪——或者他们不想再被你打扰了;)
          • @user276648 你在这两个陈述中都是对的,有趣的是,一旦他们停止响应我的进一步测试请求,我就开始构建嵌入实时日志并发布它到 TestFlight 进行测试。在我发送审查之前,我早期的构建得到了他们的批准。确实很奇怪。
          猜你喜欢
          • 2017-05-10
          • 2019-07-12
          • 1970-01-01
          • 2021-03-13
          • 2015-05-24
          • 2012-05-21
          • 2011-03-23
          • 2010-09-15
          • 1970-01-01
          相关资源
          最近更新 更多