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
* [Enter the <code>Secrets</code>](prepare-fork.md#enter-the-secrets){: target="_blank" }
104
104
105
105
### New Builder: Add Identifiers Error
106
106
107
-
If you succeeded with Validate Secrets, this should also succeed. If it does not, please skip ahead to [Error: `missing a required attribute`](#error-missing-a-required-attribute).
107
+
If you succeeded with Validate <code>Secrets</code>, this should also succeed. If it does not, please skip ahead to [Action: `Add Identifiers` Error`](#action-add-identifiers-errors).
108
108
109
109
Do not hesitate to [ask a mentor for help](#where-to-get-help-with-browser-build).
110
110
@@ -114,7 +114,7 @@ This is one of the hardest ones to solve. If you are getting this, don't be afra
114
114
115
115
#### This is NOT Your Error
116
116
117
-
When you start this action, GitHub starts a cloud computer to run your job for you. It doesn't have any information about you or your secrets - yet.
117
+
When you start this action, GitHub starts a cloud computer to run your job for you. It doesn't have any information about you or your <code>Secrets</code> - yet.
118
118
119
119
Early in the log file you will see two phrases in red font:
120
120
@@ -152,6 +152,8 @@ Ignore the warnings - this does not affect the build.
152
152
153
153
## Rebuild Errors: Quick Reference
154
154
155
+
> There's a new error to annoy you. We are finding many experienced builders have to [Handle the `FastLane API Key` Error](#handle-the-fastlane-api-key-error). We don't know why, but it is happening a lot, so check out that section if you have already fixed the `Check Upstream and Keep Alive` Error.
156
+
155
157
### `Check Upstream and Keep Alive` Error
156
158
157
159
!!! important "`Check Upstream and Keep Alive` Error"
@@ -343,49 +345,9 @@ For Version 3.4 and later - use [Examine Annotation](#examine-annotation) and re
343
345
344
346
## Action: `Add Identifiers` Errors
345
347
346
-
### Error: `missing a required attribute`
347
-
348
-
This happens if your `FASTLANE_KEY` is invalid. You may have copied it incorrectly or there may be some other reason why the value that you correctly copied from your `p8` file is not working.
349
-
350
-
Copy the words on the line below and paste them into the search function for your action log.
351
-
352
-
> ``` { .text .copy }
353
-
> The provided entity is missing a required attribute - You must provide a value for the attribute
354
-
> ```
355
-
356
-
There were a number of cases recently where the solution was to revoke your `FASTLANE_KEY`, create a new one and then update these two secrets in your organzation, or in every repository if you are using a personal *GitHub* account to build.
357
-
358
-
* `FASTLANE_KEY`
359
-
* `FASTLANE_KEY_ID`
360
-
361
-
Before revoking your key, first make sure that when you saved them to your Secrets Reference file, there was not a mistake. Make sure you are NOT using a smart editor; that can change a small letter to a capital letter. Make sure you did NOT insert or remove a line break and that you copied from the first hyphen to the last hyphen. The 2 keys should look like this:
The `FASTLANE_KEY` can be taken from the `p8` file you downloaded. The other keys are all able to be copied again from your *Apple* Developer account page. See [Copy `API Key Secrets`](secrets.md#copy-api-key-secrets){: target="_blank" }.
379
-
380
-
If you decide to revoke the key and start again, see [Generate `API Key`](secrets.md#generate-api-key){: target="_blank" }. You will need to first revoke the existing `FASTLANE_KEY`:
381
-
382
-
* Select `Edit`
383
-
* Click on the checkbox beside `FASTLANE_KEY`
384
-
* Select `Revoke Key`
385
-
386
-
Then follow the normal steps detailed in that section to generate a new key and save the updated key and key ID in your Secrets Reference file and in your organization or repositories.
348
+
We used to be able to say that if `Validate Secrets` worked then so did `Add Identifiers`. That is still, mostly true, for new builders. But we are finding many experienced builders have to revoke their old `FastLane API Key` and generate a new one to be able to continue building. We don't know why, but it is happening a lot. If you are one of those experienced builders, head over to the [Handle the `FastLane API Key` Error](#handle-the-fastlane-api-key-error).
387
349
388
-
Do not hesitate to [ask a mentor for help](#where-to-get-help-with-browser-build).
350
+
If you are new builder who gets an error at `Add Identifiers`, please [ask a mentor for help](#where-to-get-help-with-browser-build).
389
351
390
352
## Action: `Create Certificates` Errors
391
353
@@ -523,7 +485,7 @@ The full error message is:
523
485
524
486
If you know you entered the incorrect <code>MATCH_PASSWORD</code> in your repository <code>Secrets</code>, go and fix it now and try again.
525
487
526
-
Otherwise, you need to follow the steps to [Reset Match-Secrets](#reset-match-secrets).
488
+
Otherwise, you need to follow the steps to [Delete Match-Secrets](#delete-match-secrets).
527
489
528
490
### Error: Could not create
529
491
@@ -794,37 +756,219 @@ Assuming you have successfully built using the Browser-Build / *GitHub* method b
794
756
{width="500"}
795
757
{align="center"}
796
758
797
-
## Extra Sections
759
+
- - -
760
+
761
+
## Handle the `FastLane API Key` Error
762
+
763
+
We don't know why, but sometimes you have to take these steps to restore your ability to build. Make sure you really need to do this. The symptom is you were previously building successfully and all your license agreements are up to date, but all of a sudden you can no longer build.
764
+
765
+
* Run the `Action: Add Identifiers`
766
+
* If you don't remember how to do that, this [link](identifiers.md#add-identifiers){: target="_blank" } opens in a separate tab with complete instructions
767
+
* If that fails with the error `The provided entity includes an unknown relationship`, then yes - do these steps.
768
+
769
+
After completing the steps, try `Action: Add Identifiers` again and if it works, you can start building again.
770
+
771
+
The steps are:
772
+
773
+
1. [Refresh `FastLane API Key`](#refresh-fastlane-api-key)
774
+
1. [Update Secrets](#update-secrets)
775
+
1. [Delete Match-Secrets](#delete-match-secrets)
776
+
1. [Revoke Extra Distribution Certificate](#revoke-extra-distribution-certificate)
This is a complicated fix. Do not hesitate to [ask a mentor for help](#where-to-get-help-with-browser-build).
781
+
782
+
### Refresh `FastLane API Key`
783
+
784
+
You will [revoke](#revoke-key), [generate](#generate-key) and [save](#download-key-and-save-secrets) a new key with the same name: `FastLane API Key`. It should be available immediately.
785
+
786
+
#### Revoke Key
787
+
788
+
This step is done at the App Store Connect site, click on this [link](https://appstoreconnect.apple.com/access/integrations/api).
789
+
790
+
1. Click on the `Edit` button to open a new window
791
+
2. Select the key you want to revoke (`FastLane API Key`)
792
+
3. Click on the `Revoke Key` button
793
+
4. Click on the `Revoke` button
794
+
795
+
> {width="500"}
796
+
797
+
The key has now been revoked and you can no longer use it.
798
+
799
+
#### Generate Key
800
+
801
+
Continuing on the same [webpage](https://appstoreconnect.apple.com/access/integrations/api), generate a new key.
802
+
803
+
1. Click on either the plus sign or the Generate API Key button to open a new window
804
+
2. Copy the name (below) and paste into the `Name` box
805
+
806
+
```{ .text .copy }
807
+
FastLane API Key
808
+
```
809
+
3. Click in the box where is says start typing and a dropdown list appears - select Admin
810
+
4. Confirm the name and that "Admin" is selected and then click on the `Generate` button.
811
+
812
+
> {width="500"}
813
+
814
+
#### Download Key and Save Secrets
815
+
816
+
Your screen should now look like this where the `Copy Key ID` shows up when you hover your mouse near the `KEY ID` and you can only `Download API Key` one time:
817
+
818
+
> {width="700"}
819
+
{align="center"}
820
+
821
+
**Summary:** You need to download the new key and move it to the special folder where you keep secrets. Your Secrets Reference file should be in the same place. Carefully delete the information from the `FastLane API Key` you just revoked and add the new information for the one you just generated.
822
+
823
+
**Detailed Steps:**
824
+
825
+
You need a new `FASTLANE_KEY_ID` and a new `FASTLANE_KEY`, but the `FASTLANE_ISSUER_ID` is unchanged because that is tied to your developer account. Save your updated Secrets Reference File.
826
+
827
+
1. Find your `AuthKey` downloaded file in your downloads folder and move it to your special folder so you can find it again when you need it.
828
+
The next task is to rename the file so you can open it.
829
+
Highlight the filename and choose rename, then add ".txt" after ".p8". In other words, modify `AuthKey_AAAAAAAAAA.p8` to `AuthKey_AAAAAAAAAA.p8.txt` and click on `Use .txt` when questioned.
830
+
> {width=200}
798
831
799
-
It is unlikely you will need these sections.
832
+
2. Double-click to open the `AuthKey_AAAAAAAAAA.p8.txt` file. It will look similar to the screenshot below. You need to highlight **ALL OF THE CONTENTS** of that file and copy it and then paste it both into your Secrets Reference file and the value for `FASTLANE_KEY_ID` when you [Update Secrets](#update-secrets).
833
+
* **Click inside that file**
834
+
* Highlight **all** the text, and then
835
+
* Copy **all** the text to the clipboard (Cf. screenshot below).
836
+
* On a *Mac*, press ++command+"A"++ to select all, then press ++command+"C"++ to copy the selection.
837
+
* On a **PC**, press ++control+"A"++ to select all, then press ++control+"C"++ to copy the selection.
This is not the first thing to try, but sometimes it is the best approach.
841
+
3. The API Key ID is the 10-character name embedded in the filename: `AuthKey_AAAAAAAAAA.p8.txt`. You can also use the `Copy Key ID` button as mentioned at the [beginning of this section](#download-key-and-save-secrets). Either method, you update the `FASTLANE_KEY_ID` value in both into your Secrets Reference file and the value for `FASTLANE_KEY` when you [Update Secrets](#update-secrets).
804
842
805
-
There might be several reasons to do this:
843
+
Reminder of the format for these two Secrets:
806
844
807
-
* You lost your <code>MATCH_PASSWORD</code> and want to build one of the [Other Apps](other-apps.md)
808
-
* You thought you entered the correct <code>MATCH_PASSWORD</code> but you are getting [Error: Could not decrypt](#error-could-not-decrypt)
809
-
* You are having trouble renewing your certificates after using Browser Build for a year
Refer to graphic below for help. This example is for updating an organization secret. For a personal repository update, there is no step 2. You will be updating 2 different <code>Secrets</code>.
878
+
879
+
1. Tap on the pencil beside the <code>Secret</code> you plan to change; you must change both; the order is not important
880
+
* `FASTLANE_KEY`
881
+
* `FASTLANE_KEY_ID`
882
+
1. Click on the `enter a new value` button if it exists (organization only)
883
+
1. Click in the `Value` box for that <code>Secret</code> and paste in the value
884
+
1. Click on `Save changes`
885
+
886
+
> {width="700"}
887
+
888
+
### Delete `Match-Secrets`
889
+
890
+
This is always required after a new `FastLane API Key` has been generated.
810
891
811
-
These steps are needed to reset your `Match-Secrets`:
892
+
Open the *GitHub* website for your organization or personal account.
893
+
894
+
``` {.text .copy title="If you use an organization" }
895
+
https://github.com/my-name-org/Match-Secrets
896
+
```
897
+
898
+
```{ .text .copy title="If you do not use an organization" }
899
+
https://github.com/my-name/Match-Secrets
900
+
```
812
901
813
902
1. Delete your `Match-Secrets``Repository`
814
-
* Instructions to delete a repository are found at [*GitHub* Docs](https://docs.github.com/en/repositories/creating-and-managing-repositories/deleting-a-repository)
815
-
1. In your fork of LoopWorkspace:
816
-
* This will automatically create a new `Match-Secrets` `Repository` for you
817
-
* Run the `Action`: `Create Certificates`
818
-
* If this fails, click on this link for the most likely [Error: Could not create](#error-could-not-create)
819
-
* If that doesn't help, check all your <code>Secrets</code> and try again
820
-
1. You are now ready to run the `Action`: `Build Loop`
903
+
* Click on Settings
904
+
* Scroll to the bottom (into the Danger Zone)
905
+
* Choose `Delete this repository`
906
+
* Read and follow directions to delete
907
+
2. The next action you run will automatically create a new Match-Secrets repository for you
908
+
909
+
### Revoke Extra Distribution Certificate
910
+
911
+
This step is done at the *Apple* Developer site; click on this [link](https://developer.apple.com/account/resources/certificates/list).
912
+
913
+
If you only have *one* Certificate of the `Distribution` type, similar to the graphic shown below, skip ahead to [Delete Invalid Profiles](#delete-invalid-profiles). Ignore any other types of Certificate. Do not delete them.
914
+
915
+
> 
916
+
917
+
If you have two Certificates that have the `Distribution` type, select the oldest one and delete it.
918
+
919
+
* Carefully examine the Type column - do not delete a Development Certificate
920
+
* If you accidentally delete a Development Type certificate associated with an Xcode build for your app - it will stop working and you will be very sad
921
+
* Click on the oldest Distribution Certificate, select Revoke and confirm. If you have two with the same expiration date. Revoke both.
922
+
923
+
You will get an email informing you the certificate was revoked
924
+
925
+
!!! tip "Navigate with Menu"
926
+
On the left side, you see a menu that indicates Certificates, Identifiers, Keys and Profiles. You can navigate between these items by clicking on the links.
927
+
928
+
* Certificates (this section)
929
+
* Identifiers (you used those when adding the App Group)
930
+
* Keys
931
+
* Access to the *Apple* Push Notification Keys used by people to enable remote control
932
+
* The `FastLane API Key` is at the App Store Connect site - not at this site
933
+
* Profiles (next section)
934
+
935
+
### Delete Invalid Profiles
936
+
937
+
This step is done at the *Apple* Developer site; click on this [link](https://developer.apple.com/account/resources/profiles/list).
938
+
939
+
Your profiles will be displayed. Under the `Expiration` column, you might see an expiration date, even if some of these are invalid because you just revoked a certificate, or you might see `Invalid`.
940
+
941
+
1. Click on the `Edit` button to open a new window
If you can't remember how to run the actions, the link for each opens a separate page with details and graphics.
958
+
959
+
* If [`Action: Add Identifiers`](identifiers.md#add-identifiers){: target="_blank" } fails with the same error as before, you might need to revoke and generate the [`FastLane API Key` again](#refresh-fastlane-api-key). (I had to do it twice when this happened to me.)
960
+
961
+
* If `Action: Add Identifiers` succeeds continue with these two actions:
All DIY iOS apps that have an associated <code>*GitHub* Browser Build</code> method require the same 6 <code>Secrets</code>.
966
+
If these all succeed, you are done with the `FastLane API Key` Error steps.
824
967
825
-
If you add an app to your *GitHub* username (by forking the repository and adding <code>Secrets</code>) and then build it, it encrypts your `Certificate` using `MATCH_PASSWORD`.
968
+
!!! important "Personal *GitHub* Account"
969
+
If you are using a personal *GitHub* account to build instead of an organization, you must update your <code>Secrets</code> for `FASTLANE_KEY_ID` and `FASTLANE_KEY` for each of the repositories.
826
970
827
-
If you already have the other apps configured and then you delete `Match-Secrets` and add a new one, you will need to run `Create Certificates` for each app before the next time you build each app - go ahead and do that now so you don't forget.
971
+
## Other Help Steps
828
972
829
973
### Delete Identifiers
830
974
@@ -848,7 +992,7 @@ The `Identifier` that is associated with the `Loop` identifier cannot be deleted
848
992
{width="700"}
849
993
{align="center"}
850
994
851
-
If coming here because you enter the wrong `TEAMID` in `Secrets` - return to [Rerun Steps with Correct TEAMID](#rerun-steps-with-correct-teamid) when you've deleted as many identifiers as you can.
995
+
If coming here because you enter the wrong `TEAMID` in <code>Secrets</code> - return to [Rerun Steps with Correct TEAMID](#rerun-steps-with-correct-teamid) when you've deleted as many identifiers as you can.
852
996
853
997
After you delete identifiers, you must add them back before you can build a given app. Configure them and build again.
854
998
@@ -858,9 +1002,9 @@ You can use the same GitHub account with a new developer ID. This is an uncommon
858
1002
859
1003
Here are the steps:
860
1004
861
-
1. Update the 4 secrets that are associated with the Apple Account for each repository on the GitHub used for browser build:
1005
+
1. Update the 4 <code>Secrets</code> that are associated with the Apple Account for each repository on the GitHub used for browser build:
862
1006
* TEAMID
863
1007
* FASTLANE_ISSUER_ID
864
1008
* FASTLANE_KEY_ID
865
1009
* FASTLANE_KEY
866
-
1. Once the Secrets are updated, start at the [Identifiers](identifiers.md){:target="_blank"} page and work through the process for each app
1010
+
1. Once the <code>Secrets</code> are updated, start at the [Identifiers](identifiers.md){:target="_blank"} page and work through the process for each app
0 commit comments