Video & audio calls and chat for GCC on iOS
GCC Talk is a branded build of the open-source Nextcloud Talk iOS client, maintained by Baitshook. It connects to a Nextcloud server running the Talk (spreed) app and provides end-to-end chat, audio and video calls, screen sharing, polls, and file sharing.
- Nextcloud server version 14 or higher (that fulfills ATS requirements).
- Nextcloud Talk version 4.0 or higher.
- Xcode 16 or newer.
- CocoaPods
git clone --recurse-submodules https://github.com/arshadkhan5/Baitshook-talk-ios.git
cd Baitshook-talk-ios
pod install
open GccTalk.xcworkspaceAlways open the .xcworkspace, not the .xcodeproj.
Pull Requests are checked with SwiftLint. Install it locally to catch issues early.
All targets share the app group group.com.gcc.Talk. The main app additionally uses
group.com.gcc.apps to exchange accounts with a companion Files app.
The app is preconfigured for the GCC server: forceDomain is on and domain is
https://nc.baitshook.com, so users go straight to that server's login page instead of
typing a server address. Set forceDomain to NO to get the generic server prompt back.
Everything brand-specific lives in GccTalk/Settings/NCAppBranding.m:
talkAppName,filesAppName,copyrightbundleIdentifier,groupIdentifier,appsGroupIdentifierpushNotificationServer,privacyURL- brand colors and logo handling
Logos and icons live in GccTalk/Images.xcassets (AppIcon, gcc_talk, gcc_talk_logo, talk-20).
The app registers the gcctalk:// URL scheme (see GccTalk/Info.plist and AppDelegate.m).
Talk push notifications are relayed through a push proxy. The upstream proxy at
push-notifications.nextcloud.com only serves apps signed by Nextcloud GmbH, so GCC Talk runs its own.
The proxy lives in push-proxy/ together with deployment instructions;
pushNotificationServer in NCAppBranding.m points at https://push.baitshook.com.
For troubleshooting on the device side see docs/notifications.md.
The app uses Nextcloud's builds of the WebRTC library from talk-clients-webrtc.
Use start-instance-for-tests.sh to spin up a local Nextcloud instance with Talk installed, then run
the GccTalk scheme's tests in Xcode. See the ci-*.sh scripts for the individual steps.
GCC Talk is licensed under the GNU General Public License v3.0 or later, the same license as Nextcloud Talk. Original copyright belongs to Nextcloud GmbH and the Nextcloud contributors listed in AUTHORS.md. Modifications are copyright Baitshook.
