Flá*_*eal 7 plugins objective-c ios cordova swift
我正在重写从Objective-C到Swift的应用程序中的所有插件.这些插件由Cordova调用.所有插件在Objective-C中都能正常工作.
但是当我尝试使用swift版本插件运行应用程序时,我得到以下错误.
错误:方法'getMAC2:'未在插件'MACPlugin2'中定义
我在重写到Swift的任何插件的所有方法中都会出现此错误.
看看这个插件代码示例:
import Foundation
@objc(MACPlugin2)
class MACPlugin2 : CDVPlugin {
func getMAC2(command : CDVInvokedUrlCommand){
print("########## ENTER MACPLUGIN 2 ###########")
}
}
Run Code Online (Sandbox Code Playgroud)
有人知道发生了什么?
最好,
弗拉维奥
添加_参数之前对我来说还不够.我也必须@objc(test:)在方法之前添加一个.
@objc(test:)
func test(_ command: CDVInvokedUrlCommand) {
// whatever
}
Run Code Online (Sandbox Code Playgroud)
我的例子如下,没有_它没有工作!注意:此解决方案是Swift 3的修复程序
@objc(LibCDVP) class LibCDVP : CDVPlugin {
func echo(_ command: CDVInvokedUrlCommand) {
print("method call OK!")
let msg = command.arguments[0] as? String ?? ""
let pluginResult = CDVPluginResult(
status: CDVCommandStatus_OK,
messageAs: msg + ",ECHO"
)
self.commandDelegate!.send(
pluginResult,
callbackId: command.callbackId
)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2178 次 |
| 最近记录: |