为 Android 和 iOS MobileFirst V8.0 Cordova 应用程序指定不同的包标识符
Posted
技术标签:
【中文标题】为 Android 和 iOS MobileFirst V8.0 Cordova 应用程序指定不同的包标识符【英文标题】:Specify different package identifier for Android and iOS MobileFirst V8.0 Cordova Apps 【发布时间】:2016-08-29 19:13:13 【问题描述】:如何在搭载 MobileFirst V8.0 的 Cordova 6.3 中的 config.xml 中为 ios 注册不同的捆绑标识符(不同于 id 属性中指定的标识符)。
我的 config.xml 定义如下:
<widget android-versionCode="10" id="com.example.androidpackage" ios-CFBundleIdentifier="com.example.iospackage" ios-CFBundleVersion="1.5" version="3.7" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:mfp="http://www.ibm.com/mobilefirst/cordova-plugin-mfp">
如果我使用上面的小部件添加平台,我将获得捆绑标识符为“com.example.iospackage”的 iOS 项目,但是当我在使用cordova prepare
执行 cordova prepare
命令后注册应用程序时,然后它正在为 Android 和 iOS 平台注册“com.example.androidpackage”。如何在 MobileFirst Platform V8.0 中执行此操作?
【问题讨论】:
【参考方案1】:您可以使用每个所需平台的唯一标识符更新 config.xml 文件,如下所述:In Cordova, how can I specify different package names for ios and android?
例如:
<widget
android-packageName="com.example.android"
ios-CFBundleIdentifier="com.example.ios">
【讨论】:
我的应用程序已经在 Google Play 和 Apple 应用程序商店上线,我正在将我的应用程序从 MFP 7.1 迁移到 8.0...早期版本的 MFP 已通过应用程序描述支持这一点。 xml 文件...在我的情况下,我将无法保持相同。 是的,是的……我也试过了……但是当我在 MFP 控制台上注册应用程序时,它会使用 id 属性中指定的标识符进行注册。 另外..如果我没有指定 id 属性并尝试注册应用程序,那么 mfp 会要求我输入 id 的值。 这对我来说似乎不是一个解决方案。另外,使用相同的网络资源创建 2 个应用程序没有任何意义。我认为这是产品错误,因为 MFP 直到最后一个版本才支持它,并且 Cordova 也支持它。它是限制用户这样做的 MFP。 PMR 79746 442 000 已为此记录。 L3的家伙正在研究它。根据他们的说法,修复将很快交付。【参考方案2】:此问题已在更新的 CLI 中得到修复。详情可查here
更新日志:
修复以允许在 Cordova 项目中的每个平台使用不同的应用程序标识符【讨论】:
以上是关于为 Android 和 iOS MobileFirst V8.0 Cordova 应用程序指定不同的包标识符的主要内容,如果未能解决你的问题,请参考以下文章
Travis 和 React Native。 Parallels 为 Android 和 ios 构建
如何从付费应用转换为应用内购买? iOS 和 Android + Flutter