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.
