Не удалось сгенерировать сборку релиза для iOS-приложения Cordova
Я использую Phonegap CLI 3.1 и XCode5. Я хочу сгенерировать сборку релиза для приложения iPhone через командную строку, у меня есть действующий сертификат распространения и мобильный профиль обеспечения. Я хочу сгенерировать сборку релиза полностью с помощью команды и не хочу использовать графический интерфейс XCode или Phonegap Build. Я слишком много пробовал с командами xcodebuild, xcrun и даже corodva build, но ни одна из них не предоставила мне файл сборки релиза (в формате.app или.ipa).
Способ 1 (использовать xcodebuild)
a) xcodebuild -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE="PROFILE_UUID.mobileprovision" -configuration Release
** СТРОИТЬ НЕ УДАЧИ **
Следующие команды сборки не выполнены:
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7 / AppDelegate.o MyApp / Classes / AppDelegate.m нормальный armv7 target-c com.apple.compilers.llvm.clang.1_0.compiler
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7 / MainViewController.o MyApp / Classes / MainViewController.m normal armv7 target-c com.apple.compilers.llvm.clang.1_0.compiler
CompileC build / MyApp.build / Release-iphoneos / MyApp.build / Objects-normal / armv7s / AppDelegate.o MyApp / Classes / AppDelegate.m обычный armv7s target-c com.apple.compilers.llvm.clang.1_0.compiler
(3 сбоев)
Способ 2 (Используйте corodova build и xcrun для подписи приложения)
a) cordova build ios -release
Компиляция приложения на платформе "ios" с помощью команды "/Users/Macuser/Desktop/MyApp/platform /ios/cordova/build" --release Платформа "ios" успешно скомпилирована.
b) xcrun -sdk iphoneos PackageApplication -v "build/Release-iphoneos/MyApp.app" -o "build/Release-iphoneos/MyApp.ipa" --sign "iPhone Distribution: NAME (ID)" --embed "PROFILE_UUID.mobileprovision"
error: Failed to read entitlements from '/tmp/iyibGn3aUv/Payload/MyApp.app
2 ответа
Проблема в том, что у вас нет правильных схем. Когда генерируется проект phonegap, он не содержит никаких схем, и поэтому ссылки на файлы phonegap некорректны.
Перейдите к сгенерированному проекту phonegap в консоли и введите ' xcodebuild -list ' в выводе, и вы увидите, что в проекте нет схем.
Откройте сгенерированный проектом phonegap в xcode - это сгенерирует схемы.
Теперь вы можете построить это с помощью xcodebuild(не забудьте указать правильное имя схемы):
xcodebuild -scheme YOURSCHEMENAME -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE = "PROFILE_UUID.mobileprovision" - выпуск конфигурации
Для непрерывной интеграции это плохое решение, потому что вам нужно запустить графический интерфейс xcode для генерации схем, но я не нашел другого решения этой проблемы. Если кто-то знает, как создать схему, используя командную строку, было бы неплохо, чтобы он записал ее.
Во-первых, вам нужно создать свое приложение в iTunes Connect (оно находится в центре участников вашей учетной записи разработчика iOS). Если вы уже создали свои профили и сертификаты, вы можете выбрать правильный в iTunes Connect. Здесь вы называете свое приложение, устанавливаете цену, пишете описание, загружаете снимки экрана и большой значок. Обязательно заполните всю информацию и загрузите все изображения для своего приложения. Когда вы закончите, вы узнаете, что статус вашего приложения меняется на "Ожидание загрузки".
После того, как вы успешно создали свое приложение в iTunes Connect, чтобы сгенерировать файл.IPA для распространения (для AppStore или Ad-Hoc) в XCode, вам нужно выбрать свой проект в дереве файлов (вверху дерева)., Затем убедитесь, что ваши "Цели" выбраны справа.
Выберите "Настройки сборки". Затем перейдите в раздел, где написано "Подписывание кода". Для "Релиз" убедитесь, что выбрана правильная идентификация или профиль iPhone Distribution.
Ниже "Release" должно быть написано "Any iOS SDK". Убедитесь, что рядом с ним написано "Распределение IOS".
Если у вас есть правильные сертификаты и профили в связке ключей, теперь вы можете в меню вверху выбрать "Продукт"> "Архив".
Если он не собирается, нажмите кнопку "Выполнить", чтобы создать проект. Xcode должен сказать, что это архивирование.
После успешного архивирования перейдите к Организатору. В меню вверху выберите "Окно"> "Органайзер". Теперь нажмите Архивы.
Если ваш проект успешно заархивирован, вы увидите его здесь. Сначала вам нужно проверить свой проект с помощью iTunes Connect. Вам нужно будет ввести данные для входа на iOS разработчика. Xcode 5 делает довольно хорошую работу по обнаружению правильных профилей, так что вы должны увидеть его там.
Если ваше приложение проверено, то вы можете распространять его либо в App Store, либо как Ad-Hoc. В зависимости от того, какой профиль у вас есть.
Это процесс распространения приложений Native или Phonegap. Неважно, я построил оба.
Я бы предложил сделать это таким образом, если ваше приложение не проверяется. Xcode скажет вам, что вам нужно сделать, чтобы исправить. Затем, как только вы все исправите. Создайте новый архив и попробуйте, пока он не проверит.