如何在NativeScript中使用swift库?

时间:2015-08-06 12:45:17

标签: ios swift nativescript

我正在尝试在NativeScript中使用this ios-charts library。这个库是用Swift编写的,而不是用Objective-C编写的。我可以用吗?我试过用它但它给了我一个错误。我已经按照以下步骤使用它了:

我已使用

在我的nativescript项目中添加了库
tns library add ios 'library_path'

添加了库。然后我使用

为ios平台准备了项目
tns prepare ios

要测试是否成功添加库,我在Xcode中构建项目,它成功构建,但是在运行时我收到以下错误。

 dyld: Library not loaded: @rpath/libswiftCore.dylib
 Referenced from: /Users/UserNameHere/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/Charts.framework/Charts
 Reason: image not found

当我将Embedded content contains swift code设置为YES时,我摆脱了这个错误。但现在当我试图以

的形式访问该库时
var charts = new Charts();

它给出了如下参考错误:

ReferenceError: Can't find variable: Charts

我已经尝试过:

我尝试使用以下方法访问图表:

1. var charts = new Charts.Swift();
2. var charts = new Charts.Charts();
3. var charts = new Charts-Swift();
4. var charts = new Charts.LineChartView();
5. var charts = require("Charts");
6. var charts = require("../../lib/Charts.framwork");
7. var charts = require("Charts.framework");

所有这些方法都给出了同样的错误。

参考

我按照这些链接开发了我的项目

Using-native-libraries-in-your-nativescript-apps

将native-libs与cocoa pods一起使用:docs.nativescript.org/runtimes/ios/native-libs/CocoaPods

即使我尝试使用Cocoa Pods,它仍然会出现同样的错误。

如果有人试过这个,请告诉我。

1 个答案:

答案 0 :(得分:8)

您可以查看我的对话框插件: https://github.com/enchev/nativescript-dialog

我正在使用Swift库SDCAlertView,你可以在pod和xconfig文件中找到有关如何设置它的更多信息: https://github.com/enchev/nativescript-dialog/tree/master/platforms/ios

所有课程很可能在全球范围内都是可用的。例如:

var chart = new BarChartView();