Подтвердить что ты не робот

Mac OS app, песочница с инструментом командной строки?

Я сделал приложение, которое включает в себя инструмент командной строки. Я включил песочницу приложений и протестировал ее. Я также подписал код как с приложением, так и с инструментом командной строки.

Но когда я загружаю приложение в iTunes, я получил электронное письмо с сообщением о том, что "Песочница приложений не включена".

По-видимому, мне нужно установить файл права ключа com.apple.security.app-sandbox с true значением и перечислить исполняемые файлы: /Contents/MacOS/myApp и /contents/Frameworks/x86/myCommandLineTool.

Я уверен, что я включил песочницу в Xcode, поэтому я подумал, что проблема связана с инструментом командной строки.

Как включить песочницу для инструмента командной строки? Или есть конкретная папка, которую я должен поместить в инструмент? Любые предложения приветствуются - я был обеспокоен этим в течение нескольких дней.

4b9b3361

Ответ 1

У меня была такая же проблема, и после некоторого поиска, проб и ошибок, это то, что сработало для меня:

  • создать файл права - для меня это было просто com.apple.security.inherit, установленным в YES. Я создал этот файл в самом коде xcode.

  • Теперь подпишите это средство командной строки с помощью команды:

    codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool   
    
  • Чтобы убедиться, проверьте эту команду:

    codesign --display --entitlements - ./commandlinetool   
    
  • Этот инструмент уже включен в проект. Так что просто компилируйте, архивируйте и отправляйте

Статус теперь "ждет рассмотрения".