Repository navigation
Conversation
A tag ios-v1.2.3, or a manual run, archives the app with Xcode 27 on GitHub's xcode-27 image, signs it with Sourceful's team through an App Store Connect API key and uploads it with method app-store-connect and destination upload. The version comes from the tag, the build number from the run. Without the ASC_* secrets, and on every pull request, it archives unsigned and says the upload was skipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The upload needs an Admin API key, because only Account Holder and Admin may use cloud-managed distribution certificates. A repository secret would let any branch's workflow read it, so the job takes its secrets from the app-store environment, which only main and ios-v* tags may use. Pull requests run without the environment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RELEASING.md lists, in order, what someone in team L66M368PZ6 does in App Store Connect and on GitHub before the first upload: app record and name, EU trader status, App Privacy, export, age rating, price, countries, the API key, TestFlight and the review. store/ holds the product page in English and Swedish, the App Review notes for the demo, and check.sh, which holds each text to Apple's limits. scripts/store-screenshots.sh takes the 6.9" pictures from the demo in its own simulator. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In the simulator it shows a button a phone does not have. Wait 12 s so the charging picture shows the car charging, not starting. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RELEASING.md now starts with installing from Xcode on a connected iPhone (Developer Mode, an Apple Account in Xcode, xcodebuild and devicectl), then internal TestFlight, which needs no Beta App Review: the agreement, the app record, an Admin key in plain repository secrets, a tag, and a tester group. External TestFlight and the App Store follow. The workflow accepts tags like ios-v0.1.0-1: text after a dash only tells tags apart. If Xcode's upload fails, it exports the .ipa and sends it with `altool --upload-package`, which Apple's "Upload builds" help still lists. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#13 sets ITSAppUsesNonExemptEncryption to NO and adds privacy manifests with no collected data. RELEASING.md now gives the matching App Store Connect answers ("None of the algorithms mentioned above", "Data Not Collected"), #13's reading of US and French encryption rules, and the choice about the relay's error log. The App Review notes say where the privacy link is and that there is no account to delete. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fredrik decided that France waits until the ANSSI encryption declaration is filed. RELEASING.md now removes France under Pricing and Availability, keeps China out for want of an ICP filing, and adds a step for the declaration, with ANSSI's forms page, before France is added back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
Included in #14, which lands the whole iPhone M1 app as one PR. The branch stays. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The path from a tag to TestFlight and the App Store for the iPhone app, and the steps a person takes in App Store Connect. Paired with srcfl/ftw-web#18, which adds the privacy and support pages the store texts point to. Base: #8.
What is here
.github/workflows/ios-release.ymlios-v1.2.3(orios-v1.2.3-1,-2…: text after a dash only tells tags apart) or a manual run:swift test, archive with Xcode 27.0 on GitHub'sxcode-27image, sign with teamL66M368PZ6through an App Store Connect API key, upload. If Xcode's upload fails, it exports the.ipaand sends it withxcrun altool --upload-package. Version from the tag; build number from the run (.2on a re-run). SetsFTW_SOURCE_REVISION=$GITHUB_SHA. Checks that the app and the widget carry the same version.appleApp/ExportOptions.plistmethod: app-store-connect,destination: upload, automatic signing, version left alone.appleApp/RELEASING.mdxcodebuild,devicectl), then internal TestFlight (no Beta App Review), then external TestFlight and the App Store.appleApp/store/en-USandsv-SE; App Review notes for the demo;check.shholds each text to Apple's limits.appleApp/scripts/store-screenshots.shNo app code,
FTW-Info.plist,FTW.xcconfig,project.pbxprojorapple.ymlchanges.Proven
xcode-27-arm6420261006.0244.1, Xcode 27.0 (27A266a), 95 tests green, unsigned Release archive,0.1.0 (1)andiphoneos27.0in bothFTW.appandFTWWidgets.appex, then "Upload skipped".store/check.shpasses for both languages.store-screenshots.shproduced six 1320 × 2868 pictures locally.Not proven: a signed upload. That needs the key, which only someone in the team can make.
Differences from the brief
ASC_KEY_P8is the.p8PEM text, not base64). Because an Admin key can do much more, the job also reads them from anapp-storeenvironment, which RELEASING.md suggests limiting tomainandios-v*tags. Pull requests run without it.ExportOptions.plist. Those runs are always dry runs, so a change to the release path is tested before it ships.store/review-notes.txt), since App Store Connect has one Notes field for every language.For Fredrik to decide or do
ftw.energyhas no address record, and the Pages project serves onlyftw.sourceful.energy. Add the custom domain (RELEASING.md step 1), or the privacy and support URLs fail review.app.ftw.energy/.well-known/apple-app-site-associationanswers 404 (Publish the apple-app-site-association file for the iPhone app ftw-webapp#77).support@sourceful.energyfrom sourceful.energy/contact. No phone number is published, and Apple wants one for the support URL and DSA.Waiting on other branches
ITSAppUsesNonExemptEncryptiontoNO, adds the privacy manifests,FTW_SOURCE_REVISIONand the in-app privacy link (guideline 5.1.1(i)). RELEASING.md and the review notes match its answers.claude/ios-m1-car97b5048 merged withios-m1-widgets815215c, before the car session's latest work. The demo's car card also says "FTW assumes 20 %" while it shows 46 %.🤖 Generated with Claude Code