Bagikan melalui


Menerbitkan aplikasi Mac Catalyst untuk distribusi ad-hoc

Saat mendistribusikan app Mac Catalyst di luar Mac App Store, Anda juga dapat memilih untuk mendistribusikan aplikasi Anda ke sejumlah pengguna terbatas di perangkat terdaftar. Ini dikenal sebagai distribusi ad-hoc , dan terutama digunakan untuk menguji aplikasi dalam sekelompok orang. Namun, dibatasi hingga 100 perangkat per tahun keanggotaan, dan perangkat harus ditambahkan ke Akun Pengembang Apple Anda. Anggota Program Pengembang Apple dan Program Perusahaan Pengembang Apple dapat menggunakan pendekatan distribusi ini.

Mendistribusikan aplikasi Mac Catalyst mengharuskan aplikasi disediakan menggunakan profil provisi. Profil provisi adalah file yang berisi informasi penandatanganan kode, serta identitas aplikasi dan mekanisme distribusi yang dimaksudkan.

Untuk mendistribusikan aplikasi Catalyst Mac UI .NET Multi-platform (.NET MAUI) di luar Mac App Store dengan distribusi ad-hoc, Anda harus membangun profil provisi pengembangan khusus untuk itu. Profil ini memungkinkan aplikasi ditandatangani secara digital untuk rilis sehingga dapat diinstal di Mac. Profil provisi pengembangan ad-hoc berisi ID Aplikasi, sertifikat pengembangan, dan daftar perangkat yang dapat menginstal aplikasi. Anda harus membuat sertifikat pengembangan untuk mengidentifikasi diri Anda atau organisasi Anda, jika Anda belum memilikinya.

Proses untuk menyediakan aplikasi .NET MAUI Mac Catalyst untuk distribusi ad-hoc adalah sebagai berikut:

  1. Buat permintaan penandatanganan sertifikat. Untuk informasi selengkapnya, lihat Membuat permintaan penandatanganan sertifikat.
  2. Membuat sertifikat pengembangan. Untuk informasi selengkapnya, lihat Membuat sertifikat pengembangan.
  3. Membuat ID Aplikasi. Untuk informasi selengkapnya, lihat Membuat ID Aplikasi.
  4. Tambahkan perangkat ke Akun Pengembang Apple Anda. Untuk informasi selengkapnya, lihat Menambahkan perangkat.
  5. Buat profil provisi. Untuk informasi selengkapnya, lihat Membuat profil provisi.
  6. Unduh profil provisi Anda. Untuk informasi selengkapnya, lihat Mengunduh profil provisi Anda di Xcode.

Penting

Artikel ini memperlihatkan provisi untuk distribusi ad-hoc menggunakan Akun Pengembang Apple yang merupakan bagian dari Program Pengembang Apple. Ini juga dapat digunakan untuk Akun Pengembang Apple yang merupakan bagian dari Program Perusahaan Pengembang Apple, karena langkah-langkah yang diperlukan sebagian besar identik.

Kemudian, setelah provisi selesai, Anda harus menyiapkan aplikasi untuk dipublikasikan, lalu menerbitkannya dengan proses berikut:

  1. Secara opsional tambahkan pemberian izin ke aplikasi Anda. Untuk informasi selengkapnya, lihat Menambahkan pemberian izin.
  2. Perbarui file Info.plist aplikasi. Untuk informasi selengkapnya, lihat Memperbarui Info.plist.
  3. Terbitkan aplikasi Anda menggunakan baris perintah. Untuk informasi selengkapnya, lihat Menerbitkan menggunakan baris perintah.

Buat permintaan penandatanganan sertifikat

