Xamarin.iOS'ta IPA Desteği

Bu makalede, geçici dağıtım kullanarak bir uygulamayı test etmek veya iç uygulamaların dağıtımına yönelik bir IPA dosyası In-House oluşturma açıklanmıştır.

Bir uygulamayı iTunes App Store satışa eklemenin yanı sıra aşağıdaki kullanımlar için dağıtılabilir:

  • Geçici Test — Alfa ve Beta testi amacıyla bir iOS uygulaması en fazla 100 kullanıcıya dağıtılabilir (belirli iOS cihaz UUID'leri tarafından tanımlanır). Apple geliştirici hesabınıza test iOS cihazları ekleme hakkında ayrıntılı bilgi için Geliştirme için iOS Cihazı Sağlama belgemize ve bu şekilde dağıtma hakkında daha fazla bilgi için Geçici kılavuza bakın.
  • Şirket Içinde / Enterprise Dağıtım — Bir iOS uygulaması, Apple'ın Geliştirici Programı'nın üyeliğini gerektiren bir şirket içinde Enterprise olabilir. In House Distribution hakkında daha fazla bilgi, In House Distribution kılavuzunda ayrıntılı olarak açıktır.

Her iki durumda da, bir IPA paketi (özel bir zip dosyası türü) oluşturularak doğru Dağıtım Sağlama Profili ile dijital olarak imza gerekir. Bu makale, IPA paketini derlemek ve mac veya bilgisayar üzerinde iTunes kullanarak bir iOS cihazına yüklemek için gereken Windows kapsar.

iTunesMetadata.plist Dosyası

iTunes Bağlan'da bir iOS uygulaması oluşturulduğunda (iTunes App Store'den satış veya ücretsiz sürüm için), geliştirici uygulamanın türü, alt türü, telif hakkı bildirimi, desteklenen iOS cihazları ve gerekli cihaz özellikleri gibi bilgileri belirtebilir.

Geçici veya geçici dağıtım yoluyla In-House iOS uygulamalarının, iTunes'da ve kullanıcının cihazında görünür olması için bu bilgileri desteklemenin bir yolunun olması gerekir. Varsayılan olarak, projenizi her oluşturulduğunda küçük bir iTunesMetadata.plist dosyası oluşturulur ve proje dizininde depolanır.

Bir dağıtıma ek bilgi sağlamak için özel bir iTunesMetadata.plist de oluşturulabilir. Bu dosyanın içeriği ve nasıl oluşturularak ilgili daha fazla bilgi için lütfen iTunesMetadata.plist İçeriği ve iTunesMetadata.plist Dosyası Oluşturma belgelerimize bakın.

iTunes Artwork

Uygulamalarınızı App Store olmayan bir şekilde teslim etmek için, iTunes'da uygulamalarınızı temsil etmek için kullanılacak bir 512x512 ve 1024x1024 görüntüsü de dahil etmek gerekir.

iTunes Artwork'u belirtmek için şunları yapın:

  1. Düzenleme için açmak için Çözüm Gezgini Info.plist dosyasına çift tıklayın.
  2. Düzenleyicinin iTunes Artwork bölümüne gidin.
  3. Eksik herhangi bir görüntü için düzenleyicide küçük resim'e tıklayın, Dosya Aç iletişim kutusundan istenen iTunes çalışmasına yönelik görüntü dosyasını seçin ve Tamam veya Aç düğmesine tıklayın.
  4. Bu adımı, uygulamanıza gereken tüm görüntüler belirtilene kadar tekrarlayın.

Diğer ayrıntılar için lütfen iTunes Artwork belgelerine bakın.

IPA oluşturma

IPA oluşturma artık yeni yayımlama iş akışında yerleşik olarak yer alan bir uygulamadır. Bunu yapmak için aşağıdaki yönergeleri izleyerek uygulamanızı arşivleyebilirsiniz, imzalar ve IPA'nızı kaydedebilirsiniz.

Platformlar arası bir çözüm için IPA oluşturmadan önce başlangıç projeniz olarak iOS projesini seçtiğinizden emin olun:

