Mac OS app, песочница с инструментом командной строки?
Я сделал приложение, которое включает в себя инструмент командной строки. Я включил песочницу приложений и протестировал ее. Я также подписал код как с приложением, так и с инструментом командной строки.
Но когда я загружаю приложение в iTunes, я получил электронное письмо с сообщением о том, что "Песочница приложений не включена".
По-видимому, мне нужно установить файл права ключа com.apple.security.app-sandbox
с true
значением и перечислить исполняемые файлы: /Contents/MacOS/myApp
и /contents/Frameworks/x86/myCommandLineTool
.
Я уверен, что я включил песочницу в Xcode, поэтому я подумал, что проблема связана с инструментом командной строки.
Как включить песочницу для инструмента командной строки? Или есть конкретная папка, которую я должен поместить в инструмент? Любые предложения приветствуются - я был обеспокоен этим в течение нескольких дней.
Ответы
Ответ 1
У меня была такая же проблема, и после некоторого поиска, проб и ошибок, это то, что сработало для меня:
-
создать файл права - для меня это было просто com.apple.security.inherit, установленным в YES. Я создал этот файл в самом коде xcode.
-
Теперь подпишите это средство командной строки с помощью команды:
codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool
-
Чтобы убедиться, проверьте эту команду:
codesign --display --entitlements - ./commandlinetool
-
Этот инструмент уже включен в проект. Так что просто компилируйте, архивируйте и отправляйте
Статус теперь "ждет рассмотрения".