在iOS中,在原生表情符号键盘中,您可以看到最近使用的Emojis。我想知道是否有可能从我的应用程序中获取那些Emojis(这是独立于应用程序)的数据。
我的目标是在我的应用中为用户显示最常用的表情符号。
答案 0 :(得分:3)
如果您只想要一个表情符号选择器,您可以使用/修改SYEmojiPopover或AGEmojiKeyboard等库,这样您就可以完全控制输出而不会弄乱iOS内部(尽管&#34 ; recents" list将是特定于应用程序的。)
在iOS 9上,首选项存储在com.apple.EmojiPreferences
套件中,您可以通过以下方式提取最近使用过的表情符号列表:
// swift 3:
let prefs = UserDefaults(suiteName: "com.apple.EmojiPreferences")!
let defaults = prefs.dictionary(forKey: "EmojiDefaultsKey")!["EmojiRecentsDefaultsKey"]! as! [String: Any]
let recents = defaults["RecentsKey"]! as! [String]
print(recents)
// swift 2:
let prefs = NSUserDefaults(suiteName: "com.apple.EmojiPreferences")!
let recents = prefs.dictionaryForKey("EmojiDefaultsKey")!["EmojiRecentsDefaultsKey"]!["RecentsKey"]! as! [String]
print(recents)
// prints e.g. ["", "", "", "⌛", "", "", "⛪", "", ""]
请注意,这是 UNDOCUMENTED ,我只是在通过Xcode部署时检查它在iOS 9上有效。无法保证App Store审阅者将允许此用法,也不保证它将在过去或未来版本中有效。