Aracılığıyla paylaş


Xamarin.iOS uygulamalarını App Store'da yayımlama

Bir uygulamayı App Store'da yayımlamak için, bir uygulama geliştiricisinin inceleme için önce ekran görüntüleri, açıklama, simgeler ve diğer bilgilerle birlikte uygulamayı Apple'a göndermesi gerekir. Uygulamayı onayladıktan sonra Apple, kullanıcıların uygulamayı satın alıp doğrudan iOS cihazlarından yükleyebileceği App Store'a yerleştirir.

Bu kılavuzda, App Store'a bir uygulama hazırlamak ve inceleme için Apple'a göndermek için izleyebileceğiniz adımlar açıklanmaktadır. Özellikle şunları açıklar:

  • App Store Gözden Geçirme Yönergelerini takip edin
  • Uygulama Kimliği ve yetkilendirmeleri ayarlama
  • App Store simgesi ve uygulama simgeleri sağlama
  • App Store sağlama profili ayarlama
  • Yayın derleme yapılandırmasını güncelleştirme
  • iTunes Connect’te uygulamanızı yapılandırma
  • Uygulamanızı oluşturma ve Apple'a gönderme

App Store yönergeleri

App Store'da yayın için bir uygulama göndermeden önce, Apple'ın App Store Gözden Geçirme Yönergeleri tarafından tanımlanan standartlara uyduğundan emin olun. App Store'a bir uygulama gönderdiğinizde, Apple bu gereksinimleri karşıladığından emin olmak için uygulamayı inceler. Aksi takdirde, Apple bunu reddeder - ve alıntı yapılan sorunları çözmeniz ve yeniden göndermeniz gerekir. Bu nedenle, geliştirme sürecinde yönergeleri mümkün olduğunca erken tanımak iyi bir fikirdir.

Uygulama gönderirken dikkate alınacak birkaç şey:

  1. Uygulamanın açıklamasının işlevselliğiyle eşleştiğinden emin olun.
  2. Uygulamanın normal kullanım altında kilitlenmediğini test edin. Bu, desteklediği her iOS cihazında kullanımı içerir.

Ayrıca Apple'ın sağladığı App Store ile ilgili kaynaklara da göz atın.

Uygulama Kimliği ve yetkilendirmeleri ayarlama

Her iOS uygulamasının, yetkilendirmeler adlı ilişkili bir uygulama hizmetleri kümesine sahip benzersiz bir Uygulama Kimliği vardır. Yetkilendirmeler, uygulamaların anında iletme bildirimi alma, HealthKit gibi iOS özelliklerine erişme gibi çeşitli işlemler gerçekleştirmesine olanak sağlar.

Uygulama Kimliği oluşturmak ve gerekli yetkilendirmeleri seçmek için Apple Geliştirici Portalı'nı ziyaret edin ve şu adımları izleyin:

  1. Apple Geliştirici Portalı'na giriş yapın. Henüz apple kimliğiniz yoksa, önce bir Apple kimliği oluşturun.
  2. Sertifikalar, Kimlikler ve Profiller bölümüne ve ardından Tanımlayıcılar bölümüne gidin.
  3. + Sayfanın üst kısmındaki Tanımlayıcılar başlığının yanındaki düğmeye tıklayın.
  4. Uygulama Kimlikleri'ne tıklayın ve Devam'a tıklayın.
  5. Uygulama'ya tıklayın ve ardından Devam'a tıklayın.
  6. Yeni uygulama için bir Açıklama ve Paket Kimliği girin ve Xamarin.iOS uygulamanız için gerekli olan özellikleri seçin. Uygulama Hizmetleri, Xamarin.iOS'ta özelliklerle çalışma kılavuzunda daha ayrıntılı olarak açıklanmıştır. Seçimlerinizi yapmayı bitirdiğinizde Devam'a tıklayın.
  7. Yeni Uygulama Kimliği oluşturma işlemini tamamlamak için Kaydet düğmesine tıklayın.

