Bulan-bulan begadang ngoding siang malam demi rewrite aplikasi native Swift ke Flutter akhirnya beres juga. UI sudah dipoles jadi jauh lebih fresh, modern, dan satu codebase Dart bikinan Google ini sekarang bisa jalan mulus buat ekosistem Android sekaligus iOS. Tapi tunggu dulu, jangan keburu selebrasi. Pekerjaan paling bikin senam jantung justru baru dimulai saat kamu harus melempar build ini ke App Store untuk menimpa (overwrite) aplikasi lama tanpa bikin halaman baru.
Salah sedikit saja pas konfigurasi di Xcode, Apple bakal menganggap karya barumu sebagai aplikasi yang sama sekali berbeda. Kalau itu terjadi, tamat riwayat: review, basis pengguna lama, dan eksistensi aplikasi kamu di App Store bakal ambyar.
Biar transisi dari Swift ke Flutter ini tidak berujung petaka rilis, ada beberapa checklist mutlak yang wajib dipelototi sebelum menekan tombol distribute.
Dosa Terbesar: Mengubah Bundle Identifier dan Lupa Naikkan Versi
Kunci utama agar App Store paham bahwa aplikasi Flutter ini adalah penerus takhta dari aplikasi Swift lama terletak pada satu identitas mutlak, yaitu Bundle Identifier.

Triknya sederhana tapi fatal kalau terlewat: samakan kolom Bundle Identifier di project Flutter kamu persis dengan milik aplikasi Swift sebelumnya. Jangan ada beda satu karakter pun, huruf besar-kecil harus identik. Begitu identitas ini meleset, App Store otomatis memperlakukannya sebagai entitas aplikasi baru.
Aturan main berikutnya ada di angka versi:
- Kalau aplikasi native lama kamu mentok di
v1.0, rilis Flutter ini wajib hukumnya naik kelas ke versi yang lebih tinggi, misalnyav1.1atau lompat langsung kev2.0. - Sistem App Store menolak keras build baru yang nomor versinya jalan di tempat atau malah lebih rendah dari versi yang sudah beredar di publik.
Bereskan Tab Signing & Capabilities
Masalah paling sering bikin proses upload gagal biasanya bersumber dari urusan sertifikat dan provisioning profile. Begitu masuk ke Xcode, langsung buka tab Signing & Capabilities.

Centang opsi Automatically manage signing. Pastikan Bundle Identifier yang tertera di tab ini sinkron dengan apa yang sudah kamu setel di tab General. Jangan biarkan ada inkonsistensi data antar tab kalau tidak mau dilempar error validasi saat proses pengiriman.
Eksekusi Akhir: Archive dan Lempar ke App Store
Setelah konfigurasi dasar terkunci rapat, masuk ke menu build terakhir: melakukan Archive pada project iOS kamu.

Buka jendela organizer dan pelototi baik-baik detail yang ada:
- Pastikan nama aplikasi dan bundle identifier sudah sesuai target.
- Cek ulang nilai pada bagian Version dan Build Number.
| Komponen | Status Validasi | Catatan Rilis |
|---|---|---|
| Bundle Identifier | Wajib Sama Persis | Mencegah terdeteksi sebagai aplikasi baru |
| Version | Wajib Lebih Tinggi | Contoh: dari 1.0 naik ke 1.1 atau 2.0 |
| Signing | Automatically Manage | Memastikan verifikasi sertifikat valid |
Jika seluruh parameter sudah terpasang benar tanpa ada yang meleset, langsung klik tombol Distribute App untuk memulai proses unggah (upload) ke App Store.

Tunggu sampai proses transfer data ke server Apple tuntas. Begitu tanda centang hijau muncul dan proses upload berhasil, kamu tinggal membuka dashboard App Store Connect.

Dari sana, buat pembaruan versi seperti biasa, arahkan ke Build Number terbaru yang baru saja kamu kirim, lalu ajukan ke tim review. Aplikasi Flutter baru kamu kini resmi menggantikan aplikasi native lama tanpa drama kehilangan traffic atau bikin bingung pengguna lama.