Başlangıç projesi olarak iOS projesini seçtiniz

Arşivini oluşturma

IPA oluşturmak için uygulamamızın yayın derlemesi arşivini oluşturmamız gerekir. Bu Arşiv, uygulamamızı ve bu uygulamayla ilgili bilgileri içerir.

  1. Yayın | Mac için Visual Studio'de cihaz yapılandırması: !

    Yayın | Cihaz yapılandırması

  2. Derleme menüsünden Yayımlama için Arşiv'i seçin:

    Yayımlama için Arşiv'i seçin

  3. Arşiv oluşturulduktan sonra Arşivler görünümü görüntülenir:

    Arşivler görünümü görüntülenir

Uygulamalarınızı İmzala ve Dağıt

Arşiv için her derlemede, arşivlenen tüm projeleri görüntüleyen Arşivler Görünümüotomatik olarak açılır; çözüme göre gruplandı. Varsayılan olarak, bu görünüm yalnızca geçerli, açık çözümü gösterir. Arşivleri olan tüm çözümleri görmek için Tüm arşivleri göster seçeneğine tıklayın.

Müşterilere dağıtılan arşivlerin (Geçici veya geçici In-House dağıtımları) tutulması önerilir; böylece oluşturulan tüm hata ayıklama bilgileri daha sonraki bir tarihte sembolize edilir.

Arşiv olmayan App Store iTunesMetadata.plist dosyasını oluşturur ve arşivde bulunursa iTunes artwork set iPA'nıza otomatik olarak dahil edilir.

Uygulamanızı imzalamak ve dağıtıma hazırlamak için:

  1. Aşağıda gösterilen İmzala ve Dağıt... düğmesini seçin:

    İmzala ve Dağıt... öğesini seçin

  2. Bu, yayımlama sihirbazını açar. Paket oluşturmak içinGeçici Enterprise(Kendi) dağıtım kanalını seçin:

    Geçici veya geçici Enterprise In-House seçin

  3. Sağlama Profili ekranında imzalama kimliğinizi ve karşılık gelen sağlama profilinizi seçin veya başka bir kimlikle yeniden oturum oluşturun:

    İmzalama kimliğini ve karşılık gelen sağlama profilini seçin

  4. Paketinizin ayrıntılarını doğrulayın ve Yayımla'ya tıklayın:

    Paket ayrıntılarını doğrulama

  5. Son olarak, IPA'nızı makinenize kaydedin:

    IPA'yı bilgisayara kaydetme

