IOS键盘扩展
问题集合
- 调试时如何显示自定义键盘
选中扩展程序运行,键盘设置,键盘,添加新键盘,选择自定义的键盘,保存后就能长按时看到自定义键盘了
- 修改键盘自定义名字
默认显示名称格式是"KeyboardName - HostAppName",主应用和扩展应用 使用相同的名字就会显示一个。但两个不一样的时候会用 “-” 显示两个。
如果要修改,需要保持两个 info.plist 文件中的 Bundle display name 相同。
当它们不同时,它们将以分隔的字符串显示 - 修改显示的语言类型
修改NSExtension——NSExtensionAttributes——PrimaryLanguage的语言类型即可
- 键盘中如何跳转到HOST_APP
在主程序的Info下配置URL Type,即可通过openURL的方式跳转到主程序
实现跳转功能核心代码
class KeyboardViewController: UIInputViewController {
private var appURLString = "KeyboardTool://"
private func openMainApp() {
self.extensionContext?.completeRequest(returningItems: nil, completionHandler: { _ in
guard let url = URL(string: appURLString) else { return }
_ = self.openURL(url)
})
}
@objc func openURL(_ url: URL) -> Bool {
var responder: UIResponder? = self
while responder != nil {
if let application = responder as? UIApplication {
return application.perform(#selector(openURL(_:)), with: url) != nil
}
responder = responder?.next
}
return false
}
}