Skip to content

Commit

Permalink
Merge pull request #803 from marionbarker/working-docs
Browse files Browse the repository at this point in the history
Update information about renew certs and app crashing
  • Loading branch information
marionbarker authored Feb 24, 2024
2 parents b79b174 + 2c803d3 commit e74d99c
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 49 deletions.
2 changes: 1 addition & 1 deletion docs/build/overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Build with *Mac* Requirements

The complete requirements for building Loop with a *Mac* and *Xcode* are given in the next two sections. The first list contains the common requirements that are the same regardless of build method. The second list contains the additional requirements for building with a Mac and Xcode.
The complete requirements for building Loop with a *Mac* and *Xcode* are summarized below. The first list contains the common requirements that are the same regardless of build method. The second list contains the additional requirements for building with a Mac and Xcode.

Each requirement in the list is linked to the LoopDocs pages with more information.

Expand Down
9 changes: 7 additions & 2 deletions docs/gh-actions/gh-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,14 @@ If you need detailed instructions, click on this [<code>Apple Program License Ag

#### Manual Steps to Renew Your `Distribution Certificate`

!!! warning "Delete and Create"
**Do not miss the final step in this section. After you delete certificates, you must run the Action for `Create Certificates` before you can build an app again.**

1. Use this link to view your [Apple Developer Certificates](https://developer.apple.com/account/resources/certificates/list){: target="_blank" }
* If your screen shows no Certificates and you see a message "Getting Started with Certificates", your certificate already expired and was removed by *Apple*; so skip ahead to Step 2: Navigate to your `Match-Secrets` Repository
* Carefully examine the `Type` column - do **not** delete a `Development Certificate`
* If you do not have any rows that say `Distribution Certificate`, your certicate already expired and was removed by *Apple*; so skip ahead to Step 2
* If you do not have any rows that say `Distribution Certificate`, your certificate already expired and was removed by *Apple*; so skip ahead to Step 2
* If your certificate has an expiration date several months in the future - you can wait and renew your certificate later; skip ahead to [Update `Fork`](#update-fork)
* Click each row that has a `Distribution Certificate` and revoke it
* You will get an email informing you the certificate was revoked
1. Navigate to your `Match-Secrets` Repository
Expand All @@ -130,7 +135,7 @@ If you need detailed instructions, click on this [<code>Apple Program License Ag
{align="center"}

1. In your fork of LoopWorkspace:
* Run the `Action`: `Create Certificates`
* Run the [`Action`: `Create Certificates`](gh-first-time.md#create-certificates){: target="_blank" }

!!! question "Deleting the certs/distribution folder did not work for me"
Some people reported trouble with this step. The other option is to delete and create a new `Match-Secrets` repository: see [Reset `Match-Secrets`](gh-errors.md#reset-match-secrets){: target="_blank" }
Expand Down
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ This site shows you step-by-step how to [**build**](intro/requirements.md){: tar
In order to become proficient with the app, you should learn the information on this site. Consider doing this over a period of time and reviewing the materials more than once.

* You should test and perhaps adjust your settings to be successful with the *Loop* app (or any hybrid closed-loop system)
* You will find links as you read to a robust volunteer support community
* As you read the documentation, you will find links to a robust volunteer support community
* Introduce yourself
* Don't be afraid to ask questions, just let us know where in the documentation you got confused so we can make improvements

There is a common saying in our community:

Expand Down
67 changes: 22 additions & 45 deletions docs/troubleshooting/loop-crashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,35 @@

If your Loop app crashes immediately upon opening, you have a problem that needs to be fixed. What do I mean by "crashes"? Your Loop app immediately turns to a white (light mode) or black (dark mode) screen and then shuts itself down, landing you back at your iPhone's main screen. No amount of tapping will let you keep your Loop app open.

* If you built Loop 3.0.0 or just updated the iOS while running Loop 3.0.0
* The most likely cause is the "[Apple Health Glitch](#apple-health-glitch)"
* This problem was fixed in Loop 3.2.0 so update as soon as possible
* If you are running Loop 2.2.x:
* The most likely cause of this is your [Loop App Expired](#loop-app-expired)
The most likely reason is [Your *Loop* App Expired](#your-loop-app-expired). But there can be other reasons.

## Apple Health Glitch
* If you just updated your phone from iOS 16 to iOS 17 (or a similar major phone update), *Apple* spends a lot of time indexing your Apple Health data
* Many people report 5 to 30 minutes during which they cannot open the *Loop* app but they also cannot open *Apple Health*
* Wait until you can open *Apple Health* and then try to open the *Loop* app again
* If you still can't stop the crashes, see [Other Reasons](#other-reasons) and be sure to save the crash log

With Loop version 3.0.0, there is a known glitch that is fixed in the development (dev) branch and thus will be fixed in the next Loop release.
## Your *Loop* App Expired

### Solution
Your Loop app has an expiration date. The expiration date will depend on the build method and may also depend on the type of developer account that signed the app.

Long term solution, build Loop 3.2.x or newer version.
* If you build with [Browser Build](#browser-build), your app will expire after 3 months
* If you build with a [Mac using a paid account](#mac-using-a-paid-account-1-year), your app will expire after 12 months
* If you build with a [Mac using a free account](#mac-using-personal-team-7-day), your app will expire after 7 days

Short term solution if the Loop app crashes following a update to version 3.0.0 or an iOS update:
### Browser Build

1. Turn **off** Apple Health permissions for Loop
* Tap on iOS Settings
* Tap on Health (:heart: icon)
* Tap on Data Access & Devices
* Tap on Loop
* Tap on `Turn Off All`
1. Return to phone main screen and open Loop
1. Loop app should now open without issue
1. Turn **on** Apple Health permissions for Loop
* Tap on iOS Settings
* Tap on Health (:heart: icon)
* Tap on Data Access & Devices
* Tap on Loop
* Tap on `Turn On All`
With the current version, 3.2.3, you unfortunately do not get prior warning that the app is about to expire, although you can look in the *TestFlight* app and it will tell you. An in-app warning will be added to the next release.

Loop 3 has a data store that contains all Looping information for 7 full days. So there will be no loss of Loop information stored in Apple Health by taking this action - so long as permissions are restored.
Please follow these steps to ensure you can build the app again. [How to Update or Rebuild](../gh-actions/gh-update.md#how-to-update-or-rebuild){: target="_blank" }

!!! note "More Details - if you are interested"
After an iOS update, the phone goes through a new indexing process, which Apple warns can slow down performance and increase battery usage over the first few hours.

Starting with iOS 16.2, the Apple Health Glitch with Loop was observed by some users. The anchor that Loop uses to correlate an item in its data store with that same item stored Apple Health was sometimes "lost". The way Loop handled that "took too long" to resolve and the app would be closed by the operating system. The work-around shown above fixes this for Loop 3.0.0.

Starting with Loop 3.2.0, a modification for handling of anchors was added, so the process is transparent to the user.

## Loop App Expired

Your Loop app has an expiration date. The expiration date will depend on the type of developer account that signed the app.

* If you build with a paid account, your app will expire after 12 months.
* If you build with a free account, your app will expire after 7 days.

### Paid account (1 year)
### Mac using a Paid account (1 year)

When your app expires after a year, you need to follow the steps on the [Build Updating](../build/updating.md) page. Your phone will probably have a new iOS that may require an updated version of Xcode that may require an updated Mac operating system. All this is explained in the link above. Give yourself time before expiration to prepare yourself.

To make it easy to build when you **have** to, practice building every 3 to 6 months. This makes the process much lower stress. Also, each time you build, when you follow the link above, you give yourself another full year before rebuilding is **required**. Please review the [Updating FAQS](../faqs/update-faqs.md)
To make it easy to build when you **have** to, practice building every 3 to 6 months. This makes the process much lower stress. Also, each time you build, when you follow the link above, you give yourself another full year before rebuilding is **required**. Please review the [Updating FAQS](../faqs/update-faqs.md).

### Personal Team (7 day)
### Mac using Personal Team (7 day)

When your app expires, you simply need to open Xcode, reopen the project: File->Open Recent, plug your phone back into the computer and select it in Xcode and press the play button on your project again. This will rebuild. If you want to change to a paid signing team before rebuilding, please make sure to double-check which signing team is selected before building again.

Expand All @@ -75,10 +50,12 @@ Remember that switching from free to paid changes the developer name incorporate
* The new app issue only happens if you change developer name
* As long as you stick with the same developer ID, updated Loop apps are built over existing apps and all your settings should be maintained

### Save and Submit your Crash Logs
If you have continuous crashes, please save the crash logs so the developers can look at it. If you can, log into [Zulipchat](https://loop.zulipchat.com/) and post it directly.
The crash logs can be found under Settings --> Privacy & Security --> Analytics & Improvements --> Analytics Data. Scroll to find the file Loop_<DateTime>.ips for crash reports.

## Other reasons

If you experience a crash for any other reason, please gather all the information you can about what was happening before the crash and report it to your favorite [Loop Social Media](../intro/loopdocs-how-to.md#how-to-find-help) help site - you will need to get some personalized help. Please - choose one site for your post and wait for someone to get back to you. While you are waiting, search on any of the sites and, if on Facebook, read all the announcements.

### Save and Submit your Crash Logs
If you have continuous crashes, please save the crash logs so the developers can look at it. If you can, log into [Zulipchat](https://loop.zulipchat.com/) and post it directly.

* The crash logs can be found under Settings --> Privacy & Security --> Analytics & Improvements --> Analytics Data
* Scroll to find the file Loop_`DateTime`.ips for crash reports

0 comments on commit e74d99c

Please sign in to comment.