📱 Wire for iOS (iPhone and iPad)

Last update: Jun 25, 2022

Wire™

Wire logo

Build Status

This repository is part of the source code of Wire. You can find more information at wire.com or by contacting [email protected].

You can find the published source code at github.com/wireapp/wire.

For licensing information, see the attached LICENSE file and the list of third-party licenses at wire.com/legal/licenses/.

If you compile the open source software that we make available from time to time to develop your own mobile, desktop or web application, and cause that application to connect to our servers for any purposes, we refer to that resulting application as an “Open Source App”. All Open Source Apps are subject to, and may only be used and/or commercialized in accordance with, the Terms of Use applicable to the Wire Application, which can be found at https://wire.com/legal/#terms. Additionally, if you choose to build an Open Source App, certain restrictions apply, as follows:

a. You agree not to change the way the Open Source App connects and interacts with our servers; b. You agree not to weaken any of the security features of the Open Source App; c. You agree not to use our servers to store data for purposes other than the intended and original functionality of the Open Source App; d. You acknowledge that you are solely responsible for any and all updates to your Open Source App.

For clarity, if you compile the open source software that we make available from time to time to develop your own mobile, desktop or web application, and do not cause that application to connect to our servers for any purposes, then that application will not be deemed an Open Source App and the foregoing will not apply to that application.

No license is granted to the Wire trademark and its associated logos, all of which will continue to be owned exclusively by Wire Swiss GmbH. Any use of the Wire trademark and/or its associated logos is expressly prohibited without the express prior written consent of Wire Swiss GmbH.

Wire iOS

The Wire mobile app has an architectural layer that we call sync engine. It is the client-side layer that processes all the data that is displayed in the mobile app. It handles network communication and authentication with the backend, push notifications, local caching of data, client-side business logic, signaling with the audio-video libraries, encryption and decryption (using encryption libraries from a lower level) and other bits and pieces.

The user interface layer of the mobile app is built on top of the sync engine, which provides the data to display to the UI. The sync engine itself is built on top of a few third-party frameworks, and uses Wire components that are shared between platforms for cryptography (Proteus/Cryptobox) and audio-video signaling (AVS).

Mobile app architecture

Documentation

Additional documentation is available in the Wire iOS wiki.

How to build the open source client

What is included in the open source client

The project in this repository contains the Wire iOS client project. You can build the project yourself. However, there are some differences with the binary Wire iOS client available on the App Store. These differences are:

  • the open source project does not include the API keys of Vimeo, Localytics, HockeyApp and other 3rd party services.
  • the open source project links against the open source Wire audio-video-signaling (AVS) library. The binary App Store client links against an AVS version that contains proprietary improvements for the call quality.

Prerequisites

In order to build Wire for iOS locally, it is necessary to install the following tools on the local machine:

The setup script will automatically check for you that you satisfy these requirements

How to build locally

  1. Check out the wire-ios repository.
  2. From the checkout folder, run ./setup.sh. This will pull in all the necessary dependencies with Carthage and verify that you have the right version of the tools installed.
  3. Open the project Wire-iOS.xcodeproj in Xcode
  4. Click the "Run" button in Xcode

These steps allow you to build only the Wire umbrella project, pulling in all other Wire frameworks with Carthage. If you want to modify the source/debug other Wire frameworks, you can open the Carthage/Checkouts subfolder and open the individual projects for each dependency there.

You can then use carthage bootstrap --platform ios --use-xcframeworks to rebuild the dependency and use it in the umbrella project.

Known limitations

Notifications send through Apple Push Notification service can only be received by the App Store Wire client, which is code signed with Wire's own certificate. This is a security feature enforced by Apple, as documented in Apple's Local and Remote Notification Programming Guide. Any client build from source will not be able to receive notifications.

Translations

All Wire translations are crowdsourced via CrowdIn: https://crowdin.com/projects/wire

GitHub

