Я разрабатываю своего поставщика хранилища и использую пример кода Apple NewBox (срок действия его ссылки истек) в качестве хост-приложения. В идеале я надеюсь увидеть, что я могу импортировать (копировать) файлы из поставщика хранилища в песочницу моего NewBox или экспортировать / перемещать файл в другие приложения.
В хост-приложении NewBox, когда я хочу импортировать файл, я использую:
UIDocumentMenuViewController *vc = [[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeRTF,(NSString *)kUTTypePNG,(NSString *)kUTTypeText,(NSString *)kUTTypePlainText,(NSString *)kUTTypePDF, (NSString *)kUTTypeImage] inMode:UIDocumentPickerModeImport];
Когда я беру файл, в моем UIDocumentPickerExtensionViewController я вызываю:
- (void)pickDocument:(NSURL *)documentURL {
[self dismissGrantingAccessToURL:documentURL];
}
После вызова rejectGrantingAccessToURL представление средства выбора будет закрыто и возвращено обратно в основное приложение, а также будет вызван didPickDocumentAtURL основного приложения.
Однако «didPickDocumentAtURL» получает URL-адрес исходного файла, который я выбрал, а не новый URL-адрес, который система копирует в песочницу NewBox. Это также знакомо обстоятельствам экспорта и перемещения. Правильно ли я понимаю импорт/экспорт/перемещение? Я думал, что это действие с файлами, такое как копирование в изолированную программную среду хост-приложения, выполняется системой, и хост-приложение получит новый URL-адрес файла для доступа.
Я пробовал на iOS8 beta4, и эта проблема все еще существует.
Спасибо!