热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AppStore1.0.24版本被拒原因分析

苹果的规定:2016年6月1日提交到AppStore必须支持IPv6-only网络。官方文档:https:developer.apple.comlibrarymacdocumentati

苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络。

 官方文档:https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1



解决方法:

升级AFNetworking2.X到最新版本 AFNetworking3.0

1、将  AFHTTPRequestOperationManager 替换为:  AFHTTPSessionManager

2、将  AFHTTPRequestOperation  替换为:NSURLSessionTask

3、如果通过IP访问,或者允许https证书之外的域名访问,需要设置 validatesDomainName 为false。


测试方法:

用连接网线的Mac在共享中发送热点,长按option键创建ipv6 的 wifi 。

其他据说可行的方法:一、回邮件AppStore审核申诉;二、域名改成IP;







#import


typedef void (^requestBlock)(id message);

@interface HTTPRequestTool : NSObject


/**

 *  封装AFNetworking工具方法

 */

+(void)sendGetAFRequest:(NSString *)url withParameters:(NSDictionary *)parDic withSuccess:(requestBlock)successMessage andWithFail:(requestBlock)failMessage;


+(void)sendPostAFRequest:(NSString *)url withParameters:(NSDictionary *)parDic withSuccess:(requestBlock)successMessage andWithFail:(requestBlock)failMessage;


@end




#import "HTTPRequestTool.h"


@implementation HTTPRequestTool


+(void)sendGetAFRequest:(NSString *)url withParameters:(NSDictionary *)parDic withSuccess:(requestBlock)successMessage andWithFail:(requestBlock)failMessage

{

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];

    //设置AF框架响应的返回数据为2进制

    manager.requestSerializer = [AFJSONRequestSerializerserializer];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    [manager GET:urlparameters:parDic success:^(AFHTTPRequestOperation *operation,id responseObject)

     {

         //调用成功的block回调

         if (successMessage)

         {

             successMessage(responseObject);

         }

     } failure:^(AFHTTPRequestOperation *operation,NSError *error) {

         //调用失败的block回调

         if (failMessage)

         {

             failMessage(error);

         }

     }];

}


+ (void)sendPostAFRequest:(NSString *)url withParameters:(NSDictionary *)parDic withSuccess:(requestBlock)successMessage andWithFail:(requestBlock)failMessage {

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];

    //设置AF框架响应的返回数据为2进制

    manager.requestSerializer = [AFJSONRequestSerializerserializer];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    [manager POST:urlparameters:parDic success:^(AFHTTPRequestOperation *operation,id responseObject) {

        if (successMessage) {

            successMessage(responseObject);

        }

    } failure:^(AFHTTPRequestOperation *operation,NSError *error) {

        if (failMessage) {

            failMessage(error);

        }

    }];

}


@end














//////////////////////////////////////////////////////////////////////        附上AppStore审核回复的邮件        //////////////////////////////////////////////////////////////////////////




2. - 1 PERFORMANCE: APP COMPLETENESSPerformance - 2.1

We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.3.3 on Wi-Fi connected to an IPv6 network.

We were unable to log in. The app stayed on the same page after loading. We've attached screenshot(s) for your reference.
Next Steps
Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the issue(s), then revise and resubmit your app for review.
If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.
For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue(s). For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue(s).
Resources
For information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and About Networking
If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.
If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:- complete details of your rejection issue(s)- screenshots- steps to reproduce the issue(s)- symbolicated crash logs - if your issue results in a crash log


推荐阅读
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 修复安装win10失败并提示“磁盘布局不受UEFI固件支持”的方法
    本文介绍了修复安装win10失败并提示“磁盘布局不受UEFI固件支持”的方法。首先解释了UEFI的概念和作用,然后提供了两种解决方法。第一种方法是在bios界面中将Boot Mode设置为Legacy Support,Boot Priority设置为Legacy First,并关闭UEFI。第二种方法是使用U盘启动盘进入PE系统,运行磁盘分区工具DiskGenius,将硬盘的分区表设置为gpt格式,并留出288MB的内存。最后,通过运行界面输入命令cmd来完成设置。 ... [详细]
  • 交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
author-avatar
铁狼爷们儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有