iOS client for Tinode in Swift.
Status: work in progress.
The immediate goal is to have a basic end-to-end working application prototype that one will be able to install and use.
- Login
- Register new accounts.
- Start new chats.
- Edit personal details.
- Edit chat parameters.
- View the list of active chats
- Send and receive plain text messages one-on-one or in group chats.
- In-app presence notifications.
- Unread message counters.
- Local data persistence.
- Transport Level Security - https/wss.
- Drafty: Markdown-style formatting of text, e.g. *style* → style.
- Viewing attachments and inline images.
- Delivery and received/read indicators for messages (little check marks in messages).
- Muting/un-muting conversations and other permission management.
- Invite contacts to the app by SMS or email.
- Push notifications.
- Attachments and inline images.
- Previews not generated for videos, audio, links or docs.
- Typing indicators.
- No support for multiple servers
- Mentions, hashtags.
- Replying or forwarding messages.
- End-to-End encryption.
- https://github.com/tidwall/SwiftWebSocket for websocket support
- https://github.com/stephencelis/SQLite.swift for local persistence
- https://github.com/jrendel/SwiftKeychainWrapper
- GoogleService-Info.plist for push notifications. See below.
If you want to use the app with your own server and want push notification to work you have to set them up:
- Register at https://firebase.google.com/, set up the project if you have not done so already.
- Download your own config file
GoogleService-Info.plist
and place it in theTinodios/
folder of your copy of the project under the nameGoogleService-Info-Development.plist
(for Debug builds) orGoogleService-Info-Production.plist
(for Release builds). The config file contains keys specific to your Firebase/FCM registration. The project will not compile without the correspondingGoogleService-Info-{Development,Production}.plist
. - Copy Google-provided server key to
tinode.conf
, see details here.
- Demo avatars and some other graphics are from https://www.pexels.com/ under CC0 license.
- Some iOS icons are from https://icons8.com/ under CC BY-ND 3.0 license.