Halo, Habr! Saya mempersembahkan untuk Anda terjemahan artikel
"Swift 5.0: Cara memigrasikan proyek dan kerangka kerja Anda" oleh Antoine Van Der Lee.
Swift 5.0 dirilis pada Maret 2019 dan merupakan rilis stabil pertama ABI Swift. Meskipun banyak sumber daya mencakup fitur-fitur baru Swift 5.0, mereka tidak sering memberi tahu Anda apa yang perlu Anda lakukan untuk meningkatkan proyek Anda ke Swift 5.0.
Dalam posting ini, saya akan membahas langkah-langkah yang dapat Anda ambil untuk memutakhirkan proyek yang ada ke Swift 5.0.
Verifikasi bahwa proyek Anda telah porting ke Swift 4.2.Saya tidak akan terkejut jika artikel ini membantu meyakinkan manajer produk Anda untuk merencanakan waktu untuk transisi.
Migrasi otomatis menggunakan asisten migran
Xcode menyarankan menggunakan Migration Assistant untuk secara otomatis memperbarui kode Anda ke sintaks Swift saat ini. Konversi ini akan menggunakan versi terbaru Swift, tersedia dengan versi Xcode yang diinstal.
Xcode 10.2 adalah versi pertama yang menyertakan Swift 5.0, jadi Anda perlu menggunakan versi perangkat lunak ini.
Fitur ini sering kali bekerja keras untuk Anda. Oleh karena itu, saya sarankan memulai port kode dengan pergi ke
Edit -> Convert -> To Current Swift Syntax ....Kiat: Pastikan untuk melakukan ini hanya untuk proyek dan kerangka kerja Anda. Anda dapat melewati konversi untuk semua dependensi eksternal.

Pembaruan Ketergantungan
Kemungkinan besar, Anda memiliki beberapa dependensi Swift yang perlu diperbarui. Banyak proyek open source besar, seperti Alamofire dan Moya, sudah mulai bekerja dengan versi Swift 5.0.
Namun, kemungkinan tidak semua dependensi Anda telah diperbarui. Meskipun saya ingin mendesak Anda untuk melakukan transfer, dan kemudian mengirimkan permintaan tarik sendiri, Anda mungkin harus menunggu sedikit sampai pemilik proyek melakukannya sendiri.
Jika Anda berencana untuk melakukan tes aplikasi Anda secara intensif setelah transfer ini, ada baiknya juga secara langsung memperbarui dependensi Anda. Tes Anda akan mencakup pembaruan ini secara langsung, yang mungkin merupakan "kemenangan ganda".
Pembaruan Lingkungan CI
Jika Anda menggunakan Travis, Jenkins, atau platform CI lainnya, Anda juga perlu memperbarui Xcode.

Menggunakan hasilnya di Swift
Xcode Converter hanya melakukan perubahan kode dasar. Itu tidak memperhitungkan
tipe hasil baru, yang sekarang termasuk dalam pustaka standar Swift. Banyak kerangka kerja telah memasukkan tipe
"Hasil" dalam kode mereka. Ini berarti bahwa Anda memiliki cukup banyak data dengan tipe enum yang tidak lagi diperlukan. Namun, jangan buru-buru menggantinya dengan data dari dependensi Anda: Anda bergantung pada perubahan kode dalam struktur eksternal.
Jenis kesalahan umum
Kemungkinan jenis
"Hasil" Anda saat ini hanya menentukan jenis untuk kasus yang sesuai.
Hasil dalam Swift 5.0 juga mengharuskan Anda untuk menentukan jenis kesalahan yang diharapkan. Sebagai warga negara yang terhormat, Anda harus mencoba membuat kesalahan jenis ini konkret, berdasarkan apa yang Anda harapkan. Namun, jika Anda ingin mempercepat migrasi, Anda juga bisa mengatur tipe ke
Swift.Error .
Kiat: Jika Anda ingin tahu lebih banyak tentang tipe Hasil baru di Swift 5.0, saya sarankan Anda membaca artikel ini .Kami memperhitungkan stabilitas ABI
Faktanya, stabilitas ABI adalah masalah yang terpisah. Anda dapat
membaca lebih lanjut tentang ini di blog resmi Swift.
Ingatlah bahwa
ukuran aplikasi yang Anda unduh
akan berkurang , karena aplikasi tidak perlu lagi menyematkan pustaka Swift standar!
Ini harus meyakinkan produk Anda untuk menemukan waktu untuk mentransfer.Jika Anda ingin menyelam lebih dalam ke Swift 5.0, Anda dapat melompat ke posting blog Apple Migrating to Swift 5.0.