Plugman 框架跳过 Mac OS X 符号链接
Plugman framework skips Mac OS X symbolic links
我正在开发这个插件:com.ios.libgoogleadmobads, which is a helper plugin for 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
链接被跳过。有workaround/solution吗?
更新
作为解决方法,我添加了一个挂钩以通过 bash 创建链接,并且删除了预定义的符号链接。它在 MAC 中工作,在其他系统中不工作。所以我很想知道为什么 plugman 在安装远程插件时不支持符号链接(它适用于本地插件)。
想法:难道是因为tar.gz?可以用任何方式修复吗?
修改plugins/com.ios.libgoogleadmobads/hooks/after_plugin_add/000-create-links.sh。 ln 中有一个非法选项“-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
最后我设法通过更改 https://github.com/appfeel/admob-google-cordova 中 plugin.xml 中的依赖标记来解决它:
<dependency id="com.ios.libgoogleadmobads" url="https://github.com/appfeel/google-iosadmobads"/>
对于任何能提供帮助的人,我的结论是,cordova 或 phonegap 插件中所需的任何 .framework 库都需要放在单独的存储库中,并使用 url 属性进行引用。
我正在开发这个插件:com.ios.libgoogleadmobads, which is a helper plugin for 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
链接被跳过。有workaround/solution吗?
更新
作为解决方法,我添加了一个挂钩以通过 bash 创建链接,并且删除了预定义的符号链接。它在 MAC 中工作,在其他系统中不工作。所以我很想知道为什么 plugman 在安装远程插件时不支持符号链接(它适用于本地插件)。
想法:难道是因为tar.gz?可以用任何方式修复吗?
修改plugins/com.ios.libgoogleadmobads/hooks/after_plugin_add/000-create-links.sh。 ln 中有一个非法选项“-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
最后我设法通过更改 https://github.com/appfeel/admob-google-cordova 中 plugin.xml 中的依赖标记来解决它:
<dependency id="com.ios.libgoogleadmobads" url="https://github.com/appfeel/google-iosadmobads"/>
对于任何能提供帮助的人,我的结论是,cordova 或 phonegap 插件中所需的任何 .framework 库都需要放在单独的存储库中,并使用 url 属性进行引用。