Как скопировать пользовательскую инфраструктуру ios с помощью plugin.xml на Phonegap 3
В настоящее время я создаю плагин для телефонной заставки 3. У меня есть пользовательская структура для копирования с использованием директивы source-file. В plugin.xml я попытался:
<source-file src="libs/ios/mylib.framework" />
но я получаю ошибку, когда добавляю плагин в свой проект:
mylib.framework - это каталог (не копируется)
Я попытался скопировать файл фрейма по файлу, но он идет в неправильном каталоге.
Как скопировать пользовательскую инфраструктуру ios с помощью файла plugin.xml?
Ответы
Ответ 1
Хорошая новость: кажется, что люди Кордовы работают над этим, когда мы говорим. Существует запрос функции, а также фиксация в GitHub который претендует на решение этой проблемы. Тег framework
будет поддерживать атрибут custom="true"
. Например, как вы могли бы это сделать для AWS iOS SDK Runtime framework:
<framework src="src/ios/Frameworks/AWSRuntime.framework" custom="true" />
ОБНОВЛЕНИЕ: Кажется, что это изменение превратило его в текущую стабильную версию Cordova 11/29/2013 (два дня назад). Просто обновите свои двоичные файлы Cordova и Plugman, и вам должно быть хорошо.
$ npm update -g cordova # if using `cordova plugin add xyz`
$ npm update -g plugman # if using `plugman install --platform x --project y --plugin z`
Ответ 2
Вы можете скопировать двоичный файл (кто должен быть в "mylib.framework/Версии/A/" ) и заголовки ( ".h" кто должен быть в "mylib.framwork/Версии/A/Заголовки" )
как это
<source-file src="libs/ios/mylib.framework/Versions/A/mylibBinary" framework="true" />
<header-file src="libs/ios/mylib.framework/Version/A/Headers/mylibHeader.h" />
...
Вам также нужно добавить зависимости вручную, IE: для этой инфраструктуры нужен iOS AVFoundation.framework
, поэтому вам тоже нужно добавить это.
<framework src="AVFoundation.framework" />
Еще одна вещь, которую вы должны знать, если вы хотите отправить этот плагин в PhoneGap.
Руководство по отправке плагинов
Любое приложение, содержащее двоичные библиотеки, будет отклонено. Это связано с тем, что мы должны иметь возможность увидеть, что именно находится в плагине, как часть нашего процесса проверки кода. Поэтому, отправляя плагин, убедитесь, что он не содержит двоичные библиотеки. (PhoneGap)
Ответ 3
Используйте <framework src="libs/ios/mylib.framework" />
.