Проблема с доступом к сети из расширения Quick Look Preview - PullRequest
0 голосов
/ 03 апреля 2019

Я создал расширение для предварительного просмотра 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

Ошибка

...