I'm gonna implement a emoji picker supporting Emoji List, v14.0, which could show only compatible emojis, but I don't know how to check if specific emoji is compatible on current iOS version. There are several ways I found:
- Render to PNG and compare it with default PNG (see https://stackoverflow.com/a/41393387/7484856), which might be CPU-intensive.
- Ask
CTFontGetGlyphsForCharacters
to check if current emoji could be supported (see https://stackoverflow.com/a/39606543/7484856), which seems good, but it fails to check emoji consists of two or more emojis. For example, = ( U+1F62E U+200D U+1F4A8), which is actually not supported on iOS 13, butCTFontGetGlyphsForCharacters
still returnstrue
because it could be represented as . - Persist emoji list to several
.plist
files for each iOS version, which requires some effort to maintain a lot of emoji lists.