Я создал расширение для предварительного просмотра iOS, которое вызывается iOS всякий раз, когда пользователь выполняет поиск Spotlight и просматривает результаты из моего приложения.Предварительный просмотр загружается нормально, но когда я пытаюсь получить доступ к облачному файлу из расширения, происходит сбой с ошибкой DNS, говоря: Operation not permitted
.
Я обнаружил, что на MacOS мне нужно отключить песочницу или, если используетсяпесочница, дай разрешение на доступ к сети, но это iOS.Здесь нет таких настроек.Как я могу заставить его работать?
Вот мой код для расширения
#import "PreviewViewController.h"
#import <QuickLook/QuickLook.h>
@interface PreviewViewController () <QLPreviewingController>
@end
@implementation PreviewViewController
- (void)preparePreviewOfSearchableItemWithIdentifier:(NSString *)identifier queryString:(NSString * _Nullable)queryString completionHandler:(void (^)(NSError * _Nullable))handler {
NSURL *url = [NSURL URLWithString:@"https://myclouddomain.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"GET";
// [request setValue:headerFields[key] forHTTPHeaderField:key];
// request.HTTPBody = (NSData *)bodyData;
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
NSURLSession *urlSession = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
NSURLSessionDataTask *task = [urlSession dataTaskWithRequest:request completionHandler:^(NSData* data, NSURLResponse* response, NSError* error) {
if (error == nil) {
NSInteger responseCode = [(NSHTTPURLResponse*)response statusCode];
NSLog(@"OK (%d)", (int)responseCode);
} else {
NSLog(@"Failed");
}
handler (nil);
}];
[task resume];
}
Вот вывод журнала
2019-04-03 10: 42: 20.809768 + 0200 QuickLookPreview [7655: 3650321] dnssd_clientstub ConnectToServer: connect () -> Количество попыток: 1
2019-04-03 10:42: 21.815704 + 0200 QuickLookPreview [7655: 3650321] dnssd_clientstub ConnectToServer: connect () -> Число попыток: 2
2019-04-03 10: 42: 22.821499 + 0200 QuickLookPreview [7655: 3650321] dnssdToliconnect () -> Количество попыток: 3
2019-04-03 10: 42: 23.827993 + 0200 QuickLookPreview [7655: 3650321] dnssd_clientstub ConnectToServer: сбой пути connect (): / var / run / mDNSResponder Socket: 4 Ошибка: -1 Ошибка: 1 Операция не разрешена
2019-04-03 10: 42: 23.828797 + 0200 QuickLookPreview [7655: 3650321] [] nw_resolver_create_dns_service_locked [C1] DNSServiceCreateDelegateConnection сбой (ServiceNot55)
2019-04-03 10: 42: 23.831035 + 0200 QuickLookПредварительный просмотр [7655: 3650321] TIC TCP Conn Failed [1: 0x283aea040]: 10: -72000 Err (-65563)
2019-04-03 10: 42: 23.833948 + 0200 QuickLookPreview [7655: 3650323] Задача. <1> Ошибка загрузки HTTP (код ошибки: -1003 [10: -72000])
2019-04-03 10: 42: 23.834811 + 0200 QuickLookPreview [7655: 3650323] Задача. <1> выполненас ошибкой - код: -1003
Ошибка