📱😀 Video & audio calls through Nextcloud on iOS
Перейти к файлу
Daniel Standfest d3d1d5bbfd fixed SettingsViewController not updating after clearing caches
Fixes #1791

Signed-off-by: Daniel Standfest <daniel@standfest.io>
2024-10-24 23:16:17 +02:00
.github Use iOS 18 for tests 2024-10-10 17:02:27 +02:00
.tx [tx-robot] Update transifex configuration 2022-10-06 03:36:16 +00:00
BroadcastUploadExtension chore: Add SPDX headers to swift files 2024-07-23 18:07:20 +02:00
Icons Add non-filled icons and reduce talk icon size. 2023-03-20 13:47:36 +01:00
LICENSES chore: Add twitter icon license 2024-07-24 13:15:26 +02:00
NextcloudTalk fixed SettingsViewController not updating after clearing caches 2024-10-24 23:16:17 +02:00
NextcloudTalk.xcodeproj Try to reuse cells and added a custom UITableViewCell for settings cell. 2024-10-22 20:51:01 +02:00
NextcloudTalk.xcworkspace Remove Package.resolved 2023-10-23 22:09:51 +02:00
NextcloudTalkTests Adjust tests 2024-10-12 12:48:43 +02:00
NotificationServiceExtension chore: Add SPDX header 2024-07-24 10:28:44 +02:00
ShareExtension Migrate more packages from CocoaPods to SPM 2024-10-17 16:03:24 +02:00
Sounds Add ringing sound when joining, reconnecting or waiting for participants. 2024-05-13 23:59:11 +02:00
ThirdParty Update SlackTextViewController. 2024-04-11 16:10:16 +02:00
docs Update debugging push notifications document with info about app tokens. 2022-05-24 15:13:42 +02:00
.gitignore chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
.gitmodules Update git submodules references. 2023-07-20 13:34:21 +02:00
.pyspelling.wordlist.txt Add zammad integration reference view 2024-08-17 17:15:49 +02:00
.pyspelling.yml chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
.swiftlint.yml chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
AUTHORS.md chore: Add SPDX header 2024-07-23 18:07:25 +02:00
COPYING.iOS Adjust exception file text. 2020-10-14 16:22:54 +02:00
LICENSE Initial commit 2017-07-04 11:37:04 +02:00
Podfile Migrate more packages from CocoaPods to SPM 2024-10-17 16:03:24 +02:00
README.md chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
REUSE.toml chore: Add further logo license info 2024-07-24 13:17:27 +02:00
SECURITY.md chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
ci-create-docker-server.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
ci-install-talk.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
ci-setup-rooms.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
ci-wait-for-server.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
generate-localizable-strings-file.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00
start-instance-for-tests.sh chore: Add SPDX header for infra/ci/configs 2024-07-24 11:43:48 +02:00

README.md

Nextcloud Talk iOS app

Video & audio calls and chat through Nextcloud on iOS

Nextcloud Talk is a fully on-premises audio/video and chat communication service. It features web and mobile apps and is designed to offer the highest degree of security while being easy to use.

Nextcloud Talk lowers the barrier for communication and lets your team connect any time, any where, on any device, with each other, customers or partners.

Available on the AppStore

Prerequisites

Development setup

After cloning this repository, you can use pod install to install all dependencies. After that, open the project with open NextcloudTalk.xcworkspace.

Pull Requests will be checked with SwiftLint. We strongly encourage the installation of SwiftLint to detect issues as early as possible.

Run the project

Depending on how you try to run the project, you'll notice that it's not running "as-is". There are a few steps to make it work with your developer account:

  1. The project contains multiple targets (currently NextcloudTalk, ShareExtension and NotificationServiceExtension). The bundle ids of those targets start with com.nextcloud.Talk which can't be used outside of Nextcloud GmbH. To run the project, change all bundle ids to something that's allowed for your developer account: com.<yourname>.Talk.
  2. To communicate between the main app and its extensions, app groups are used. The group identifier for NextcloudTalk is set to group.com.nextcloud.Talk, with the same restriction as above. Change the group identifier of all targets to group.com.<yourname>.Talk.
  3. Open the file NCAppBranding.m (can be found in XCode under NextcloudTalk -> Settings) and change bundleIdentifier and groupIdentifier to the same values you used in 1. and 2.
  4. Run the project

Contributing to Source Code

Thanks for wanting to contribute source code to the Talk iOS app. That's great! 🎉

Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.

For more information please review the guidelines for contributing to this repository.

How to contribute

  1. 🐛 Pick a good first issue or any issue/feature you like to work on
  2. 👩‍🔧 Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to review
  4. 👍 Fix things that come up during a review
  5. 🎉 Wait for it to get merged!

You got stuck while working on a issue or need some pointers? Feel free to ask in the corresponding issue or in our public Talk team conversation, we're happy to help.

WebRTC library

We are using our own builds of the WebRTC library. They can be found in this repository.

Current version: 121.6167.0.

Running tests locally

The tests included in talk-ios require a running Nextcloud instance. To run this locally, make sure you have a working docker enviroment and run the file start-instance-for-tests.sh - this will install a Nextcloud instance, install Nextcloud Talk and wait for everything to be up and running. By default this uses the master branch of Nextcloud and NextcloudTalk. You can edit the file to specify a different branch (e.g. stable27). After that you can run the tests directly from Xcode or alternatively from the command line you can use:

xcodebuild test -workspace NextcloudTalk.xcworkspace \
    -scheme "NextcloudTalk" \
    -destination "platform=iOS Simulator,name=iPhone 14,OS=16.2" \
    -test-iterations 3 \
    -retry-tests-on-failure

Push notifications

If you are experiencing problems with push notifications, please check this document to detect possible issues.

Credits

Ringtones

TestFlight

Do you want to try the latest version in development of Nextcloud Talk iOS? Simple, follow this simple step

Apple TestFlight

We are also available on our public Talk team conversation, if you want to join the discussion.

License: GPLv3 with Apple app store exception.