Запретить сохранение NSDocument во временном словаре - PullRequest
1 голос
/ 14 мая 2019

У меня есть приложение с подклассом NSDocument, у которого есть переопределенный метод writeToURL:(NSURL *) ofType:(NSString *) error:(NSError **), который сохраняет данные в заданном NSURL месте, но также может сохранить дополнительный файл (с добавлением .my2ext) с отладочной информацией.Ранее это работало хорошо (я создал приложение несколько лет назад), но теперь я вижу, что вместо выбранного пользователем местоположения метод получает временный каталог:

file: /// var / folder / yv/gwf3_hjs0ps7sb3psh3d0w3m0000gn/T/TeoraryItems/(A%20Document%20Being%20Saved%20By%20MyApp%202)/myfilename.myext

Затем, как я понимаю, в основном файле, я понимаю,url), но дополнительный файл теряется.Итак, могу ли я как-то получить выбранный пользователем путь для сохранения непосредственно в него?Или вообще запретить использование временных каталогов?

Я уже выключил режим SandBox, но это не помогло.Я также знаю, что могу использовать «File Package» подход, но мое приложение создано только для нескольких человек, поэтому не интересует хороший подход к производству, только простота.

1 Ответ

1 голос
/ 14 мая 2019

Я пытался найти любое возможное решение, но не нашел ничего полезного или связанного с этим.Даже в документации ничего не говорится об использовании временных каталогов!Итак, я решил переопределить различные методы NSDocument.После нескольких экспериментов я почти потерял надежду, но потом обнаружил, что метод saveToURL: ofType: forSaveOperation: делегат: didSaveSelector: contextInfo: предоставляет реальное, выбранное пользователем местоположение.И это наконец решило проблему.

...