Sebelum membuat sertifikat distribusi, Anda harus terlebih dahulu membuat permintaan penandatanganan sertifikat (CSR) di Akses Rantai Kunci di Mac:

  1. Di Mac Anda, luncurkan Akses Rantai Kunci.

  2. Di Akses Rantai Kunci, pilih item menu Asisten > Sertifikat Akses > Rantai Kunci Minta Sertifikat dari Otoritas Sertifikat... .

  3. Dalam dialog Asisten Sertifikat, masukkan alamat email di bidang Alamat Email Pengguna.

  4. Dalam dialog Asisten Sertifikat, masukkan nama untuk kunci di bidang Nama Umum.

  5. Dalam dialog Asisten Sertifikat, biarkan bidang Alamat Email CA kosong.

  6. Dalam dialog Asisten Sertifikat, pilih tombol radio Disimpan ke disk dan pilih Lanjutkan:

    Certificate assistant dialog.

  7. Simpan permintaan penandatanganan sertifikat ke lokasi yang diketahui.

  8. Dalam dialog Asisten Sertifikat, pilih tombol Selesai.

  9. Tutup Akses Rantai Kunci.

Membuat sertifikat pengembangan

CSR memungkinkan Anda membuat sertifikat pengembangan, yang mengonfirmasi identitas Anda. Sertifikat pengembangan harus dibuat menggunakan ID Apple untuk Akun Pengembang Apple Anda:

  1. Di browser web, masuk ke Akun Pengembang Apple Anda.

  2. Di Akun Pengembang Apple Anda, pilih tab Sertifikat, ID , & Profil .

  3. Pada halaman Sertifikat, Pengidentifikasi & Profil , pilih tombol + untuk membuat sertifikat baru.

  4. Pada halaman Buat Sertifikat Baru, pilih tombol radio Pengembangan Apple sebelum memilih tombol Lanjutkan :

    Create an Apple development certificate.

  5. Pada halaman Buat Sertifikat Baru, pilih Pilih File:

    Upload your certificate signing request.

  6. Dalam dialog Pilih File untuk Diunggah, pilih file permintaan sertifikat yang sebelumnya Anda buat (file dengan .certSigningRequest ekstensi file) lalu pilih Unggah.

  7. Pada halaman Buat Sertifikat Baru, pilih tombol Lanjutkan :

    Continue to generate your distribution certificate.

  8. Pada halaman Unduh Sertifikat Anda, pilih tombol Unduh :

    Download your distribution certificate.

    File sertifikat (file dengan .cer ekstensi) akan diunduh ke lokasi yang Anda pilih.

  9. Di Mac Anda, klik dua kali file sertifikat yang diunduh untuk menginstal sertifikat ke rantai kunci Anda. Sertifikat muncul di kategori Sertifikat Saya di Akses Rantai Kunci, dan dimulai dengan Pengembangan Apple:

    Keychain Access showing development certificate.

    Catatan

    Catat nama sertifikat lengkap di Akses Rantai Kunci. Ini akan diperlukan saat menandatangani aplikasi Anda.

Membuat profil pengembangan

Profil provisi pengembangan ad-hoc memungkinkan aplikasi .NET MAUI Mac Catalyst Anda ditandatangani secara digital, sehingga dapat diinstal pada Mac tertentu. Profil provisi pengembangan ad-hoc berisi ID Aplikasi, sertifikat pengembangan, dan daftar perangkat yang dapat menginstal aplikasi.

Membuat ID Aplikasi

ID Aplikasi diperlukan untuk mengidentifikasi aplikasi yang Anda distribusikan. ID Aplikasi mirip dengan string REVERSE-DNS, yang secara unik mengidentifikasi aplikasi, dan harus identik dengan pengidentifikasi bundel untuk aplikasi Anda. Anda dapat menggunakan ID Aplikasi yang sama dengan yang Anda gunakan saat menyebarkan aplikasi ke perangkat untuk pengujian.

Ada dua jenis ID Aplikasi:

  • Kartubebas. ID Aplikasi wildcard memungkinkan Anda menggunakan satu ID Aplikasi untuk mencocokkan beberapa aplikasi, dan biasanya mengambil formulir com.domainname.*. ID Aplikasi wildcard dapat digunakan untuk mendistribusikan beberapa aplikasi, dan harus digunakan untuk aplikasi yang tidak mengaktifkan kemampuan khusus aplikasi.
  • Eksplisit. ID Aplikasi eksplisit unik untuk satu aplikasi, dan biasanya mengambil formulir com.domainname.myid. ID Aplikasi eksplisit memungkinkan distribusi satu aplikasi, dengan pengidentifikasi bundel yang cocok. ID Aplikasi Eksplisit biasanya digunakan untuk aplikasi yang mengaktifkan kemampuan khusus aplikasi seperti Apple Pay, atau Game Center. Untuk informasi selengkapnya tentang kemampuan, lihat Kemampuan.

