在自定义 iOS 键盘中检测应用

In custom iOS keyboard detect the app

如何检测我的自定义键盘在哪个应用中使用并显示不同的按钮? 例如。在 Twitter 中,我会将 @ 添加到字符串 I post 到输入字段中,在 Reddit /r/

编辑:见上文。情况发生了变化。

这是不可能的。 一个扩展运行沙盒,并且只从API 中获取信息,不能访问任何其他内容。键盘只能接收文本上下文更改和 activate/deactivate 调用。能够检测到位于扩展沙箱之外的应用程序,因此是不可能的。

可以通过下面的代码实现。因为您将获得您正在使用自定义键盘的应用程序的捆绑包标识符。

Swift

    let hostBundleID = self.parentViewController!.valueForKey("_hostBundleID")
    let currentHostBundleID = String(hostBundleID)
    print(currentHostBundleID);

从包标识符中您可以轻松找到应用程序名称。