fix(ios): add location purpose string to xcodegen project.yml (ITMS-90683)#269
Merged
Conversation
…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.
Contributor
There was a problem hiding this comment.
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
NSLocationWhenInUseUsageDescriptiontoios/project.ymlunder Xcodegeninfo.properties, aligning the generated plist with the checked-inios/WingDex/Info.plist.
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.
Problem
The 0.6.1 (build 1) TestFlight upload (merge of #268) still triggered
ITMS-90683: Missing purpose string in Info.plistforNSLocationWhenInUseUsageDescription, even though #268 added that key toios/WingDex/Info.plist.Root cause
CI generates the Xcode project with xcodegen (
xcodegen generatein.github/workflows/ios.ymland the release workflow). xcodegen'sinfo.propertiesblock inios/project.ymlregeneratesInfo.plistfrom 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 inInfo.plistwas 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
NSLocationWhenInUseUsageDescriptionto theinfo.propertiesblock inios/project.yml(the real source of truth). The trackedWingDex/Info.plistalready has the key (from #268) and is kept in sync;project.ymlwas the missing piece.Verification
Info.plistwill now contain the location purpose string because xcodegen writes everyproperties:entry into it.Follow-up to #268 / #266.