An open API service indexing awesome lists of open source software.

https://github.com/danielsaidi/emojikit

EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.
https://github.com/danielsaidi/emojikit

emoji emoji-categories emoji-picker emoji-versions emojis ios macos swift swiftui tvos visionos watchos

Last synced: 6 months ago
JSON representation

EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.

Awesome Lists containing this project

README

          


Project Icon


Version
Swift 6.0
Swift UI
Documentation
MIT License

# EmojiKit

EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).



EmojiKit supports emojis, categories, unicode versions, localization, skin tones, etc. and has convenient SwiftUI components like ``EmojiGrid`` and ``EmojiScrollGrid``.

## 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][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:

```swift
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:

```swift
EmojiCategory.smileysAndPeopleChars.emojis // πŸ˜€πŸ˜ƒπŸ˜„...
EmojiCategory.animalsAndNatureChars.emojis // 🐢🐱🐭...
EmojiCategory.foodAndDrinkChars.emojis // 🍏🍎🍐...
```

The `EmojiVersion` enum defines Emoji versions and the emojis they introduced, for instance:

```swift
EmojiVersion.v15_1.emojis // πŸ™‚β€β†•οΈπŸ™‚β€β†”οΈπŸ‘©β€πŸ¦½β€βž‘οΈ...
EmojiVersion.v15.emojis // 🫨🫸🫷
EmojiVersion.v14.emojis // 🫠🫒🫣
```

See the online [documentation][Documentation] for more information.

## Documentation

The online [documentation][Documentation] has more information, articles, code examples, etc.

## Demo Application

The `Demo` folder has a demo app that lets you explore the library and its components.

## Support my work

You can [sponsor me][Sponsors] on GitHub Sponsors or [reach out][Email] for paid support, to help support my [open-source projects][OpenSource].

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][Website]
* E-mail: [daniel.saidi@gmail.com][Email]
* Bluesky: [@danielsaidi@bsky.social][Bluesky]
* Mastodon: [@danielsaidi@mastodon.social][Mastodon]

## License

EmojiKit is available under the MIT license. See the [LICENSE][License] file for more info.

[Email]: mailto:daniel.saidi@gmail.com
[Website]: https://danielsaidi.com
[GitHub]: https://github.com/danielsaidi
[Bluesky]: https://bsky.app/profile/danielsaidi.bsky.social
[Twitter]: https://twitter.com/danielsaidi
[Mastodon]: https://mastodon.social/@danielsaidi
[OpenSource]: https://danielsaidi.com/opensource
[Sponsors]: https://github.com/sponsors/danielsaidi

[Documentation]: https://danielsaidi.github.io/EmojiKit
[License]: https://github.com/danielsaidi/EmojiKit/blob/main/LICENSE