https://github.com/wireapp/wire-ios
Comments
  • 1. chore: bump components SQPIT-776

    TaskSQPIT-776 fix Github action: create bump pull request have a title with jira ticket number

    Bump framework(s) version for:

    Reviewed by github-actions[bot] at 2021-12-03 10:55
  • 2. Wire System Sharing for multiple images

    iOS allows you to select multiple images or videos to share simultanously. However, Wire doesn't respond well to this. Sharing one image works fine. When you share multiple, no visual feedback appears after a long pause and you return to the media selection screen. Meanwhile, when you open Wire it first looks like nothing is happening. After a short while (30 seconds or so) all of a sudden the images appear. However, it seems that Wire accepts a maximum of 5 images at the same time, but doesn't give any feedback when you send more, but just picks 5. It should give a popup stating that max 5 images can be shared at a time.

    And the worst part: these five images do not get sent. The get a status of 'Sending' but they never are. And the state is hidden by default so you have to tap the images to find out they aren't sent. When you send new messages or images afterwards, these are delivered but the older images remain unsent.

    You can get these stalled images to send by shutting down Wire and restarting it, that will trigger a new attempt apparently.

    Reviewed by EgbertW at 2017-02-05 16:33
  • 3. The small counter on the wire icon indicating the amount of received messages is not being reset properly

    • Have an unread message
    • The wire icon on the homescreen shows a litte "1" indicating that I received a message
    • Go into the app
    • Read the message
    • Leave the app again
    • Problem: The counter still shows a "1" while it shouldn't actually display anything.

    A lot of times, I have to actually enter the app twice in order to reset the notification count, it usually doesn't work the first time.

    Reviewed by rbieb at 2017-02-11 15:01
  • 4. [Refactoring]: Merged Develop Into the Feature Branch

    What's new in this PR?

    EVERYBODY THAT MERGED SOMETHING ON DEVELOP DURING THE LAST PERIOD PLEASE HAVE A LOOK

    The scope of this PR is align the feature branch with the last changes of develop.

    EVERYBODY THAT MERGED SOMETHING ON DEVELOP DURING THE LAST PERIOD PLEASE HAVE A LOOK

    Reviewed by marcomaddy1982 at 2020-10-30 09:05
  • 5. Feature: Landscape mode

    I already requested this through the contact form a while ago but I think it would be better off here, making it easier to track progress on this issue if there is any.

    I really hate typing on portrait mode, the buttons are just too small for my fingers. Unfortunately Wire doesn't support landscape mode on iOS. I would really love support for this to be added.

    Reviewed by EgbertW at 2016-11-07 09:35
  • 6. Build fails on latest Xcode

    Dear Devs, I'm just guessing the source of the problem here, but I'm willing to work with you to figure this out. What I think is that after Carthage fails to use binary the compilation fails because it's still using $PODS_ROOT variable instead of the replacement $SRCROOT. Obviously, when I run 'pod install' as asked, it runs fine but error stays the same. Here are the errors and the log.

    Carthage bootstrap doesn't install most binaries due to "version mismatch" (which Carthage should allow for backwards compatibility, but that's another issue/bug):

    *** Skipped installing Cartography.framework binary due to the error:
    	"Incompatible Swift version - framework was built with 3.0.2 and the local version is 3.1."
    
    
    *** Building scheme "VIMNetworkingFramework" in VIMNetworking.xcworkspace
    Build Failed
    	Task failed with exit code 65:
    	/usr/bin/xcrun xcodebuild -workspace /Users/baseline/Desktop/2017/github/wire-ios/Carthage/Checkouts/VIMNetworking/VIMNetworking.xcworkspace -scheme VIMNetworkingFramework -configuration Release -derivedDataPath /Users/baseline/Library/Caches/org.carthage.CarthageKit/DerivedData/VIMNetworking/v6.0.2-wire-swift3.0.2 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build
    
    This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/wy/hy23j0d94s95gdwy2s1gdw380000gn/T/carthage-xcodebuild.GNM6gT.log
    

    and here's the tail of that log file:

    PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock /Users/baseline/Library/Caches/org.carthage.CarthageKit/DerivedData/VIMNetworking/v6.0.2-wire-swift3.0.2/Build/Intermediates/VIMNetworkingFramework.build/Release-iphoneos/VIMNetworkingFramework.build/Script-BBCA0BBBE8FFE626CD6221D5.sh
        cd /Users/baseline/Desktop/2017/github/wire-ios/Carthage/Checkouts/VIMNetworking/VIMNetworkingFramework
        /bin/sh -c /Users/baseline/Library/Caches/org.carthage.CarthageKit/DerivedData/VIMNetworking/v6.0.2-wire-swift3.0.2/Build/Intermediates/VIMNetworkingFramework.build/Release-iphoneos/VIMNetworkingFramework.build/Script-BBCA0BBBE8FFE626CD6221D5.sh
    diff: /../Podfile.lock: No such file or directory
    diff: /Manifest.lock: No such file or directory
    error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
    
    ** BUILD FAILED **
    
    
    The following build commands failed:
    	PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock /Users/baseline/Library/Caches/org.carthage.CarthageKit/DerivedData/VIMNetworking/v6.0.2-wire-swift3.0.2/Build/Intermediates/VIMNetworkingFramework.build/Release-iphoneos/VIMNetworkingFramework.build/Script-BBCA0BBBE8FFE626CD6221D5.sh
    (1 failure)
    
    

    Thank you!

    Reviewed by anuhanovic at 2017-04-04 14:04
  • 7. Most recent version of Wire crashes upon start

    Checklist (please check before submitting)

    • [ x ] I checked the existing issues, and the issue was not reported before.

    The problem

    Briefly describe the issue you are experiencing (or the feature you want to see added to Wire). Tell us what you were trying to do and what happened instead.

    Environment

    • Wire version that exhibits the issue: 3.49
    • Last Wire version that did not exhibit the issue (if applicable): 3.48
    • iOS version used to run Wire: 13.3
    • iOS device type: iPhone SE
    • Mobile network type (EDGE/LTE/Wi-Fi/Offline): any
    • Exact date, time and timezone (only for the crash issues): at the moment of submitting this post and 15 minutes before (7JAN 06:50 GMT+2 ...)

    Details

    After updating to the newest version, wire was loading for 5-10 seconds (logo) and then crashed. Now it consistently crashes immediately upon opening. I have three different accounts logged in, all without a phone number.

    Reviewed by 0ki at 2020-01-07 05:08
  • 8. The app is booting up very slow.

    Short description

    When I open the wire app it takes 5 to 15 seconds that it shows my list of chats.

    Behavior:

    The opening of the app is between 5 and 15 seconds on a iPhone 5s with iOS 10. But some people I know have newer iPhone's (6 or newer) and the boot up is between 5 and 10 seconds.

    Expected behavior

    I suspect from a chat app it will load under 5 seconds on devices like the iPhone 5s and much faster on newer ones. And when I already have booted the app in the background the app should open nearly instantly.

    Reviewed by mat1th at 2016-10-15 17:24
  • 9. [Refactoring]: DeepLinks

    What's new in this PR?

    In this PR can find:

    Application Launching Refactoring Issue Fix:

    When the app was in background and then for some reasons were going in foreground the AppStateCalculator was forcing to load the appState. This is wrong cause if we have no variation in the appState this is not necessary and we don't have to force it. In fact in the scenario we were opening a deep link and the user was authenticated we were forcing the app to the same state it already was (.authenticated) and all the transition were performed and the ZMClientController were returning to its initial state and show the conversation list. Removing the force parameter the transition are not execute when not necessary.

    DeepLink Sync-Engine communication Refactoring:

    Regarding this topic see the PR https://github.com/wireapp/wire-ios-sync-engine/pull/1327

    Dependenties

    sync-engine: https://github.com/wireapp/wire-ios-sync-engine/pull/1327

    Reviewed by marcomaddy1982 at 2020-10-19 13:31
  • 10. No warning for a verified contact when adding a new device

    Checklist (please check before submitting)

    [ X] - I checked the existing issues, and the issue was not reported before.

    The problem

    No warning for a verified contact when adding a new device

    Environment

    • Wire version that exhibits the issue: 3.2
    • Last Wire version that did not exhibit the issue (if applicable): N/A
    • iOS version used to run Wire: 11.1.1
    • iOS device type: iPhone SE
    • Mobile network type (EDGE/LTE/Wi-Fi/Offline): Wifi
    • Exact date, time and timezone (only for the crash issues): N/A

    Details

    • A is having a mobile 1
    • B is having a mobile (iOS) and a desktop
    • A is adding a new mobile to their account and send a message to B.
    • A is sending a new message to B (see 1 below) pic1a
    • B is answering with their Wire mobile.

    There is no warning of losing the verified status (missed then the point of verifying contact). Similar to #440 and give even more credit to https://github.com/wireapp/wire-webapp/issues/208

    • B continues the conversation on Wire desktop and the warning is displayed there: pic1

    Calling Debug logs (only for calling issues)

    N/A

    Screenshots

    Cf. upper

    Reviewed by IpsmLorem at 2017-11-15 15:38
  • 11. Unable to log in via app

    The problem

    If user already has an account, they are unable to log in via a freshly installed app.

    Details

    After selecting [phone] on the first screen and typing in the phone number, the screen moves to a different step of the process. Sometimes I can see the field to enter the 6digit code for a couple of seconds, sometimes I don't see it at all. In any case, when the SMS arrives 10 seconds later, it's always too late and screen has already moved to "Add your email and password." Please note there is no visible way to go back to previous screen from there and actually finish logging in. I also can't seem to find a "skip" button. Maybe it's hidden behind the keyboard?

    Reviewed by 0ki at 2018-02-20 20:10
  • 12. Unread badge count although none unread messages exists in conversation list

    Checklist (please check before submitting)

    • [ x] I checked the existing issues, and the issue was not reported before.

    The problem

    Although on the list of existing conversations there is no unread message, the iOS wire symbol as well as the dot over the back arrow within a specific conversation indicates that there are some. On the desktop app there is no unread message and also no symbols.

    I tried to backup the conversations, logout and login again. But as soon as I recover the backup the unread message seems to be back again (which makes of course sense if the unread message is somewhere hidden). I also tried the "find first unread message" troubleshoot function. After deleting the history of this conversation the troubleshooting function still tell me that this one is the first unread, which makes no sense in my opinion.

    Is there e.g. a debug command to set all conversations to read?

    Environment

    • Wire version that exhibits the issue: 3.102 (4823)
    • Last Wire version that did not exhibit the issue (if applicable): -
    • iOS version used to run Wire: 15.5
    • iOS device type: iPhone 12 mini
    • Mobile network type (EDGE/LTE/Wi-Fi/Offline): LTE/Wi-Fi
    • Exact date, time and timezone (only for the crash issues): -

    Details

    Describe the steps necessary to reproduce the problem in more details. The detailed description will help us to fix the issue faster.

    Calling Debug logs (only for calling issues)

    Not applicable.

    Screenshots

    Please attach screenshots if you consider them as helpful to understand/reproduce the issue.

    Reviewed by vulndev at 2022-06-24 11:13
  • 13. feat: Change accent colors ACC-168

    SubtaskACC-168 [iOS] Apply new color design for Label


    PR Submission Checklist for internal contributors

    • The PR Title

      • [x] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
      • [x] contains a reference JIRA issue number like SQPIT-764
      • [x] answers the question: If merged, this PR will: ... ³
    • The PR Description

      • [x] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

    What's new in this PR?

    This PR introduces new accent colors and their usage according the new design

    Screenshot 2022-06-23 at 23 35 38 Screenshot 2022-06-23 at 23 35 47

    Changes:

    • old accent colors have been renamed and their values changed from the Assets library;
    • old accent colors have been moved to the LegacyColors enum because we still use them in some parts of the code.

    TODO:

    • update snapshots

    PR Post Submission Checklist for internal contributors (Optional)

    • [ ] Wire's Github Workflow has automatically linked the PR to a JIRA issue

    PR Post Merge Checklist for internal contributors

    • [ ] If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

    References
    1. https://sparkbox.com/foundry/semantic_commit_messages
    2. https://github.com/wireapp/.github#usage
    3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.
    Reviewed by KaterinaWire at 2022-06-23 21:34
  • 14. fix: Color contrast issues in conversation view ACC - 168


    PR Submission Checklist for internal contributors

    • The PR Title

      • [x] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
      • [x] contains a reference JIRA issue number like SQPIT-764
      • [x] answers the question: If merged, this PR will: ... ³
    • The PR Description

      • [ ] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

    What's new in this PR?

    With this PR we fix color contrast issues in the Conversation View.

    TO-DO:

    • [ ] Fix tests when #5723 is merged

    References
    1. https://sparkbox.com/foundry/semantic_commit_messages
    2. https://github.com/wireapp/.github#usage
    3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.
    Reviewed by agisilaos at 2022-06-22 11:57
  • 15. feat(mls): add ui option for mls in create conversation FS-539

    TaskFS-539 [iOS] Add UI option for MLS in create conversation


    PR Submission Checklist for internal contributors

    • The PR Title

      • [x] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
      • [x] contains a reference JIRA issue number like SQPIT-764
      • [x] answers the question: If merged, this PR will: ... ³
    • The PR Description

      • [x] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

    What's new in this PR?

    • When creating new Groups, User can select Proteus or MLS as a protocol for the new group.
    • For selection of protocol when user taps the cell a list of available protocols is show and user can select from it.

    1 | 2 :--:|:--: |


    PR Post Submission Checklist for internal contributors (Optional)

    • [x] Wire's Github Workflow has automatically linked the PR to a JIRA issue

    PR Post Merge Checklist for internal contributors

    • [x] If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

    References
    1. https://sparkbox.com/foundry/semantic_commit_messages
    2. https://github.com/wireapp/.github#usage
    3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.
    Reviewed by ghuMustafa at 2022-06-22 10:56
  • 16. fix: Color Contrast for Conversation Details Screen ACC-168

    SubtaskACC-168 [iOS] Apply new color design for Label


    PR Submission Checklist for internal contributors

    • The PR Title

      • [x] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
      • [x] contains a reference JIRA issue number like SQPIT-764
      • [x] answers the question: If merged, this PR will: ... ³
    • The PR Description

      • [x] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

    What's new in this PR?

    With this PR we fix the color contrast issues in conversation details screen.

    TO-DO:

    • [ ] Fix tests when #5723 is merged
    • [ ] Ask Anette if we should also change the background color of the header/footer and the cells.

    References
    1. https://sparkbox.com/foundry/semantic_commit_messages
    2. https://github.com/wireapp/.github#usage
    3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.
    Reviewed by agisilaos at 2022-06-21 13:17
  • 17. fix: The color of the navigation bar for SettingsClientViewController


    PR Submission Checklist for internal contributors

    • The PR Title

      • [x] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
      • [ ] contains a reference JIRA issue number like SQPIT-764
      • [x] answers the question: If merged, this PR will: ... ³
    • The PR Description

      • [x] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

    What's new in this PR?

    With this PR we fix the color of the navigation bar for SettingsClientViewController.

    | BEFORE | AFTER | |---|---| | Screenshot 2022-06-20 at 10 24 14 | Screenshot 2022-06-20 at 10 39 07 |


    References
    1. https://sparkbox.com/foundry/semantic_commit_messages
    2. https://github.com/wireapp/.github#usage
    3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.
    Reviewed by agisilaos at 2022-06-20 08:45
