Awesome
<p align="center"> <img src ="Resources/Logo_GitHub.png" alt="EmojiKit Logo" title="EmojiKit" /> </p> <p align="center"> <img src="https://img.shields.io/github/v/release/danielsaidi/EmojiKit?color=%2300550&sort=semver" alt="Version" /> <img src="https://img.shields.io/badge/Swift-6.0-orange.svg" alt="Swift 6.0" /> <img src="https://img.shields.io/badge/platform-SwiftUI-blue.svg" alt="Swift UI" title="Swift UI" /> <img src="https://img.shields.io/github/license/danielsaidi/ApiKit" alt="MIT License" title="MIT License" /> <a href="https://twitter.com/danielsaidi"><img src="https://img.shields.io/twitter/url?label=Twitter&style=social&url=https%3A%2F%2Ftwitter.com%2Fdanielsaidi" alt="Twitter: @danielsaidi" title="Twitter: @danielsaidi" /></a> <a href="https://mastodon.social/@danielsaidi"><img src="https://img.shields.io/mastodon/follow/000253346?label=mastodon&style=social" alt="Mastodon: @danielsaidi@mastodon.social" title="Mastodon: @danielsaidi@mastodon.social" /></a> </p>About EmojiKit
EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).
<p align="center"> <img src ="Resources/Demo.gif" width="750" /> </p>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.
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.
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: @danielsaidi@mastodon.social
- Twitter: @danielsaidi
- E-mail: daniel.saidi@gmail.com
License
EmojiKit is available under the MIT license. See the LICENSE file for more info.