Cordova: как установить разные имена пакетов на платформу с помощью cordova-cli?

У меня есть приложение для iOS и Android, которое я обновляю с PhoneGap 2.x-Cordova 4.0.

Как приложения iOS и Android были созданы с помощью PhoneGap 2.x у меня есть два отдельных проекта (т. е. проект для iOS и проект для Android). Эти проекты имеют общий каталог www (с использованием символических ссылок) для ресурсов HTML/CSS/JavaScript. При обновлении до Cordova 4.0 я могу иметь один проект Cordova и использовать CLI Cordova для создания проектов для каждой платформы в каталог платформ.

имя пакета, которое используется для каждой платформы в Cordova, задается в общей конфигурации.хотя XML-файл. CLI Cordova использует имя пакета, заданное в конфигурации.xml для команд perpare, build и add platform.

к сожалению, имена пакетов, которые были использованы для PhoneGap 2.x приложения не одинаковы (т. е. имя пакета для приложения Android отличается от имени пакета приложения iOS).

например: Android приложение имеет имя пакета, как COM.образец.applongname, но приложение iOS имеет имя пакета, такое как com.образец.AppShortName. Начало имени пакета (т. е. обратное доменное имя компании) одинаково для каждого приложения, но имена приложений различаются. Имя приложения iOS также содержит заглавные буквы.

Мне нужно сохранить имена пакетов, которые были использованы для начального PhoneGap 2.X строит так, что приложения могут быть обновлены (i.e конечные пользователи могут получить обновление, которое заменит их существующая установка моего приложения).

Как я могу установить имя пакета на платформу без создания двух отдельных проектов?

1 ответов


добавить виджет таким образом:

<widget id="com.company.app" android-packageName="com.company.androidapp" ios-CFBundleIdentifier="com.company.iosapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

посмотреть мои другое ответ для получения более подробной информации.