Ios 为什么苹果给我发信息说我的应用不支持Ipv6?

Ios 为什么苹果给我发信息说我的应用不支持Ipv6?,ios,app-store,afnetworking,ipv6,Ios,App Store,Afnetworking,Ipv6,我的申请被拒绝,并提供以下信息: 发件人 苹果 1.5安全:开发者信息 2.1性能:应用程序完整性 安全-1.5 应用程序元数据中指定的支持URL无法正确导航到目标 特别是,您的支持URL显示“无法访问此站点”错误消息 下一步 请修改应用程序的支持URL,以确保它将用户导向包含支持信息的网页 性能-2.1 在连接到IPv6网络的Wi-Fi上运行iOS 10.2.1的iPhone和iPad上查看时,我们发现您的应用程序中存在一个或多个漏洞 具体来说,您的应用程序在使用提供的演示帐户登录时显示连接错

我的申请被拒绝,并提供以下信息:

发件人 苹果
1.5安全:开发者信息
2.1性能:应用程序完整性
安全-1.5

应用程序元数据中指定的支持URL无法正确导航到目标

特别是,您的支持URL显示“无法访问此站点”错误消息

下一步

请修改应用程序的支持URL,以确保它将用户导向包含支持信息的网页

性能-2.1

在连接到IPv6网络的Wi-Fi上运行iOS 10.2.1的iPhone和iPad上查看时,我们发现您的应用程序中存在一个或多个漏洞

具体来说,您的应用程序在使用提供的演示帐户登录时显示连接错误

有关详细信息,请参阅随附的屏幕截图

下一步

请在连接到IPv6网络的设备上运行应用程序(所有应用程序都必须支持IPv6),以确定任何问题,然后修订并重新提交应用程序以供审阅

如果我们误解了您的应用程序的预期行为,请在Resolution Center中回复此消息,以提供有关这些功能的预期工作方式的信息

对于新应用程序,请从设备上卸载应用程序的所有以前版本,然后安装并按照步骤重现问题。对于更新,请安装新版本作为对以前版本的更新,然后按照步骤重现问题

资源

有关支持IPv6网络的信息,请参阅支持IPv6 DNS64/NAT64网络和关于网络。 以下两幅图片:

1.首先,我不理解问题
1.5

2.其次,我的应用程序是使用AFNetworking 3.1.0,并在一个swift oc混合项目中

我的网络Util是这样的,方法之一是list:

#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 ;
    }];

}

注意

我的
基本URL
是:

#定义基本URL@“” 附加-1

我已经测试了我的本地ipv6条件,它可以登录

DNS是ipv6的

而且我的应用程序也可以登录,所以我觉得不确定,我的应用程序支持ipv6!但apple send me ipv6问题,唯一的疑点是我的应用程序中的url()无法在国外访问,如美国。

它说ipv6不支持您的支持url。因此,它实际上可能与您的应用程序内网络代码无关。我刚刚尝试在浏览器中加载该URL,但也失败了。你必须有一个有效的支持URL

如果你确认这是你的应用程序内网络的问题,你应该通过苹果的工程师爱斯基摩人检查。具体来说,您应该针对IPv6网络进行测试,您可以使用该网络进行设置。如果您已经查看了检查表并确认IPv6在本地对您有效,您应该回复应用程序审查,并要求他们再试一次。几周前,我们遇到了同样的问题。

它说IPv6不支持您的支持URL。因此,它实际上可能与您的应用程序内网络代码无关。我刚刚尝试在浏览器中加载该URL,但也失败了。你必须有一个有效的支持URL


如果你确认这是你的应用程序内网络的问题,你应该通过苹果的工程师爱斯基摩人检查。具体来说,您应该针对IPv6网络进行测试,您可以使用该网络进行设置。如果您已经查看了检查表并确认IPv6在本地对您有效,您应该回复应用程序审查,并要求他们再试一次。几周前我们遇到了同样的问题。

安全-1.5:在我看来,至少支持URL()应该引导用户下载您的应用程序。您的URL只是一个登录页面,他们在查看您的应用程序时可能会看到“无法访问此网站”错误消息

性能-2.1:您应该仅在IPv6中测试应用程序。官方网站:


您可以阅读“定期测试IPv6 DNS64/NAT64兼容性”部分。

安全-1.5:我认为,至少支持URL()应该引导用户下载您的应用程序。您的URL只是一个登录页面,他们在查看您的应用程序时可能会看到“无法访问此网站”错误消息

性能-2.1:您应该仅在IPv6中测试应用程序。官方网站:


您可以阅读“定期测试IPv6 DNS64/NAT64兼容性”部分。

我以前也遇到过这个问题,通过测试,可能会满足三个条件: 1.应用程序必须支持https并在Ipv6中运行。 2.BaseUrl不应该是ip url(如“122.223.1.1”),它必须是公共域名。
3.应用程序需要使用合法的https证书

我以前也有过这个问题,通过测试,可能满足三个条件: 1.应用程序必须支持https并在Ipv6中运行。 2.BaseUrl不应该是ip url(如“122.223.1.1”),它必须是公共域名。
3.应用程序需要使用合法的https证书

最后,我发现我们的web服务器在美国不可用,但在中国可用,我在我的网络中测试了ipv6,它支持ipv6

但我把我的服务器页面发送给美国朋友,他们说它在美国不可用,所以我的服务器在美国不可用

因此,这是来自苹果审计团队的错误信息。
他们可能会默认在Ipv6网络中验证我们的应用程序,而不管服务器网络是否可用


我的问题是由以下原因引起的:

我用的是qcloud(腾讯下属的云服务器)。 首先,我们的后端java同事只设置了第二条记录,指向内陆网络,外国人无法访问我们的服务器。然后,我添加了第一条记录,指向外国人,所以在美国现在可以访问服务器

然后我将我的应用程序发送到Itunes Connect进行审查,它成功了。

最后,我
+ (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];
}