我的申请被拒绝,并提供以下信息:
发件人Apple
1. 5安全:开发者信息
2. 1性能:APP完整性
安全 - 1.5您应用的元数据http://hxsq.luminginfo.cn/中指定的支持网址未正确导航到预定目的地。
具体而言,您的支持网址显示“无法访问此网站”错误消息。
后续步骤
请修改您应用的支持网址,以确保其将用户引导至包含支持信息的网页。
表现 - 2.1
我们在连接到IPv6网络的Wi-Fi上运行iOS 10.2.1的iPhone和iPad上查看了应用中的一个或多个错误。
具体来说,使用提供的模拟账户登录时,您的应用显示连接错误。
有关详细信息,请参阅随附的屏幕截图。
后续步骤
请在连接到IPv6网络(所有应用必须支持IPv6)的设备上运行您的应用以识别任何问题,然后修改并重新提交您的应用以供审核。
如果我们误解了您应用的预期行为,请在解决方案中心回复此消息,以提供有关这些功能如何运作的信息。
对于新应用,请从设备卸载所有以前版本的应用,然后安装并按照步骤重现该问题。有关更新,请将新版本安装为先前版本的更新,然后按照步骤重现该问题。
资源
有关支持IPv6网络的信息,请参阅支持IPv6 DNS64 / NAT64网络和关于网络。 随着两个跟随图像:
1.首先,我不明白这个问题1.5
。
2.其次,我的申请是使用AFNetworking 3.1.0,以及swift-oc混合项目。
我的网络Util就是这样,其中一个方法就是列表:
#import "Mysevers.h"
#import "AFNetworking.h"
#import "HUD.h"
@implementation Mysevers
+(void)AFPOSTWithHud:(BOOL)hud andAddressname:(NSString*)addressName parmas:(NSDictionary*)parmas RequestSuccess:(void(^)(id result))success failBlcok:(void(^)(void))failBlcok
{
if (hud) {
[HUD addHUD];
}
AFHTTPSessionManager *requestManager = [AFHTTPSessionManager manager];
NSString *urlStr = [NSString stringWithFormat:@"%@%@",BASE_URL,addressName];
NSLog(@"%@",urlStr);
[requestManager POST:urlStr parameters:parmas progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (hud) {
[HUD removeHUD];
}
success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (error != nil) {
NSLog(@"error==%@",[error localizedDescription]);
if (hud) {
[HUD removeHUD];
}
failBlcok();
}
return ;
}];
}
注意
我的BASE_URL
是:
附加-1
我已经测试了我的本地ipv6条件,它可以登录。
DNS是ipv6&#39。
我的应用程序也可以登录,所以我感到不确定,我的应用程序是支持ipv6!但是苹果发给我ipv6问题,唯一值得怀疑的就是我在app中的url(hxsq.luminginfo.cn)无法访问外国,比如美国。
答案 0 :(得分:2)
它表示IPv6不支持您的支持网址。因此,它实际上可能与您的应用内网络代码无关。我只是尝试在浏览器中加载该URL,但也失败了。 您必须拥有有效的支持网址。
如果您确认您的应用内网络存在问题,则应该查看Eskimo
的{{1}},他是Apple的工程师。具体而言,您应该针对IPv6网络进行测试,您可以使用this post进行设置。如果您已完成核对清单并验证IPv6在本地适用,则应回复应用程序审核并要求他们再次尝试。几周前我们遇到了同样的问题。
答案 1 :(得分:0)
安全 - 1.5:在我看来,至少支持网址(http://hxsq.luminginfo.cn/)应该导航用户下载您的应用程序。您的网址只是一个登录页面,他们可能会看到"无法访问此网站"查看应用时出现错误消息。
性能 - 2.1:您应该在仅IPv6版本中测试您的应用。官方网站:https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
您只需阅读部分"定期测试IPv6 DNS64 / NAT64兼容性"。
答案 2 :(得分:0)
之前我也遇到过这个问题,通过我的测试,可能会遇到三个条件: 1.应用程序必须支持https并在Ipv6中运行。 2. BaseUrl不应该是ip url(如“122.223.1.1”),它必须是公共域名。 3.应用程序需要使用合法的https证书。
答案 3 :(得分:0)
最后,我发现我们的网络服务器在美国不可用,但在中国可用,我在网络上测试了ipv6,支持ipv6。
但我将我的服务器页面发送给美国朋友,他们说它在美国不可用,所以我的服务器在美国不可用。
因此,这是来自Apple审核小组的错误信息 他们可以在Ipv6网络中默认验证我们的应用程序,无论服务器网络是否可用。
我的问题是由:
引起的我使用qcloud,(这是腾讯下属云服务器)。 起初我们的后端java同事只设置了第二条记录,指向Inland网络,外部无法访问我们的服务器。然后我添加第一条记录,指向Foreign,所以在美国现在可以访问服务器。
然后我将我的应用程序发送到Itunes Connect进行审核,成功。
答案 4 :(得分:0)
我想我找到了解决方案。主要问题是Cocoapods将Pod项目的“部署目标”设置为“IOS 7.0”。所以这使得“AFNetworkReachabilityManager.m”类使用新的ipv6块的旧“ipv4”代码instad,因为“if语句”属于错误的一面。
“__IPHONE_OS_VERSION_MIN_REQUIRED”语句返回“7000”,因为cocoapods部署目标设置为“7.0”,而不是使用与主项目相同的部署目标。
+ (instancetype)manager
{
NSLog(@"min iphoneos: %i - %i",__IPHONE_OS_VERSION_MIN_REQUIRED,__IPHONE_OS_VERSION_MIN_REQUIRED);
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
struct sockaddr_in6 address;
bzero(&address, sizeof(address));
address.sin6_len = sizeof(address);
address.sin6_family = AF_INET6;
NSLog(@"IPV6 Block");
#else
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
NSLog(@"IPV4 Block");
#endif
return [self managerForAddress:&address];
}