8

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

4

2 回答 2

10

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

迅速

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

从捆绑标识符中,您可以轻松找到应用名称。

于 2016-08-11T11:46:16.880 回答
3

这是不可能的。扩展以沙盒方式运行,仅从 API 获取信息,无法访问其他任何内容。键盘只能接收文本上下文更改和激活/停用呼叫。能够检测到应用程序位于扩展沙箱之外,因此是不可能的。

于 2015-05-23T02:06:55.997 回答