#ios #code-signing #provisioning-profile
Вопрос:
У меня есть несколько вопросов о стратегии подписания кода в соответствии с последовательностью подписания (на которые я не смог найти ответ, выполнив поиск).
То есть,
- Что происходит, когда мы НЕ предоставляем никаких удостоверений подписи кода и профиля в АРХИВЕ, а затем предоставляем их на этапе ЭКСПОРТА? например,
xcodebuild archive
-project <ProjectName>.xcodeproj
-sdk iphoneos
-scheme <SchemeName>
-configuration Release
CODE_SIGN_IDENTITY="" #disable code sign
CODE_SIGNING_REQUIRED=NO #disable code sign
CODE_SIGNING_ALLOWED=NO #disable code sign
Выше приведен код для архива без кодового знака.
И ниже, для экспорта, я предоставляю профиль с использованием exportOptions.plist
.
xcodebuild -exportArchive -archivePath <ProjectName>.xcarchive -exportOptionsPlist <ProjectName>/exportOptions.plist -exportPath <ProjectName>.ipa
Доступно ли это для распространения в магазине приложений, если я использовал профиль с опцией распространения?
- Являются ли эти правильные параметры для предоставления сведений о профиле подготовки при архивировании проекта? (Я искал много примеров, но ответы немного отличаются).
xcodebuild archive
-project <ProjectName>.xcodeproj
-sdk iphoneos
-scheme <SchemeName>
-configuration Release
CODE_SIGN_IDENTITY="****...D21C78"
PROVISIONING_PROFILE="********-****-..."
приведенный выше код продолжает выдавать ошибку : <ProjectName> requires a provisioning profile. Select a provisioning profile in the Signing amp; Capabilities editor
, даже несмотря на то, что я работаю над CLI.
Если есть какое-либо решение для вопросов, пожалуйста, направьте меня. Любой документ / бумага или другие материалы, на которые можно сослаться, тоже хороши.
Ответ №1:
(Сам отвечаю на мой вопрос)
Итак, по первому вопросу я провел ряд экспериментов и выяснил, что архив с пустой подписью можно экспортировать, но его нельзя развернуть на устройстве.
Чтобы правильно развернуть ipa(экспортированный) файл, архивированный файл должен быть подписан с помощью команды codesign.
И для этого они должны содержать права и идентификатор кодового дизайна.
codesign -s {IDENTITY} --entitlements {PATH_TO_ENTITLEMENTS_FILE} ... {PROJECT_PATH}/~~~/{NAME}.app
Что касается второго вопроса, я не смог найти ответа, но альтернативой может быть использование такой стратегии, как пустая подпись-архив- > дизайн кода — > > экспорт.