ATS允许任意负荷问题

时间:2018-10-01 12:26:18

标签: xcode nsurlconnection

我的应用程序在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];
                    });

                });


            }




        }

    });

});
}

0 个答案:

没有答案