У меня есть приложение UIDocument, которое я использую для чтения с устройства или iCloud. Если я прочитаю из iCloud, внесу изменения в документ и попытаюсь восстановить его, тогда файл будет сохранен на устройстве, а не в местоположении iCloud, как требуется.
Кажется очевидным, что мне нужно записать, что документ пришел из iCloud и использовать его для сохранения обратно в iCloud. Я удивлен, что не нашел много обсуждений по этому поводу и думаю, что что-то упустил.
Похоже, я могу использовать свойство document.presentedItemURL
для определения местоположения.
Для файла устройства это возвращает что-то вроде:
file: /// private / var / mobile / Containers / Data / Application / C7BDC98D-A488-417D-A181-E49E2FEDFED /Documents/DocName.DocType
Для файла iCloud это возвращает что-то вроде:
file: /// private / var / mobile / Library / Mobile% 20Documents / com ~ apple ~ CloudDocs / FolderName / DocName.DocType
Очевидно, я могу разобрать нужную мне информацию, но, похоже, это неаккуратный подход и заставляет меня поверить, что я что-то упустил.
Должен ли я сделать это другим способом?