>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Swift

Jak Przestać Dręczyć Xcode i Zacząć Żyć z DebugSwift

Brzmi znajomo: testujesz aplikację na fizycznym urządzeniu z dala od biurka i nagle — pojawia się błąd. Albo żądanie sieciowe zwraca 500, ale nie widzisz treści błędu. Musisz wrócić do komputera, podłączyć kabel, uruchomić Xcode i spróbować odtworzyć problem. A jeśli to jest błąd sporadyczny? W takich momentach marzysz o konsoli deweloperskiej w kieszeni.

Dzisiaj przyjrzymy się DebugSwift — potężnemu zestawowi narzędzi, który zamienia Twoją aplikację iOS w pełnowartościowe laboratorium debugowania. To nie jest tylko „kolejny logger", ale kompleksowe narzędzie zapewniające dostęp do żądań sieciowych, hierarchii widoków, a nawet bazy danych bezpośrednio w działającej aplikacji.

Main Preview

Czym jest DebugSwift i dlaczego go potrzebujesz

DebugSwift to open-source'owa biblioteka dla deweloperów Swift, która osadza ukryte menu debugowania w Twojej aplikacji. Pomyśl Chrome DevTools, ale dla iOS. Projekt zaczerpnął najlepsze pomysły z takich narzędzi jak CocoaDebug i DBDebugToolkit, ale ze szczególnym naciskiem na nowoczesny Swift 6 i natywne wsparcie dla Apple Silicon.

Główną zaletą jest autonomiczność. Możesz przekazać build testerowi lub klientowi, a jeśli coś pójdzie nie tak, może on samodzielnie sprawdzić logi, zbadać ruch sieciowy, a nawet zrobić zrzut ekranu hierarchii widoków — bez Twojej pomocy.

Pięć powodów, dla których warto dodać DebugSwift do swojego projektu

1. Inspektor sieci na sterydach

Monitorowanie ruchu to fundament. DebugSwift przechwytuje wszystkie żądania i odpowiedzi HTTP, pięknie formatuje JSON i podświetla składnię. Ale są też „funkcje zabójcy":

  • Inspektor WebSocket: Automatycznie śledzi ramki bez dodatkowej konfiguracji.
  • Dekryptowanie w locie: Jeśli backend dostarcza zaszyfrowane dane (AES-256/128), możesz zarejestrować klucz w DebugSwift, a inspektor pokaże Ci czysty tekst.
  • Filtrowanie: Możesz ukryć żądania analityczne, aby nie zaśmiecały loga.

Network

2. Wizualna inspekcja interfejsu

Czasami musisz zrozumieć, dlaczego widok przesunął się o kilka pikseli. DebugSwift ma wbudowany inspektor hierarchii 3D (podobny do tego w Xcode, ale działający bezpośrednio w aplikacji).

  • Nakładka siatki: Nakłada siatkę do sprawdzania wyrównania.
  • Spowolnione animacje: Spowalnia animacje, aby zbadać każdą klatkę przejścia.
  • Śledzenie renderowania SwiftUI: Funkcja eksperymentalna, która podświetla komponenty SwiftUI podlegające ponownemu renderowaniu. Jest nieoceniona przy optymalizacji wydajności.

UI Hierarchy

3. Polowanie na wycieki pamięci

Zapomniany strong reference w closure — klasyk. DebugSwift monitoruje ViewControllers i Views w czasie rzeczywistym. Jeśli obiekt powinien zostać usunięty z pamięci, ale tam pozostał, narzędzie podnosi alarm. Jest też widżet wydajności pokazujący FPS, obciążenie CPU i użycie pamięci nałożone na Twój interfejs.

4. Dostęp do wnętrza aplikacji

Koniec z pisaniem print(UserDefaults.standard.dictionaryRepresentation()). W sekcji Zasoby możesz:

  • Przeglądać i edytować UserDefaults i Keychain.
  • Przeglądać pliki w Sandbox i App Groups.
  • Inspekcjonować bazy danych SQLite i Realm.
  • Kopiować token APNS jednym przyciskiem (ile czasu na tym zaoszczędziliśmy!).

5. Akcje niestandardowe

To moja ulubiona część. Możesz dodać własne przyciski do menu debugowania. Na przykład: „Wyczyść cache

Powiązane projekty