Maraca
Maraca 通过我们的 iOS Capture SDK 和 CaptureJS SDK 建立您的 iOS 应用程序与 Web 应用程序之间的连接。这使得 Web 应用程序能够像我们的 iOS SDK 一样,以相同的灵活性连接到我们的扫描仪和 NFC 读取器。
使用方法
在内部,Maraca 是我们 iOS Capture SDK 的一个伞包。因此,您自然需要提供凭证来开始使用。
最重要的步骤是调用 observeJavascriptMessageHandlers(_:)
。如果您熟悉 WKUserContentController,则可以提供自己的 JavaScript 消息处理程序名称。否则,此参数可以为 nil。此函数允许将包含数据的消息从您的 Web 应用程序(通过 CaptureJS)传输到您的 iOS 应用程序。
在 beging(withAppKey:appId:developerId:completion:)
的完成处理程序内部,使用公开的 Maraca.shared.webViewConfiguration
配置创建您的 WKWebView
。
override func viewDidLoad() {
super.viewDidLoad()
setupMaraca()
}
private func setupMaraca() {
let appKey = <Your App Key>
let appId = <Your App ID>
let developerId = <Your Developer ID>
let bundle = Bundle.main
Maraca.shared.injectCustomJavascript(mainBundle: bundle, javascriptFileNames: ["getInputForDecodedData"])
.observeJavascriptMessageHandlers(YourOwnMessageHandlers.allCases.map { $0.rawValue })
.setDelegate(to: self)
.begin(withAppKey: appKey,
appId: appId,
developerId: developerId,
completion: { [weak self] (result) in
if result == .E_NOERROR {
self?.setupUI()
} else {
// Encountered some error, inspect result
}
})
}
// Initialize WKWebView with Maraca.shared.webViewConfiguration after
// setting up Maraca
private var webview: WKWebView!
private func setupUI() {
webview = {
let w = WKWebView(frame: .zero, configuration: Maraca.shared.webViewConfiguration)
w.navigationDelegate = self
return w
}()
view.addSubview(webview)
// Set up constraints, etc..
let myWebApplicationURLString = .....
guard let url = URL(string: myWebApplicationURLString) else {
return
}
loadMyWebApplication(with: url)
}
文档
完整文档可以在 此处 找到。
示例
要运行示例项目,先克隆仓库,从示例目录运行 pod install
。
要求
安装
Maraca 可以通过 CocoaPods 获得。要安装它,只需在 Podfile 中添加以下行
pod 'Maraca'
作者
Chrishon, [email protected]
许可协议
Maraca 在 MIT 许可协议下提供。有关更多信息,请参阅 LICENSE 文件。