46 lines
2.1 KiB
Plaintext
46 lines
2.1 KiB
Plaintext
JQC iOS — FIX for App Store Connect error 90771
|
|
===============================================
|
|
Missing Info.plist value: BGTaskSchedulerPermittedIdentifiers
|
|
|
|
This supersedes the Info.plist from the previous background-sync drop.
|
|
The Swift files from that drop are unchanged and still correct.
|
|
|
|
OVERWRITE:
|
|
JanitorialQC/Info.plist <- now has BOTH keys, as arrays
|
|
JanitorialQC.xcodeproj/project.pbxproj <- removes 2 inert lines
|
|
JanitorialQC/CLAUDE.md
|
|
|
|
WHAT WAS WRONG
|
|
INFOPLIST_KEY_BGTaskSchedulerPermittedIdentifiers = com.jqc.sync
|
|
was set in build settings (Debug + Release). INFOPLIST_KEY_* only merges
|
|
Xcode's recognised keys, and only as STRINGS.
|
|
BGTaskSchedulerPermittedIdentifiers must be an ARRAY, so nothing valid ever
|
|
reached the built Info.plist. It went unnoticed until UIBackgroundModes was
|
|
added, which is what makes the App Store validator check for it.
|
|
|
|
pbxproj CHANGE IS EXACTLY 2 LINE DELETIONS (verified by diff):
|
|
line 419 (Debug) INFOPLIST_KEY_BGTaskSchedulerPermittedIdentifiers = com.jqc.sync;
|
|
line 463 (Release) INFOPLIST_KEY_BGTaskSchedulerPermittedIdentifiers = com.jqc.sync;
|
|
Nothing else touched. If you prefer not to take a pbxproj file, delete those
|
|
two lines by hand, or in Xcode: target > Build Settings > search "BGTask" >
|
|
select the row > Delete.
|
|
|
|
DO NOT put that build setting back. A build setting overwrites the plist
|
|
file's value at merge time and the array becomes a string again.
|
|
|
|
BUILD + VERIFY BEFORE UPLOADING
|
|
1. Product > Clean Build Folder (Shift-Cmd-K)
|
|
2. Product > Archive
|
|
3. In Organizer: right-click the archive > Show in Finder >
|
|
Show Package Contents > Products/Applications/JanitorialQC.app
|
|
plutil -p JanitorialQC.app/Info.plist | grep -A3 -E "BGTask|UIBackground"
|
|
EXPECT:
|
|
"BGTaskSchedulerPermittedIdentifiers" => [ 0 => "com.jqc.sync" ]
|
|
"UIBackgroundModes" => [ 0 => "processing" ]
|
|
Both must be arrays. If either shows a bare string, stop - the build
|
|
setting is back.
|
|
4. Then upload. Error 90771 should be gone.
|
|
|
|
5. On device, confirm the console shows NO
|
|
"[JQC] BGTaskScheduler.register FAILED" line at launch.
|