🌟🌟🌟🌟🌟 Falcon Messenger is a Fast and Beautiful cloud-based messaging app. With iOS and IPadOS Support. Available on the App Store.
🌟🌟🌟🌟🌟 Falcon Messenger is a Fast and Beautiful cloud-based messaging app. With iOS and IPadOS Support. Available on the App Store.

Open the FalconMessenger.xcworkspace in Xcode. Change the Bundle Identifier to match your domain. Go to Firebase and create new project. Select "Add F

Jun 26, 2022
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.

Tutanota makes encryption easy Tutanota is the secure email service with built-in end-to-end encryption that enables you to communicate securely with

Jun 23, 2022
Bluetooth LE Mesh Chat for iOS and Android

BLEMeshChat Bluetooth LE mesh chat prototype for iOS. Android version over here. Goals Use the Bluetooth 4.0 Low Energy APIs on iOS and Android to all

Jun 26, 2022
Next generation iOS and Android apps for Mattermost in React Native

Mattermost Mobile Minimum Server versions: Current ESR version (5.37.0) Supported iOS versions: 11+ Supported Android versions: 7.0+ Mattermost is an

Jun 17, 2022
Free Jabber/XMPP client for iOS and macOS
Free Jabber/XMPP client for iOS and macOS

Monal A cross platform, modern XMPP client for iOS and MacOS This is the Monal XMPP client as found in the app store. If you want to use the latest st

Jun 24, 2022
Spika is universal chat module with backend, web, ios and Android client.
Spika is universal chat module with backend, web, ios and Android client.

Spika Spika is messenger module for Web/iOS/Android with backend. You can include messenger feature to your app or service with minimum code. For deta

Jun 1, 2022
Colloquy is an advanced IRC, SILC & ICB client for macOS and iOS!

Colloquy Dependencies This repository uses git submodules for some of its dependencies, so you will have to check those out as well. You can do this f

May 30, 2022
iOS-mail — ProtonMail iOS client app

iOS-mail Introduction iOS-mail — ProtonMail iOS client app The app is intended for all users of the ProtonMail service. Whether they are paid or free,

Jun 20, 2022
Anonymous chat app leveraging Google's Firebase, a NoSQL backend and WebSocket for real time data synching
Anonymous chat app leveraging Google's Firebase, a NoSQL backend and WebSocket for real time data synching

Chaty Chaty is an anonymous chat app that allows millions of users to chat at the same time. Firebase is Google's real time NoSQL Backend as a Service

Jun 8, 2022
A chat simulator app that uses FireBase for Authentication and chat storage
A chat simulator app that uses FireBase for Authentication and chat storage

Chat-App Description Flash chat is a chat simulator app that uses FireBase for Authentication and chat storage Tools Used - Swift (Programming Languag

Oct 14, 2021
Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore.
Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore.

Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore. Exercising query and s

Dec 19, 2021
A Flutter powered messaging app including Firebase registration, authentication and group messaging feature.

we_chat A Flutter powered messaging app including Firebase registration, authentication and group messaging feature. Getting Started This project is a

Jan 10, 2022
Template for cross-platform mobile app with native UIs and C++ core

Template for cross-platform mobile app with native UIs and C++ core Structure packages/chat - C++ core packages/ios - iOS app connected to core via C

May 20, 2022
Flash-Chat - Firebase Cloud Firestore, TableViews and Cocoapod Dependencies

Flash-Chat Firebase Cloud Firestore, TableViews and Cocoapod Dependencies What I

Jan 19, 2022
Secret Messenger - a free and open source Jabber (XMPP) messaging client for Apple

Secret Messenger is a free and open source Jabber (XMPP) messaging client for Apple and Android devices focused on Privacy and Security with full OMEMO encrypted messaging support.

May 2, 2022
A native iOS video chat app based on WebRTC
A native iOS video chat app based on WebRTC

AppRTC - iOS implementation of the Google WebRTC Demo About This Xcode project is a native wrapper for the Google's WebRTC Demo. It organizes the WebR

Jun 14, 2022
Email-based instant messaging for iOS.
Email-based instant messaging for iOS.

deltachat-ios Email-based instant messaging for iOS. Testing Betas are distributed via Testflight. Just scan this QR code with the camera app of your

Jun 17, 2022
A glossy Matrix collaboration client for iOS

Element iOS Element iOS is an iOS Matrix client provided by Element. It is based on MatrixKit and MatrixSDK. Beta testing You can try last beta build

Jun 22, 2022
Starter code for the Flash Chat project in the Complete iOS Development Bootcamp
Starter code for the Flash Chat project in the Complete iOS Development Bootcamp

Flash-Chat Our Goal One of the most fundamental component of modern iOS apps is the Table View. Table Views are used everywhere from the Mail app to t

Jun 18, 2022