Langsung ke konten utama
Tutorial

Aturan Code Apple Remote dan Capgo Live Updates

App Review Guideline 2.5.2, ADPLA 3.3.1(B), dan klarifikasi mini-app Guideline 4.7 tahun 2025 mencakup pengecualian code native, code, serta katalog mini-app. JavaScript yang ditandatangani dalam Capacitor WebView Anda tetap bisa dikategorikan sebagai code yang diinterpretasikan selama Anda menjaga tujuan aplikasi yang telah ditinjau, menghormati keamanan OS, dan tetap mematuhi ADPLA 3.3.1(C). Berikut adalah cara Capgo sesuai dengan model tersebut.

Aturan Code Apple Remote dan Capgo Live Updates

Tim yang merilis Capacitor live updates yang lebih cepat terus menanyakan hal yang sama setelah email review Apple menyebutkan eksekusi code secara remote: apakah itu memblokir Capgo?

Untuk sebagian besar aplikasi Capacitor, tidak. Capgo menggantikan web bundle yang sudah dijalankan aplikasi Anda. Ini tidak mengunduh Swift, framework, atau bytecode, dan tidak mengubah produk Anda menjadi mini app store. Aturan yang dikutip Apple memang nyata, tetapi menyasar kelas perilaku yang berbeda dari JavaScript yang ditandatangani yang dikirim ke WKWebView atau JavaScriptCore.

Ini adalah panduan teknis, bukan saran hukum. Baca teks resmi Apple dan libatkan penasihat hukum untuk aplikasi Anda.

Tiga teks yang dikutip reviewer

Pedoman App Review 2.5.2

Pedoman 2.5.2 menyatakan aplikasi tidak boleh “mengunduh, menginstal, atau mengeksekusi code yang memperkenalkan atau mengubah fitur atau fungsionalitas aplikasi, termasuk aplikasi lain.”

Tim reviewer memakai kalimat itu saat melihat:

  • dlopen, dlsym, atau pemuatan dinamis serupa,
  • performSelector: dan hook runtime lain yang mengarah ke private API, atau
  • skrip remote yang berfungsi mengubah perilaku native setelah disetujui.

Itulah eksekusi code secara remote pola dalam surat penolakan. Ini bukan larangan untuk setiap byte yang diunduh setelah instalasi.

Bagian ADPLA 3.3.1(B) (interpretasi code)

Panduan Perjanjian Lisensi Apple Developer Program bagian 3.3.1(B) mengizinkan code yang diinterpretasikan untuk diunduh jika:

  1. tidak mengubah tujuan utama aplikasi,
  2. tidak melewati signing, sandbox, atau fitur keamanan OS lainnya, dan
  3. tidak membuat store atau storefront untuk aplikasi lain.

Lapisan web Capacitor dirancang untuk diinterpretasikan oleh code. Capgo mengganti lapisan tersebut setelah pengguna menginstal binary yang telah ditinjau dari App Store.

Bagian ADPLA 3.3.1(C) (fitur tambahan)

Bagian 3.3.1(C) menambah batasan lain: tanpa persetujuan tertulis sebelumnya dari Apple atau 3.3.9(A) penggunaan In-App Purchase, aplikasi tidak boleh menyediakan, membuka, atau mengaktifkan fitur atau fungsionalitas tambahan melalui mekanisme distribusi selain App Store, Custom App Distribution, atau TestFlight.

Apakah bundle OTA tertentu melanggar aturan tersebut adalah keputusan hukum tim Anda. Capgo tidak menentukannya untuk Anda. checklist kepatuhan menyebutkan 3.3.1(C) agar Anda bisa mengevaluasi setiap rilis.

Guideline 4.7 dan klarifikasi November 2025

Pembaruan guideline Apple pada 13 November 2025 mengklarifikasi Pedoman 4.7 untuk aplikasi yang menawarkan HTML5 dan JavaScript mini apps, mini games, chatbot, plug-in, dan software serupa yang tidak tertanam dalam binary.

Jika pengguna menjelajahi atau menjalankan banyak pengalaman software berbeda di dalam aplikasi Anda, Anda mungkin butuh mekanisme katalog, indexing, dan rating usia dari 4.7. Kepemilikan bundle bukan penentunya. pengalaman yang Anda rilis lakukan.

Capgo adalah channel pengiriman untuk URL bundle pada URL channel. Ini bukan sebuah marketplace. Jika produk Anda adalah white-label host atau platform mini app, pertimbangkan hal ini dengan serius sebelum mengandalkan OTA.

Apa yang sebenarnya dirilis Capgo

Lapisan perilaku Capgo
Binary Native Tidak berubah. Plugin, permission, dan entitlement baru memerlukan store build.
Aset web JavaScript, HTML, CSS, font, gambar, dan file statis yang sudah ditandatangani akan menggantikan in-app bundle.
Eksekusi Berjalan di dalam WebView atau engine JavaScriptCore yang sudah disetujui Apple bersama shell Anda.
Enkripsi Enkripsi end-to-end opsional menjaga isi bundle tetap tidak terbaca oleh Capgo saat transit maupun penyimpanan.

Capgo membantu Anda merilis perbaikan web-layer dalam hitungan menit, melakukan rollback bundle yang bermasalah pada sebuah channel, dan menjaga rilis native tetap sesuai jalur App Store. Ribuan aplikasi produksi menggunakan pemisahan ini tanpa mengubah live updates menjadi remote native loader.

Aturan praktis untuk tim Anda

  • Gunakan OTA untuk bug, UI, copy, dan peningkatan di dalam produk yang telah ditinjau Apple.
  • Kirim binary baru saat ada perubahan pada native code, SDK, permission, atau entitlement.
  • Jangan gunakan live updates untuk mengubah model harga, membuka fitur tersembunyi, atau mengubah tujuan utama aplikasi.
  • Dokumentasikan cara kerja update di catatan App Review jika diminta.
  • Baca bagian lengkap Apple remote code dan Capgo sebelum rilis berikutnya.

Untuk melihat tampilan produk (channels, rollback, signing), mulai dari Capacitor live updates yang lebih cepat. Jika ingin mempelajari kebijakan secara mendalam, gunakan dokumen kepatuhan di atas atau panduan lama di Apakah Apple mengizinkan live updates?.

Live updates untuk aplikasi Capacitor

Saat bug web-layer sudah live, kirim perbaikannya lewat Capgo alih-alih menunggu berhari-hari untuk persetujuan app store. Pengguna mendapat update di background, sementara perubahan native tetap mengikuti jalur review normal.

Terbaru dari Blog kami

Capgo memberikan insight terbaik yang Anda butuhkan untuk membuat aplikasi mobile yang benar-benar profesional.