Uygulama Kimliğinizi tanımlarken gerekli uygulama hizmetlerini seçmeye ve yapılandırmaya ek olarak, Info.plist ve Entitlements.plist dosyalarını düzenleyerek Xamarin.iOS projenizde Uygulama Kimliği ve yetkilendirmelerini yapılandırmanız gerekir. Daha fazla bilgi için, Bir Entitlements.plist dosyasının nasıl oluşturulacağını ve içerdiği çeşitli yetkilendirme ayarlarının anlamını açıklayan Xamarin.iOS'ta Yetkilendirmelerle Çalışma kılavuzuna göz atın.

App Store simgesi ekle

Apple'a bir uygulama gönderdiğinizde, app Store simgesi içeren bir varlık kataloğu içerdiğine emin olun. Bunun nasıl yapılacağını öğrenmek için Xamarin.iOS'ta App Store simgeleri kılavuzuna göz atın.

Uygulama simgelerini ayarlama ve ekranları başlatma

Apple'ın bir iOS uygulamasını App Store'da kullanılabilir hale getirmesi için, üzerinde çalışabileceği tüm iOS cihazları için uygun simgelere ve başlatma ekranlarına sahip olması gerekir. Uygulama simgelerini ayarlama ve ekranları başlatma hakkında daha fazla bilgi için aşağıdaki kılavuzları okuyun:

App Store sağlama profili oluşturma ve yükleme

iOS, belirli bir uygulama derlemesini nasıl dağıtabileceğinizi denetlemek için sağlama profillerini kullanır. Bunlar, bir uygulamayı imzalamak için kullanılan sertifika, Uygulama Kimliği ve uygulamanın yükleneceği yer hakkında bilgi içeren dosyalardır. Geliştirme ve geçici dağıtım için sağlama profili, uygulamayı dağıtabileceğiniz izin verilen cihazların listesini de içerir. Ancak App Store dağıtımı için yalnızca sertifika ve Uygulama Kimliği bilgileri dahil edilir çünkü genel dağıtım için tek mekanizma App Store'dur.

App Store sağlama profili oluşturmak ve yüklemek için şu adımları izleyin:

  1. Apple Geliştirici Portalı'na giriş yapın.
  2. Sertifikalar, Kimlikler ve Profiller bölümüne ve ardından Profiller bölümüne gidin.
  3. Düğmeye + tıklayın, iOS Uygulama Geliştirme ve App Store'a tıklayın ve Devam'a tıklayın.
  4. Listeden uygulamanızın Uygulama Kimliğini seçin ve Devam'a tıklayın.
  5. bir imzalama sertifikası seçin ve Devam'a tıklayın.
  6. Bu profile eklenecek cihazları seçin ve Devam'a tıklayın.
  7. Bir Sağlama Profili Adı girin ve profili oluşturmak için Oluştur'a tıklayın.
  8. Yeni oluşturulan sağlama profilini Mac bilgisayarınıza indirmek için Xamarin'in Apple Hesap Yönetimi araçlarını kullanın. Mac kullanıyorsanız, sağlama profilini doğrudan Apple Geliştirici Portalı'ndan indirebilir ve yüklemek için çift tıklayabilirsiniz.

Ayrıntılı yönergeler için bkz . Dağıtım profili oluşturma ve Xamarin.iOS projesinde dağıtım profili seçme.

Yayın derleme yapılandırmasını güncelleştirme

