Beberapa HAL menarik selama develop aplikasi react native di IOS
Hi, perkenalkan namaku Diko Mahendra as Frontend Developer, untuk sekarang sedang fokus pada pengembangan aplikasi berbasis web (web dev). dan beberapa pekan terakhir tertarik untuk mencoba menjadi seorang mobile dev menggunakan react native.
kenapa memilih react native ? alasannya karena skill based on react. sehingga tidak terlalu lama dan sulit untuk mempelajari react native, walaupun ada banyak penyesuain.
tulisan ini berisi rangkuman terkait hal yg baru aku ketahui dan beberapa issue yg aku hadapi selama proses development.
sebelumnya aku mau share boilerplate yg bisa kalian gunain buat starting project react native kalian. boilerplate ini aku buat berdasarkan hal hal yg aku ketahui mulai dari state management, arstitektur folder, package/module, dll yg memang sering digunakan pada project react native.
sehingga akan cukup memudahkan dalam proses pengembangan, tanpa harus membuat dari awal. namun tetap mudah untuk di customisasi jika ada yg kurang sesuai dan tentunya scalable.
berikut repositorinya : react native boilerplate.
CLONE DAN MENGUBAH NAMA APLIKASI PADA REACT NATIVE
karena aku menggunakan boilerplate yg sudah ku buat sendiri, jadi untuk setup akan jauh lebih mudah karena cukup meng cloning dari repository yg sudah ada.
ketika proses clone selesai, ada beberapa hal yg perlu kita sesuaikan, yaitu mengubah nama project/aplikasinya.
caranya cukup mudah, kalian bisa membaca referensinya disini: rename your react native project, jangan lupa untuk menginstall package/module yg dibutuhkan.
> npm install
install juga dependensi untuk ios dan build aplikasinya
> cd ios
> pod install
> cd ..
> npm run ios
MASALAH KETIKA MENGINSTALL APLIKASI KE REAL DEVICE IPHONE
dibagian ini cukup menarik, FYI perangkat disini aku menggunakan iphone 11 dan ios versi 17.5.1 atau versi yg paling terbaru.
untuk software xcodenya di versi 14.2.
ketika membuka xcode dan coba menghubungkan dengan perangkat device yg sudah terhubung, dan mendapatkan warning seperti di bawah ini.
https://stackoverflow.com/questions/39655178/xcode-could-not-locate-device-support-files
tentu saja proses installasi tidak dapat dilakukan, sehingga solusinya adalah upgrade version dari xcodenya (karena xcodenya tidak support terhadap versi ios pada real device). jadi aku upgrade ke versi 15+ atau versi xcode paling terbaru.
ketika proses download selesai, apakah xcode bisa langsung di install? ups sayangnya tidak sama sekali, karena ternyata macOS yg aku miliki saat ini belum support dengan Xcode versi terbaru (15+) , sehingga harus upgrade macOS ke versi terbaru.
disini aku install macOS 14 Sonoma, dari yg sebelumnya ventura. setelah melewati proses download yg cukup lama, akhirnya proses download dan installasi pun selesai.
dan akhirnya issue could not locate device support files, berhasil di perbaiki. setelah itu ada beberapa hal yg perlu kita lakukan untuk melanjutkan proses build, dengan mengisi bagian signin certificate.
kalian bisa masukan account/apple ID yg dipake pada device tersebut.
setelah itu aku coba build ulang dan berhasil terinstall. namun aku mendapati masalah baru, coba kita perhatikan.
ketika kita mencoba menjalankan aplikasi kita menggunakan xcode yg sebelumnya sudah di perbarui, kita akan menemukan perubahan secara otomatis pada file project tepatnya di:
“ios/BurgerCityApp.xcodeproj/project.pbxproj”
dimana pada line:6 objectVersion = 63 yg sebelumnya objectVersion = 53.
tidak ada yg aneh sebenarnya, namun hal ini berdampak ketika kita ingin menginstall dependency pada ios dengan mengeksekusi
> cd ios
> pod install
dan akan mendapatkan error seperti ini:
aku udah coba beberapa cara dan ngikutin panduan yg diberikan, namun masih belum menyelesaikan masalah,
sampai akhirnya aku menemukan comment ini di dibagian bawah yaitu dengan cara mengubah objectVersion yg sebelumya 63 menjadi 53.
ntah itu akan hanya temporary solution atau memang bisa digunakan dalam jangka waktu lama, atau kalo ada yg nemu solusinya di macOS boleh share hehe.
HAL YG SERING TERLUPAKAN KETIKA INSTALL PACKAGE BARU
setelah aku perhatikan dan pahami, kendala selama ini ketika meng install package baru pada project react native adalah sering lupa untuk menginstall juga pada dependency ios.
> cd ios
> pod install
karena pada beberapa package tidak cukup menginstallnya pada root project, sehingga perlu mengupdate ios dependency yg ada di dalamnya, agar dapat dibaca dan dijalan pada lingkungan ios.
hal yg cukup sepele namun bisa buat muter2 buat solvingnya 😐.
mungkin cukup sekian, notes untuk tulisan ini akan di perbarui jika ada issue atau hal menarik lainnya.
terimakasih sudah membaca.