sdkbump
Native iOS, Flutter ve React Native uygulamalarını iOS 27 SDK değişikliklerine karşı denetler ve her bulgu için uygun düzeltmeyi söyler.
Lisans: MIT
iOS 27 SDK'sıyla derlenen ve hiçbir scene tanımlamayan bir uygulama uyarısız derlenir, sonra açılışta kapanır. sdkbump native iOS, Flutter ya da React Native/Expo projesinin dosyalarını (project.pbxproj, Info.plist, Swift ve Objective-C kaynakları, package.json, pubspec.yaml) okur, UIScene yaşam döngüsü sorunlarını SCN001–SCN004 kurallarıyla raporlar ve projenin ekosistemine ve sürümüne uyan düzeltmeyi seçer. Projeyi derlemez, çalıştırmaz, değiştirmez.
Özellikler
- "Açılır mı?" sorusuna cevap veren bir hüküm: açılışta kapanır, siyah ekranla açılır, bir workaround paketiyle açılır ya da açılış belirlenemedi
- Native iOS, Flutter (uygulama ve plugin örneği), React Native ve Expo tek raporda, aynı kural kimlikleriyle
- Ekosisteme ve sürüme göre seçilen düzeltme: React Native 0.88 ya da elle yazılmış scene delegate, Expo SDK 57'nin opt-in'i ya da SDK 58, Flutter'ın otomatik taşıması ya da elle adımlar
- Kurallar rules/ios27.json'da veri olarak tutulur ve zod ile doğrulanır; her kural, düzeltme ve workaround bir kaynak taşır, taşımazsa test kırılır
- Terminal, Markdown ve JSON raporları; CI için --fail-on ve 0, 1, 2 çıkış kodları
- react-native-uiscene-bridge ve react-native-xcode27 paketlerini tanır; bunların çalışma anında karşıladığı bulguları sınırlarıyla birlikte "handled" olarak gösterir
- Yalnız dosya okur; Xcode gerektirmez, Linux'ta da çalışır. Denetlenen projeden gelen metin her biçimde düz metin olarak yazılır
Hızlı Başlangıç
1npx @mcamdali/sdkbump --format markdown --output sdkbump.mdKurulum
npm (global)
1npm i -g @mcamdali/sdkbump2sdkbumpnpx
1npx @mcamdali/sdkbumpHomebrew
1brew install muhittincamdali/tap/sdkbumpEkran Görüntüleri

Zaman Çizelgesi
İlk commit ve ilk sürüm 0.1.0: native iOS, Flutter, React Native ve Expo projeleri için SCN001–SCN004
0.1.1 ve 0.1.2: proje dosyaları yalnız proje içindeki normal dosyalarsa okunuyor; okunamayan Info.plist artık açılış hatası yerine "Launch not determined" veriyor
0.1.3: npm'de @mcamdali/sdkbump olarak yayınlandı; kontrol karakterleri her rapor biçiminde ve stderr'de temizleniyor