Bagikan melalui


Kemampuan Mac Catalyst

Di aplikasi Mac Catalyst .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. Apple menyediakan kemampuan, juga dikenal sebagai layanan aplikasi, sebagai sarana untuk memperluas fungsionalitas dan memperluas cakupan apa yang dapat dilakukan oleh app Mac Catalyst. Untuk informasi selengkapnya tentang kemampuan, lihat Kemampuan di developer.apple.com.

Kemampuan ditambahkan ke profil provisi aplikasi Anda, dan digunakan saat kode menandatangani aplikasi Anda. Profil provisi harus berisi ID Aplikasi, yang cocok dengan pengidentifikasi bundel aplikasi Anda, dengan kemampuan yang diperlukan diaktifkan. Profil provisi harus dibuat di Akun Pengembang Apple Anda.

Kemampuan terkait erat dengan konsep pemberian izin. 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. Untuk informasi selengkapnya tentang pemberian izin, lihat Pemberian Izin.

Menambahkan kemampuan di Akun Pengembang Apple Anda

Kemampuan dapat ditambahkan ke profil provisi aplikasi Anda di Akun Pengembang Apple Anda. Ini adalah proses multi-langkah yang mengharuskan pembuatan sertifikat penandatanganan, ID Aplikasi, dan profil provisi.

Saat menambahkan kemampuan baru ke profil provisi, Anda juga harus menambahkan kemampuan yang sama ke file Entitlements.plist aplikasi Anda dan memastikan bahwa aplikasi menggunakan file ini. Untuk informasi selengkapnya, lihat Pemberian Izin. Mungkin juga perlu mengatur kunci privasi di Info.plist, untuk kemampuan tertentu.

Membuat sertifikat penandatanganan

Membuat profil provisi mengharuskan Anda membuat sertifikat penandatanganan sebelumnya. Jenis sertifikat penandatanganan tergantung pada saluran distribusi yang dimaksudkan untuk aplikasi Anda:

Membuat ID Aplikasi dengan layanan aplikasi

ID Aplikasi mirip dengan string REVERSE-DNS, yang secara unik mengidentifikasi aplikasi, dan diperlukan untuk mengidentifikasi aplikasi yang Anda distribusikan. ID Aplikasi harus identik dengan pengidentifikasi bundel untuk aplikasi Anda.

Penting

Pengidentifikasi bundel untuk aplikasi .NET MAUI disimpan dalam file proyek sebagai properti ID Aplikasi:

  • Di Visual Studio, di Penjelajah Solusi klik kanan pada proyek aplikasi .NET MAUI Anda dan pilih Properti. Kemudian, navigasikan ke tab Umum Bersama > MAUI. Bidang ID Aplikasi mencantumkan pengidentifikasi bundel.
  • Di Visual Studio untuk Mac, di Jendela Solusi, klik kanan proyek aplikasi .NET MAUI Anda dan pilih Properti. Kemudian, di jendela Properti Proyek, pilih tab Buat > Info Aplikasi. Bidang ID Aplikasi mencantumkan pengidentifikasi bundel.

Ketika nilai bidang ID Aplikasi diperbarui, nilai pengidentifikasi Bundel di Info.plist akan diperbarui secara otomatis.

Ada dua jenis ID Aplikasi - eksplisit dan kartubebas. ID Aplikasi eksplisit unik untuk satu aplikasi, dan biasanya mengambil formulir com.domainname.myid. ID Aplikasi eksplisit memungkinkan penginstalan satu aplikasi, dengan pengidentifikasi bundel yang cocok, ke perangkat. ID Aplikasi Eksplisit diperlukan untuk aplikasi yang mengaktifkan kemampuan khusus aplikasi.

ID Aplikasi eksplisit dapat dibuat dengan langkah-langkah berikut:

  1. Di browser web, buka bagian Pengidentifikasi di Akun Pengembang Apple Anda dan klik tombol + .

  2. Di halaman Daftarkan pengidentifikasi baru, pilih ID Aplikasi dan klik tombol Lanjutkan .

  3. Di halaman Daftarkan pengidentifikasi baru, pilih Jenis aplikasi dan klik tombol Lanjutkan .

  4. Di halaman Daftarkan ID Aplikasi, berikan Deskripsi dan atur ID Bundel ke Eksplisit. Kemudian, masukkan ID Aplikasi dalam format com.domainname.myid:

    Screenshot of new App ID registration page with required fields populated.

  5. Di halaman Daftarkan ID Aplikasi, aktifkan kemampuan yang diperlukan di bawah tab Kapabilitas dan App Services :

    Screenshot of enabled capabilities.

  6. Di halaman Daftarkan ID Aplikasi, klik tombol Lanjutkan .

  7. Di halaman Konfirmasi ID Aplikasi Anda, tinjau informasi lalu klik tombol Daftar . Asalkan ID Aplikasi Anda berhasil didaftarkan, Anda akan dikembalikan ke bagian Pengidentifikasi di Akun Pengembang Apple Anda.

  8. Di halaman Pengidentifikasi , klik ID Aplikasi yang baru saja Anda buat.

  9. Di halaman Edit Konfigurasi ID Aplikasi Anda, salah satu kemampuan anda yang diaktifkan yang memerlukan penyiapan tambahan akan memiliki tombol Konfigurasi :

    Screenshot of editing capabilities.

    Klik tombol Konfigurasi apa pun untuk mengonfigurasi kemampuan yang diaktifkan. Untuk informasi selengkapnya, lihat Mengonfigurasi kemampuan aplikasi di developer.apple.com.

