You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/build/testflight-xcode.md
+56-18Lines changed: 56 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,33 @@
1
1
## Introduction
2
2
3
-
There are several different methods for making use of TestFlight:
3
+
There are several different methods for making use of *TestFlight*:
4
4
5
5
* Test an app someone else is developing
6
6
* Use the [Build with Browser](../browser/bb-overview.md) method to build and distribute your Loop app to your iPhone or that of a family member
7
7
* Use *TestFlight* as a remote distribution (and backup) for an app you build using *Xcode*
8
8
9
9
This guide can also be followed to install other apps you build with *Xcode* via *TestFlight*. Examples include <code>LoopFollow</code>, <code>LoopCaregiver</code> and <code>xDrip4iOS</code>.
10
10
11
-
Some useful features of using TestFlight to install Loop:
11
+
Some useful features of using *TestFlight* to install Loop:
12
12
13
13
* You don't need to plug your phone into your computer
14
14
* You can update Loop on your kid's phone while they're away at college
15
15
* Reinstalling Loop on the fly is quick and easy from your phone, even if you accidentally delete the app, see [Protect that App](build-app.md#protect-that-app), or need to install Loop on a brand new phone
16
16
17
-
Since apps built with TestFlight expire after 90 days, it is suggested you also setup a build using the [Build with Browser](../browser/bb-overview.md) method even if you don't plan on using it. The GitHub build can be updated in a few minutes from any browser and is an extra layer of protection in these scenarios if you do not have access to your Mac for a rebuild:
17
+
Since apps built with *TestFlight* expire after 90 days, it is suggested you also setup a build using the [Build with Browser](../browser/bb-overview.md) method even if you don't plan on using it. The GitHub build can be updated in a few minutes from any browser and is an extra layer of protection in these scenarios if you do not have access to your Mac for a rebuild:
18
18
19
-
* Your Xcode built Loop in TestFlight expires
19
+
* Your Xcode built Loop in *TestFlight* expires
20
20
* An urgent update to Loop is released
21
21
22
-
In all cases, except accidental deletion of Loop or loss of phone, the Loop you install from TestFlight builds over your existing app and you keep all your settings including your pump.
22
+
In all cases, except accidental deletion of Loop or loss of phone, the Loop you install from *TestFlight* builds over your existing app and you keep all your settings including your pump.
23
23
24
-
## Build to TestFlight via Xcode
24
+
- - -
25
+
26
+
## Build to *TestFlight* via Xcode
25
27
26
28
### Initial Steps
27
29
28
-
Before creating the app or uploading it to *TestFlight*, use the [Build with *Mac*](../build/overview.md) guide to [sign your targets](../build/build-free-loop.md#select-signing-capabilities-tab) and build Loop to a [simulator phone](../build/build-free-loop.md#build-to-a-simulator) in Xcode. This checks to ensure the app you upload to your TestFlight will work as expected.
30
+
Before creating the app or uploading it to *TestFlight*, use the [Build with *Mac*](../build/overview.md) guide to [sign your targets](../build/build-free-loop.md#select-signing-capabilities-tab) and build Loop to a [simulator phone](../build/build-free-loop.md#build-to-a-simulator) in Xcode. This checks to ensure the app you upload to your *TestFlight* will work as expected.
29
31
30
32
### Archive the Project
31
33
@@ -41,6 +43,8 @@ Now go to the top menu and choose **Product > Clean Build Folder**. Once it's do
41
43
42
44
Go back to the top menu and choose **Product > Archive**. This will build Loop into a file rather than a phone or simulator. It should take about the same amount of time as building to a phone or simulator does.
43
45
46
+
- - -
47
+
44
48
## Upload the Archive
45
49
46
50
Once the archive finishes building, it should automatically open the **Archives** window. If you want to open this window without re-archiving, click the following in the top menu: **Xcode > Window > Organizer**.
@@ -62,12 +66,12 @@ On the next screen, **Upload** is selected by default. Click **Next**.
62
66
63
67
### First-Time Archive Upload
64
68
65
-
If you have already created a TestFlight for Loop via Xcode or the GitHub Build method, the next screen will not be shown, so skip ahead to [Subsequent Archive Upload](#subsequent-archive-upload).
69
+
If you have already created a *TestFlight* for Loop via Xcode or the GitHub Build method, the next screen will not be shown, so skip ahead to [Subsequent Archive Upload](#subsequent-archive-upload).
66
70
67
-
If this is the first time you're creating a TestFlight for Loop, enter the following on the next screen and click **Next**:
71
+
If this is the first time you're creating a *TestFlight* for Loop, enter the following on the next screen and click **Next**:
68
72
69
73
***Name:** Enter a name that is unique. Most people just use "Loop" followed by their initials, so James Kirk would use "LoopJK". If he gets an error that the name is already taken, he might try something like "LoopJTK" or "Loop_JTK_1701".
70
-
***SKU:** This can be anything, but it can't be the same SKU that you've used for a different app that you've created a TestFlight for. Ideally, just leave it as the autofilled bundle id.
74
+
***SKU:** This can be anything, but it can't be the same SKU that you've used for a different app that you've created a *TestFlight* for. Ideally, just leave it as the autofilled bundle id.
71
75
***Primary Language:** Set this to your primary language.
72
76
***Bundle Identifier:** This should already be autofilled. If it's not, it should be "com.YOUR_TEAM_ID.loopkit.Loop". Make sure you replace YOUR_TEAM_ID with your actual TEAM ID, which you can find at [developer.apple.com/account](https://developer.apple.com/account).
73
77
@@ -96,22 +100,56 @@ Wait until uploading is finished. Don't be alarmed if you see the following scre
96
100
{width="700"}
97
101
{align="center"}
98
102
103
+
- - -
104
+
99
105
## Deploy App
100
106
101
-
Now that it's uploaded to TestFlight, it will take a little bit before it finishes processing and becomes available for installation on your iPhone. You can check [appstoreconnect.apple.com/apps](https://appstoreconnect.apple.com/apps) to find it's progress by clicking **Test Flight** and then **iOS** under **Builds** in the upper left. Once it no longer says "Processing" and instead says "Ready to Submit" next to the build's number, it should be available and ready to install on your iPhone.
107
+
Now that your app is uploaded to *TestFlight*, it will take some time before it finishes processing and becomes available for installation on your iPhone.
108
+
109
+
* You can check [appstoreconnect.apple.com/apps](https://appstoreconnect.apple.com/apps) to find its progress by clicking **Test Flight** and then **iOS** under **Builds** in the upper left.
110
+
* Once it no longer says "Processing" and instead says "Ready to Submit" next to the build's number, it should be available and ready to install on your iPhone.
111
+
* The processing is normally done within half-hour but sometimes *Apple* gets slowed down; be sure to refresh your browser to see if processing completed since the last time you checked
102
112
103
113
{width="700"}
104
114
{align="center"}
105
115
106
-
To install Loop from TestFlight onto your iPhone, follow the instructions on the [GitHub Deploy](../browser/phone-install.md) page.
116
+
### First Time with *TestFlight*
107
117
108
-
## Update App
118
+
If you are a repeat user of *TestFlight*, skip ahead to [Install App from *TestFlight*](#install-app-from-testflight).
119
+
120
+
When you use *TestFlight* to distribute the app to yourself or a family member, you create an Internal *TestFlight* Group.
121
+
122
+
* You will add yourself - your email address will already be available
123
+
* If you want to add others, you must add the email addresses for these users. Each email address must match that associated with each Apple account
124
+
* This group can be edited as needed to add or remove members
125
+
126
+
> If one of your users is a child, you or another adult will need to log into the `Media & Purchases` portion of their phone to install and use *TestFlight* and to install each new build of the app from *TestFlight*. Do not try to add a child to your Internal *TestFlight* Group.
127
+
128
+
This link provides the instruction you need as a first-time *TestFlight* user.
Apps installed via TestFlight are only valid for a maximum of 90 days, so you must upload a new build to TestFlight at least every 90 days.
132
+
You must also install the *TestFlight* app on the phone of the person who will be using the app you just built.
111
133
112
-
To update, simply repeat all the steps on this page.
134
+
* Follow the instructions at [Install *TestFlight*](../browser/phone-install.md#install-testflight){: target="_blank" }
135
+
136
+
Continue with the next section, which covers the steps needed for each new *TestFlight* build.
137
+
138
+
### Install App from *TestFlight*
139
+
140
+
The members of your Internal *TestFlight* group are notified via email each time a new build is available. They can choose to install the new build of the app from *TestFlight*.
141
+
142
+
* Follow the instructions at [Install App with *TestFlight*](../browser/phone-install.md#install-app-with-testflight){: target="_blank" }
143
+
144
+
When installing the app for a child, there are additional instructions.
145
+
146
+
*[*TestFlight* for a Child](../browser/phone-install.md#testflight-for-a-child){: target="_blank" }
147
+
148
+
149
+
- - -
150
+
151
+
## Update App
113
152
114
-
!!! warning "Add a Calendar Reminder"
115
-
Note that the built-in Loop Notification for expiration has not been modified to read TestFlight expiration, yet.
153
+
Apps installed via *TestFlight* are only valid for a maximum of 90 days, so you must upload a new build to *TestFlight* at least every 90 days.
0 commit comments