Невозможно создать сборку релизов для приложения Cordova iOS

Я использую 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

** BUILD FAILED **
Не удалось выполнить следующие команды сборки:

CompileC build/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/AppDelegate.o MyApp/Classes/AppDelegate.m normal armv7 objective-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 objective-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 normal armv7s objective-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

Ответ 1

Проблема в том, что у вас нет правильных схем. Когда проект phonegap сгенерирован, он не содержит никаких схем, поэтому ссылка на файлы телефонной заставки неверна.

Перейдите в проект, созданный с помощью телефонной книги, в консоли и поместите ' xcodebuild -list в результате вы получите, что в проекте нет схем.

Открыть сгенерированный проектом phonegap в xcode - это приведет к созданию схем.

Теперь вы можете построить это с помощью xcodebuild (не забудьте указать правильное название схемы):

xcodebuild -схема YOURSCHEMENAME -project MyApp.xcodeproj -alltargets -sdk iphoneos7.0 PROVISIONING_PROFILE = "PROFILE_UUID.mobileprovision" -конфигурация Release

Для непрерывной интеграции это плохое решение, потому что вы должны запустить графический интерфейс xcode для генерации схем, но я не нашел другого решения для этой проблемы. Если кто-то знает, как сгенерировать схему с помощью командной строки, было бы неплохо записать ее.

Ответ 2

Сначала вам нужно создать свое приложение в iTunes Connect (это входит в центр участника вашей учетной записи разработчика iOS). Если вы уже создали свои профили и сертификаты, вы можете выбрать правильный вариант в iTunes Connect. Здесь вы называете свое приложение, задаете цену, записываете описание и загружаете снимки экрана и большой значок. Обязательно заполните всю информацию и загрузите все изображения для своего приложения. Вы узнаете, когда измените статус вашего приложения на "Ожидание загрузки".

После успешного создания приложения в iTunes Connect для создания файла .IPA для распространения (для AppStore или Ad-Hoc) в Xcode вам нужно выбрать свой проект в дереве файлов (вверху дерево). Затем убедитесь, что ваши "Цели" выбраны вправо.

Выберите "Настройки сборки", затем перейдите в раздел "Подписание кода". Для "Release" убедитесь, что выбрано правильное идентификатор или профиль распространения iPhone.

Ниже "Release" он должен сказать "Any IOS SDK". Убедитесь, что рядом с ним указано "Распределение IOS".

Если у вас есть правильные сертификаты и профили в цепочке ключей, вы можете теперь в меню в верхней части выбрать "Продукт" > "Архив".

Если он не создается, нажмите кнопку запуска, чтобы создать проект. Xcode должен сказать, что он архивирует.

После успешного архивирования зайдите в Организатор. В меню в верхней части выберите "Окно" > "Органайзер". Теперь щелкните Архивы.

Если ваш проект успешно архивирован, вы увидите его здесь. Сначала вам нужно проверить свой проект с помощью iTunes Connect. Вам нужно будет ввести информацию для входа в iOS Developer. Xcode 5 отлично справляется с поиском правильных профилей, поэтому вы должны увидеть его там.

Если ваше приложение проверяется, тогда вы можете распространять его либо в App Store, либо в виде Ad-Hoc. В зависимости от того, какой у вас профиль.

Это процесс для распространения приложений как Native, так и Phonegap. Это неважно, я построил оба.

Я предлагаю сделать это так, если ваше приложение не проверяет. Затем Xcode скажет вам, что вам нужно сделать, чтобы исправить. Затем, как только вы все исправите. Создайте новый архив и попробуйте, пока он не проверяет.