Yeni Xamarin.iOS projeleri Hata Ayıklama ve Yayınderleme yapılandırmalarını otomatik olarak ayarlar. Yayın derlemesini düzgün yapılandırmak için şu adımları izleyin:

  1. Çözüm Bölmesi'nden iOS projesinde bulunan Info.plist dosyasını açın.

  2. Uygulama görünümünde olduğunuzdan emin olun. Bu ayar, alt gezinti çubuğundaki seçeneğe tıklanarak ayarlanabilir.

  3. İmzalama seçeneği olarak El ile Sağlama'yı seçin. Dosyayı kaydedip kapatın

  4. Çözüm Bölmesi'nde Proje Adı'nasağ tıklayın, Seçenekler'i seçin ve iOS Derleme sekmesine gidin.

  5. Yapılandırma'yı Yayın ve Platform'ı i Telefon olarak ayarlayın.

  6. Belirli bir iOS SDK'sı ile derlemek için SDK sürüm listesinden bunu seçin. Aksi takdirde, bu değeri Varsayılan olarak bırakın.

  7. Bağlama, kullanılmayan kodu çıkararak uygulamanızın genel boyutunu küçültür.

    • Çoğu durumda Bağlayıcı Davranışı yalnızca Link Framework SDK'larının varsayılan değerine ayarlanmalıdır.
    • Bağlama seçeneğinin kullanılması, Xamarin.iOS'ta yalnızca Bağlantı Çerçevesi SDK'ları seçeneğiyle bağlanacak genel olmayan iOS API'lerinin bulunması nedeniyle Apple'ın uygulamayı reddetmesine neden olabilir
    • Tümünü Bağla, 3. taraf kitaplıkları da dahil olmak üzere projedeki tüm derlemelerden kod çıkaracağı için dikkatli kullanılmalıdır. Hangi kitaplık kodunun kullanıldığını belirlemek için statik kod analizi yaptığı için, 3. taraf kitaplığının yalnızca bağlayıcının algılayamayacağı yansıma yoluyla kullanabileceği kodu çıkarabilir. Eksik kod nedeniyle çalışma zamanı hatalarını önlemek için bazı sınıfları ve/veya yöntemleri el ile korumak zorunda olabileceğiniz için Tümünü Bağla özelliğini dikkatli kullanın.
    • Daha fazla bilgi için Xamarin.iOS uygulamalarını bağlama kılavuzuna bakın.
  8. iOS 11 için ARM64'i destekleyen cihaz mimarilerinden birini seçin. 64 bit iOS cihazları oluşturma hakkında daha fazla bilgi için lütfen 32/64 bit platformda dikkat edilmesi gerekenler belgelerinin Xamarin.iOS Uygulamalarının64 Bit Derlemelerini Etkinleştirme bölümüne bakın.

  9. Daha küçük ve daha hızlı kod oluşturmak için LLVM derleyicisini kullanmak isteyebilirsiniz. Ancak, bu seçenek derleme sürelerini artırır.

  10. Uygulamanızın boyutunu daha da küçültmek için PNG görüntülerini iyileştirme'yi işaretleyin.

  11. Derlemeyi gereksiz ölçüde büyük hale getireceği için hata ayıklama etkinleştirilmemelidir.

  12. Uygulamanızın gereksinimlerine göre, kullanılmakta olan Çöp Toplama türünü ayarlamak ve Uluslararası hale getirmek için kurulum yapmak isteyebilirsiniz.

    Yukarıda açıklandığı gibi seçenekleri ayarladıktan sonra, derleme ayarlarınız şuna benzer görünmelidir:

    iOS Build settings

    Ayrıca, derleme ayarlarını daha ayrıntılı olarak açıklayan iOS derleme mekaniği kılavuzuna da göz atın.

  13. iOS Paket İmzalama sekmesine gidin. Buradaki seçenekler düzenlenebilir değilse, Info.plist dosyasında El ile Sağlama'nın seçili olduğundan emin olun.

  14. Yapılandırma'nın Yayın ve Platform'un i Telefon olarak ayarlandığından emin olun.

  15. İmzalama KimliğiniDağıtım (Otomatik) olarak ayarlayın.

  16. Sağlama Profili için yukarıda oluşturulan App Store sağlama profilini seçin.

    Projenizin paket imzalama seçenekleri artık şuna benzer olmalıdır:

    iOS Bundle Signing

  17. Proje özelliklerindeki değişiklikleri kaydetmek için Tamam'a tıklayın.

