【问题标题】:Adding custom cordova plugin to linked and embed framework in IOS XCode将自定义cordova插件添加到IOS XCode中的链接和嵌入框架
【发布时间】:2018-06-20 13:22:27
【问题描述】:

我目前在我的自定义 cordova 插件中有此代码,

<framework src="src/ios/Frameworks/XXX.framework" custom="true" embed="true"/>
<framework src="src/ios/Frameworks/XXXFramework.framework" custom="true" embed="true"/>

当我 cordova 构建 ios 时,它只会进入嵌入式二进制文件,而不是链接的框架和库。我希望将这两个框架都导入到链接部分和嵌入部分。

请参考下图: Image

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 我找到了解决方案:stackoverflow link
  • 您能分享一下您是如何实现的吗?我在您提到的解决方案的链接中使用了钩子,但它破坏了 xworkspace.project 的完整性。
  • @Logus 您好,您可以尝试以下 Joanne 的解决方案。或者试试这个link。链接仅供本人及同事参考,如有不明白之处见谅。
  • 我通过npmjs.com/package/xcode添加框架的简单方法解决了。

标签: ios xcode cordova


【解决方案1】:

要将库添加到 Xcode 中的“嵌入式二进制文件”部分(从 cordova-ios 4.4.0 和 cordova 7.0.0 开始),请将其放入您的 plugin.xml:

<framework src="src/ios/XXX.framework"   embed="true" custom="true" />

要在 Xcode 的“Linked Frameworks and Libraries”部分添加库, 把它放在你的 plugin.xml 中:

<source-file src="src/ios/XXX.framework" target-dir="lib" framework="true" />

它们可以同时存在。例如:

<platform name="ios">
    ....
    <source-file src="src/ios/XXX.m"/>
    <source-file src="src/ios/XXX.framework" target-dir="lib" framework="true" />
    <framework src="src/ios/XXX.framework"   embed="true" custom="true" /> 
    ....  
</platform>

【讨论】:

  • 插件是否需要两者都做,才能将其添加到“嵌入式二进制文件”和“链接框架和库”中?
  • @trebor 否。这取决于您的实施。您可以参考这个帖子,因为上面有一个非常明确的定义:stackoverflow.com/a/33210611/1527788
  • 这对我来说很好。谢谢
猜你喜欢
  • 2016-09-04
  • 2023-03-11
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
相关资源
最近更新 更多