[英]Crash when use UIWebview on iPad and iPhone running iOS 10.0 on Wi-Fi connected to an IPv6 network
Iphone应用程序被拒绝的原因是:“在连接到IPv6网络的Wi-Fi上运行iOS 10.0的iPad和iPhone上进行审查时,我们发现了您的应用程序中的一个或多个错误。有人可以帮助解决该问题吗?
第一次加载应用程序时。 它需要将通知推送到服务器:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken{
NSString *token = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"Device token is: %@", token);
NSString *globalToken = [Util objectForKey:@"globalToken"];
if (globalToken) {
if ([token isEqualToString:globalToken]) {
return;
}
}
[Util setObject:token forKey:@"globalToken"];
NSString *urlString = [NSString stringWithFormat:@"http://api.xosovietnam.vn/ApiPushDevices/save?secret=06btF1Q&platform=IOS&token=%@", token ];
NSLog(@"%@", urlString);
NSURLSessionConfiguration *conf = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:conf];
NSURL *URL = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:URL];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
ResponseObject *responseObj = [[ResponseObject alloc] init];
if (!error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
if (httpResponse.statusCode == 200) {
NSLog(@"Success Push Token.");
}
}else{
responseObj.error = error;
dispatch_async(dispatch_get_main_queue(), ^{
if (error.code == -1009 || error.code == -1004 || error.code == -1003 || error.code == -1005) {
NSLog(@"The Internet connection appears to be offline.");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Để sử dụng app cần có mạng internet" delegate:nil cancelButtonTitle:@"Huỷ" otherButtonTitles: nil];
[alert show];
}else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"%@", error.localizedDescription] delegate:nil cancelButtonTitle:@"Huỷ" otherButtonTitles: nil];
[alert show];
}
return ;
});
}
}];
[dataTask resume];
}
之后。 我创建一个UIWebview来加载我的网站:
- (void)viewDidLoad {
[super viewDidLoad];
self.automaticallyAdjustsScrollViewInsets = NO;
if ([self.myWebView respondsToSelector:@selector(setKeyboardDisplayRequiresUserAction:)]) {
self.myWebView.keyboardDisplayRequiresUserAction = NO;
}
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xosovietnam.vn/"]];
[self.myWebView loadRequest:req];
}
有人可以帮我。 这是我第二次提交申请时被拒绝。
从您的代码中有两点要考虑。
1)不推荐使用UIWebView。 WKWebView是Apple推荐的。
2)您正在加载HTTP请求。 如果您使用的是Xcode 8,我认为您可能需要为WKWebView添加一些例外。 “ NSAllowArbitraryLoad”仍然不够。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.