随着 iOS 9.1 的发布,我们获得了很多很酷的新表情符号,例如 taco (🌮)!我正在开发一个应用程序,我想在支持它们的设备上显示新的表情符号字符,但在不支持它们的设备上将它们隐藏起来。有没有办法确定给定的表情符号字符(包含在 NSString 中)是否可以在运行应用程序的设备上呈现?
在对 SO 进行大量挖掘和试验之后,我想出了一个解决方案,我将在下面作为答案发布,但如果有更好的方法,请告诉我。
最佳答案
作为对上述 Swift 问题的回应,这里有一个 Swift 版本主要基于这个问题的答案: Get surrogate pairs from an emoji
func isEmojiSupported(emoji: String) -> Bool {
let uniChars = Array(emoji.utf16)
let font = CTFontCreateWithName("AppleColorEmoji", 0.0, nil)
var glyphs: [CGGlyph] = [0, 0]
return CTFontGetGlyphsForCharacters(font, uniChars, &glyphs, uniChars.count)
}
关于ios - 如何确定 iOS 设备是否可以呈现特定的表情符号字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33701590/