Pemberian izin iOS
Di iOS, aplikasi .NET Multi-platform App UI (.NET MAUI) berjalan di kotak pasir yang menyediakan serangkaian aturan yang membatasi akses antara aplikasi dan sumber daya sistem atau data pengguna. Pemberian kepemilikan digunakan untuk meminta perluasan kotak pasir untuk memberi aplikasi Anda kemampuan tambahan, seperti integrasi dengan Siri. Setiap pemberian izin yang digunakan oleh aplikasi Anda harus ditentukan dalam file Entitlements.plist aplikasi. Untuk informasi selengkapnya tentang pemberian izin, lihat Pemberian Izin di developer.apple.com.
Selain menentukan pemberian izin, file Entitlements.plist digunakan untuk menandatangani kode aplikasi. Saat kode menandatangani aplikasi Anda, file pemberian izin dikombinasikan dengan informasi dari Akun Pengembang Apple Anda, dan informasi proyek lainnya untuk menerapkan serangkaian pemberian akhir ke aplikasi Anda.
Pemberian izin terkait erat dengan konsep kemampuan. Keduanya meminta perluasan kotak pasir tempat aplikasi Anda berjalan, untuk memberinya kemampuan tambahan. Pemberian izin biasanya ditambahkan saat mengembangkan aplikasi Anda, sementara kemampuan biasanya ditambahkan saat kode menandatangani aplikasi Anda untuk didistribusikan. Namun, saat provisi otomatis diaktifkan, menambahkan pemberian izin tertentu ke aplikasi Anda juga akan memperbarui kemampuan untuk aplikasi Anda di profil provisinya. Untuk informasi selengkapnya, lihat Menambahkan kemampuan dengan Visual Studio.
Penting
File Entitlements.plist tidak ditautkan ke Akun Pengembang Apple. Oleh karena itu, saat membuat profil provisi untuk aplikasi, Anda harus memastikan bahwa hak apa pun yang digunakan oleh aplikasi Anda juga ditentukan sebagai kemampuan dalam profil provisinya. Untuk informasi selengkapnya, lihat Kemampuan.
Menambahkan file Entitlements.plist
Untuk menambahkan file pemberian izin baru ke proyek aplikasi .NET MAUI Anda, tambahkan file XML baru bernama Entitlements.plist ke folder Platforms\iOS proyek aplikasi Anda. Kemudian tambahkan XML berikut ke file:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
Atur pemberian izin
Pemberian izin dapat dikonfigurasi di Visual Studio dengan mengeklik dua kali file Entitlements.plist untuk membukanya di editor pemberian izin.
Di Penjelajah Solusi, klik dua kali file Entitlements.plist dari folder Platform > iOS proyek aplikasi .NET MAUI Anda untuk membukanya di editor pemberian izin.
Di editor pemberian hak, pilih dan konfigurasikan hak apa pun yang diperlukan oleh aplikasi Anda:
Simpan perubahan ke file Entitlements.plist Anda untuk menambahkan pasangan kunci/nilai pemberian izin ke file.
Mungkin juga perlu mengatur kunci privasi di Info.plist, untuk hak tertentu.
Mengonsumsi pemberian izin
Aplikasi .NET MAUI iOS harus dikonfigurasi untuk menggunakan penetapan yang ditentukan dalam file Entitlements.plist .
Di Penjelajah Solusi, klik kanan proyek aplikasi .NET MAUI Anda dan pilih Properti. Kemudian, navigasikan ke tab Penandatanganan Bundel iOS>.
Di pengaturan Penandatanganan Bundel, klik tombol Telusuri... untuk bidang Pemberian Izin Kustom.
Dalam dialog Pemberian Izin Kustom, navigasikan ke folder yang berisi file Entitlements.plist Anda, pilih file, dan klik tombol Buka.
Di properti proyek, bidang Pemberian Izin Kustom akan diisi dengan file pemberian izin Anda:
Tutup properti proyek.
Catatan
Visual Studio akan mengatur bidang pemberian hak kustom untuk build debug dan rilis.
Saat provisi otomatis diaktifkan, subset pemberian izin juga akan ditambahkan ke profil provisi aplikasi Anda sebagai kemampuan. Untuk informasi selengkapnya, lihat Menambahkan kemampuan dengan Visual Studio.
Referensi kunci
Pasangan kunci/nilai pemberian izin tercantum di bawah ini untuk referensi. Di Visual Studio mereka dapat ditambahkan dengan mengedit file Entitlements.plist sebagai file XML. Di Visual Studio untuk Mac, mereka dapat ditambahkan melalui tampilan Sumber editor pemberian pemberian izin.
Mengakses informasi WiFi
Hak informasi Akses WiFi ini memungkinkan aplikasi Anda untuk mendapatkan informasi tentang jaringan WiFi yang saat ini terhubung.
Pemberian izin didefinisikan menggunakan com.apple.developer.networking.wifi-info
kunci, dari jenis Boolean
:
<key>com.apple.developer.networking.wifi-info</key>
<true/>
Untuk informasi selengkapnya, lihat Mengakses Hak Informasi WiFi di developer.apple.com.
Pengesahan Aplikasi
Dengan hak App Attest, Anda dapat menghasilkan kunci kriptografi khusus di perangkat Anda dan menggunakannya untuk memvalidasi integritas aplikasi Anda sebelum server menyediakan akses ke data sensitif.
Pemberian izin didefinisikan menggunakan com.apple.developer.devicecheck.appattest-environment
kunci, dari jenis String
:
<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>development</string>
Untuk informasi selengkapnya, lihat Lingkungan Pengesahan Aplikasi di developer.apple.com.
Grup aplikasi
Pemberian hak grup aplikasi memungkinkan aplikasi Anda mengakses kontainer grup yang dibagikan di antara beberapa aplikasi terkait serta melakukan komunikasi antarproses antara aplikasi.
Pemberian izin didefinisikan menggunakan com.apple.security.application-groups
kunci, dari jenis Array
String
:
<key>com.apple.security.application-groups</key>
<array>
<string>group.MyAppGroups</string>
</array>
Untuk informasi selengkapnya, lihat Pemberian Izin Grup Aplikasi di developer.apple.com.
Apple Pay
Hak Apple Pay memungkinkan pengguna untuk membayar barang dan layanan fisik dengan mudah dan aman seperti bahan makanan, pakaian, tiket, dan reservasi menggunakan informasi pembayaran yang disimpan di perangkat mereka.
Pemberian izin didefinisikan menggunakan com.apple.developer.in-app-payments
kunci, dari jenis Array
String
:
<key>com.apple.developer.in-app-payments</key>
<array>
<string>merchant.your.merchantid</string>
</array>
Untuk informasi selengkapnya, lihat Pemberian Izin ID Pedagang di developer.apple.com.
Domain terkait
Hak domain terkait memungkinkan aplikasi Anda dikaitkan dengan domain tertentu untuk layanan tertentu, seperti mengakses Safari, kata sandi tersimpan, dan kelanjutan aktivitas.
Pemberian izin didefinisikan menggunakan com.apple.developer.associated-domains
kunci, dari jenis Array
String
:
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:example.com</string>
</array>
Untuk informasi selengkapnya, lihat Pemberian Izin Domain Terkait di developer.apple.com.
Penyedia kredensial Isi Otomatis
Hak penyedia kredensial Isi Otomatis memungkinkan aplikasi, dengan izin pengguna, untuk memberikan nama pengguna dan kata sandi untuk Isi Otomatis ke dalam aplikasi dan Safari.
Pemberian izin didefinisikan menggunakan com.apple.developer.authentication-services.autofill-credential-provider
kunci, dari jenis Boolean
:
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Penyedia Kredensial Isi Otomatis pada developer.apple.com.
ClassKit
Pemberian hak ClassKit memungkinkan aplikasi Anda berbagi kemajuan siswa secara privat dan aman dengan pengajar tentang aktivitas yang ditetapkan, seperti membaca bab dalam buku atau mengikuti kuis, di lingkungan yang dikelola sekolah.
Pemberian izin didefinisikan menggunakan com.apple.developer.ClassKit-environment
kunci, dari jenis String
:
<key>com.apple.developer.ClassKit-environment</key>
<string>development</string>
Untuk informasi selengkapnya, lihat Pemberian Izin Lingkungan ClassKit di developer.apple.com.
Berkomunikasi dengan driver
Berkomunikasi dengan pemberian izin driver memungkinkan komunikasi antara aplikasi dan driver DriverKit.
Pemberian izin didefinisikan menggunakan com.apple.developer.driverkit.communicates-with-drivers
kunci, dari jenis Boolean
:
<key>com.apple.developer.driverkit.communicates-with-drivers</key>
<true/>
Untuk informasi selengkapnya, lihat Berkomunikasi dengan Driver di developer.apple.com.
Pemberitahuan komunikasi
Pemberian izin pemberitahuan komunikasi memungkinkan aplikasi mengirim pemberitahuan komunikasi dari seseorang ke seseorang atau beberapa orang.
Pemberian izin didefinisikan menggunakan com.apple.developer.usernotifications.communication
kunci, dari jenis Boolean
:
<key>com.apple.developer.usernotifications.communication</key>
<true/>
Untuk informasi selengkapnya, lihat Meminta Pemberian Izin Layanan Pemberitahuan di developer.apple.com.
Perlindungan data
Pemberian izin perlindungan data memungkinkan aplikasi Anda menggunakan enkripsi bawaan pada perangkat yang didukung. Ketika Anda menentukan file sebagai terlindungi, sistem akan menyimpan file dalam format terenkripsi.
Pemberian izin didefinisikan menggunakan com.apple.developer.default-data-protection
kunci, dari jenis String
:
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>
Untuk informasi selengkapnya, lihat Pemberian Izin Perlindungan Data di developer.apple.com.
Alamat virtual yang diperluas
Penetapan alamat virtual yang diperluas memungkinkan Anda menggunakan lebih banyak ruang alamat di aplikasi Anda.
Pemberian izin didefinisikan menggunakan com.apple.developer.kernel.extended-virtual-addressing
kunci, dari jenis Boolean
:
<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Alamat Virtual yang Diperluas di developer.apple.com.
Kontrol keluarga
Pemberian hak kontrol keluarga memungkinkan kontrol orang tua di aplikasi Anda, memberikan akses ke kerangka kerja Pengaturan Terkelola dan Aktivitas Perangkat di SCREENTime API. Penggunaan kontrol Keluarga memerlukan Keluarga Berbagi untuk pendaftaran pengguna. Ini mencegah penghapusan aplikasi Anda dan mengaktifkan filter konten di perangkat dari Ekstensi Jaringan.
Pemberian izin didefinisikan menggunakan com.apple.developer.family-controls
kunci, dari jenis Boolean
:
<key>com.apple.developer.family-controls</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Kontrol Keluarga pada developer.apple.com.
Mode pengujian FileProvider
Hak mode pengujian FileProvider memungkinkan mode pengujian yang memberikan ekstensi Penyedia File kontrol lebih besar atas perilaku sistem selama pengujian.
Pemberian izin didefinisikan menggunakan com.apple.developer.fileprovider.testing-mode
kunci, dari jenis Boolean
:
<key>com.apple.developer.fileprovider.testing-mode</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Hak Mode Pengujian FileProvider di developer.apple.com.
Font
Hak font memungkinkan aplikasi Anda, dengan izin pengguna, untuk menginstal dan menggunakan font kustom.
Pemberian izin didefinisikan menggunakan com.apple.developer.user-fonts
kunci, dari jenis Array
String
:
<key>com.apple.developer.user-fonts</key>
<array>
<string>system-installation</string>
</array>
Untuk informasi selengkapnya, lihat Mengonfigurasi font kustom di developer.apple.com.
Aktivitas grup
Pemberian izin aktivitas grup memungkinkan aplikasi berkomunikasi dengan aplikasi yang sama di satu atau beberapa perangkat lain, untuk membuat aktivitas grup dalam panggilan FaceTime. Aktivitas grup di FaceTime memungkinkan pengguna menonton video bersama- sama, mendengarkan musik bersama-sama, atau melakukan aktivitas sinkron lainnya.
Pemberian izin didefinisikan menggunakan com.apple.developer.group-session
kunci, dari jenis Boolean
:
<key>com.apple.developer.group-session</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Aktivitas Grup di developer.apple.com.
HealthKit
Hak HealthKit memungkinkan aplikasi Anda untuk mengakses, dengan izin pengguna, informasi kesehatan pribadi.
Pemberian izin didefinisikan menggunakan com.apple.developer.healthkit
kunci, dari jenis Boolean
:
<key>com.apple.developer.healthkit</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin HealthKit di developer.apple.com.
HomeKit
Hak HomeKit memungkinkan aplikasi Anda berinteraksi dengan aksesori HomeKit.
Pemberian izin didefinisikan menggunakan com.apple.developer.homekit
kunci, dari jenis Boolean
:
<key>com.apple.developer.homekit</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin HomeKit di developer.apple.com.
Konfigurasi hotspot
Pemberian izin konfigurasi hotspot memungkinkan aplikasi Anda mengonfigurasi jaringan WiFi.
Pemberian izin didefinisikan menggunakan com.apple.developer.networking.HotspotConfiguration
kunci, dari jenis Boolean
:
<key>com.apple.developer.networking.HotspotConfiguration</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Konfigurasi Hotspot di developer.apple.com.
Icloud
Pemberian izin iCloud memungkinkan aplikasi Anda menyimpan data di cloud, sehingga memungkinkan pengguna untuk berbagi data mereka di beberapa perangkat.
Pemberian izin didefinisikan menggunakan com.apple.developer.icloud-container-development-container-identifiers
kunci, jenis Array
String
, lalu kunci tambahan yang mewakili pengidentifikasi kontainer:
<key>com.apple.developer.icloud-container-identifiers</key>
<array>
<string>iCloud.com.companyname.test</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
Tempat $(AppIdentifierPrefix)
penampung dan $(CFBundleIdentifier)
akan digantikan untuk nilai yang benar pada waktu build.
Untuk informasi selengkapnya, lihat Pemberian Izin Pengidentifikasi Kontainer iCloud di developer.apple.com.
Peningkatan batas memori
Penetapan batas memori yang ditingkatkan memungkinkan aplikasi Anda melebihi batas memori aplikasi default pada perangkat yang didukung.
Pemberian izin didefinisikan menggunakan com.apple.developer.kernel.increased-memory-limit
kunci, dari jenis Boolean
:
<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>
Untuk informasi selengkapnya, lihat Meningkatkan Pemberian Izin Batas Memori pada developer.apple.com.
Audio antar-aplikasi
Pemberian izin audio antar-aplikasi memungkinkan aplikasi Anda mengirim dan menerima audio ke/dari aplikasi lain yang mengaktifkan audio Antar-aplikasi.
Pemberian izin didefinisikan menggunakan inter-app-audio
kunci, dari jenis Boolean
:
<key>inter-app-audio</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Audio Antar Aplikasi di developer.apple.com.
Penting
Pemberian izin ini tidak digunakan lagi di iOS 13 dan tidak tersedia saat menjalankan aplikasi iPad di macOS.
Rantai kunci
Pemberian izin Rantai Kunci memungkinkan beberapa aplikasi yang ditulis oleh tim yang sama untuk berbagi kata sandi.
Pemberian izin didefinisikan menggunakan keychain-access-groups
kunci, dari jenis Array
String
:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.companyname.test</string>
</array>
Untuk informasi selengkapnya, lihat Hak Grup Akses Rantai Kunci di developer.apple.com.
Domain terkait terkelola MDM
Penetapan domain terkait yang dikelola Mobile Development Management (MDM) memungkinkan MDM untuk melengkapi Domain Terkait yang disertakan dengan aplikasi Anda dengan nilai seperti nama server yang unik untuk lingkungan.
Pemberian izin didefinisikan menggunakan com.apple.developer.associated-domains.mdm-managed
kunci, dari jenis Boolean
:
<key>com.apple.developer.associated-domains.mdm-managed</key>
<true/>
Multipath
Pemberian izin Multipath memungkinkan aplikasi Anda menggunakan protokol multipath seperti TCP Multipath, yang akan dengan mulus menyerahkan lalu lintas dari satu antarmuka ke antarmuka lainnya.
Pemberian izin didefinisikan menggunakan com.apple.developer.networking.multipath
kunci, dari jenis Boolean
:
<key>com.apple.developer.networking.multipath</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Multipath di developer.apple.com.
Pembaca tag komunikasi bidang dekat
Penetapan pembaca tag komunikasi bidang dekat memungkinkan aplikasi membaca tag NFC Data Exchanged Format (NDEF) Near Field Communication (NFC).
Pemberian izin didefinisikan menggunakan com.apple.developer.nfc.readersession.formats
kunci, dari jenis Array
String
:
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>NDEF</string>
<string>TAG</string>
</array>
Untuk informasi selengkapnya, lihat Mendekati Pemberian Izin Format Sesi Pembaca Tag Komunikasi Bidang di developer.apple.com.
Ekstensi jaringan
Pemberian izin ekstensi jaringan memungkinkan Anda membuat ekstensi aplikasi yang memperluas dan menyesuaikan kemampuan jaringan perangkat Anda.
Pemberian izin didefinisikan menggunakan com.apple.developer.networking.networkextension
kunci, dari jenis Array
String
:
<key>com.apple.developer.networking.networkextension</key>
<array>
<string>content-filter-provider</string>
</array>
Untuk informasi selengkapnya, lihat Pemberian Izin Ekstensi Jaringan di developer.apple.com.
VPN Pribadi
Pemberian izin VPN pribadi memungkinkan aplikasi Anda menggunakan koneksi VPN kustom.
Pemberian izin didefinisikan menggunakan com.apple.developer.networking.vpn.api
kunci, dari jenis Array
String
:
<key>com.apple.developer.networking.vpn.api</key>
<array>
<string>allow-vpn</string>
</array>
Untuk informasi selengkapnya, lihat Pemberian Izin VPN Pribadi di developer.apple.com.
Pemberitahuan push
Pemberian izin pemberitahuan push memungkinkan aplikasi Anda menerima pemberitahuan push.
Pemberian izin didefinisikan menggunakan aps-environment
kunci, dari jenis String
:
<key>aps-environment</key>
<string>development</string>
Untuk informasi selengkapnya, lihat Pemberian Izin Lingkungan APS pada developer.apple.com.
Dorong untuk berbicara
Pendorongan untuk berbicara pemberian izin memungkinkan aplikasi Anda melaporkan saluran Push to Talk ke sistem sehingga dapat menangani transmisi dan penerimaan audio latar belakang.
Pemberian izin didefinisikan menggunakan com.apple.developer.push-to-talk
kunci, dari jenis Boolean
:
<key>com.apple.developer.push-to-talk</key>
<true/>
Untuk informasi selengkapnya, lihat Mendorong untuk Berbicara Pemberian Izin di developer.apple.com.
Dibagikan dengan Anda
Hak yang dibagikan dengan Anda memungkinkan aplikasi untuk mengklaim tautan yang dibagikan dalam percakapan Pesan dan agar muncul melalui kerangka kerja Dibagikan dengan Anda.
Pemberian izin didefinisikan menggunakan com.apple.developer.shared-with-you
kunci, dari jenis Boolean
:
<key>com.apple.developer.shared-with-you</key>
<true/>
Masuk dengan Apple
Masuk dengan pemberian izin Apple memungkinkan pengguna untuk mengautentikasi dengan ID Apple mereka.
Pemberian izin didefinisikan menggunakan com.apple.developer.applesignin
kunci, dari jenis Array
String
:
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
Untuk informasi selengkapnya, lihat Masuk dengan Pemberian Izin Apple di developer.apple.com.
Siri
Pemberian izin Siri memungkinkan aplikasi Anda menangani permintaan Siri.
Pemberian izin didefinisikan menggunakan com.apple.developer.siri
kunci, dari jenis Boolean
:
<key>com.apple.developer.siri</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin Siri di developer.apple.com.
Pemberitahuan sensitif waktu
Pemberian hak pemberitahuan sensitif waktu memungkinkan aplikasi untuk menangani pemberitahuan sensitif waktu. Pemberitahuan sensitif waktu memberikan informasi yang menuntut perhatian segera dan langsung memanggil individu untuk mengambil tindakan saat pemberitahuan diterima. Pemberitahuan Sensitif Waktu selalu dikirimkan segera, muncul di atas pemberitahuan lain, dan diizinkan untuk menerobos Fokus dan Jangan Diganggu.
Pemberian izin didefinisikan menggunakan com.apple.developer.usernotifications.time-sensitive
kunci, dari jenis Boolean
:
<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>
Dompet
Pemberian kepemilikan dompet memungkinkan aplikasi Anda mengelola pass, tiket, kartu hadiah, dan kartu loyalitas. Ini mendukung berbagai format kode batang.
Pemberian izin didefinisikan menggunakan com.apple.developer.pass-type-identifiers
kunci, dari jenis Array
String
:
<key>com.apple.developer.pass-type-identifiers</key>
<array>
<string>$(TeamIdentifierPrefix)*</string>
</array>
Contoh ini akan memungkinkan aplikasi Anda untuk mengizinkan semua jenis pass. Untuk membatasi aplikasi Anda dan hanya mengizinkan sekumpulan jenis pass tim, atur nilai string ke $(TeamIdentifierPrefix)pass.$(CFBundleIdentifier)
tempat pass.$(CFBundleIdentifier)
adalah ID Pass.
Untuk informasi selengkapnya, lihat Pemberian Izin ID Jenis Pass di developer.apple.com.
WeatherKit
Pemberian izin WeatherKit memungkinkan aplikasi untuk menerima dan memproses informasi cuaca saat ini dan prakiraan.
Pemberian izin didefinisikan menggunakan com.apple.developer.weatherkit
kunci, dari jenis Boolean
:
<key>com.apple.developer.weatherkit</key>
<true/>
Untuk informasi selengkapnya, lihat Pemberian Izin WeatherKit di developer.apple.com.
Konfigurasi aksesori nirkabel
Hak konfigurasi aksesori nirkabel memungkinkan aplikasi Anda untuk mengonfigurasi aksesori WiFi.
Pemberian izin didefinisikan menggunakan com.apple.external-accessory.wireless-configuration
kunci, dari jenis Boolean
:
<key>com.apple.external-accessory.wireless-configuration</key>
<true/>
Untuk informasi selengkapnya, lihat Hak Konfigurasi Aksesori Nirkabel pada developer.apple.com.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk