Невозможно создать сборку релизов для приложения 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 скажет вам, что вам нужно сделать, чтобы исправить. Затем, как только вы все исправите. Создайте новый архив и попробуйте, пока он не проверяет.