Как мне разрешить моему приложению командной строки получать доступ к произвольным папкам? - PullRequest
0 голосов
/ 27 декабря 2018

Я строю приложение командной строки в Swift, используя Xcode.Раньше это работало нормально, но после обновления до Mojave он больше не работает на моем MacBook, хотя странно работает на моем iMac, оба работают 10.14.2.

Когда код пытается создать каталог, происходит сбой с:

NSCocoaErrorDomain Code = 513 «У вас нет прав на сохранение файла« output-Bettermagick »в папке« Desktop ».»UserInfo = {NSFilePath = / Users / kartick / Desktop / output-Bettermagick, NSUnderlyingError = 0x101248c90 {Ошибка домена = NSPOSIXErrorDomain Code = 13 «Отказано в доступе»}}

Я попробовал следующее:

  • Добавление Xcode в список полного доступа к диску в Системных настройках
  • Добавление моего двоичного файла в этот список
  • Добавление родительского процесса моего двоичного файла, отладочного сервера.
  • Добавление терминала, хотя я не запускаю приложение из терминала.Я запускаю его из Xcode, нажимая Cmd-R.
  • sudo spctl --master-disable

Мое приложение по-прежнему падает с вышеуказанной ошибкой.Как мне просто сказать macOS, чтобы я не загружал свое приложение в песочницу?Я и разработчик, и владелец этого компьютера, поэтому я должен иметь возможность делать все, что захочу.Это приложение не для внешнего распространения.

Должен ли я перезагрузиться в режиме восстановления и отключить SIP?

Я использую Xcode 10.1 (10B61).


Тамдругие вопросы о переполнении стека для этого, но они упоминают приложения с графическим интерфейсом, а не приложения командной строки.Например, они предлагают добавить строки в Info.plist, но у этого приложения их нет.Так что этот вопрос другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...