2016-05-13 80 views
4

在iOS中,在本機表情符號鍵盤中,您可以看到最近使用的表情符號。我想知道是否可以從我的應用程序中獲取這些Emojis(這是獨立於應用程序)的數據。訪問iOS中最近使用的表情符號列表

我的目標是在我的應用程序中顯示給定用戶最常用的表情符號。

+1

在我看來,這是鍵盤應用程序的東西。 –

+6

您只能跟蹤最近在您的應用中輸入的emojis。我不希望我的鍵盤使用數據泄漏到任何其他應用程序,因爲我使用鍵盤來鍵入我的密碼。 –

回答

2

如果你只是想要一個表情符號選擇器,你可以使用/修改類似SYEmojiPopoverAGEmojiKeyboard的庫,它允許你完全控制輸出而不會弄亂iOS內部(儘管「最近」列表將是特定於應用程序的) 。


在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評論者會允許這種用法,也不保證它可以在過去或未來的版本中使用。