Предположим, что мой клиент не хочет, чтобы я владел его iPhone Distribution Certificate, есть ли способ, которым я могу отправить ему скомпилированное приложение и позволить ему скорректировать весь идентификатор Приложения, Настроив и т.д. параметры, затем подписать и отправить его? Как я делаю это?
Посмотрите на шаг CodeSign в окне результатов сборки XCode (нажмите на значок раскрытия "строк текста" справа, чтобы увидеть фактические команды, которые использует XCode).
Вы увидите, что шаг CodeSign использует инструмент командной строки (/usr/bin/codesign) примерно так:
/usr/bin/codesign -f -s "iPhone Distribution: My Company"
--resource-rules=/Users/username/source/myApp/build/Distribution-iphoneos/myApp.app/ResourceRules.plist
--entitlements /Users/username/source/myApp/build/myApp.build/Distribution-iphoneos/myApp.build/myApp.xcent
/Users/username/source/myApp/build/Distribution-iphoneos/myApp.app
Он подписывает скомпилированное приложение в каталоге "build", используя идентификатор подписи, указанный опцией "-s" в командной строке. Таким образом, нет причин, по которым вы не могли бы переместить каталог "build" на другую машину и подписать его нужным ключом, используя codesign
из командной строки.
С тех пор документированный единственный способ сертифицировать двоичный файл - это его создание с помощью Dist. Сертификат добавлен к машине, на которой компилируется исходный код.
Вы можете экспортировать сертификат как файл .p12 и повторно импортировать его на другой компьютер, обе процедуры должны выполняться с помощью утилиты Keychain Access .
Вы можете попробовать делать то, что хотите, с терминальными вызовами, но я сомневаюсь, что вы сможете подписать приложение для iPhone, которое было скомпилировано.