我有一个连接到BLE外围设备并从中提取数据的应用程序。该应用程序可作为独立应用程序使用(即,当它打开时,它可以与我的外围设备通信并读取我需要的数据。)我想为此应用程序创建一个自定义键盘扩展名,以便可以插入我的外围设备中的数据进入其他应用。我为我的应用程序添加了自定义键盘扩展名。我的KeyboardViewController.swift文件具有以下扩展名:
extension KeyboardViewController {
func insertText(_ text: String) {
textDocumentProxy.insertText(text)
}
func deleteBackward() {
}
}
现在,我想在我应用的swift文件(用于设置BLE连接并提取数据的文件)中调用此函数。下面的函数在里面
func getdata(data:Data){
let data = [UInt8](data)
let dataString = String(bytes:data,encoding: .utf8)
print("Here")
if dataString!.count > 1 {
let forceval = dataString![0..<6]
let unitcase = dataString![14..<15]
var units = ""
switch unitcase{
case "1":
units = "N"
case "2":
units = "lbf"
default:
units = ""
}
let forcevalue = forceval+" "+units
var forcevalues: String
forcevalues = " " + forcevalue
AllData.insertText(forcevalues)
//This is where I think I should be calling my function.
keyboard.insertText(forcevalue)
}
}
键盘是我的KeyboardViewController的实例:
let keyboard = KeyboardViewController()
应用程序和扩展程序都是彼此的目标成员。如何获得键盘扩展名以从成员应用程序中插入数据?