Untuk membuat ID Aplikasi baru:

  1. Di Akun Pengembang Apple Anda, navigasikan ke Sertifikat, ID , & Profil.

  2. Pada halaman Sertifikat, Pengidentifikasi & Profil , pilih tab Pengidentifikasi .

  3. Pada halaman Pengidentifikasi , pilih tombol + untuk membuat ID Aplikasi baru.

  4. Pada halaman Daftarkan pengidentifikasi baru, pilih tombol radio ID Aplikasi sebelum memilih tombol Lanjutkan :

    Create an App ID.

  5. Pada halaman Daftarkan pengidentifikasi baru, pilih Aplikasi sebelum memilih tombol Lanjutkan :

    Register an App ID.

  6. Pada halaman Daftarkan ID Aplikasi, masukkan deskripsi, dan pilih tombol radio Id Bundel Eksplisit atau Wildcard . Kemudian, masukkan ID Bundel untuk aplikasi Anda dalam format DS terbalik:

    Specify the bundle identifier for the app.

    Penting

    ID Bundel yang Anda masukkan harus sesuai dengan pengidentifikasi Bundel dalam file Info.plist di proyek aplikasi Anda.

    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.

  7. Pada halaman Daftarkan ID Aplikasi, pilih kemampuan apa pun yang digunakan aplikasi. Kemampuan apa pun harus dikonfigurasi baik di halaman ini maupun di file Entitlements.plist di proyek aplikasi Anda. Untuk informasi selengkapnya, lihat Kapabilitas dan Pemberian Izin.

  8. Pada halaman Daftarkan ID Aplikasi, pilih tombol Lanjutkan .

  9. Pada halaman Konfirmasi ID Aplikasi Anda, pilih tombol Daftar .

Menambahkan perangkat

Saat membuat profil provisi untuk distribusi ad-hoc, profil harus menyertakan perangkat mana yang dapat menjalankan aplikasi. Sebelum memilih perangkat yang akan ditambahkan ke profil provisi, Anda harus terlebih dahulu menambahkan perangkat ke Akun Pengembang Apple Anda. Ini dapat dicapai dengan langkah-langkah berikut:

  1. Pilih item menu Apple > Tentang Mac ini.

  2. Di tab Gambaran Umum , pilih tombol Laporan Sistem... .

  3. Di Laporan Sistem, pilih Perluas perangkat keras untuk melihat gambaran umum perangkat keras. Laporan ini menampilkan pengidentifikasi unik universal (UUID) sebagai UUID Perangkat Keras di macOS 10.15 dan yang lebih lama, atau Provisi UDID di macOS 11.0 dan yang lebih baru.

  4. Pilih nilai UUID Perangkat Keras atau Provisi UDID dan salin ke clipboard.

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

  6. Di halaman Daftarkan Perangkat Baru, atur Platform ke macOS dan berikan nama untuk perangkat baru. Kemudian tempelkan pengidentifikasi dari clipboard ke bidang ID Perangkat (UUID), dan klik tombol Lanjutkan :

    Register a device by naming it and entering its unique device identifier.

  7. Di halaman Daftarkan Perangkat Baru, tinjau informasi lalu klik tombol Daftar .

Ulangi langkah-langkah di atas untuk Mac apa pun yang ingin Anda sebarkan aplikasi .NET MAUI Mac Catalyst anda untuk menggunakan distribusi ad-hoc.

Membuat profil penyebaran

Setelah ID Aplikasi dibuat, Anda harus membuat profil provisi pengembangan. Profil ini memungkinkan aplikasi untuk ditandatangani secara digital sehingga dapat diinstal pada Mac tertentu.

