Платформа Plugman пропускает символические ссылки Mac OS X
Я работаю над этим плагином: com.ios.libgoogleadmobads, который является вспомогательным плагином для https://github.com/appfeel/admob-google-cordova (плагин com.admob.google cordova admob)
Как вы можете видеть здесь: https://github.com/appfeel/google-iosadmobads/tree/master/src/ios/GoogleMobileAds.framework
Есть два символических рысей. Когда я пытаюсь установить плагин:
cordova plugin add com.ios.libgoogleadmobads
Ссылки пропущены. Любое решение / решение, пожалуйста?
ОБНОВИТЬ
В качестве обходного пути я добавил хук для создания ссылок через bash и удалил предопределенные символические ссылки. Он работает в MAC, а не в других системах. Поэтому мне любопытно узнать, почему plugman не поддерживает ссылки Symbolik при установке удаленных плагинов (это работает для локальных плагинов).
Идея: это может быть связано с tar.gz? Можно ли это как-то исправить?
2 ответа
В конце концов мне удалось решить эту проблему, изменив тег зависимости в https://github.com/appfeel/admob-google-cordova в plugin.xml:
<dependency id="com.ios.libgoogleadmobads" url="https://github.com/appfeel/google-iosadmobads"/>
Для тех, кто может быть полезен, мой вывод заключается в том, что любая библиотека.framework, необходимая в плагине cordova или phonegap, должна быть размещена в отдельном репозитории и снабжена ссылкой с атрибутом url.
См. Связанную проблему здесь: https://issues.apache.org/jira/browse/CB-6092
Измените plugins / com.ios.libgoogleadmobads / hooks / after_plugin_add / 000-create-links.sh. Там есть недопустимая опция "-r". Я подозреваю, что они имели в виду использование параметра силы "-f"?
Обновить с:
#!/usr/bin/env bash
ln -s -r plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/Headers/ plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Headers
ln -s -r plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/GoogleMobileAds plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/GoogleMobileAds
ln -s -r plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/ plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/Current
Для того, чтобы:
#!/usr/bin/env bash
ln -s -f plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/Headers/ plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Headers
ln -s -f plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/GoogleMobileAds plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/GoogleMobileAds
ln -s -f plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/A/ plugins/com.ios.libgoogleadmobads/src/ios/GoogleMobileAds.framework/Versions/Current