Membuat profil penyebaran

Setelah membuat ID Aplikasi, Anda harus membuat profil provisi untuk ID Aplikasi. Profil provisi yang Anda buat juga akan bergantung pada saluran distribusi yang dimaksudkan untuk aplikasi Anda:

Mengunduh profil provisi

Catatan

Visual Studio untuk Mac dijadwalkan untuk dihentikan pada 31 Agustus 2024 sesuai dengan Kebijakan Siklus Hidup Modern Microsoft. Visual Studio untuk Mac 17.6 akan terus didukung hingga 31 Agustus 2024, dengan pembaruan layanan untuk masalah keamanan dan platform yang diperbarui dari Apple. Untuk informasi selengkapnya, termasuk opsi alternatif untuk mengembangkan di Mac, lihat Apa yang terjadi pada Visual Studio untuk Mac?.

Setelah Anda membuat profil provisi, profil tersebut harus diunduh oleh Visual Studio untuk Mac:

  1. Di Visual Studio untuk Mac, buka Preferensi > Visual Studio > Yang Menerbitkan > Akun Pengembang Apple.
  2. Di jendela Akun Pengembang Apple, pilih tim dan klik tombol Lihat Detail... .
  3. Di jendela Detail , verifikasi bahwa profil baru muncul di daftar Profil Provisi . Anda mungkin perlu memulai ulang Visual Studio untuk Mac untuk me-refresh daftar.
  4. Dalam dialog Detail, klik tombol Unduh Semua Profil.

Profil provisi kemudian akan tersedia untuk digunakan.

Catatan

Anda juga dapat mengunduh profil provisi di Xcode. Untuk informasi selengkapnya, lihat Mengunduh profil provisi Anda di Xcode.

Menentukan properti build dalam file proyek Anda

File proyek untuk aplikasi Anda harus diperbarui untuk menggunakan sertifikat penandatanganan, profil provisi, dan file pemberian izin. Ini dapat dicapai dengan menambahkan properti build berikut ke <PropertyGroup> dalam file proyek Anda:

Properti Nilai
<CodesignKey> Nama kunci penandatanganan kode. Atur ke nama sertifikat distribusi Anda, seperti yang ditampilkan di Akses Rantai Kunci.
<CodesignEntitlements> Jalur ke file pemberian izin yang menentukan pemberian izin yang diperlukan aplikasi. Atur ke Platforms\MacCatalyst\Entitlements.plist.
<CodesignProvision> Profil provisi yang akan digunakan saat menandatangani bundel aplikasi.
<EnableCodeSigning> Atur ke true sehingga penandatanganan kode diaktifkan.

Contoh berikut menunjukkan grup properti khas untuk membangun dan menandatangani aplikasi Mac Catalyst Anda untuk distribusi Mac App Store:

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
  <EnableCodeSigning>True</EnableCodeSigning>
  <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

Pemecahan masalah

Daftar berikut merinci masalah umum yang dapat menyebabkan masalah saat mengembangkan aplikasi .NET MAUI Mac Catalyst yang menggunakan kemampuan:

  • Pastikan ID Aplikasi yang benar telah dibuat dan didaftarkan di bagian Pengidentifikasi di Akun Pengembang Apple Anda.
  • Pastikan bahwa kemampuan telah ditambahkan ke ID Aplikasi dan kemampuan dikonfigurasi menggunakan nilai yang benar.
  • Pastikan profil provisi telah diinstal pada komputer pengembangan Anda dan file Info.plist aplikasi menggunakan pengidentifikasi bundel yang identik dengan ID Aplikasi Anda.
  • Pastikan bahwa file Entitlements.plist aplikasi mengaktifkan pemberian izin yang benar.
  • Pastikan bahwa kunci privasi yang diperlukan diatur di Info.plist.
  • Pastikan aplikasi menggunakan file Entitlements.plist .