我正在嘗試運行命令
ionic cordova platform add ios@6.2.0
一切都更新了,我的版本是:
ionic - 6.17.1
npm - 7.21.1
node - 16.9.1
pod - 1.11.2
我有 2 天前剛剛發布的最新版本的 Xcode (13)。運行該命令時,我得到:
--save flag or autosave detected
Saving ios@~6.2.0 into config.xml file ...
Update IOS build setting SWIFT_OBJC_BRIDGING_HEADER to: "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h" for build configuration Debug
Update IOS build setting SWIFT_OBJC_BRIDGING_HEADER to: "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h" for build configuration Release
Update IOS build setting ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to: YES for build configuration Debug
Use Swift language version 5
Update IOS build setting SWIFT_OPTIMIZATION_LEVEL to: -Onone for build configuration Debug
Update IOS build setting ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to: YES for build configuration Release
Use Swift language version 5
[ERROR] An error occurred while running subprocess cordova.
cordova platform add ios@6.2.0 exited with exit code 1.
在閱讀了我找到的每篇文章后,我將其包含在我的 config.xml 中:
<preference name="UseSwiftLanguageVersion" value="5" />
想我可能有一個不受支持的 Xcode 版本,我將 Xcode 降級到 v12.5.1,在 Xcode -> Preferences -> Locations 上選擇它,然后重新啟動所有終端和行程,重新啟動 Mac,但仍然無法正常作業。
我嘗試使用以下命令更新 CocoaPods:
pod install
pod setup
仍然沒有任何作業,所以我決定運行命令
ionic cordova prepare ios
看看我是否可以繼續但出現此錯誤:
[error] Error: Cannot find module '@ionic/angular-toolkit/package.json'
Require stack:
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/node/node-modules-architect-host.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/node/index.js
- /usr/local/lib/node_modules/@angular/cli/models/architect-command.js
- /usr/local/lib/node_modules/@angular/cli/commands/run-impl.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/tools/export-ref.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/tools/index.js
- /usr/local/lib/node_modules/@angular/cli/utilities/json-schema.js
- /usr/local/lib/node_modules/@angular/cli/models/command-runner.js
- /usr/local/lib/node_modules/@angular/cli/lib/cli/index.js
- /usr/local/lib/node_modules/@angular/cli/lib/init.js
- /usr/local/lib/node_modules/@angular/cli/bin/ng
是的,如果您想知道我每次更新或運行命令時我是否也洗掉了平臺、插件、node_modules 和 www 檔案夾,但任何事情都在發生。
uj5u.com熱心網友回復:
巧合的是,今天我不得不將 Cordova 專案遷移到 iOS 6.2,因為 Apple 通常會在幾個小時前更新并讓所有內容過時(最好的向后兼容性,應該注意)。
我將與您分享與cordova一起使用的簡短命令,而無需深入研究:
0-) sudo npm install cordova-ios@latest
1-) sudo ionic cordova platform remove ios
2-) sudo ionic cordova platform add ios@latest// 不指定版本,最后一個已經假定這個
3-) sudo chmod -R 777 platforms/ios// 通常,我必須在我的計算機上啟用讀寫權限,但我確保完全權限。
4-) sudo ionic cordova build ios
5-) 您在生成的專案中再次打開 XCode,瞧,您可以編譯它。
如果第 1 步失敗,請運行 2 次(出于某種原因,我總是必須運行 2 次才能完成)。
此致。
uj5u.com熱心網友回復:
嗯,最后,經過 15 小時的作業和大量搜索,通過將我的 Node 版本從 16.9.1 降級到 14.17.5 來解決所有問題。
我不知道 Angular jet 不支持這個新的 Node 版本,但我發現,你也可以通過運行命令
ng -v
最后說
Warning: The current version of Node (16.9.1) is not supported by Angular.
要降級您的 Node 版本,您可以按照這篇文章中的說明進行操作:
如何降級 Node 版本
您還可以在此處查看所有可用的 Node 版本:https : //nodejs.org/es/about/releases/
由于 Angular 比 Node 落后一步,我建議下載Active版本而不是當前版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/315658.html
