如何仅使用 iOS 源代码更新 Cordova iOS 平台项目
Posted
技术标签:
【中文标题】如何仅使用 iOS 源代码更新 Cordova iOS 平台项目【英文标题】:How to update a Cordova iOS platform project with only iOS source code 【发布时间】:2017-09-14 17:51:39 【问题描述】:我有一份将 Cordova ios 项目改造成最新版本的工作。然而,我收到的唯一源代码是 iOS 平台。文件夹的结构是这样的
-ios (root folder)
--cordova (folder)
--CordovaLib (folder)
--icon
--icon@2x.png
--AppName (folder)
--AppName.xcodeproj
--RandomSDK (folder)
--Versioning.txt
--www(folder)
所以你可以想象,它一定只是一个完整的 Cordova 项目中 platform 文件夹下的一个子文件夹。路径 .\CodovaLib\VERSION 下的文件所指示的这个 iOS 项目的 Cordova 版本是 2.7.0
我的问题是,是否有任何“肮脏”或“干净”的方式可以将其构建到最新的 Cordova 平台以及最新的 iOS 版本?我什至不必恢复原来的 Cordova 项目。这里唯一需要关心的是iOS项目。
我读过一些类似Upgrade Cordova Version of an iOS app 的帖子(我称之为“肮脏”的方式)。我只是想做这样的事情,在 iOS 平台上只有 www 文件夹、插件文件夹和配置文件,但那篇文章只告诉了如何使用原始的 Cordova 项目来做到这一点。
对于“干净”的方式,我的意思是这样做:https://cordova.apache.org/docs/en/latest/guide/platforms/ios/upgrade.html。
【问题讨论】:
【参考方案1】:好的,经过一番努力,我终于使它工作并编译了。以下是我在高层次上执行的步骤。
首先,我创建了一个全新的 Helloworld 模板 Cordova 项目,并将项目名称和捆绑标识命名为与旧项目完全相同。其次,我将 www 文件夹从旧的 iOS 项目复制到新的 Cordova 项目。 (是的,iOS平台和Cordova中的www文件夹都是一样的),然后根据自己的需要,手动将content src等设置改成自己想要的。第三步我搭建了iOS平台,然后把旧iOS项目中缺少的所有文件都复制过来,用旧的xcode项目覆盖新的,手动修改所有配置文件,使其包含最新的 Cordova 和旧的 iOS 项目。最后我从 xcode 项目中排除所有旧插件,并从项目中删除任何旧插件,然后通过最新的 Cordova 重新安装它们。并且奇迹般地起作用了!
总的来说,我所做的与this post所做的差不多,除了首先你需要手动设置所有配置,其次在你建立iOS平台之后你仍然需要复制所有内容并再次配置它们,因为这里的 Cordova 项目只不过是一个带有您需要的 html、js 和 css 文件的 Helloworld 模板。
实际上,这是我第一次在工作中维护 Cordova 项目。我认为这个想法非常简洁,但由于硬件支持因设备而异,因此很难使其工作,这很不幸。希望以后人们可以使用分离 UI 和移动应用程序核心的设计模式,这样至少像 Cordova 这样的东西可以一起完成 UI 工作。
【讨论】:
以上是关于如何仅使用 iOS 源代码更新 Cordova iOS 平台项目的主要内容,如果未能解决你的问题,请参考以下文章
Cordova: 仅使用HTML/JS即可制作一个Android或者iOS的App
如何在 Visual Studio 2015 Cordova 项目中更新 cordova-ios 版本?