Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Mac Catalyst uygulamalarını kullanıcılara dağıtmaya ilişkin en yaygın yaklaşım, Mac App Store üzerindendir. Uygulamalar, App Store Connect adlı çevrimiçi bir araç aracılığıyla Mac App Store'a gönderilir. Yalnızca Apple Geliştirici Programı'na ait geliştiriciler bu araca erişebilir. Apple Developer Enterprise Program üyelerinin erişimi yoktur. Mac App Store'a gönderilen tüm uygulamalar Apple'dan onay gerektirir.
Mac Catalyst uygulamasını dağıtmak için uygulamanın sağlama profili kullanılarak sağlanması gerekir. Sağlama profilleri, kod imzalama bilgilerinin yanı sıra uygulamanın kimliğini ve hedeflenen dağıtım mekanizmasını içeren dosyalardır.
.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) Mac Catalyst uygulamasını dağıtmak için, buna özgü bir dağıtım sağlama profili oluşturmanız gerekir. Bu profil, mac'lere yüklenebilmesi için uygulamanın yayın için dijital olarak imzalanmasını sağlar. Dağıtım sağlama profili uygulama kimliği ve dağıtım sertifikası içerir. Henüz bir dağıtım sertifikanız yoksa kendinizi veya kuruluşunuzu tanımlamak için bir dağıtım sertifikası oluşturmanız gerekir. Ayrıca, uygulamanızın yükleyici paketini Mac App Store'a göndermek üzere imzalamak için bir Mac yükleyici sertifikası oluşturmanız gerekir.
Mac App Store aracılığıyla dağıtım için bir .NET MAUI Mac Catalyst uygulaması sağlama işlemi aşağıdaki gibidir:
- Sertifika imzalama isteği oluşturun. Daha fazla bilgi için bkz . Sertifika imzalama isteği oluşturma.
- Dağıtım sertifikası oluşturun. Daha fazla bilgi için bkz . Dağıtım sertifikası oluşturma.
- Bir yükleyici sertifikası oluşturun. Daha fazla bilgi için bkz . Yükleyici sertifikası oluşturma.
- Bir Uygulama Kimliği oluşturun. Daha fazla bilgi için bkz . Uygulama kimliği oluşturma.
- Uygulama Kimliğini yapılandırın. Daha fazla bilgi için bkz . Uygulama Kimliğini Yapılandırma.
- Sağlama profili oluşturun. Daha fazla bilgi için bkz . Sağlama profili oluşturma.
- Sağlama profilinizi indirin. Daha fazla bilgi için bkz . Xcode'da sağlama profilinizi indirme.
Ardından, sağlama tamamlandıktan sonra uygulamanızı yayımlamaya hazırlamanız ve ardından aşağıdaki işlemle yayımlamanız gerekir:
- Uygulamanıza gerekli yetkilendirmeleri ekleyin. Daha fazla bilgi için bkz . Yetkilendirme ekleme.
- Uygulamanın Info.plist dosyasını güncelleştirin. Daha fazla bilgi için bkz . Info.plist'i Güncelleştirme.
- Komut satırını kullanarak uygulamanızı yayımlayın. Daha fazla bilgi için bkz . Komut satırını kullanarak yayımlama.
Sertifika imzalama isteği oluşturma
Dağıtım sertifikası oluşturmadan önce Mac'teki AnahtarLık Erişimi'nde bir sertifika imzalama isteği (CSR) oluşturmanız gerekir:
Mac bilgisayarınızda Anahtarlık Erişimi'ni başlatın.
Anahtarlık Erişimi'nde Anahtarlık Erişimi Sertifika Yardımcısı > Sertifika Yetkilisinden Sertifika İste... menü öğesini seçin.>
Sertifika Yardımcısı iletişim kutusunda, Kullanıcı E-posta Adresi alanına bir e-posta adresi girin.
Sertifika Yardımcısı iletişim kutusunda Ortak Ad alanına anahtar için bir ad girin.
Sertifika Yardımcısı iletişim kutusunda CA E-posta Adresi alanını boş bırakın.
Sertifika Yardımcısı iletişim kutusunda Diske kaydedildi radyo düğmesini ve Devam'ı seçin:
Sertifika imzalama isteğini bilinen bir konuma kaydedin.
Sertifika Yardımcısı iletişim kutusunda Bitti düğmesini seçin.
Anahtarlık Erişimi'ni kapatın.
Dağıtım sertifikası oluşturma
CSR, kimliğinizi onaylayan bir dağıtım sertifikası oluşturmanıza olanak tanır. Dağıtım sertifikası, Apple Geliştirici Hesabınızın Apple Kimliği kullanılarak oluşturulmalıdır:
Bir web tarayıcısında Apple Geliştirici Hesabınızda oturum açın.
Apple Geliştirici Hesabınızda Sertifikalar, Kimlikler ve Profiller sekmesini seçin.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasında yeni bir sertifika oluşturmak için düğmeyi + seçin.
Yeni Sertifika Oluştur sayfasında, Devam düğmesini seçmeden önce Apple Dağıtım radyo düğmesini seçin:
Yeni Sertifika Oluştur sayfasında Dosya Seç'i seçin:
Karşıya Yüklenecek Dosyaları Seç iletişim kutusunda, daha önce oluşturduğunuz sertifika isteği dosyasını (dosya uzantısına sahip bir
.certSigningRequest
dosya) ve ardından Karşıya Yükle'yi seçin.Yeni Sertifika Oluştur sayfasında Devam düğmesini seçin:
Sertifikanızı İndir sayfasında İndir düğmesini seçin:
Sertifika dosyası (uzantılı bir
.cer
dosya) seçtiğiniz konuma indirilir.Mac bilgisayarınızda, indirilen sertifika dosyasına çift tıklayarak sertifikayı anahtarlığınıza yükleyin. Sertifika, Anahtarlık Erişimi'ndeki Sertifikalarım kategorisinde görünür ve Apple Dağıtımı ile başlar:
Not
Anahtarlık Erişimi'nde tam sertifika adını not edin. Uygulamanızı imzalarken gerekli olacaktır.
Yükleyici sertifikası oluşturma
CSR, Mac App Store'a göndermek üzere uygulamanızın yükleyici paketini imzalamak için gereken bir yükleyici sertifikası oluşturmanıza olanak tanır. Yükleyici sertifikası, Apple Geliştirici Hesabınızın Apple Kimliği kullanılarak oluşturulmalıdır:
Apple Geliştirici Hesabınızda Sertifikalar, Kimlikler ve Profiller sekmesini seçin.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasında yeni bir sertifika oluşturmak için düğmeyi + seçin.
Yeni Sertifika Oluştur sayfasında, Devam düğmesini seçmeden önce Mac Installer Dağıtım radyo düğmesini seçin:
Yeni Sertifika Oluştur sayfasında Dosya Seç'i seçin:
Karşıya Yüklenecek Dosyaları Seç iletişim kutusunda, daha önce oluşturduğunuz sertifika isteği dosyasını (dosya uzantısına sahip bir
.certSigningRequest
dosya) ve ardından Karşıya Yükle'yi seçin.Yeni Sertifika Oluştur sayfasında Devam düğmesini seçin:
Sertifikanızı İndir sayfasında İndir düğmesini seçin:
Sertifika dosyası (uzantılı bir
.cer
dosya) seçtiğiniz konuma indirilir.Mac bilgisayarınızda, indirilen sertifika dosyasına çift tıklayarak sertifikayı anahtarlığınıza yükleyin. Sertifika Anahtar Zinciri Erişimi'ndeki Sertifikalarım kategorisinde görünür ve 3. Taraf Mac Geliştirici Yükleyicisi ile başlar:
Not
Anahtarlık Erişimi'nde tam sertifika adını not edin. Uygulamanızı imzalarken gerekli olacaktır.
Dağıtım profili oluşturma
Dağıtım sağlama profili, .NET MAUI Mac Catalyst uygulamanızın başka bir Mac'e yüklenebilmesi için yayın için dijital olarak imzalanmasını sağlar. Mac App Store dağıtımı için sağlama profili, uygulama kimliği ve dağıtım sertifikası içerir.
Uygulama Kimliği oluşturma
Dağıttığınız uygulamayı tanımlamak için bir Uygulama Kimliği gereklidir. Uygulama Kimliği, bir uygulamayı benzersiz olarak tanımlayan ve uygulamanızın paket tanımlayıcısıyla aynı olması gereken ters DNS dizesine benzer. Test için uygulamanızı bir cihaza dağıtırken kullandığınız Uygulama Kimliğinin aynısını kullanabilirsiniz.
İki tür Uygulama Kimliği vardır:
- Joker karakter. Joker uygulama kimliği, birden çok uygulamayla eşleştirmek için tek bir Uygulama Kimliği kullanmanıza olanak tanır ve genellikle biçimindedir
com.domainname.*
. Joker karakterli Uygulama Kimliği birden çok uygulamayı dağıtmak için kullanılabilir ve uygulamaya özgü özellikleri etkinleştirmeyen uygulamalar için kullanılmalıdır. - Açık. Açık uygulama kimliği tek bir uygulama için benzersizdir ve genellikle biçimindedir
com.domainname.myid
. Açık uygulama kimliği, eşleşen paket tanımlayıcısı ile bir uygulamanın dağıtılmasına olanak tanır. Açık Uygulama Kimlikleri genellikle Apple Pay veya Game Center gibi uygulamaya özgü özellikleri etkinleştiren uygulamalar için kullanılır. Özellikler hakkında daha fazla bilgi için bkz . Özellikler.
Yeni bir Uygulama Kimliği oluşturmak için:
Apple Geliştirici Hesabınızda Sertifikalar, Kimlikler ve Profiller'e gidin.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasında Tanımlayıcılar sekmesini seçin.
Tanımlayıcılar sayfasında yeni bir Uygulama Kimliği oluşturmak için düğmeyi + seçin.
Yeni tanımlayıcı kaydet sayfasında, Devam düğmesini seçmeden önce Uygulama Kimlikleri radyo düğmesini seçin:
Yeni tanımlayıcı kaydet sayfasında, Devam düğmesini seçmeden önce Uygulama'yı seçin:
Uygulama Kimliğini Kaydet sayfasında bir açıklama girin ve Açık veya Joker Karakter Paket Kimliği radyo düğmesini seçin. Ardından uygulamanızın Paket Kimliğini ters DS biçiminde girin:
Önemli
Girdiğiniz Paket Kimliği, uygulama projenizdeki Info.plist dosyasındaki Paket tanımlayıcısına karşılık gelir.
.NET MAUI uygulamasının paket tanımlayıcısı proje dosyasında Uygulama Kimliği özelliği olarak depolanır. Visual Studio'da Çözüm Gezgini .NET MAUI uygulama projenize sağ tıklayın ve Özellikler'i seçin. Ardından MAUI Paylaşılan > Genel sekmesine gidin. Uygulama Kimliği alanında paket tanımlayıcısı listelenir.
Uygulama Kimliği alanının değeri güncelleştirildiğinde, Info.plist dosyasındaki Paket tanımlayıcısının değeri otomatik olarak güncelleştirilir.
Uygulama Kimliğini Kaydet sayfasında, uygulamanın kullandığı özellikleri seçin. Tüm özellikler hem bu sayfada hem de uygulama projenizdeki Entitlements.plist dosyasında yapılandırılmalıdır. Daha fazla bilgi için bkz . Özellikler ve Yetkilendirmeler.
Uygulama Kimliğini Kaydet sayfasında Devam düğmesini seçin.
Uygulama Kimliğinizi onaylayın sayfasında Kaydet düğmesini seçin.
Uygulama Kimliğini Yapılandırma
Mac Catalyst uygulaması varsayılan olarak bir iOS uygulamasıyla aynı paket kimliğini kullanır, böylece uygulamaları Mac App Store'da evrensel bir satın alma işlemi olarak birlikte sunabilirsiniz. Alternatif olarak, uygulamayı ayrı bir ürün olarak sunmak için benzersiz bir paket kimliği belirtebilirsiniz.
Uygulama Kimliğini yapılandırmak için:
Apple Geliştirici Hesabınızda Sertifikalar, Kimlikler ve Profiller'e gidin.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasında Tanımlayıcılar sekmesini seçin.
Tanımlayıcılar sayfasında, yeni oluşturduğunuz Uygulama Kimliğini seçin.
Uygulama Kimliği Yapılandırmanızı düzenleyin sayfasında sayfanın en altına kaydırın ve Mac Catalyst özelliği onay kutusunu etkinleştirin. Ardından Yapılandır düğmesini seçin:
Mac Catalyst için Paket Kimliğini Yapılandır açılır penceresinde Mevcut Mac Uygulama Kimliğini kullan radyo düğmesini seçin. Uygulama Kimliği açılan listesinde Mac Catalyst'inizin iş ortağı iOS uygulamasının Uygulama Kimliği'ni veya Mac Catalyst uygulamasını ayrı bir ürün olarak sunuyorsanız oluşturduğunuz Uygulama Kimliği'ni seçin. Ardından Kaydet düğmesini seçin:
Uygulama Kimliği Yapılandırmanızı düzenleyin sayfasında Kaydet düğmesini seçin:
Uygulama Özelliklerini Değiştir açılır penceresinde Onayla düğmesini seçin:
Sağlama profili oluşturma
Uygulama Kimliği oluşturulduktan ve yapılandırıldıktan sonra bir dağıtım sağlama profili oluşturmanız gerekir. Bu profil, mac'lere yüklenebilmesi için uygulamanın yayın için dijital olarak imzalanmasını sağlar.
Mac App Store dağıtımı için bir sağlama profili oluşturmak için:
Apple Geliştirici Hesabınızın Sertifikalar, Tanımlayıcılar ve Profiller sayfasında Profiller sekmesini seçin.
Profiller sekmesinde, yeni bir profil oluşturmak için düğmeye tıklayın+.
Yeni Sağlama Profili Kaydet sayfasında, Devam düğmesine tıklamadan önce Mac App Store radyo düğmesini seçin:
Sağlama Profili Oluştur sayfasında Mac radyo düğmesini seçin. Ardından, Uygulama Kimliği açılan listesinde Devam düğmesine tıklamadan önce oluşturduğunuz Uygulama Kimliğini seçin:
Sağlama Profili Oluştur sayfasında, Devam düğmesine tıklamadan önce dağıtım sertifikanıza karşılık gelen radyo düğmesini seçin:
Sağlama Profili Oluştur sayfasında, Oluştur düğmesine tıklamadan önce sağlama profili için bir ad girin:
Not
Uygulamanızı imzalarken gerekli olacağı için sağlama profili adını not edin.
Sağlama Profili Oluştur sayfasında, isteğe bağlı olarak, sağlama profilinizi indirmek için İndir düğmesine tıklayın.
Not
Sağlama profilinizi şimdi indirmeniz gerekmez. Bunun yerine, bunu Xcode'da yapacaksınız.
Xcode'da sağlama profilinizi indirme
Apple Geliştirici Hesabınızda bir sağlama profili oluşturduktan sonra, Xcode uygulamanızı imzalamak için kullanılabilir olması için bu profili indirebilir:
Mac bilgisayarınızda Xcode'ı başlatın.
Xcode'da Xcode > Tercihleri... menü öğesini seçin.
Tercihler iletişim kutusunda Hesaplar sekmesini seçin.
Hesaplar sekmesinde, Apple Geliştirici Hesabınızı Xcode'a eklemek için düğmeye tıklayın+:
Hesap türü açılır penceresinde Apple Kimliği'ni seçin ve ardından Devam düğmesine tıklayın:
Oturum açma açılır penceresinde Apple kimliğinizi girin ve İleri düğmesine tıklayın.
Oturum açma açılır penceresinde Apple Kimliği parolanızı girin ve İleri düğmesine tıklayın:
Hesaplar sekmesinde Sertifikaları Yönet... düğmesine tıklayarak dağıtım sertifikanızın indirilmesini sağlayın.
Hesaplar sekmesinde El ile Profilleri İndir düğmesine tıklayarak sağlama profillerinizi indirin:
İndirme işleminin tamamlanmasını bekleyin ve ardından Xcode'ı kapatın.
Yetkilendirme ekleme
Apple'ın Uygulama Korumalı Alanı, Mac uygulamalarında sistem kaynaklarına ve kullanıcı verilerine erişimi, bir uygulamanın gizliliğinin tehlikeye düşmesi durumunda zarar içerecek şekilde kısıtlar. Mac App Store aracılığıyla dağıtılan Mac Catalyst uygulamaları için etkinleştirilmelidir.
Bu, .NET MAUI uygulama projenizin Platforms/MacCatalyst klasörüne bir Entitlements.plist dosyası ekleyerek gerçekleştirilebilir:
<?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>
Uygulama Korumalı Alanı yetkilendirmesi, türündeki com.apple.security.app-sandbox
boolean
anahtar kullanılarak tanımlanır. Uygulama Korumalı Alanı hakkında bilgi için bkz . developer.apple.com'da Uygulama Korumalı Alanı ile kullanıcı verilerini koruma. Uygulama Korumalı Alanı yetkilendirmesi hakkında bilgi için bkz . Uygulama Korumalı Alanı Yetkilendirmesi.
Uygulamanız giden ağ bağlantılarını açarsa, entitlements.plist dosyanıza türündeki boolean
anahtarı da eklemeniz com.apple.security.network.client
gerekir:
<?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>
Giden ağ bağlantıları yetkilendirmesi hakkında bilgi için bkz . developer.apple.com'da com.apple.security.network.client .
Info.plist Dosyasını Güncelleştir
Uygulamanızı yayımlamadan önce, uygulamanın Mac App Store'a yüklenebilmesini sağlamak ve sorunsuz bir Mac App Store gözden geçirme işlemi sağlamaya yardımcı olmak için Info.plist dosyasını ek bilgilerle güncelleştirmeniz gerekir.
Kullanıcı arabirimi deyimini belirtme
Mac Catalyst uygulaması iPad veya Mac kullanıcı arabirimi deyiminde çalıştırılabilir:
- iPad kullanıcı arabirimi deyimi, macOS'a uygulamanın kullanıcı arabirimini Mac ekran ortamıyla eşleşecek şekilde ölçeklendirmesini ve iPad benzeri görünümü korumasını söyler.
- Mac kullanıcı arabirimi deyimi, uygulamanın kullanıcı arabirimini Mac ekran ortamıyla eşleşecek şekilde ölçeklendirmez. Bazı denetimler boyutlarını ve görünümlerini değiştirir ve bu denetimlerle etkileşime geçmek, denetimlerle etkileşime geçmekle
AppKit
aynıdır.
Varsayılan olarak, .NET MAUI Mac Catalyst uygulamaları iPad kullanıcı arabirimi deyimini kullanır. İstediğiniz davranış buysa, uygulamanın Info.plist dosyasının anahtarın değeri olarak yalnızca 2 değerini belirttiğinden UIDeviceFamily
emin olun:
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
Mac kullanıcı arabirimi deyimini benimsemek için, uygulamanın Info.plist dosyasını anahtarın değeri olarak 6 değerini belirtecek şekilde güncelleştirin UIDeviceFamily
:
<key>UIDeviceFamily</key>
<array>
<integer>6</integer>
</array>
Mac Catalyst kullanıcı arabirimi deyimleri hakkında daha fazla bilgi için bkz . Mac Catalyst uygulamanız için kullanıcı arabirimi deyimini belirtme.
Uygulama için varsayılan dili ve bölgeyi ayarlama
Uygulamanızın CFBundleDevelopmentRegion
Info.plist dosyasındaki anahtarı yerelleştirme yerel geliştirme bölgesini temsil eden bir string
olarak ayarlayın:
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
Anahtarın değeri, isteğe bağlı bölge belirleyicisi olan bir dil belirleyicisi olmalıdır. Daha fazla bilgi için bkz . developer.apple.com üzerinde CFBundleDevelopmentRegion .
Telif hakkı anahtarını ayarlama
Uygulamanızın NSHumanReadableCopyright
Info.plist dosyasındaki anahtarı, uygulamanız için insan tarafından okunabilen telif hakkı bildirimini temsil eden bir string
olarak ayarlayın:
<key>NSHumanReadableCopyright</key>
<string>MyMauiApp © 2023</string>
Daha fazla bilgi için bkz . developer.apple.com üzerinde NSHumanReadableCopyright .
Uygulama kategorisini ayarlama
Kategoriler, kullanıcıların Uygulamanızı Mac App Store'da bulmasına yardımcı olur. Info.plist dosyanızda uygulamanın birincil kategorisini ayarlayabilirsiniz:
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
Daha fazla bilgi için bkz . developer.apple.com üzerinde LSApplicationCategoryType .
Not
Uygulamanızın birincil kategorisi, App Store Connect'te ayarladığınız birincil kategoriyle eşleşmelidir.
Uygulamanızın şifreleme kullandığını bildirme
Uygulamanız şifreleme kullanıyorsa ve bunu Birleşik Devletler veya Kanada dışında dağıtmayı planlıyorsanız, abd dışarı aktarma uyumluluk gereksinimlerine tabidir. Uygulamanızın bir sürümünü App Store Connect'e her gönderdiğinizde, bir şifreleme dışarı aktarma düzenlemeleri uyumluluk gözden geçirmesi yapılır. App Store Connect'in incelemede size yol gösterecek sorular sormasını önlemek için, uygulamanızın Info.plist dosyasında gerekli bilgileri sağlayabilirsiniz.
Bu, anahtarı uygulamanızın ITSAppUsesNonExemptEncryption
Info.plist'ine uygulamanızın şifreleme kullanıp kullanmadığını gösteren bir boolean
değerle ekleyerek gerçekleştirilir:
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Daha fazla bilgi için bkz . developer.apple.com'da Şifreleme Dışarı Aktarma Düzenlemelerine Uyma .
Komut satırını kullanarak yayımlama
Mac Catalyst uygulamanızı bir Mac'te komut satırından yayımlamak için bir terminal açın ve .NET MAUI uygulama projenizin klasörüne gidin. dotnet publish
Komutunu çalıştırarak aşağıdaki parametreleri sağlayın:
Parametre | Value |
---|---|
-f veya --framework |
Hedef çerçeve olan net8.0-maccatalyst . |
-c veya --configuration |
Derleme yapılandırmasıdır Release . |
-p:MtouchLink |
Projenin bağlantı modu ; , veya Full olabilirNone SdkOnly . |
-p:CreatePackage |
true derlemenin sonunda uygulama için bir paket (.pkg) oluşturulacak şekilde olarak ayarlayın. |
-p:EnableCodeSigning |
Kod imzalamanın etkinleştirilmesi için true olarak ayarlayın. |
-p:EnablePackageSigning |
true oluşturulan paketin imzalanacağı şekilde olarak ayarlayın. |
-p:CodesignKey |
Kod imzalama anahtarının adı. Anahtarlık Erişimi'nde gösterildiği gibi dağıtım sertifikanızın adına ayarlayın. |
-p:CodesignProvision |
Uygulama paketini imzalarken kullanılacak sağlama profili. |
-p:CodesignEntitlements |
Uygulamanın gerektirdiği yetkilendirmeleri belirten yetkilendirmeler dosyasının yolu. Platforms\MacCatalyst\Entitlements.plist olarak ayarlayın. |
-p:PackageSigningKey |
Paketi imzalarken kullanılacak paket imzalama anahtarı. Anahtar Zinciri Erişimi'nde gösterildiği gibi yükleyici sertifikanızın adına ayarlayın. |
Uyarı
.NET MAUI çözümünü yayımlamaya çalışmak, komutun dotnet publish
çözümdeki her projeyi tek tek yayımlamaya çalışmasıyla sonuçlanır ve bu da çözümünüze başka proje türleri eklediğinizde sorunlara neden olabilir. Bu nedenle, komutun dotnet publish
kapsamı .NET MAUI uygulama projeniz olarak belirlenmiş olmalıdır.
Proje dosyanızda bir <PropertyGroup>
içinde sağlanmamışsa, komut satırında ek derleme parametreleri belirtilebilir. Aşağıdaki tabloda yaygın parametrelerden bazıları listelemektedir:
Parametre | Value |
---|---|
-p:ApplicationTitle |
Uygulamanın kullanıcı tarafından görünen adı. |
-p:ApplicationId |
Uygulamanın benzersiz tanımlayıcısı, örneğin com.companyname.mymauiapp . |
-p:ApplicationVersion |
Uygulamanın yinelemesini tanımlayan derleme sürümü. |
-p:ApplicationDisplayVersion |
Uygulamanın sürüm numarası. |
Derleme özelliklerinin tam listesi için bkz . Proje dosyası özellikleri.
Önemli
Bu parametrelerin tümünün değerlerinin komut satırında sağlanması gerekmez. Bunlar proje dosyasında da sağlanabilir. Komut satırında ve proje dosyasında bir parametre sağlandığında, komut satırı parametresi önceliklidir. Proje dosyanızda derleme özellikleri sağlama hakkında daha fazla bilgi için bkz . Proje dosyanızda derleme özelliklerini tanımlama.
Örneğin, Mac App Store aracılığıyla dağıtım için Mac'te bir .pkg oluşturmak ve imzalamak için aşağıdaki komutu kullanın:
dotnet publish -f net8.0-maccatalyst -c Release -p:MtouchLink=SdkOnly -p:CreatePackage=true -p:EnableCodeSigning=true -p:EnablePackageSigning=true -p:CodesignKey="Apple Distribution: John Smith (AY2GDE9QM7)" -p:CodesignProvision="MyMauiApp" -p:CodesignEntitlements="Platforms\MacCatalyst\Entitlements.plist" -p:PackageSigningKey="3rd Party Mac Developer Installer: John Smith (AY2GDE9QM7)"
Not
.NET 8'de dotnet publish
komut varsayılan olarak yapılandırmaya sahiptir Release
. Bu nedenle, derleme yapılandırması komut satırından atlanabilir.
Yayımlama işlemi uygulamayı oluşturur, imzalar ve paketler ve ardından .pkg bölme/Release/net8.0-maccatalyst/publish/ klasörüne kopyalar. Uygulamayı yalnızca tek bir mimari kullanarak yayımlarsanız, kutu/Release/net8.0-maccatalyst/{architecture}/publish/ klasörüne yayımlanır.
İmzalama işlemi sırasında oturum açma parolanızı girmeniz ve aşağıdakilere izin vermek codesign
ve productbuild
çalıştırmak gerekebilir:
Komut hakkında dotnet publish
daha fazla bilgi için bkz . dotnet publish.
Proje dosyanızda derleme özelliklerini tanımlama
Komut satırında derleme parametrelerini belirtmenin bir alternatifi, bunları içindeki <PropertyGroup>
proje dosyanızda belirtmektir. Aşağıdaki tabloda, yaygın derleme özelliklerinden bazıları listelenir:
Özellik | Değer |
---|---|
<ApplicationTitle> |
Uygulamanın kullanıcı tarafından görünen adı. |
<ApplicationId> |
Uygulamanın benzersiz tanımlayıcısı, örneğin com.companyname.mymauiapp . |
<ApplicationVersion> |
Uygulamanın yinelemesini tanımlayan derleme sürümü. |
<ApplicationDisplayVersion> |
Uygulamanın sürüm numarası. |
<CodesignKey> |
Kod imzalama anahtarının adı. Anahtarlık Erişimi'nde gösterildiği gibi dağıtım sertifikanızın adına ayarlayın. |
<CodesignEntitlements> |
Uygulamanın gerektirdiği yetkilendirmeleri belirten yetkilendirmeler dosyasının yolu. Platforms\MacCatalyst\Entitlements.plist olarak ayarlayın. |
<CodesignProvision> |
Uygulama paketini imzalarken kullanılacak sağlama profili. |
<CreatePackage> |
true derlemenin sonunda uygulama için bir paket (.pkg) oluşturulacak şekilde olarak ayarlayın. |
<EnableCodeSigning> |
Kod imzalamanın etkinleştirilmesi için true olarak ayarlayın. |
<EnablePackageSigning> |
true oluşturulan paketin imzalanacağı şekilde olarak ayarlayın. |
<MtouchLink> |
Projenin bağlantı modu ; , veya Full olabilirNone SdkOnly . |
<PackageSigningKey> |
Paketi imzalarken kullanılacak paket imzalama anahtarı. Anahtar Zinciri Erişimi'nde gösterildiği gibi yükleyici sertifikanızın adına ayarlayın. |
Derleme özelliklerinin tam listesi için bkz . Proje dosyası özellikleri.
Önemli
Bu derleme özelliklerine ilişkin değerlerin proje dosyasında sağlanması gerekmez. Bunlar, uygulamayı yayımladığınızda komut satırında da sağlanabilir. Bu, proje dosyanızdan belirli değerleri atlamanızı sağlar.
Aşağıdaki örnekte, Mac App Store dağıtımı için Mac Catalyst uygulamanızı oluşturmaya ve imzalamaya yönelik tipik bir özellik grubu gösterilmektedir:
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
<MtouchLink>SdkOnly</MtouchLink>
<EnableCodeSigning>True</EnableCodeSigning>
<EnablePackageSigning>true</EnablePackageSigning>
<CreatePackage>true</CreatePackage>
<CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
<CodesignProvision>MyMauiApp</CodesignProvision>
<CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
<PackageSigningKey>3rd Party Mac Developer Installer: John Smith (AY2GDE9QM7)</PackageSigningKey>
</PropertyGroup>
Bu örnek <PropertyGroup>
, koşul denetimi geçmediği sürece ayarların işlenmesini engelleyen bir koşul denetimi ekler. Koşul denetimi iki öğeyi arar:
- Derleme yapılandırması olarak
Release
ayarlanır. - Hedef çerçeve, metnini
net8.0-maccatalyst
içeren bir şeye ayarlanır. - Platform olarak
AnyCPU
ayarlanır.
Bu koşullardan herhangi biri başarısız olursa, ayarlar işlenmez. Daha da önemlisi, <CodesignKey>
, <CodesignProvision>
ve ayarları ayarlanmamıştır ve <PackageSigningKey>
uygulamanın imzalanmasını engeller.
Yukarıdaki özellik grubunu ekledikten sonra uygulama, bir terminal açarak ve .NET MAUI uygulama projenizin klasörüne giderek Mac'te komut satırından yayımlanabilir. Ardından şu komutu çalıştırın:
dotnet build -f net8.0-maccatalyst -c Release
Not
.NET 8'de dotnet publish
komut varsayılan olarak yapılandırmaya sahiptir Release
. Bu nedenle, derleme yapılandırması komut satırından atlanabilir.
Yayımlama işlemi uygulamayı oluşturur, imzalar ve paketler ve ardından .pkg bölme/Release/net8.0-maccatalyst/publish/ klasörüne kopyalar.
Mac App Store'a yükleme
Bir uygulama apple dağıtım sertifikasıyla imzalandıktan sonra yerel olarak çalıştırılamaz. Bunun yerine, yerel yürütmeyi etkinleştirmek için yeniden imzalanacağı App Store Connect'e yüklenmelidir.
Uygulamanızı Mac App Store veya TestFlight aracılığıyla dağıtmak için App Store Connect'te bir uygulama kaydı oluşturmanız gerekir. Bu kayıt, App Store'da görüneceği için uygulama hakkındaki tüm bilgileri ve dağıtım işlemi boyunca uygulamayı yönetmek için gereken tüm bilgileri içerir. Daha fazla bilgi için bkz . developer.apple.com üzerinde uygulama kaydı oluşturma.
Transporter , uygulamanızı Mac App Store'a göndermek için kullanılabilir. Ayrıca, başarılı gönderimi durduran uygulama paketleriyle ilgili hataların belirlenmesine de yardımcı olur.
Ayrıca bkz.
- Uygulamanızı developer.apple.com dağıtım için hazırlama