Untuk membuat profil provisi untuk distribusi ad-hoc:

  1. Di halaman Sertifikat, Pengidentifikasi , & Profil Akun Pengembang Apple Anda, pilih tab Profil .

  2. Di tab Profil , klik tombol + untuk membuat profil baru.

  3. Di halaman Daftarkan Profil Provisi Baru, pilih tombol radio Pengembangan Aplikasi macOS sebelum mengklik tombol Lanjutkan :

    Register a provisioning profile for ad-hoc distribution.

  4. Di halaman Buat Profil Provisi, pilih tombol radio Katalis Mac. Kemudian, di menu drop-down ID Aplikasi, pilih ID Aplikasi yang sebelumnya Anda buat sebelum mengklik tombol Lanjutkan :

    Select your App ID.

  5. Di halaman Buat Profil Provisi, pilih kotak centang yang sesuai dengan sertifikat pengembangan Anda sebelum mengklik tombol Lanjutkan :

    Select your development certificate.

  6. Di halaman Buat Profil Provisi, pilih perangkat tempat aplikasi akan diinstal lalu klik tombol Lanjutkan .

    Screenshot of adding a device to a provisioning profile.

  7. Di halaman Buat Profil Provisi, masukkan nama untuk profil provisi sebelum mengklik tombol Hasilkan :

    Generate the provisioning profile.

    Catatan

    Catat nama profil provisi, karena akan diperlukan saat menandatangani aplikasi Anda.

  8. Di halaman Buat Profil Provisi, klik tombol Unduh secara opsional untuk mengunduh profil provisi Anda.

    Catatan

    Anda tidak perlu mengunduh profil provisi Anda sekarang. Sebagai gantinya, Anda akan melakukan ini di Xcode.

Unduh profil provisi Anda di Xcode

Setelah membuat profil provisi di Akun Pengembang Apple, Xcode dapat mengunduhnya sehingga tersedia untuk menandatangani aplikasi Anda:

  1. Di Mac Anda, luncurkan Xcode.

  2. Di Xcode, pilih item menu Preferensi Xcode > ... .

  3. Dalam dialog Preferensi, pilih tab Akun.

  4. Di tab Akun , klik tombol + untuk menambahkan Akun Pengembang Apple Anda ke Xcode:

    Xcode Accounts dialog in preferences.

  5. Di popup jenis akun, pilih ID Apple lalu klik tombol Lanjutkan :

    Xcode select the type of account you'd like to add popup.

  6. Di popup masuk, masukkan ID Apple Anda dan klik tombol Berikutnya .

  7. Di popup masuk, masukkan kata sandi ID Apple Anda dan klik tombol Berikutnya :

    Xcode Apple account sign-in.

  8. Di tab Akun , klik tombol Kelola Sertifikat... untuk memastikan bahwa sertifikat distribusi Anda telah diunduh.

  9. Di tab Akun , klik tombol Unduh Profil Manual untuk mengunduh profil provisi Anda:

    Xcode Apple Developer Program account details.

  10. Tunggu hingga unduhan selesai lalu tutup Xcode.

Menambahkan hak

App Sandbox Apple membatasi akses ke sumber daya sistem dan data pengguna di app Mac, untuk berisi kerusakan jika aplikasi disusupi. Ini harus diaktifkan untuk app Mac Catalyst yang didistribusikan melalui Mac App Store, dan dapat diaktifkan secara opsional untuk app Mac Catalyst yang didistribusikan di luar Mac App Store.

Ini dapat dicapai dengan menambahkan file Entitlements.plist ke folder Platforms/MacCatalyst proyek aplikasi .NET MAUI Anda:

<?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>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

Penetapan Kotak Pasir Aplikasi didefinisikan menggunakan com.apple.security.app-sandbox kunci, jenis boolean. Untuk informasi tentang App Sandbox, lihat Melindungi data pengguna dengan App Sandbox di developer.apple.com. Untuk informasi tentang pemberian izin Kotak Pasir Aplikasi, lihat Pemberian Izin Kotak Pasir Aplikasi.

Jika aplikasi Anda membuka koneksi jaringan keluar, Anda juga harus menambahkan com.apple.security.network.client kunci, jenis boolean, ke file Entitlements.plist Anda:

<?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>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
  </dict>
</plist>

Untuk informasi tentang pemberian izin koneksi jaringan keluar, lihat com.apple.security.network.client di developer.apple.com.

Perbarui Info.plist

