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.