如何检测我的自定义键盘在哪个应用程序中使用,并显示不同的按钮?
例如,在Twitter中,我将@添加到我发布到输入字段中的字符串中,在Reddit中则是/r/。
通过以下代码,可以获取您在使用自定义键盘的应用程序的捆绑标识符。
Swift
let hostBundleID = self.parentViewController!.valueForKey("_hostBundleID")
let currentHostBundleID = String(hostBundleID)
print(currentHostBundleID);
通过捆绑标识符,您可以轻松找到应用程序名称。
编辑:见上文。情况已改变。
这是不可能的。扩展程序运行于沙盒中,仅从API获取信息,无法访问其他内容。键盘只能接收文本上下文更改和激活/取消调用。检测应用程序的能力超出了扩展程序沙盒之外,因此是不可能的。