Skip to content

fix(ios): add location purpose string to xcodegen project.yml (ITMS-90683)#269

Merged
jlian merged 1 commit into
mainfrom
fix/xcodegen-location-plist
Jul 22, 2026
Merged

fix(ios): add location purpose string to xcodegen project.yml (ITMS-90683)#269
jlian merged 1 commit into
mainfrom
fix/xcodegen-location-plist

Conversation

@jlian

@jlian jlian commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Problem

The 0.6.1 (build 1) TestFlight upload (merge of #268) still triggered ITMS-90683: Missing purpose string in Info.plist for NSLocationWhenInUseUsageDescription, even though #268 added that key to ios/WingDex/Info.plist.

Root cause

CI generates the Xcode project with xcodegen (xcodegen generate in .github/workflows/ios.yml and the release workflow). xcodegen's info.properties block in ios/project.yml regenerates Info.plist from scratch and overwrites the checked-in file. That block listed the camera and photo-library purpose strings but not the location one, so the hand-added key in Info.plist was wiped during the archive, and the uploaded binary shipped without it.

The simulator test build passed because tests don't inspect the plist; only the App Store archive/validation caught it.

Fix

Add NSLocationWhenInUseUsageDescription to the info.properties block in ios/project.yml (the real source of truth). The tracked WingDex/Info.plist already has the key (from #268) and is kept in sync; project.yml was the missing piece.

Verification

  • Next TestFlight upload (build after this merge) does not get ITMS-90683.
  • The generated Info.plist will now contain the location purpose string because xcodegen writes every properties: entry into it.

Follow-up to #268 / #266.

…0683)

PR #268 added NSLocationWhenInUseUsageDescription to WingDex/Info.plist,
but CI runs `xcodegen generate`, which regenerates Info.plist from the
`info.properties` block in project.yml and overwrites the hand-added key.
The 0.6.1 (build 1) TestFlight upload therefore still shipped without the
string and got ITMS-90683 again.

Add the key to project.yml (the real source of truth) so the generated
Info.plist -- and the archived binary -- includes it.

Verified: git-tracked WingDex/Info.plist already has the key (harmless,
kept in sync); project.yml was the missing piece.
Copilot AI review requested due to automatic review settings July 22, 2026 01:43
@jlian jlian added the bug Something isn't working label Jul 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes an App Store Connect validation failure (ITMS-90683) by ensuring the location purpose string is included in the Xcodegen-generated Info.plist, so the archived binary contains NSLocationWhenInUseUsageDescription even when the checked-in Info.plist is overwritten during CI builds.

Changes:

  • Add NSLocationWhenInUseUsageDescription to ios/project.yml under Xcodegen info.properties, aligning the generated plist with the checked-in ios/WingDex/Info.plist.

@jlian
jlian merged commit 20eb805 into main Jul 22, 2026
4 checks passed
@jlian
jlian deleted the fix/xcodegen-location-plist branch July 22, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants