Обновление до Cordova 4.0.0 приводит к сбою сборки iOS с кодом 65
Чтобы вообще обновить установку Codova, я сделал это:
- Обновлен NPM / node.js до последней версии
Модернизированная Кордова
sudo npm update -g cordova
Модернизированный iOS и Android
Обновление платформы Cordova IOS Обновление платформы Cordova Android
Затем я начал новую сборку
кордовая сборка
К сожалению, ни одна сборка iOS не дает сбоя:
Следующие команды сборки не выполнены:
CompileC build/XXX.build/Debug-iphonesimulator/XXX.build/Objects-normal/i386/
MainViewController.o XXX/Classes/MainViewController.m normal
i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error: /Users/sp21/Documents/projects/workshop/platforms/ios/cordova/build: Command failed with exit code 65
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:756:16)
at Process.ChildProcess._handle.onexit (child_process.js:823:5)
Я, вероятно, должен удалить и восстановить весь проект.
Но прежде чем я это сделаю, я бы заинтересовался лучшим обходным путем.
Обновление 2014-10-28
Теперь я получаю has been modified since the precompiled header
сообщение:
fatal error: file '/Users/USER/Documents/projects/workshop/platforms/
...ios/PROJECT/PROJECT-Prefix.pch' has been modified since the precompiled header
'/var/folders/pq/vqgwwh5h8xl0qx008k8xrc100000gp/C/com.apple.DeveloperTools/
...6.1-6A1052d/Xcode/SharedPrecompiledHeaders/PROJECT-Prefix-
...cdipadqrfuqsrbermtsnitfghaea/PROJECT-Prefix.pch.pch' was built
note: please rebuild precompiled header
'/var/folders/pq/vqgwwh5h8xl0qx008k8xrc100000gp/C/com.apple.DeveloperTools/
...6.1-6A1052d/Xcode/SharedPrecompiledHeaders/
...PROJECT-Prefix-cdipadqrfuqsrbermtsnitfghaea/PROJECT-Prefix.pch.pch'
3 ответа
Я установил новый проект Cordova, чтобы выяснить, что вызвало ошибку cordova "BUILD FAILED" на cordova-ios v 4.0.0.
Оказывается, когда я добавляю плагин Cordova Camera в iOS@4.
cordova plugin rm cordova-plugin-camera
cordova build ios
Также не забудьте отключить его в "config.xml", иначе он будет автоматически переустановлен:
<!-- <plugin name="cordova-plugin-camera" spec="~1.2.0" /> -->
По моему опыту, нет необходимости повторно добавлять платформу для iOS или восстанавливать весь проект.
Вы также можете просто заменить содержимое /platforms/ios/(PROJECT NAME)/Classes
папка с содержимым недавно добавленной платформы / проекта Cordova 4.0.0 для iOS.
В целях безопасности я переименовал соответствующую папку платформы Cordova:
<CordovaProject>/platforms/ios
в
<CordovaProject>/platforms/ios_pre_4-0-0
Затем явосстановил платформу iOS:
cordova platform add ios
Теперь проект снова хорошо компилируется.