Sebelum mendistribusikan aplikasi, Anda harus memperbarui file Info.plist dengan informasi tambahan.

Catatan

Meskipun bukan persyaratan untuk memperbarui file Info.plist aplikasi Anda saat mendistribusikannya untuk pengujian, pembaruan ini akan diperlukan saat mendistribusikan versi akhir aplikasi Anda yang diuji. Oleh karena itu, praktik terbaik adalah melakukan pembaruan ini.

Tentukan idiom antarmuka pengguna

App Mac Catalyst dapat berjalan di idiom antarmuka pengguna iPad atau Mac:

  • idiom antarmuka pengguna iPad memberi tahu macOS untuk menskalakan antarmuka pengguna aplikasi agar sesuai dengan lingkungan layar Mac sambil mempertahankan tampilan seperti iPad.
  • Idiom antarmuka pengguna Mac tidak menskalakan antarmuka pengguna aplikasi agar sesuai dengan lingkungan tampilan Mac. Beberapa kontrol mengubah ukuran dan tampilannya, dan berinteraksi dengan mereka terasa identik dengan berinteraksi dengan AppKit kontrol.

Secara default, aplikasi .NET MAUI Mac Catalyst menggunakan idiom antarmuka pengguna iPad. Jika ini adalah perilaku yang Anda inginkan, pastikan bahwa file Info.plist aplikasi hanya menentukan 2 sebagai nilai UIDeviceFamily kunci:

<key>UIDeviceFamily</key>
<array>
  <integer>2</integer>
</array>

Untuk mengadopsi idiom antarmuka pengguna Mac, perbarui file Info.plist aplikasi untuk menentukan 6 sebagai nilai UIDeviceFamily kunci:

<key>UIDeviceFamily</key>
<array>
  <integer>6</integer>
</array>

Untuk informasi selengkapnya tentang idiom antarmuka pengguna Mac Catalyst, lihat Menentukan idiom UI untuk app Mac Catalyst Anda.

Mengatur bahasa dan wilayah default untuk aplikasi

Atur CFBundleDevelopmentRegion kunci di Info.plist aplikasi Anda ke string yang mewakili wilayah pengembangan asli pelokalan:

<key>CFBundleDevelopmentRegion</key>
<string>en</string>

Nilai kunci harus menjadi pendesain bahasa, dengan pendesain wilayah opsional. Untuk informasi selengkapnya, lihat CFBundleDevelopmentRegion di developer.apple.com.

Atur NSHumanReadableCopyright kunci di Info.plist aplikasi Anda ke string yang mewakili pemberitahuan hak cipta yang dapat dibaca manusia untuk aplikasi Anda:

<key>NSHumanReadableCopyright</key>
<string>MyMauiApp © 2023</string>

Untuk informasi selengkapnya, lihat NSHumanReadableCopyright di developer.apple.com.

Mendeklarasikan penggunaan enkripsi aplikasi Anda

Jika aplikasi Anda menggunakan enkripsi, dan Anda berencana untuk mendistribusikannya di luar Amerika Serikat atau Kanada, aplikasi tersebut tunduk pada persyaratan kepatuhan ekspor AS. Anda dapat memberikan informasi tentang penggunaan enkripsi aplikasi anda dalam file Info.plist-nya.

Ini dicapai dengan menambahkan ITSAppUsesNonExemptEncryption kunci ke Info.plist aplikasi Anda dengan boolean nilai yang menunjukkan apakah aplikasi Anda menggunakan enkripsi:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

Untuk informasi selengkapnya, lihat Mematuhi Peraturan Ekspor Enkripsi tentang developer.apple.com.

Menerbitkan menggunakan baris perintah

Untuk menerbitkan app Mac Catalyst Anda dari baris perintah di Mac, buka terminal dan buka folder untuk proyek aplikasi .NET MAUI Anda. Jalankan dotnet publish perintah , menyediakan parameter berikut:

