axiom-background-processing-diag
Symptom-based background task troubleshooting - decision trees for 'task never runs', 'task terminates early', 'works in dev not prod', 'handler not called', with time-cost analysis for each diagnosis path
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Symptom-based background task troubleshooting - decision trees for 'task never runs', 'task terminates early', 'works in dev not prod', 'handler not called', with time-cost analysis for each diagnosis path
How to use
Zainstaluj umiejętność w swoim projekcie Claude/Copilot, wskazując repozytorium GitHub CharlesWiltgena (axiom-background-processing-diag).
Zidentyfikuj symptom problemu — wybierz jeden z czterech głównych scenariuszy: zadanie nigdy się nie uruchamia, zadanie kończy się przedwcześnie, działa lokalnie ale nie w produkcji, lub handler nie jest wywoływany.
Dla symptom "Task Never Runs" (zadanie się nie uruchamia) wykonaj szybką diagnostykę w ciągu 5 minut: sprawdź plik Info.plist pod kątem poprawnego identyfikatora w BGTaskSchedulerPermittedIdentifiers, upewnij się że UIBackgroundModes zawiera "fetch" lub "processing", oraz zweryfikuj że identyfikatory są identyczne (uwzględniając wielkość liter) między plikiem konfiguracji a kodem.
Sprawdź timing rejestracji — upewnij się że rejestracja handlera odbywa się w didFinishLaunchingWithOptions i że poprzedza pierwszy submit(). Zweryfikuj również stan aplikacji: czy aplikacja została usunięta z App Switcher (co blokuje zadania w tle) lub czy Background App Refresh jest wyłączony w ustawieniach urządzenia.
Jeśli szybka diagnostyka nie wyjaśni problemu, użyj LLDB do symulacji uruchomienia — polecenie _simulateLaunchForTaskWithIdentifier pozwala potwierdzić czy handler jest poprawnie zarejestrowany. Jeśli breakpoint zostanie trafiony, rejestracja jest prawidłowa i problem leży gdzie indziej.
Konsultuj tabelę Time-Cost Analysis w umiejętności aby wybrać najbardziej efektywne podejście — sprawdzenie Info.plist zajmuje 5 minut i rozwiązuje 70% problemów, podczas gdy dodanie logowania konsolowego zajmuje 15 minut ale osiąga 90% skuteczność.