iTunes'da uygulamanızı yapılandırma Bağlan

iTunes Bağlan, App Store'da iOS uygulamalarınızı yönetmeye yönelik web tabanlı araçlardan oluşan bir pakettir. Xamarin.iOS uygulamanızın gözden geçirilmek üzere Apple'a gönderip App Store'da yayınlanmadan önce iTunes Bağlan'da düzgün bir şekilde yapılandırılması gerekir.

Bunun nasıl yapılacağını öğrenmek için iTunes'da uygulama yapılandırma Bağlan kılavuzunu okuyun.

Uygulamanızı oluşturma ve gönderme

Derleme ayarlarınız düzgün yapılandırıldığında ve iTunes Bağlan gönderiminizi beklediğinde artık uygulamanızı derleyebilir ve Apple'a gönderebilirsiniz.

  1. Mac için Visual Studio sürüm derleme yapılandırmasını ve derlenmek üzere bir cihaz (simülatör değil) seçin.

    Build configuration and platform selection

  2. Oluştur menüsünde Yayımlama için Arşivle'yi seçin.

  3. Arşiv oluşturulduktan sonra Arşivler görünümü görüntülenir. Yayımlama sihirbazını açmak için İmzala ve Dağıt... öğesine tıklayın.

    Screenshot of the Sign and Distribute button location in the Archives view.

    Not

    Varsayılan olarak Arşivler görünümü yalnızca açık çözümün arşivlerini gösterir. Arşivleri olan tüm çözümleri görmek için Tüm arşivleri göster onay kutusunu işaretleyin. Eski arşivleri saklamak iyi bir fikirdir, böylece bunların içerdiği hata ayıklama bilgileri gerekirse kilitlenme raporlarını sembolik hale getirmek için kullanılabilir.

  4. App Store dağıtım kanalını seçin. İleri'ye tıklayın.

  5. Hedef olarak Karşıya Yükle'yi seçin. İleri'ye tıklayın.

  6. Sağlama profili penceresinde imzalama kimliğinizi, uygulamanızı ve sağlama profilinizi seçin. İleri'ye tıklayın.

    Screenshot of the Provisioning profile wizard page showing a valid signing identity, app, and provisioning profile selection.

  7. App Store Bağlan bilgileri penceresinde menüden bir Apple Kimliği kullanıcı adı seçin ve uygulamaya özgü bir parola girin. İleri'ye tıklayın.

    Screenshot of the App Store Connect information wizard page showing an Apple ID user name selected.

  8. Paketinizin ayrıntılarını doğrulayın ve Yayımla'ya tıklayın. .ipa dosyasını kaydetmek için bir konum seçtikten sonra sihirbaz uygulamanızı App Store Bağlan'a yükler.

    Not

    Apple, .ipa dosyasında bulunan iTunesMetadata.plist dosyasını içeren uygulamaları reddedebilir ve aşağıdaki gibi bir hatayla sonuçlanır:

    ERROR: ERROR ITMS-90047: "Disallowed paths ( "iTunesMetadata.plist" ) found at: Payload/iPhoneApp1.app"

    Bu hataya geçici bir çözüm için Xamarin Forumları'nda bu gönderiye göz atın.

iTunes Bağlan durumu

Uygulama gönderiminizin durumunu görmek için iTunes Bağlan oturum açın ve uygulamanızı seçin. İlk durum Gözden Geçirme Bekleniyor olmalıdır, ancak bu işlem devam ederken Geçici olarak Alınanı Karşıya Yükle'yi okuyabilir.

Waiting For Review

İpuçları ve püf noktaları

.ipa konumunu özelleştirme

MSBuild özelliği, IpaPackageDir.ipa dosya çıkış konumunu özelleştirmeyi mümkün kılar. Özel bir konuma ayarlanırsa IpaPackageDir , .ipa dosyası varsayılan zaman damgası uygulanmış alt dizin yerine bu konuma yerleştirilir. Bu, Sürekli Tümleştirme (CI) derlemeleri için kullanılanlar gibi düzgün çalışması için belirli bir dizin yolunu kullanan otomatik derlemeler oluştururken yararlı olabilir.

