Selamat datang di pengembangan Swift di Cursor! Mau bikin app iOS, aplikasi macOS, atau proyek Swift sisi server, semuanya aman. Panduan ini bakal bantu lo nyiapin environment Swift di Cursor, mulai dari dasar sampai fitur yang lebih advanced.

Alur Dasar

Cara paling sederhana buat pakai Cursor dengan Swift adalah menjadikannya editor kode utama sambil tetap mengandalkan Xcode untuk build dan ngejalanin app. Kamu bakal dapat fitur-fitur keren seperti:
  • Pelengkapan kode pintar
  • Bantuan ngoding bertenaga AI (coba CMD+K di baris mana pun)
  • Akses cepat ke dokumentasi lewat @Docs
  • Highlighting sintaks
  • Navigasi kode dasar
Kalau perlu build atau jalanin app, cukup pindah ke Xcode. Alur kerja ini pas buat developer yang mau manfaatin kapabilitas AI dari Cursor sambil tetap pakai tool Xcode yang familiar buat debugging dan deployment.

Hot Reloading

Saat pakai workspace atau project Xcode (bukannya buka folder langsung di Xcode), Xcode sering kali bisa ngeabaikan perubahan pada file kamu yang dibuat di Cursor, atau di luar Xcode pada umumnya. Walau kamu bisa buka foldernya di Xcode buat beresin ini, kamu mungkin perlu tetap pakai project untuk alur kerja pengembangan Swift. Solusi yang oke adalah pakai Inject, library hot reloading untuk Swift yang memungkinkan app kamu “hot reload” dan ke-update seketika begitu ada perubahan secara real-time. Ini gak kena efek samping dari masalah workspace/project Xcode, dan memungkinkan kamu ngelakuin perubahan di Cursor lalu langsung tercermin di app kamu.

Pengembangan Swift Lanjutan

Bagian panduan ini banyak terinspirasi dari Thomas Ricouard dan artikelnya tentang penggunaan Cursor untuk pengembangan iOS. Cek artikelnya buat detail lebih lanjut dan follow dia untuk konten Swift lainnya.
Kalau kamu pengin cuma buka satu editor sekaligus dan mau ngindarin bolak-balik antara Xcode dan Cursor, kamu bisa pakai ekstensi seperti Sweetpad buat mengintegrasikan Cursor langsung dengan sistem build inti Xcode. Sweetpad adalah ekstensi yang powerful yang memungkinkan kamu build, run, dan debug proyek Swift langsung di Cursor, tanpa mengorbankan fitur-fitur Xcode. Buat mulai pakai Sweetpad, kamu tetap perlu Xcode terpasang di Mac kamu—itu fondasi pengembangan Swift. Kamu bisa mengunduh Xcode dari Mac App Store. Setelah Xcode siap, yuk tingkatkan pengalaman pengembangan kamu di Cursor dengan beberapa tool penting. Buka terminal kamu dan jalankan:
# Build proyek kamu tanpa perlu membuka Xcode
brew install xcode-build-server

# Memformat rapi output perintah `xcodebuild` di terminal Cursor
brew install xcbeautify

# Mengaktifkan pemformatan lanjutan dan fitur bahasa
brew install swiftformat
Selanjutnya, install ekstensi Swift Language Support di Cursor. Ini bakal ngasih highlight sintaks dan fitur bahasa dasar yang langsung siap pakai. Lanjut, kita bisa install ekstensi Sweetpad buat ngeintegrasiin Cursor dengan Xcode. Sweetpad ngebungkus banyak shortcut di atas CLI xcodebuild (dan banyak lagi), dan memungkinkan kamu buat scan target, pilih destination, build, dan jalanin app kamu layaknya di Xcode. Selain itu, Sweetpad bakal nyiapin project kamu buat Xcode Build Server biar kamu dapet semua fitur yang disebut di atas.

Cara Pakai Sweetpad

Begitu Sweetpad terpasang, dan kamu punya project Swift yang kebuka di Cursor, pertama jalanin perintah Sweetpad: Generate Build Server Config. Ini bakal ngebuat file buildServer.json di root project kamu yang memungkinkan Xcode Build Server bekerja dengan project kamu. Lalu, dari Command Palette atau sidebar Sweetpad, kamu bisa pilih target yang mau kamu build dan jalanin.
Kamu perlu build project kamu sekali buat ngaktifin auto-completion, lompat ke definisi, dan fitur bahasa lainnya.
Sekarang kamu juga bisa pencet F5 buat build dan jalanin project kamu dengan debugger — kamu mungkin perlu bikin launch configuration dulu, tapi tinggal pilih Sweetpad dari daftar pas diminta! Kayak banyak ekstensi di Cursor, kamu bisa nge-bind banyak perintah Sweetpad ke shortcut keyboard, biar workflow kamu makin efisien. Buat belajar lebih lanjut tentang Sweetpad, cek resource berikut: