İçeriğe geç

Kutup mobil geliştirme (iOS / Android)

Durum: Çalışmalar sürüyor; yerel mobil uygulamalar sürüme hazır değildir.

Kutup’un hedeflenen iOS ve Android ürün uygulamaları, kardeş kutup-ios ve kutup-android depolarında geliştirilmektedir. Yerel Swift/Kotlin sunum ve platform güvenliğini kullanır; bu depodaki ortak Rust Chat mantığını UniFFI üzerinden tüketir. Ana kutup deposu tek başına eksiksiz yerel mobil uygulamaları derlemez, test etmez, imzalamaz veya yayımlamaz.

src-tauri/ altındaki Tauri kabuğunda derlenebilir mobil giriş noktaları ve kolaylık komutları korunmaktadır. Bunlar deneysel, ortak web-kabuğu yoludur; özel yerel uygulamaların özellik eşitliğine veya sürüm hazırlığına ulaştığının kanıtı değildir.

  • crates/kutup-chat-core, web WASM ve yerel entegrasyonlarda kullanılan ortak libsignal/OpenMLS motorudur.
  • crates/kutup-client-ffi, güncel Swift/Kotlin UniFFI sınırını sunar.
  • scripts/generate-native-bindings.sh, derlenmiş kitaplık metadatasından Swift ve Kotlin bağlamaları üretir.
  • Duyarlı web uygulaması mobil düzenler içerir; mobil web ile özel yerel uygulamalar farklı teslim yüzeyleridir.
  • src-tauri/, deneysel iOS/Android sarmalayıcı projelerini başlatabilir.

Yerel entegrasyon, paketleme, platform yaşam döngüsü, MLS/medya/yedek eşitliği, mağaza imzalama ve gerçek cihaz kabulü mobil depolarda devam etmektedir.

Rust 1.91.1 veya yenisi ve protoc gerekir:

Terminal window
scripts/generate-native-bindings.sh /tmp/kutup-native-bindings

Çıktı Swift kaynak/başlık/modulemap dosyaları ile Kotlin kaynağını içerir ve depoya eklenmez. XCFramework/Swift paketi veya Android AAR paketleme ilgili mobil deponun sorumluluğudur.

Terminal window
pnpm install
pnpm tauri:ios:init # macOS + Xcode gerekir
pnpm tauri:ios:dev
pnpm tauri:android:init # Android SDK + NDK gerekir
pnpm tauri:android:dev

Bilinen sınırlamalar arasında Android anahtarlık arka ucunun, desteklenen mobil düz metin dışa aktarma/paylaşım akışının, gömülü Office düzenleyici varlıklarının ve mobil sürüm CI’ının olmaması yer alır. Bu sarmalayıcı da sürüm adayı değildir.

Her mobil istemci HTTPS üzerinden bir Kutup ana sunucusuna bağlanır. Fiziksel cihaz sunucu sertifikasına güvenmelidir; normal geliştirme ve tüm sürüm testleri için herkese açık güvenilir bir sertifika kullanın.

Ürün genelindeki uygulama kimliği dev.kutup.client değeridir. Her iki uygulama da hazır olarak tanımlanmadan önce imzalama, yetkiler, yedek dışlamaları, Keychain/Keystore erişimi, bildirim izinleri ve mağaza metadatası yerel depolarda tamamlanıp doğrulanmalıdır.