Skip to content

Commit cb49d2e

Browse files
authored
Update LoopFollowDocs for release 6.0 (#26)
* update build directions for release 6.0 * new Identifier and must create and use a LoopFollow App Group
1 parent ec06ded commit cb49d2e

3 files changed

Lines changed: 229 additions & 15 deletions

File tree

docs/build/img/update-identifier-loopfollow-app-group.svg

Lines changed: 95 additions & 0 deletions
Loading

docs/build/lf-browser-build.md

Lines changed: 124 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,21 @@ If you choose, you can:
2525

2626
Detailed directions are found in the next sections, this is the summary of what you will do:
2727

28-
1. Click on the link to open the repository in your browser
29-
2. `Fork` the repository to your organization
30-
3. Open your `fork` and enable Actions
31-
4. `Add Identifiers`
32-
5. Review App Identifier in Apple Developer portal
33-
6. Add the App in App Store Connect and configure TestFlight users
34-
7. `Build LoopFollow`
28+
1. `Fork` the repository to your organization ([link](#fork-loopfollow))
29+
1. `Add Identifiers` ([link](#add-identifiers))
30+
1. Create a `LoopFollow App Group` ([link](#create-app-group))
31+
* New with LoopFollow version 6.0 and newer
32+
1. Add the App Group to the Identifiers ([link](#add-app-group))
33+
1. Create the App in App Store Connect and configure TestFlight users ([link](#create-app-in-app-store-connect))
34+
1. Configure TestFlight users for the *LoopFollow* app ([link](#add-users-to-testflight-for-app))
35+
1. `Build LoopFollow` ([link](#build-app))
3536

3637
!!! tip "What About Other Actions"
3738
* You already have your organization configured, there is no need to run `Validate Secrets`
3839
* The Build action includes a `Create Certificates` step - you can run it separately but it is not necessary
3940

4041

41-
### <span translate="no">Fork LoopFollow</span>
42+
## <span translate="no">Fork LoopFollow</span>
4243

4344
You start by opening a browser using the URL from the table below. Most people only need the *LoopFollow* app to follow one person. If you need to follow more than one person, then repeat the steps for each of the URL in the table. If you need to follow more than three people, reach out to the developers for help.
4445

@@ -133,17 +134,125 @@ The `Add Identifier` &nbsp;<span class=notranslate>Action</span>&nbsp; should su
133134
* Use the Browser Build Errors page to resolve the error, then repeat the Action
134135
* [Quick Reference for Browser Build Errors](https://loopkit.github.io/loopdocs/browser/bb-errors/#quick-reference-for-browser-build-errors)
135136

136-
## Review App Identifier
137137

138-
Open this link: [Certificates, Identifiers & Profiles: Identifiers List](https://developer.apple.com/account/resources/identifiers/list){: target="_blank" } on the apple developer site.
138+
## Create `App Group`
139139

140-
After successfully performing the `Add Identifiers Action`, you will see the identifier for your app with a Name and Bundle ID matching that in the table below. You will see your unique TEAMID embedded in the identifier. (If you previously built this App with Xcode, the name may start with XC but the ending should match.)
140+
!!! important "Updating LoopFollow to version 6.0 and newer"
141+
New builders - just follow the instructions as provided on this page.
142+
143+
This information admonition is for existing builders who need to update.
144+
145+
The addition of Live Activity requires adding the LoopFollow App Group. Your build will fail until you take these steps.
146+
147+
If you are updating from an earlier version, **sync your fork** and then:
148+
149+
1. Run the `Add Identifiers` action again
150+
2. Create the LoopFollow App Group
151+
3. Add the LoopFollow App Group to the 2 identifiers:
152+
* LoopFollow
153+
* LoopFollow Live Activity Extension
154+
155+
156+
The `LoopFollow` *App Group* already exists if you previously built the *LoopFollow* app using *Xcode* with this *Apple Developer ID*. In that case, skip ahead to [Optional: App Group Description Modification](#optional-app-group-description-modification) to update the description.
157+
158+
If you have never built the *LoopFollow* app with *Xcode* using your `TEAMID`, you need to create an *App Group* associated with your `TEAMID`.
159+
160+
1. Open this link: [Register an App Group](https://developer.apple.com/account/resources/identifiers/applicationGroup/add/) on the *Apple Developer* site.
161+
1. For **`Description`**, use `LoopFollow App Group`
162+
1. For **`Identifier`**, enter `group.com.TEAMID.LoopFollow`, substituting your Team ID for `TEAMID`
163+
* **You must replace `TEAMID` with your 10-digit Apple Developer ID - do not just copy the App Group Identifier above**
164+
* A mistake here means you will not be able to build the *LoopFollow* app until you fix it
165+
1. Click `Continue` and then `Register`.
166+
167+
> If you are building Second or Third versions, use the Name (Description) found in the [App Groups](#app-groups) table.
168+
169+
If this is successful, then [<span class="loop-bigger">:material-skip-forward:</span>](#add-app-group) skip ahead to [Add `App Group`](#add-app-group)
170+
171+
If you get an error saying `An Application Group with Identifier 'group.com.TEAMID.LoopFollow' is not available. Please enter a different string`, that means you already have the `LoopFollow App Group` assigned to your account. Continue with the next section.
141172

142-
| App Name | Name | Bundle ID |
143-
| --- | --- | --- |
144-
| <span translate="no">LoopFollow</span> | <span translate="no">LoopFollow</span> | <span translate="no">com.TEAMID.LoopFollow</span> |
173+
#### Optional: App Group Description Modification
145174

146-
> If you build from a second or third `repository` for `LoopFollow`, the Name will end in `Second` or `Third` and Bundle ID will have `.Second` or `.Third` at the end.
175+
> This step is not required, but if you previously built using a Mac with Xcode, it is a good idea to update the Name associated with the Identifier for the LoopFollow App Group. Then what you see on your display will match the directions as you continue.
176+
177+
??? tip "Optional Rename Step (click to open/close)"
178+
Click to display the [App Group List](https://developer.apple.com/account/resources/identifiers/list/applicationGroup)
179+
180+
Tap on the Identifier that shows `group.com.TEAMID.LoopFollow` where TEAMID is your Developer ID.
181+
182+
* This opens the `Edit your Identifier Configuration` screen
183+
* In the Description box in the upper left, edit the Description to match the **NAME**
184+
* Tap Save in the upper right and confirm the the change for that identifier._
185+
186+
Notice in the table below that the XCode version of the **NAME** for the `App Group` is the same as the **IDENTIFIER** but with the `.` replaced with a space.
187+
188+
| NAME | XCode version | IDENTIFIER |
189+
|:--|:--|:--|
190+
| LoopFollow App Group | group com TEAMID LoopFollow| group.com.TEAMID.LoopFollow |
191+
192+
## Add `App Group`
193+
194+
You will need to add the `LoopFollow App Group` to the App Group capability for each Identifier.
195+
196+
### Identifiers for the *LoopFollow* app
197+
198+
For each identifier in the table below, click on the Identifer and then add the LoopFollow App Group to the App Group capability.
199+
200+
| Name (Description) | Bundle ID |
201+
| --- | --- |
202+
| <span translate="no">LoopFollow</span> | <span translate="no">com.TEAMID.LoopFollow</span> |
203+
| <span translate="no">LoopFollow Live Activity Extension</span> | <span translate="no">com.TEAMID.LoopFollow.LoopFollowLAExtension</span> |
204+
205+
> If you are building Second or Third versions, use the Name (Description) found in the [Identifiers](#identifiers) table.
206+
207+
The example graphic below has numbered steps that match these directions. The columns from left to right are `Capabilities`, `App Services` and `Capability Requests`. The check box under `Capabilities` will already be checked for you.:
208+
209+
1. Looking at the `App Services` column, scroll down to the `App Groups` row and ensure the check box (under the `Capabilities column`) for `App Groups` is checked
210+
2. If the word `Configure` shows up, tap on it
211+
* This opens the `App Group Assignment` screen
212+
* If it said `Edit` instead of `Configure` - you can click to confirm you have the correct App Group but won't need to continue or save if it is correct
213+
3. Check the box by `LoopFollow App Group` that uses your `TEAMID` in `group.com.TEAMID.LoopFollow`
214+
* Note that if you previously built with Xcode, the name may be different, i.e., `XC group com TEAMID LoopFollow`
215+
4. Tap `Continue`
216+
5. Tap `Save`
217+
6. Tap `Confirm`
218+
219+
![graphic showing selection of the correct App Group](img/update-identifier-loopfollow-app-group.svg){width="700"}
220+
{align="center"}
221+
222+
If you did not need to make changes, the `Save` button will not be active.
223+
224+
* Tap on the `< All Identifiers` link at the top left
225+
226+
The full list of Identifiers should be displayed again.
227+
228+
Repeat until the 2 Identifiers have the `LoopFollow App Group` configured.
229+
230+
* If you miss an identifier, the `Create Certificates` step will succeed but `Build LoopFollow` will fail.
231+
232+
### LoopFollow Second and Third
233+
234+
If you build LoopFollow Second or Third, each has their own identifiers and their own App Group.
235+
Refer to the table below to see how the App Group and Identifiers for LoopFollow are modified when building the Second or Third version of the app.
236+
237+
#### App Groups
238+
239+
| Name (Description) | App Group |
240+
| --- | --- |
241+
| <span translate="no">LoopFollow App Group</span> | <span translate="no">group.com.TEAMID.LoopFollow</span> |
242+
| <span translate="no">LoopFollowSecond App Group</span> | <span translate="no">group.com.TEAMID.LoopFollow.Second</span> |
243+
| <span translate="no">LoopFollowThird App Group</span> | <span translate="no">group.com.TEAMID.LoopFollow.Third</span> |
244+
245+
#### Identifiers
246+
247+
248+
| Name (Description) | Bundle ID |
249+
| --- | --- |
250+
| <span translate="no">LoopFollow</span> | <span translate="no">com.TEAMID.LoopFollow</span> |
251+
| <span translate="no">LoopFollow Live Activity Extension</span> | <span translate="no">com.TEAMID.LoopFollow.LoopFollowLAExtension</span> |
252+
| <span translate="no">LoopFollowSecond</span> | <span translate="no">com.TEAMID.LoopFollow.Second</span> |
253+
| <span translate="no">LoopFollowSecond Live Activity Extension</span> | <span translate="no">com.TEAMID.LoopFollow.Second.LoopFollowLAExtension</span> |
254+
| <span translate="no">LoopFollowThird</span> | <span translate="no">com.TEAMID.LoopFollow.Third</span> |
255+
| <span translate="no">LoopFollowThird Live Activity Extension</span> | <span translate="no">com.TEAMID.LoopFollow.Third.LoopFollowLAExtension</span> |
147256

148257
- - -
149258

docs/faqs/lf-faqs.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010

1111
This section consolidates version requirements for *LoopFollow* to work with *Loop* and *Trio*, and provides historical context for how remote control has evolved.
1212

13+
It also lists updates to the method for using Browser Build.
14+
15+
### *LoopFollow* Version 6.0 and newer
16+
17+
With the addition of Live Activity to *LoopFollow*, the build directions for browser build were updated.
18+
19+
* If you use Browser Build, your automatic build will fail until you add the new Identifier, create the `LoopFollow App Group` and include the `LoopFollow App Group` in the capabilities for the *LoopFollow* Identifiers.
20+
* Instructions start here: [Add LoopFollow App Group](../build/lf-browser-build.md#create-app-group){: target="_blank" }
21+
1322
### *LoopFollow* and *Loop* Compatibility
1423

1524
| Feature | Minimum Versions Required |
@@ -61,3 +70,4 @@ The APNS credentials only need to be in *Nightscout* if you also use *Nightscout
6170
| 4.0 | *Trio* 0.6 remote control support; share remote configuration via QR code |
6271
| 4.3 | Separate QR codes for *Nightscout* Site, Dexcom Share, Remote Settings, and Alarm Settings |
6372
| 4.6 | Real-time APNS notifications returned from the *Loop* phone (requires *Loop* v3.11.1 or newer) |
73+
| 6.0 | Live Activity added - must use LoopFollow App Group to build<br>see [Add LoopFollow App Group](../build/lf-browser-build.md#create-app-group){: target="_blank" } |

0 commit comments

Comments
 (0)