Parameter Value
-f atau --framework Kerangka kerja target, yaitu net8.0-maccatalyst.
-c atau --configuration Konfigurasi build, yaitu Release.
-p:MtouchLink Mode tautan untuk proyek, yang dapat berupa None, , SdkOnlyatau Full.
-p:CreatePackage Atur ke true sehingga paket (.pkg) dibuat untuk aplikasi di akhir build.
-p:EnableCodeSigning Atur ke true sehingga penandatanganan kode diaktifkan.
-p:CodesignKey Nama kunci penandatanganan kode. Atur ke nama sertifikat distribusi Anda, seperti yang ditampilkan di Akses Rantai Kunci.
-p:CodesignProvision Profil provisi yang akan digunakan saat menandatangani bundel aplikasi.
-p:CodesignEntitlements Jalur ke file pemberian izin yang menentukan pemberian izin yang diperlukan aplikasi. Atur ke Platforms\MacCatalyst\Entitlements.plist.
-p:RuntimeIdentifier Pengidentifikasi runtime (RID) untuk proyek. Rilis build aplikasi .NET MAUI Mac Catalyst secara default untuk menggunakan maccatalyst-x64 dan maccatalyst-arm64 sebagai pengidentifikasi runtime, untuk mendukung aplikasi universal. Untuk hanya mendukung satu arsitektur, tentukan maccatalyst-x64 atau maccatalyst-arm64.
-p:UseHardenedRuntime Atur ke true untuk mengaktifkan runtime yang diperkeras, yang diperlukan untuk app Mac Catalyst yang didistribusikan di luar Mac App Store.

Peringatan

Mencoba menerbitkan solusi .NET MAUI akan mengakibatkan dotnet publish perintah yang mencoba menerbitkan setiap proyek dalam solusi satu per satu, yang dapat menyebabkan masalah ketika Anda telah menambahkan jenis proyek lain ke solusi Anda. Oleh karena itu, dotnet publish perintah harus dicakup ke proyek aplikasi .NET MAUI Anda.

Parameter build tambahan dapat ditentukan pada baris perintah, jika tidak disediakan dalam <PropertyGroup> file proyek Anda. Tabel berikut mencantumkan beberapa parameter umum:

Parameter Value
-p:ApplicationTitle Nama yang terlihat pengguna untuk aplikasi.
-p:ApplicationId Pengidentifikasi unik untuk aplikasi, seperti com.companyname.mymauiapp.
-p:ApplicationVersion Versi build yang mengidentifikasi iterasi aplikasi.
-p:ApplicationDisplayVersion Nomor versi aplikasi.
-p:RuntimeIdentifier Pengidentifikasi runtime (RID) untuk proyek. Rilis build aplikasi .NET MAUI Mac Catalyst secara default untuk menggunakan maccatalyst-x64 dan maccatalyst-arm64 sebagai pengidentifikasi runtime, untuk mendukung aplikasi universal. Untuk hanya mendukung satu arsitektur, tentukan maccatalyst-x64 atau maccatalyst-arm64.

Untuk daftar lengkap properti build, lihat Properti file proyek.

Penting

Nilai untuk semua parameter ini tidak harus disediakan pada baris perintah. Mereka juga dapat disediakan dalam file proyek. Ketika parameter disediakan pada baris perintah dan dalam file proyek, parameter baris perintah lebih diutamakan. Untuk informasi selengkapnya tentang menyediakan properti build di file proyek Anda, lihat Menentukan properti build di file proyek Anda.

Misalnya, gunakan perintah berikut untuk membangun dan menandatangani .pkg di Mac, untuk distribusi ad-hoc kepada pengguna di perangkat terdaftar:

dotnet publish -f net8.0-maccatalyst -c Release -p:MtouchLink=SdkOnly -p:CreatePackage=true -p:EnableCodeSigning=true  -p:CodesignKey="Apple Development: John Smith (AY2GDE9QM7)" -p:CodesignProvision="MyMauiApp (Ad-hoc)" -p:CodesignEntitlements="Platforms\MacCatalyst\Entitlements.plist" -p:UseHardenedRuntime=true

Catatan

Di .NET 8, dotnet publish perintah default ke Release konfigurasi. Oleh karena itu, konfigurasi build dapat dihilangkan dari baris perintah.

