Как правильно добавить настройки в приложение iOS с проектом Cordova?

В сборке Cordova я пытаюсь добавить настройки для своего приложения iOS. У меня есть настройки, уже определенные в файле Settings.bundle/Root.plist. Все, что мне нужно, это Settings.bundle, скопированный в проект XCode вместе с его дочерними элементами.

Я пытаюсь сделать это с помощью оператора resource-file:

<platform name="ios"> <resource-file src="res/ios/Settings.bundle" /> ... </platform>

Когда я делаю свою сборку, папка добавляется в мой проект 3 раза, а не только один раз, и ни один из файлов внутри этой папки не копируется. В выводе журнала я вижу, что для этого ресурса выполняется 3 оператора CpResource.

CpResource Anamnese\ mobil/Resources/res/ios/Settings.bundle build/emulator/Anamnese\ mobil.app/Settings.bundle CpResource Anamnese\ mobil/Resources/res/ios/Settings.bundle build/emulator/Anamnese\ mobil.app/Settings.bundle CpResource Anamnese\ mobil/Resources/res/ios/Settings.bundle build/emulator/Anamnese\ mobil.app/Settings.bundle

Это согласуется с тем, что я вижу в результирующем проекте XCode: папка есть 3 раза, но в ней нет содержимого. Я поиграл с расположением Settings.bundle и количеством файлов внутри, чтобы увидеть, есть ли связь с количеством раз, когда это выполняется, но безрезультатно.

Итак, мой вопрос: как правильно добавить настройки в приложение iOS с помощью Cordova?

Или, если я останусь на этом уровне анализа: как правильно скопировать структуры папок в проект iOS?


person Matthias Kempka    schedule 26.10.2017    source источник


Ответы (1)


Я не нашел, почему resource-file трижды добавлял Settings.bundle. Но я нашел другой способ интегрировать его в приложение: мне пришлось объявить собственный плагин Cordova, в котором указан этот Settings.bundle.

Дэвид Саутер написал здесь подробную инструкцию: Cordova Phonegap Настройки приложения IOS. Возможен пакет?

Чтобы установить me.apla.cordova.app-preferences, мне также пришлось включить эту строку в свой cordova.xml

<plugin name="cordova-plugin-app-preferences" spec="https://github.com/apla/me.apla.cordova.app-preferences" />

person Matthias Kempka    schedule 26.10.2017