我的应用程序在iOS11上运行正常,但在iOS12上运行不正常。我将“允许任意负荷”设置为“是”。我已经尝试了ATS中的所有操作,包括允许不安全的连接等,但是没有任何效果。这是问题。
我有一个广播计算机IP地址的桌面程序。在我的应用程序中,我输入该IP并连接到桌面程序。然后,我的应用会拍摄一张照片并将其发送到桌面程序。第一次传输有效,然后下一张照片使桌面程序崩溃,但该应用程序仍在运行。我收到此错误
由于不安全,App Transport Security已阻止了明文HTTP(http://)资源加载。
这是将文件发送到服务器的代码。
- (void)print {
NSString *printip = [NSUserDefaults standardUserDefaults] valueForKey:@"printip"];
NSString * valueToSave1 = [NSString stringWithFormat:@"http://%@:45500", printip];
for (int i = 0; i < self.arrSlidshowImg.count; i++) {
_flippedImage = [UIImage imageWithData:[_arrSlidshowImg objectAtIndex:i]];
};
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if ([valueToSave1 length] > 0) {
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isprintconnected"]) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];
NSURL * url = [NSURL URLWithString:valueToSave1];
NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
NSData *imageData = UIImageJPEGRepresentation(self.snapshotImage, _photoquality);
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:imageData];
NSURLSessionDataTask * dataTask =[defaultSession dataTaskWithRequest:urlRequest
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"Response:%@ %@\n", response, error);
if(error == nil)
{
NSString * text = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"Data = %@",text);
}
else
{
}
}];
[dataTask resume];
});
});
}
}
});
});
}