需要帮助获得在cordova插件中运行的iOS静态库

时间:2015-04-13 21:00:48

标签: cordova xcode6 ionic-framework cordova-plugins

Cordova 4.1.2,XCode 6.2

我试图使用来自第三方库的第三个SDK,我有源,其中包含自己的XCode项目。制造商的说明将库.xcodeproj拖到我的工作区。虽然这是有效的,但是当我开发我的Cordova plugin.xml时它会变得不实用,因为我经常销毁并重新创建我的项目的XCode文件。我已经构建了第三方SDK,它生成一个头文件目录,一个.a文件和一个.bundle文件。

在我的plugin.xml中,对于静态库,我有,

<source src="src/ios/libKALTURAPlayerSDK.a" framework="true" /> 

根据插件规范,这应该将.a文件复制到项目中并将其添加到带有二进制文件的链接部分。尽管如此,它似乎并没有做到。我在项目中为该行构建的错误

#import <KALTURAPlayerSDK/KPViewController.h>

是,

..../foo/platforms/ios/foo/Plugins/ca.foo.kaltura/MyFoo.h:2:9: 'KALTURAPlayerSDK/KPViewController.h' file not found

KALTURAPlayerSDK是.a库的产品名称。我已经尝试将其添加到标题,库和框架搜索路径中,但没有运气:

$(PROJECT_DIR)/foo/Plugins/ca.foo.kaltura

我的插件正在将所有库的标题复制到我项目中的插件文件夹中(我应该这样做吗?)。

请注意,作为测试,我尝试不复制我的插件中的任何框架内容,而是手动将第三方(kaltura)库拖入我的项目中,虽然这样做有效,但我仍然无法在使用cordova的命令行,找不到相同的文件&#39;如上所述的错误。它在XCode中构建,但不在命令行上构建。我希望能够更深入地了解这个问题。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试替换 import&lt; - KALTURAPlayerSDK / KPViewController.h&gt; 同 import&#34; KPViewController.h&#34;

您还需要在plugin.xml中指定标题

&lt; - source src =&#34; src / ios / libKALTURAPlayerSDK.a&#34;框架=&#34;真&#34; /&GT;

&lt; - header-file src =&#34; src / ios / KPViewController.h&#34; /&GT;