Tüm açık kaynak paketler
AraçlarSwift

iOSDevelopmentTools

Uygulamanın network isteklerini, loglarını ve cihaz durumunu uygulama içi bir konsolda incele; gizli değerler maskelenmiş olarak.

4YıldızSon Sürüm: v2.0.0 · Güncellendi: 15 Ekim 2026
Platformlar:iOS 17macOS 14

Lisans: MIT

iOS 17+ ve macOS 14+ için bağımlılıksız bir Swift paketi: uygulamanın URLSession ile yaptığı istekleri kaydeder, log mesajlarını tutar, bir cihaz raporu toplar ve üçünü de sallama, buton ya da pencereyle açılan bir SwiftUI konsolunda gösterir. Parolalar, token'lar, cookie'ler ve API anahtarları hiçbir şey saklanmadan önce maskelenir; istekler cURL komutu ya da HAR dosyası olarak paylaşılabilir. Debug ve test build'leri için tasarlandı, Swift 6 strict concurrency ile yazıldı.

Özellikler

  • Tek satırla kayıt: NetworkCapture.start(), URLSession.shared'ı ve sonradan default ya da ephemeral configuration'dan oluşturulan her session'ı kaydeder; yanıtlar uygulamaya değişmeden ulaşır
  • Saklamadan önce maskeleme: hassas adlı header, query, form, multipart ve JSON değerleri, ad nasıl yazılmış olursa olsun değiştirilir; kontrol edilemeyen yapılandırılmış gövde hiç saklanmaz
  • Sınırlı bellek: varsayılan olarak en fazla 500 istek ve her gövdeden 256 KiB, log mesajları ring buffer'da, 4 MiB üstü upload'lar kopyalanmak yerine stream edilir
  • Her isteği shell-güvenli bir curl komutu, istek listelerini HTTP Archive (HAR 1.2) olarak dışa aktarma
  • LogStore seviyeli ve kategorili mesajları tutar, aynı zamanda unified logging sistemine yazar; DeviceSnapshot sürüm, OS, model, bellek kullanımı, ısıl durum ve debugger bilgisini raporlar
  • Network, Logs ve Device sekmeli, arama, filtre ve paylaşım menülü SwiftUI konsolu; sallayınca (iOS), butondan ya da macOS penceresinde açılır
  • 148 Swift Testing testi; istekler uygulama session'ından capture üzerinden bir stub sunucuya gider ve testler sunucunun ne aldığını, uygulamanın ne aldığını ve neyin saklandığını kontrol eder
  • Dört makaleli DocC kataloğu ve iOS ile macOS için DevToolsDemo örnek uygulaması

Hızlı Başlangıç

swift
1@main
2struct MyApp: App {
3 init() {
4 #if DEBUG
5 NetworkCapture.start()
6 #endif
7 }
8 
9 var body: some Scene {
10 WindowGroup {
11 ContentView()
12 #if DEBUG
13 .devToolsConsoleOnShake()
14 #endif
15 }
16 }
17}

Kurulum

Xcode (File › Add Package Dependencies…)

text
1https://github.com/muhittincamdali/iOSDevelopmentTools.git

Swift Package Manager

swift
1.package(url: "https://github.com/muhittincamdali/iOSDevelopmentTools.git", from: "2.0.0")

Ekran Görüntüleri

Örnek uygulamadan yedi gerçek isteği listeleyen Network sekmesi: bilinmeyen bir host'a başarısız bir istek, bir 503, bir 404 ve süresi ile boyutuyla dört başarılı istek
Konsolda açılmış bir giriş isteği: Authorization header'ı ve JSON gövdesindeki parola [REDACTED] olarak görünüyor
Örnek uygulamadan info, warning ve error mesajlarını kategori, saat ve kaynak satırıyla gösteren Logs sekmesi
Uygulama sürümü, iOS sürümü, simüle edilen model, bellek, uygulama belleği, ısıl durum, Düşük Güç Modu ve debugger durumunu gösteren Device sekmesi

Zaman Çizelgesi

  1. Repo; network, storage, analytics, debug ve utility modülleriyle açıldı

  2. v1.0.0 etiketlendi: Alamofire üzerine kurulu bir network client ile storage, analytics ve logging yöneticileri, beş modülde

  3. Sadeleştirme: 1.0.0 modülleri silindi, yerine yer tutucu kod kondu

  4. v2.0.0: sıfırdan uygulama içi network inspector, log konsolu ve cihaz raporu olarak yeniden kuruldu; redaction, DocC ve örnek uygulamayla

Bağlantılar

İlgili Yazı

Yazıyı Oku