EmojiKit
EmojiKit copied to clipboard
EmojiKit is a Swift SDK that lets you use emojis on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).
About EmojiKit
EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).
EmojiKit has all you need to work with emojis, including categories, support for localization & skin tones, unicode & version information, as well as convenient EmojiGrid and EmojiScrollGrid components for SwiftUI.
Installation
EmojiKit can be installed with the Swift Package Manager:
https://github.com/danielsaidi/EmojiKit.git
Features
EmojiKit provides a bunch of emoji-specific features:
- π Emojis - EmojiKit defines a structured emoji model.
- π» Emoji Categories - EmojiKit defines all standard emoji categories.
- π¦ Emoji Versions - EmojiKit defines all emoji versions and their emojis.
- π§© Extensions - EmojiKit extends native types with emoji support.
- πΈπͺ Localization - EmojiKit supports localizing all emojis and categories.
- ππΎ Skin Tones - EmojiKit provides emoji skin tone information.
- πΌοΈ Views - EmojiKit has emoji-specific views, like grids and pickers.
See the online documentation for more information.
Localization
EmojiKit is localized in:
- πΊπΈ English (U.S.)
- πͺπΈ Spanish
- πΈπͺ Swedish
You can contribute by localizing the Sources/Resources/en.lproj folder.
Getting started
The Emoji model can be used to parse a bunch of emoji-specific information, for instance:
Emoji("π").unicodeIdentifier // \\N{THUMBS UP SIGN}
Emoji("π").unicodeIdentifier // \\N{ROCKET}
Emoji("π").unicodeName // Thumbs Up Sign
Emoji("ππΏ").unicodeName // Thumbs Up Sign
Emoji("π").unicodeName // Rocket
Emoji("π").localizedName // Grinning Face
Emoji("π").localizedName(for: .swedish) // Leende Ansikte
Emoji("π").hasSkinToneVariants // true
Emoji("π").hasSkinToneVariants // false
Emoji("ππΏ").neutralSkinToneVariant // π
Emoji("π").skinToneVariants // πππ»ππΌππ½ππΎππΏ
The EmojiCategory enum defines standard and custom categories and their emojis, for instance:
EmojiCategory.smileysAndPeopleChars.emojis // πππ...
EmojiCategory.animalsAndNatureChars.emojis // πΆπ±π...
EmojiCategory.foodAndDrinkChars.emojis // πππ...
The EmojiVersion enum defines Emoji versions and the emojis they introduced, for instance:
EmojiVersion.v15_1.emojis // πββοΈπββοΈπ©βπ¦½ββ‘οΈ...
EmojiVersion.v15.emojis // π«¨π«Έπ«·
EmojiVersion.v14.emojis // π« π«’π«£
See the online documentation for more information.
Documentation
The online documentation has more information, articles, code examples, etc.
Demo Application
The Demo folder has an app that lets you explore the library and its components.
Support my work
You can sponsor me on GitHub Sponsors or reach out for paid support, to help support my open-source projects.
Your support makes it possible for me to put more work into these projects and make them the best they can be.
Contact
Feel free to reach out if you have questions or if you want to contribute in any way:
- Website: danielsaidi.com
- Mastodon: @[email protected]
- Twitter: @danielsaidi
- E-mail: [email protected]
License
EmojiKit is available under the MIT license. See the LICENSE file for more info.