【问题标题】:Plugman framework skips Mac OS X symbolic linksPlugman 框架跳过 Mac OS X 符号链接
【发布时间】:2015-03-10 21:52:44
【问题描述】:

我正在开发这个插件: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在安装远程插件时不支持符号链接(它适用于本地插件)。

想法:会不会是因为 tar.gz?有办法解决吗?

【问题讨论】:

    标签: cordova cordova-plugins cordova-cli plugman


    【解决方案1】:

    修改plugins/com.ios.libgoogleadmobads/hooks/after_plugin_add/000-create-links.shln 中有一个非法选项“-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
    

    【讨论】:

    • 我在插件中做了这些修改(我是作者)为了解决这个问题。我认为 -r 是有效的选项(至少在我的macos中是可以的)。问题是为什么plugman 不支持链接。
    • ln -r 应该创建相对路径链接(在 osx 10.9 中的 ln --help 中看到)
    • 我遇到了同样的问题。现在更新这个文件就可以了。谢谢!
    【解决方案2】:

    最后我设法通过在plugin.xml中更改https://github.com/appfeel/admob-google-cordova中的依赖标签来解决它:

    <dependency id="com.ios.libgoogleadmobads" url="https://github.com/appfeel/google-iosadmobads"/>
    

    对于任何可以提供帮助的人,我的结论是,cordova 或 phonegap 插件中需要的任何 .framework 库都需要放在单独的 repo 中,并使用 url 属性进行引用。

    在此处查看相关问题:https://issues.apache.org/jira/browse/CB-6092

    【讨论】:

      猜你喜欢
      • 2016-01-24
      • 2010-11-04
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多