【问题标题】:Apple reject app because of Ipv6 In AfNetwoking 3.1由于 AfNetworking 3.1 中的 Ipv6,Apple 拒绝了应用程序
【发布时间】:2016-08-19 04:49:23
【问题描述】:

Apple 因为 IPv6 拒绝了我的应用程序。我正在使用 Afnetworking 3.1 在 Objective C 中开发应用程序。我在 Github 中读到 AFnetworking 3.1 支持 ipv6,但苹果不批准该应用程序。

我正在使用 AFNetworking 的 post 方法。我正在使用以下代码调用 API。

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager POST:API_URL parameters:dictRequest
         progress:^(NSProgress * _Nonnull uploadProgress) {

         }
          success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
//              NSLog(@"success : %@",responseObject);

              if([[responseObject objectForKey:KEY_status_code] integerValue] == 1){
                  [SVProgressHUD showSuccessWithStatus:[responseObject objectForKey:KEY_msg]];
              }
              else{
                  [SVProgressHUD showErrorWithStatus:[responseObject objectForKey:KEY_msg]];
              }
          }
          failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
              NSLog(@"error: %@", error);
              [SVProgressHUD showErrorWithStatus:nil];
          }];

【问题讨论】:

  • 把你的查询提交给苹果,苹果一定会接受的
  • @Anbu.Karthik 我已经尝试过了。
  • 您有一个与此相关的文档
  • 如果是,则将快速应用审核添加到苹果

标签: ios objective-c iphone ipv6 afnetworking-3


【解决方案1】:
  • 您的 API_URL 是域或 IPv4 地址文字!如果是 IPv4 地址文字,则该请求无法在 NAT64 网络中运行,因此您的应用将被拒绝!请确保 API_URL 是 DOMAIN 样式。

【讨论】:

  • 不,IPv4 地址“工作正常”。域工作正常。 IPv4 地址在纯 IPv6 网络上完全失败。 iOS 使用其 DNS 解析器在 IPv6 网络上模拟 IPv4(这是 IMO 分层违规设计错误,但这是另一天的另一个咆哮)。如果域名解析为 IPv4 地址,则解析器会构造 IPv4-over-IPv6 隧道地址,并将合成的 IPv6 地址提供给应用程序。使用硬编码的 IPv4 地址,没有名称解析,这意味着该过程不起作用,至少根据 Apple 关于该主题的官方文档。
  • @user102008 我认为您缺少有关 iOS 9 中 IPv6 的知识!首先确保您阅读了以下链接中的 Apple 文档。谢谢! developer.apple.com/news/?id=08282015a
  • @TuanAnh:不,你是缺少知识的人。您应该再次阅读文档。
  • @dgatwood:当您承认解析器确实将 IPv4 地址解析为 IPv6 地址时,您自相矛盾。 IPv4 地址不是“不工作”——它们绝对工作,你只需要使用解析器来解析它们。操作系统提供了解决这些问题的 API,如 Apple 文档中所述。如果您使用更高级别的 API(如问题所示),您甚至不需要手动解析 IPv4 地址——它会为您透明地处理。所以这个答案对于这个问题是绝对错误的。
  • 我不知道是我最初读错了还是他们更新了它,但果然,NSURLSession 等人自动为 IP 地址合成它,所以基本上没有任何现代代码应该除非您使用 POSIX 调用,否则会遇到问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 2016-11-16
  • 2017-04-04
  • 1970-01-01
  • 2017-12-01
相关资源
最近更新 更多