Lewati ke konten utama
menjadi.dev
Chapter 50.2 DevOps Lanjutan

Provisioning Profiles & Code Signing

Kunci digital yang memungkinkan aplikasi jalan di device

Tujuan Pembelajaran

  • Memahami code signing dan provisioning profile lifecycle
  • Mampu troubleshooting error code signing
  • Mengerti strategi manajemen provisioning untuk tim

Analogi

Diagram

      Code Signing = Segel Keamanan di Botol Obat:
- Ada yang segel = aman, asli dari developer
- Tidak ada segel = mencurigakan, bisa diubah orang
- Provisioning profile = daftar device yang diizinkan menerima
- Code signing identity = stempel dari developer
    

Code signing seperti segel keamanan — menjamin aplikasi asli dari developer dan tidak dimodifikasi. Provisioning profile menentukan device mana yang boleh menjalankannya.

Penjelasan Konsep

Code signing adalah proses digital signing aplikasi untuk memverifikasi identitas developer. iOS sangat ketat — tanpa valid code signature, app tidak akan jalan.

Komponen: (1) Signing Certificate — identitas developer (tim/individual). (2) Provisioning Profile — device whitelist + entitlements. (3) Entitlements — capability list (Push, HealthKit, iCloud). (4) Bundle ID — app identifier.

Development vs Distribution: (1) Development provisioning — terbatas ke device yang terdaftar di Apple Developer. (2) Distribution provisioning — untuk App Store atau TestFlight (tidak terbatas device). (3) Ad Hoc — distribution provisioning dengan device whitelist (100 max).

Common errors: (1) “No signing certificate” — belum punya certificate. (2) “Provisioning profile expired” — renew di Apple Developer. (3) “Device not registered” — tambah device UDID di developer portal. (4) “Entitlements mismatch” — capability di Xcode tidak match dengan App ID.

Expo EAS handle semua ini. eas build otomatis generate/manage credentials. Kalau manual, Xcode → Signing & Capabilities → Automatically manage signing (rekomendasi).

Tim management: (1) Gunakan Apple Developer Team shared. (2) Setiap developer punya Development Certificate sendiri. (3) Shared Distribution Certificate. (4) Provisioning profile auto-managed by Xcode.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami code signing dan provisioning profile lifecycle., mampu troubleshooting error code signing., dan mengerti strategi manajemen provisioning untuk tim. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Provisioning Profiles & Code Signing, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Code signing seperti segel keamanan — menjamin aplikasi asli dari developer dan tidak dimodifikasi. Provisioning profile menentukan device mana yang boleh menjalankannya. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa bash. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. EAS menangani code signing otomatis. eas credentials untuk lihat/manage. Di Xcode manual, Automatically manage signing untuk simpel.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

bash
# Cek sertifikat yang terinstall
security find-identity -v -p codesigning

# EAS: sync credentials ke local
eas credentials

# Build dengan auto-signing
eas build --platform ios --profile production

Penjelasan Kode

EAS menangani code signing otomatis. `eas credentials` untuk lihat/manage. Di Xcode manual, Automatically manage signing untuk simpel.

Prompt AI

Jelaskan troubleshooting code signing error yang paling umum di React Native (iOS): "Provisioning Profile doesn't include signing certificate", "No profiles for com.xxx were found", "Entitlements file does not match". Berikan solusi step-by-step.

Pertanyaan Reflektif

Pernahkah kamu frustrasi dengan code signing? Seberapa besar hambatan ini untuk mobile developer pemula?