Невозможно создать фоновый сеанс без блокировки на расширениях действий iOS

Paolo Pascua спросил: 14 ноября 2017 в 06:42 в: session

У меня проблемы с инициализацией фоновых сеансов NSURLS без блокирования процесса и, в конечном итоге, выдачей журналов ошибок на консоль. Мой код выглядит следующим образом

NSURLSessionConfiguration * configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"Something.something"];
configuration.sharedContainerIdentifier = @"group.Something.something.else"self.operationQueue = [[NSOperationQueue alloc] init];
self.operationQueue.maxConcurrentOperationCount = 1;self.session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:self.operationQueue];

После инициализации он блокирует процесс, а через 30 секунд выдает эти журналы ошибок

2017-12-08 15:14:29.778309-0500 LibraryManagerTestExtension[1828:1032535] failed to open connection to AppleKeyStore
2017-12-08 15:14:29.778489-0500 LibraryManagerTestExtension[1828:1032535] Unexpected AppleKeyStore error: -536870212
2017-12-08 15:14:29.778844-0500 LibraryManagerTestExtension[1828:1032535] MKBDeviceUnlockedSinceBoot: MKBDeviceUnlockedSinceBoot fails with error(-1) for handle(0) with AKS error(-536870212)
2017-12-08 15:14:29.778915-0500 LibraryManagerTestExtension[1828:1032535] Attempting to create a background session before first device unlock!
2017-12-08 15:14:29.782429-0500 LibraryManagerTestExtension[1828:1032603] An error occurred on the xpc connection: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.nsurlsessiond was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.nsurlsessiond was invalidated.}

Вот мои настройки Info.plist

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>RequestOpenAccess</key>
        <true/>
        <key>NSExtensionActivationRule</key>
        <dict>
            <key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
            <string>5</string>
        </dict>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.app.non-ui-extension</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).LibraryManagerTestExtension</string>
</dict>

Есть идеи, как этого не сделать?


0 ответов