【问题标题】:IPV6 in iOS9 and configuring the IPV6 enable APIiOS9 中的 IPV6 和配置 IPV6 启用 API
【发布时间】:2017-01-26 17:31:05
【问题描述】:

我的申请被拒绝,因为它没有启用 iPV6。

我浏览过the documentation,很少研究 iPV6 和许多其他链接。

但我需要了解并需要对与采用 IPV6 相关的一些问题进行更多说明。

  1. 当苹果说“IPv6-only network”时。 是不是说我不能通过socket编程或者HTTP主机连接到ipv4服务器?

  2. 为了访问或与启用 ipv4 的服务器通信,我必须采用苹果提供的新 api(nsurlsession 和 nscfnetwork)来进行 http post?

  3. 什么是综合ipv6地址? 这是否意味着我将在我的客户端(iOS 应用程序)中写入域或 ipv6 地址,iOS 会将 ipv6 地址转换为 ipv4 并通过我的套接字编程或 http post 将其传递给服务器?

    合成ipv6地址需要这个函数:getaddrinfo

  4. 示例:我的客户端(ios 应用程序)与不同的服务器通信。

    一个。 Server1 是 iPV4
    b.Server2 是 ipv6

    我应该如何管理这个?

  5. 我是否需要任何其他外部实体(如 DNS/NAT 服务器)来帮助我将 ipv4 转换为 ipv6? 还是iOS9及以上操作系统自己做?

  6. 从 ios9.2 或从 ios9 开始,Ipv6 是强制性的?

  7. 我的应用程序也支持 ios8。 其中没有对 ipv6 服务器的要求。 如何管理 ios8 与 ipv4 通信的代码以及 ios9 中用于 ipv6 的综合代码。

请向我澄清并帮助我了解 ipv6 的确切要求。

我是网络端代码的新手。

【问题讨论】:

    标签: xcode ios9 ipv6 ios9.2


    【解决方案1】:

    您只能使用 域名 连接 IPv4-Only 服务器,而不是 IP 地址。

    或者,当用户处于纯 IPv6 网络时,您可以使用 NAT64 地址(通常以 64:ff9b::/96 为前缀,可以通过查询纯 IPv4 服务器的 AAAA 记录发现)。

    对于大多数开发人员来说,您不需要做任何事情。

    您可以尝试在 macOS 可以创建的 NAT64 网络中调试应用程序。

    注意:如果可以,请使用 AFNetworking Library 3.x 或更高版本。

    【讨论】:

    • 感谢您的回复。我们无法提供域名。我们需要提供 IP 地址。因为我们的产品基于 SIP 和套接字编程。
    • 您应该使用 IPv6 服务器或 64:ff9b::abcd:1234 用于仅 IPv6 网络。 abcd:1234 是十六进制的真实 IPv4。
    • @xamrine 您当然可以在 SIP 协议中使用主机名。你不能再在 iOS 中以这种方式使用 IPv4 地址了。
    • 正确,您可以使用4.3.2.1.mydomain.com 之类的域名作为ip 1.2.3.4 和自定义dns 服务器
    • 我们无法将服务器更改为 iPV6。我们的许多客户在使用 IPV4 时都能正常工作。他们不会仅仅因为苹果问题而更喜欢使用 IPV6。
    【解决方案2】:

    当找不到 IPv6 位置时,DNS64 服务器会请求 IPv4 地址。然后,DNS64 服务器通过为 IPv4 地址添加前缀来集成 IPv6 地址,并将其传回给客户。通过这种方式,客户可以可靠地获得支持 IPv6 的位置。

    【讨论】:

    • 感谢您的回答。但我对网络方面的了解较少。当您说 DNS64 服务器时。当我们使用 ios9 api 或者我们需要不同的外部 DNS 服务器时,这个服务器或这个前缀是由操作系统本身处理的吗?
    • 在域名的帮助下可以连接
    • 感谢您的回复。一旦我获得足够的声誉,我一定会支持您的回答。谢谢
    • 嗨,我最近收到了同样的应用程序拒绝,但我使用 Parse.com 作为我的后端。有谁知道 Parse.com API 是否兼容?我在论坛上找不到任何东西,所以我很困惑 =\ 任何帮助将不胜感激。我在这里附上了截图和更多解释:my IPv6 issue
    • Apple 附带的连接追溯了迁移到 IPv6 支持的必要性,因此我建议您仔细理解它。 Apple 制定了规则来确保您的应用程序是 IPv6 完美的,包括应该使用和不应该使用哪些 API,而不是硬编码 IP 地址等等。他们甚至详细介绍了如何设置基于 Mac 的邻居 IPv6 DNS64/NAT64 系统进行测试。
    猜你喜欢
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    相关资源
    最近更新 更多