【发布时间】:2018-11-30 19:06:43
【问题描述】:
我正在尝试从我的 NativeScript 插件访问 iOS 框架类。
目前,这个插件只有一个SampleClass 和一个返回数字的test 方法,但它很快就会改变。目前,我正在尝试从该原生框架调用类方法。
我看到了一些插件种子扩展了 iOS 基类并在那里创建所有内容的示例,但在这种情况下,我想使用 .framework 文件。
我假设这相当于使用一些.aar Android 文件。在那种情况下,我已经看到会使用类似这样的方式拨打电话
var c = java.lang.Class.forName("org.test.plugin.name.MyActivity");
所以,我已经将.framework 文件复制到platforms/ios,我的问题是关于如何获得这个SampleClass 方法。
另外,我看到了一些推荐使用 CocoaPods 的文档。我是 iOS 开发的新手,仍然完全不明白,但如果我的应用程序不使用任何本机依赖项,这是否有必要?我需要其他文件吗? (有一个默认的Info.plist 和build.xcconfig)
感谢您的回答。
【问题讨论】:
-
我想如果你只想从框架中访问类,那么你不需要任何额外的步骤。一旦框架文件被复制到平台/ios,它应该可以在插件中访问。
-
@Manoj 我得到的是“找不到名称'SampleClass'。”
-
如果你使用 TypeScript,那么你应该声明它。就像
declare var SampleClass这样编译器会忽略它。如果您有兴趣列出所有类和方法,那么您应该使用步骤here 为库生成声明文件。 -
@Manoj 成功了(我不知道文档的哪个部分这么说,但我很高兴它起作用了)谢谢。现在我面临一个 lipo 错误,但这将是另一个问题......
-
很高兴这有效,所以现在我完全理解了您在寻找什么,因此添加了一个详细的答案,这可能有助于其他人轻松找到它。
标签: ios plugins nativescript