Komut Satırı aracılığıyla oluşturma (Mac'te)

Ci ortamında olduğu gibi bazı durumlarda, komut satırı aracılığıyla IPA'nız oluşturmak gerekebilir. Bunu başarmak için aşağıdaki adımları izleyin:

  1. iOS Project Seçenekleri > iTunesArtwork görüntülerini dahil edin'in işaretli olduğundan ve > işaretli olduğundan emin olun:

    iTunesArtwork görüntülerini dahil edin ve Geçici/kurumsal paket derleme IPA'sı denetlenir

    Tercih ederseniz, bunun yerine .csproj dosyasını bir metin düzenleyicisinde düzenleyebilir ve uygulamayı derlemek için kullanılacak yapılandırma için buna karşılık gelen iki özelliği el ile ekleyebilirsiniz:

    <BuildIpa>true</BuildIpa>
    <IpaIncludeArtwork>false</IpaIncludeArtwork>
    
  2. İsteğe bağlı bir iTunesMetadata.plist dosyası dahilsanız ... düğmesine tıklayın, listeden seçin ve Tamam düğmesine tıklayın:

    Listeden iTunesMetadata.plist öğesini seçin

  3. Doğrudan msbuild çağrısı ve komut satırına şu özelliği geçin:

    /Library/Frameworks/Mono.framework/Commands/msbuild YourSolution.sln /p:Configuration=Ad-Hoc /p:Platform=iPhone /p:BuildIpa=true
    

IPA Konumunu Özelleştirme

.ipa MSBuild konumunu özelleştirmeyi kolaylaştıran yeni bir MSBuild özelliği eklendi. özel IpaPackageDir bir konuma ayarlanırsa, IpaPackageDir dosyası varsayılan zaman damgasına sahip alt dizin yerine bu konuma yerleştirilir. Sürekli Tümleştirme (CI) derlemeleri için kullanılanlar gibi, belirli bir dizin yolunun düzgün çalışmasına güvenen otomatik derlemeler oluştururken bu 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) vermek için özelliğini aşağıdaki yaklaşımlardan birini kullanarak $(OutputPath) olarak ayarlayın. Her iki yaklaşım da IDE derlemeleri Unified API msbuild, xbuildveya mdtoolkullanan komut satırı derlemeleri dahil olmak üzere tüm Xamarin.iOS derlemeleriyle uyumludur:

  • İlk seçenek, MSBuild IpaPackageDir<PropertyGroup> dosyasındaki bir öğe IpaPackageDir Örneğin, iOS uygulama projesi .csproj dosyasının en altına (kapanış etiketinin hemen <PropertyGroup> öncesinde) aşağıdakini <PropertyGroup></Project> eklersiniz:

    <PropertyGroup>
        <IpaPackageDir>$(OutputPath)</IpaPackageDir>
    </PropertyGroup>
    
  • Daha iyi bir yaklaşım, <IpaPackageDir><PropertyGroup><IpaPackageDir> dosyasını oluşturmak için kullanılan yapılandırmaya karşılık gelen mevcut öğesinin altına bir öğe eklemektir. Bu, daha iyi bir seçenektir çünkü bu, projeyi iOS IPA seçenekleri proje özellikleri sayfasında planlanmış bir ayarla gelecek uyumlulukla hazırlar. Release|iPhoneBu yapılandırmayı, Release|iPhone dosyasını oluşturmak için kullanıyorsanız, tüm güncelleştirilmiş özellik grubu şuna benzer şekilde görünebilir:

    <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>
        <PlatformTarget>x86&</PlatformTarget>
        <BuildIpa>true</BuildIpa>
        <IpaPackageDir>$(OutputPath</IpaPackageDir>
    </PropertyGroup>
    

MSBuild veya xbuild komut satırı derlemeleri için alternatif bir teknik, özelliği ayarlamak için bir bağımsız değişken eklemektir . Bu durumda, MSBuild 'in komut satırında geçirilen ifadeleri genişletmediğini, bu nedenle söz dizimini kullanmak mümkün değildir $(OutputPath) . Bunun yerine tam yol adı sağlamanız gerekir. Mono 'nın xbuild komutu ifadeleri genişletir , ancak xbuild , MSBuild'in platformlar arası sürümündekullanım dışı bırakıldığı için tam yol adı kullanılması tercih edilir.

Bu yaklaşımı kullanan bir örnek, Windows üzerinde aşağıdakine benzer görünebilir:

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 üzerinde şunları yapın:

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

İTunes kullanarak IPA yükleme

elde edilen IPA paketi, iOS cihazlarına yüklemek veya Enterprise dağıtım için sevk etmek üzere test kullanıcılarınıza teslim edilebilir. hangi yöntemin seçildiği, son kullanıcı, IPA dosyasını çift tıklayarak (veya açık iTunes penceresine sürükleyerek), paketi kendi iTunes uygulamasına kendi Mac veya Windows PC 'lerine yükler.

Yeni iOS uygulaması uygulamalarım bölümünde gösterilir. burada, üzerine sağ tıklayıp uygulama hakkında bilgi edinebilirsiniz:

Kullanıcı, yeni iOS uygulamasını yüklemek için artık iTunes 'u cihazlarıyla eşitleyebilir.

Özet

Bu makalede, bir Xamarin. iOS uygulamasını uygulama dışı bir mağaza derlemesi için hazırlamak üzere gereken kurulum ele alınmıştır. Bir IPA paketinin nasıl oluşturulacağını ve test veya In-House dağıtımı için son kullanıcının iOS cihazında elde edilen iOS uygulamasının nasıl yükleneceğini gösterdi.