ios - 检测自定义键盘是否已安装

标签 ios objective-c ios8 ios-app-extension custom-keyboard

我通读了文档,但似乎找不到任何方法来检测是否已在设置>常规>键盘中安装自定义键盘?

有人知道吗?

最佳答案

这可以通过 NSUserDefaults 实现。只需检索 standardUserDefaults 对象,该对象包含用户为键“AppleKeyboards”安装的所有键盘的数组。然后检查数组是否包含键盘扩展的包标识符。

NSArray *keyboards = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleKeyboards"];
NSLog(@"keyboards: %@", keyboards);

// check for your keyboard
NSUInteger index = [keyboards indexOfObject:@"com.example.productname.keyboard-extension"];

if (index != NSNotFound) {
    NSLog(@"found keyboard");
}

关于ios - 检测自定义键盘是否已安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25344213/

相关文章:

ios - 如何通过 url 中的查询字符串添加苹果 map 标记?

ios - 在 Xcode 8.2.1 中找不到“Cordova/CDV.h”文件

ios - 是否可以使用 UITableViewStylePlain 禁用 UITableView 中的 float 标题?

objective-c - 如何修复 "bad receiver type"错误

ios - 正在对常规 Parse 函数发出警告的主线程上执行长时间运行的操作

ios - numberOfRowsInSection 在 iOS8 中被调用了太多次?

ios - 已批准 future 付款的用户的 PayPal 电子邮件 ID

ios - 无法将类型 'String' 的值转换为预期的参数类型 'NSManagedObject' Swift

ios - 如何在 iOS6 上的选项卡式应用程序中切换 View ?

ios - 如何删除单元格内容的左填充?