Yeni özelliği kullanmanın birkaç olası yolu vardır. Örneğin, .ipa dosyasını eski varsayılan dizine (Xamarin.iOS 9.6 ve daha düşük sürümlerde olduğu gibi) çıkarmak için $(OutputPath) özelliğini aşağıdaki yaklaşımlardan birini kullanarak ayarlayabilirsinizIpaPackageDir. Her iki yaklaşım da IDE derlemelerinin yanı sıra msbuild veya mdtool kullanan komut satırı derlemeleri de dahil olmak üzere tüm Birleşik API Xamarin.iOS derlemeleriyle uyumludur:

  • İlk seçenek, bir MSBuild dosyasındaki IpaPackageDir bir <PropertyGroup> öğenin içinde özelliğini ayarlamaktır . Örneğin, aşağıdakileri iOS uygulama projesi .csproj dosyasının altına (kapanış </Project> etiketinden hemen önce) ekleyebilirsiniz<PropertyGroup>:

    <PropertyGroup>
      <IpaPackageDir>$(OutputPath)</IpaPackageDir>
    </PropertyGroup>
    
  • Daha iyi bir <IpaPackageDir> yaklaşım, .ipa dosyasını derlemek için kullanılan yapılandırmaya karşılık gelen bir öğeyi var olanın <PropertyGroup> altına eklemektir. Bu, projeyi iOS IPA Seçenekleri proje özellikleri sayfasında planlı bir ayar ile gelecekteki uyumluluk için hazırlayacağınız için daha iyidir. .ipa dosyasını derlemek için şu anda yapılandırmayı kullanıyorsanız Release|iPhone , güncelleştirilmiş özellik grubunun tamamı aşağıdakine benzer olabilir:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone'">
       <Optimize>true</Optimize>
       <OutputPath>bin\iPhone\Release</OutputPath>
       <ErrorReport>prompt</ErrorReport>
       <WarningLevel>4</WarningLevel>
       <ConsolePause>false</ConsolePause>
       <CodesignKey>iPhone Developer</CodesignKey>
       <MtouchUseSGen>true</MtouchUseSGen>
       <MtouchUseRefCounting>true</MtouchUseRefCounting>
       <MtouchFloat32>true</MtouchFloat32>
       <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
       <MtouchLink>SdkOnly</MtouchLink>
       <MtouchArch>ARMv7, ARM64</MtouchArch>
       <MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
       <MtouchTlsProvider>Default</MtouchTlsProvider>
       <BuildIpa>true</BuildIpa>
       <IpaPackageDir>$(OutputPath)</IpaPackageDir>
    </PropertyGroup>
    

msbuild komut satırı derlemeleri için alternatif bir teknik, özelliğini ayarlamak IpaPackageDir için bir /p: komut satırı bağımsız değişkeni eklemektir. Bu durumda, msbuild'in komut satırında geçirilen ifadeleri genişletmediğini$(), bu nedenle söz dizimini $(OutputPath) kullanmanın mümkün olmadığını unutmayın. Bunun yerine tam yol adı sağlamanız gerekir.

msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:ServerAddress="192.168.1.3" /p:ServerUser="macuser" /p:IpaPackageDir="%USERPROFILE%\Builds" /t:Build SingleViewIphone1.sln

Veya Mac'te aşağıdakiler:

msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:IpaPackageDir="$HOME/Builds" /t:Build SingleViewIphone1.sln

Dağıtım derlemeniz oluşturulduktan ve arşivlenmiş durumda, artık uygulamanızı iTunes Bağlan'a göndermeye hazırsınız.

Özet

Bu makalede, App Store'da yayınlanması için bir iOS uygulamasını yapılandırma, derleme ve gönderme işlemi açıklanmıştır.