Appearance
TestFlight Publication
Shipping is part of the challenge. You own the path from code to a build that we can install.
Checklist
- Apple Developer Program account. Use your own account or your company's. Enrolment can take a few days, so start on day 1.
- Bundle ID. Register a unique ID, for example
com.<yourname>.chatter. - App Store Connect record. Create the app with name, icon, and a privacy policy URL. A simple hosted page is enough.
- App Privacy details. Declare what the app collects: phone number, name, user content (messages, photos), identifiers. Data is linked to the user; it is not used for tracking.
- Release build. Archive and upload with Xcode,
xcodebuild, Fastlane, or EAS Build/Submit. - Export compliance. The app uses only standard HTTPS/TLS encryption. Set
ITSAppUsesNonExemptEncryptiontoNOinInfo.plist. - External testing group. Create a group and add the build.
- Beta App Review. Submit the build. Fill in the review notes (see below).
- Invite us. Add
infrastructure@chathealth.com.sgto the external group. - Reply to your invitation email when the invitation is sent.
Beta App Review notes
Apple's reviewer must be able to sign in and test a chat alone. Use the built-in echo bot. Paste this into the review notes and adapt it:
text
Sign in with any phone number, for example +65 8000 0001.
The verification code is always 000000 (test environment, no SMS is sent).
To test chat:
1. Complete the profile with any name and username.
2. Go to Friends > Add friend and search for "echo".
3. Send a friend request. The echo bot accepts automatically.
4. Open the chat with Echo and send a message. Echo replies within 2 seconds.
Report: long-press a message > Report.
Block: open the chat > tap the name > Block.
Delete account: Settings > Account > Delete account.Common reasons for rejection
| Guideline | What Apple checks | Where this challenge covers it |
|---|---|---|
| 1.2 User-generated content | Users can report content and block users | Core C11 |
| 2.1 App completeness | Reviewer can sign in and use the app; no crashes; no placeholder text | Review notes + echo bot |
| 5.1.1(v) Account deletion | Account can be deleted inside the app | Core C12 |
| 5.1.1 Permissions | Every permission has a clear usage string | NSPhotoLibraryUsageDescription, NSCameraUsageDescription, NSMicrophoneUsageDescription if you use media (A2) |
| 4.0 Design | App feels complete and native | Core quality |
Push notifications on TestFlight
TestFlight builds use the production APNs environment. Register your APNs key with environment production — see Push Notifications.
Updating the build
You can upload new builds until the deadline. External testers get later builds of the same version without a new review in most cases. Tell us in your email which build number to test.