Skip to content

Commit d5d41cc

Browse files
docs(ios): document custom bundle-ID suffix for a separate build
Explains appending a unique suffix (e.g. .pixel) to the app + extension bundle IDs (and matching tunnelId) to install a parallel build without claiming the reserved com.therealaleph.mhrv ID. Local-only; not committed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6fa7707 commit d5d41cc

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

ios/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,29 @@ The app version comes from `MARKETING_VERSION` / `CURRENT_PROJECT_VERSION` in
6161
Keep `MARKETING_VERSION` in sync with the crate version in `Cargo.toml`. After
6262
changing it, run `xcodegen generate`.
6363

64+
## Building a separate copy (own bundle ID)
65+
66+
The committed bundle ID `com.therealaleph.mhrv` is reserved for the main release.
67+
A bundle ID is globally unique across all of Apple, so if you want to ship your
68+
own build (e.g. a personal TestFlight build that installs **alongside** the main
69+
app without claiming its ID), append a unique suffix to the IDs **locally**
70+
do **not** commit this. Use `.pixel` (or your own):
71+
72+
1. `ios/project.yml` — app target:
73+
`PRODUCT_BUNDLE_IDENTIFIER: com.therealaleph.mhrv``com.therealaleph.mhrv.pixel`
74+
2. `ios/project.yml``MhrvTunnel` target (the extension ID **must** stay a child
75+
of the app ID):
76+
`com.therealaleph.mhrv.tunnel``com.therealaleph.mhrv.pixel.tunnel`
77+
3. `ios/App/ContentView.swift``VpnManager.tunnelId` must equal the extension ID:
78+
`"com.therealaleph.mhrv.tunnel"``"com.therealaleph.mhrv.pixel.tunnel"`
79+
4. (Optional, for a fully independent data container) change the App Group in both
80+
`*.entitlements` and the `groupId` strings in `ContentView.swift` /
81+
`PacketTunnelProvider.swift` to `group.com.therealaleph.mhrv.pixel`.
82+
5. `cd ios && xcodegen generate`, then create the App Store Connect record for the
83+
new bundle ID.
84+
85+
Keep these edits out of any PR to the main repo.
86+
6487
## Publishing to TestFlight
6588

6689
1. **Bump the version.** Edit `MARKETING_VERSION` (and bump `CURRENT_PROJECT_VERSION`,

0 commit comments

Comments
 (0)