Menerbitkan build, tanda, dan mengemas aplikasi, lalu menyalin .pkg ke folder bin/Release/net8.0-maccatalyst/publish/ . Jika Anda menerbitkan aplikasi hanya menggunakan satu arsitektur, aplikasi akan diterbitkan ke folder bin/Release/net8.0-maccatalyst/{architecture}/publish/ .

Selama proses penandatanganan, mungkin perlu memasukkan kata sandi masuk Anda dan memungkinkan codesign untuk menjalankan:

Allow codesign to sign your app on your Mac.

Untuk informasi selengkapnya tentang perintah, lihat penerbitan dotnet publishdotnet.

Menentukan properti build dalam file proyek Anda

Alternatif untuk menentukan parameter build pada baris perintah adalah menentukannya dalam file proyek Anda dalam <PropertyGroup>. Tabel berikut ini mencantumkan beberapa properti build umum:

Properti Nilai
<ApplicationTitle> Nama yang terlihat pengguna untuk aplikasi.
<ApplicationId> Pengidentifikasi unik untuk aplikasi, seperti com.companyname.mymauiapp.
<ApplicationVersion> Versi build yang mengidentifikasi iterasi aplikasi.
<ApplicationDisplayVersion> Nomor versi aplikasi.
<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.
<CreatePackage> Atur ke true sehingga paket (.pkg) dibuat untuk aplikasi di akhir build.
<EnableCodeSigning> Atur ke true sehingga penandatanganan kode diaktifkan.
<MtouchLink> Mode tautan untuk proyek, yang dapat berupa None, , SdkOnlyatau Full.
<RuntimeIdentifier> Pengidentifikasi runtime (RID) untuk proyek. Rilis build aplikasi .NET MAUI Mac Catalyst secara default untuk menggunakan maccatalyst-x64 dan maccatalyst-arm64 sebagai pengidentifikasi runtime, untuk mendukung aplikasi universal. Untuk hanya mendukung satu arsitektur, tentukan maccatalyst-x64 atau maccatalyst-arm64.
<UseHardenedRuntime> Atur ke true untuk mengaktifkan runtime yang diperkeras, yang diperlukan untuk app Mac Catalyst yang didistribusikan di luar Mac App Store.

Untuk daftar lengkap properti build, lihat Properti file proyek.

Penting

Nilai untuk properti build ini tidak harus disediakan dalam file proyek. Mereka juga dapat disediakan di baris perintah saat Anda menerbitkan aplikasi. Ini memungkinkan Anda menghilangkan nilai tertentu dari file proyek Anda.

Contoh berikut menunjukkan grup properti khas untuk membangun dan menandatangani aplikasi Mac Catalyst Anda untuk distribusi ad-hoc kepada pengguna di perangkat terdaftar:

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

Contoh <PropertyGroup> ini menambahkan pemeriksaan kondisi, mencegah pengaturan diproses kecuali pemeriksaan kondisi berlalu. Pemeriksaan kondisi mencari dua item:

  1. Konfigurasi build diatur ke Release.
  2. Kerangka kerja target diatur ke sesuatu yang berisi teks net8.0-maccatalyst.
  3. Platform diatur ke AnyCPU.

Jika salah satu kondisi ini gagal, pengaturan tidak diproses. Lebih penting lagi, <CodesignKey> pengaturan dan <CodesignProvision> tidak diatur, mencegah aplikasi ditandatangani.

Setelah menambahkan grup properti di atas, aplikasi dapat diterbitkan dari baris perintah di Mac dengan membuka terminal dan menavigasi ke folder untuk proyek aplikasi .NET MAUI Anda. Kemudian, jalankan perintah berikut:

dotnet build -f net8.0-maccatalyst -c Release

Menerbitkan build, tanda, dan mengemas aplikasi, lalu menyalin .pkg ke folder bin/Release/net8.0-maccatalyst/publish/ .

Mendistribusikan aplikasi Anda untuk pengujian

.pkg dapat didistribusikan kepada pengguna di perangkat terdaftar, di mana ia dapat dijalankan dengan mengklik dua kali pada file .pkg untuk menginstal aplikasi.

Untuk informasi tentang membuka app dengan aman di Mac, lihat Membuka app dengan aman di Mac Anda di support.apple.com.

Baca juga