我将现有的自定义插件转换为 Swift 语言:
(位于Plugins/CustomPluginInSwift.swift
)
import Foundation
class CustomPluginInSwift : CDVPlugin {
func getSettings(command: CDVInvokedUrlCommand) {
println("CustomPluginInSwift :: getSettings is called")
var pluginResult = CDVPluginResult(status: CDVCommandStatus_OK)
commandDelegate.sendPluginResult(pluginResult, callbackId:command.callbackId)
}
}
我有两个问题:
-
CDVPlugin
未找到
- JavaScript 没有看到插件:
CustomPluginInSwift
:
CDVPlugin 类 CustomPluginInSwift (插件名称:CustomPluginInSwift)不存在
I left config.xml
相同,但没有按预期工作。
我的问题出在哪里?
如前所述,您必须添加一个 bridging-header.h 文件,其中包含
#import <Cordova/CDV.h>
此外,您还需要在 XCode 项目属性->构建设置->Objective-C 桥接标头中添加桥接标头的路径。例如:
your-app-name/plugins/com.plugin.example/bridging-header.h
此外,为了让 Objective-C 看到相同的插件类名,您需要在类声明中添加 @objc 映射。它可以与 swift 类名本身相同,也可以不同。在此示例中,“HWPCustomPluginInSwift”将是 Objective-C(和 Javascript)最终看到的内容:
@objc(HWPCustomPluginInSwift) class CustomPluginInSwift : CDVPlugin {
然后 config.xml 文件中的功能节点应如下所示:
<feature name="CustomPluginInSwift">
<param name="ios-package" value="HWPCustomPluginInSwift" />
</feature>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)