Podpora IPA v Xamarin.iOS

Tento článek popisuje, jak vytvořit soubor IPA, který lze použít k nasazení aplikace pomocí ad hoc distribuce, buď pro testování, nebo pro In-House distribuci interních aplikací.

Kromě vydání aplikace k prodeji prostřednictvím App Store iTunes je možné ji nasadit pro následující použití:

  • Ad Hoc Testování – Aplikaci pro iOS je možné nasadit až na 100 uživatelů (identifikovaných konkrétními identifikátory UUID zařízení s iOSem) pro účely testování alfa a beta verzí. Podrobné informace o přidání testovacích zařízení s iOSem do vašeho vývojářského účtu Apple najdete v naší dokumentaci k zřizování zařízení s iOSem pro vývoj a další informace o tom, jak tímto způsobem distribuovat.
  • In House / Enterprise Deployment – Aplikaci pro iOS je možné nasadit interně v rámci společnosti, která vyžaduje členství v programu Apple Developer Enterprise. Další informace o In House Distribution je podrobně popsáno v příručce In House Distribution .

V jiném případě musí být vytvořen balíček IPA (speciální typ souboru ZIP) a digitálně podepsaný se správným profilem zřizování distribuce. Tento článek popisuje kroky potřebné k sestavení balíčku IPA a instalaci balíčku na zařízení s iOSem pomocí iTunes na Macu nebo Windows PC.

Soubor iTunesMetadata.plist

Když se aplikace pro iOS vytvoří v iTunes Připojení (buď pro prodej, nebo bezplatnou verzi z iTunes App Store), může vývojář zadat informace, jako je žánr aplikace, dílčí žánr, oznámení o autorských právech, podporovaná zařízení s iOSem a požadované možnosti zařízení.

Aplikace pro iOS, které jsou dodávány prostřednictvím ad hoc nebo In-House distribuce, musí mít nějaký způsob, jak tyto informace podporovat, aby bylo možné je zobrazit na iTunes a na zařízení uživatele. Ve výchozím nastavení se při každém sestavení projektu vytvoří malý soubor iTunesMetadata.plist a uloží se do adresáře projektu.

Vlastní iTunesMetadata.plist lze vytvořit také k zadání dalších informací do distribuce. Další informace o obsahu tohoto souboru a o tom, jak ho vytvořit, najdete v naší dokumentaci k obsahu iTunesMetadata.plist a vytvoření dokumentace k souboru iTunesMetadata.plist .

iTunes Artwork

Při doručování aplikace prostřednictvím jiných než App Store znamená, že musíte zahrnout také obrázek 512x512 a 1024x1024, který se použije k reprezentaci vaší aplikace v iTunes.

Pokud chcete zadat iTunes Artwork, postupujte takto:

  1. Poklikejte na soubor Info.plist v Průzkumník řešení a otevřete ho pro úpravy.
  2. Posuňte se do části iTunes Artwork editoru.
  3. U všech chybějících obrázků klikněte v editoru na miniaturu, vyberte soubor obrázku pro požadované kresby iTunes v dialogovém okně Otevřít soubor a klikněte na tlačítko OK nebo Otevřít .
  4. Tento krok opakujte, dokud nebudou pro vaši aplikaci zadány všechny potřebné image.

Další podrobnosti najdete v dokumentaci k iTunes Artwork .

Vytvoření IPA

Vytvoření IPA je teď integrované do nového pracovního postupu publikování. Uděláte to tak, že podle pokynů níže archivujte aplikaci, podepíšete ji a uložíte IPA.

Než začnete vytvářet IPA pro řešení pro různé platformy, ujistěte se, že jste jako spouštěcí projekt vybrali projekt pro iOS:

Selected the iOS project as the startup project

Sestavení archivu

K vytvoření IPA je potřeba vytvořit archiv sestavení vydané verze naší aplikace. Tento archiv obsahuje naši aplikaci a identifikuje informace o ní.

  1. Vyberte | vydané verze. Konfigurace zařízení v Visual Studio pro Mac: !

    Select the Release | Device configuration

  2. V nabídce Sestavení vyberte Archiv pro publikování:

    Select Archive for Publishing

  3. Po vytvoření archivu se zobrazí zobrazení Archivy :

    The Archives view will be displayed

Podepsání a distribuce aplikace

Pokaždé, když sestavíte aplikaci pro archiv, automaticky se otevře zobrazení archivů a zobrazí se všechny archivované projekty; seskupené podle řešení. Ve výchozím nastavení toto zobrazení zobrazuje pouze aktuální otevřené řešení. Pokud chcete zobrazit všechna řešení s archivy, klikněte na možnost Zobrazit všechny archivy .

Doporučuje se uchovávat archivy nasazené zákazníkům (ad hoc nebo In-House nasazení), aby se všechny informace o ladění, které se vygenerují, mohly být symbolizovány později.

Všimněte si, že pro jiné než App Store sestaví soubor iTunesMetadata.plist a sada uměleckých děl iTunes se automaticky zahrne do vaší IPA, pokud jsou nalezeny v archivu.

Podepsání aplikace a její příprava na distribuci:

  1. Vyberte tlačítko Podepsat a distribuovat... znázorněné níže:

    Select Sign and Distribute...

  2. Tím se otevře průvodce publikováním. Vyberte distribuční kanál Ad Hoc nebo Enterprise(In-House) a vytvořte balíček:

    Select the Ad-Hoc or Enterprise In-House distribution

  3. Na obrazovce zřizovacího profilu vyberte svoji podpisovou identitu a odpovídající zřizovací profil nebo se znovu přihlaste jinou identitou:

    Select the signing identity and corresponding provisioning profile

  4. Ověřte podrobnosti balíčku a klikněte na Publikovat:

    Verify the package details

  5. Nakonec uložte IPA do počítače:

    Save the IPA to the computer

Sestavení prostřednictvím příkazového řádku (na Macu)

V některých případech, například v prostředí CI, může být nutné vytvořit IPA prostřednictvím příkazového řádku. Postupujte podle následujících kroků:

  1. Ujistěte se, že je zaškrtnuté políčko Project Možnosti > iOS IPA > Zahrnout obrázky iTunesArtwork a zkontrolujte, že je zaškrtnuté políčko Sestavit balíček AD hoc/Enterprise (IPA):

    Include iTunesArtwork images and Build ad-hoc/enterprise package IPA is checked

    Pokud chcete, můžete místo toho upravit soubor .csproj v textovém editoru a ručně přidat dvě odpovídající vlastnosti PropertyGroup do konfigurace, která se použije k sestavení aplikace:

    <BuildIpa>true</BuildIpa>
    <IpaIncludeArtwork>false</IpaIncludeArtwork>
    
  2. Pokud zahrnete volitelný soubor iTunesMetadata.plist , klikněte na tlačítko ... , vyberte ho ze seznamu a klikněte na tlačítko OK :

    Select iTunesMetadata.plist from the list

  3. Volání nástroje msbuild přímo a předání této vlastnosti na příkazovém řádku:

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

Přizpůsobení umístění IPA

Byla přidána nová vlastnostIpaPackageDir MSBuild, která usnadňuje přizpůsobení výstupního umístění souboru .ipa. Pokud IpaPackageDir je nastavena na vlastní umístění, soubor .ipa se umístí do tohoto umístění místo výchozího časového razítka podadresáře. To může být užitečné při vytváření automatizovaných buildů, které spoléhají na správnou práci s konkrétní cestou adresáře, jako jsou například sestavení kontinuální integrace (CI).

Novou vlastnost můžete použít několika způsoby:

Pokud chcete například vytvořit výstup souboru .ipa do původního výchozího adresáře (například v Xamarin.iOS 9.6 a nižší), můžete vlastnost nastavit IpaPackageDir tak, aby $(OutputPath) používala jeden z následujících přístupů. Oba přístupy jsou kompatibilní se všemi sestaveními Xamarin.iOS sjednoceného rozhraní API, včetně sestavení ide a sestavení příkazového řádku, které používají msbuild, xbuild nebo mdtool:

  • První možností je nastavit IpaPackageDir vlastnost uvnitř <PropertyGroup> prvku v souboru MSBuild. Do dolní části souboru aplikace pro iOS můžete například přidat následující <PropertyGroup> soubor .csproj (těsně před pravou </Project> značkou):

    <PropertyGroup>
        <IpaPackageDir>$(OutputPath)</IpaPackageDir>
    </PropertyGroup>
    
  • Lepším přístupem je přidat <IpaPackageDir> prvek do dolní části existujícího <PropertyGroup> objektu, který odpovídá konfiguraci použité k sestavení souboru .ipa . To je lepší, protože připraví projekt na budoucí kompatibilitu s plánovaným nastavením na stránce vlastností projektu iOS IPA Options. Pokud v současné době používáte Release|iPhone konfiguraci k sestavení souboru .ipa , může úplná aktualizovaná skupina vlastností vypadat přibližně takto:

    <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>
    

Alternativní technikou sestavení příkazového řádku msbuild nebo xbuild je přidání /p: argumentu IpaPackageDir pro nastavení vlastnosti. V tomto případě si všimněte, že nástroj msbuild ne rozbalí $() výrazy předané na příkazovém řádku, takže syntaxi není možné použít $(OutputPath) . Místo toho musíte zadat úplný název cesty. Příkaz xbuild mono rozšiřuje $() výrazy, ale stále je vhodnější použít úplný název cesty, protože xbuild byl vyřazen ve prospěch verze msbuild pro různé platformy.

Úplný příklad, který tento přístup používá, může vypadat podobně jako v Windows:

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

Nebo na Macu:

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

Instalace IPA pomocí iTunes

Výsledný balíček IPA můžete doručovat testovacím uživatelům, kteří si můžou nainstalovat na svá zařízení s iOSem nebo ho odeslat pro nasazení Enterprise. Bez ohledu na to, jakou metodu zvolí, koncový uživatel nainstaluje balíček do své aplikace iTunes na svůj Mac nebo Windows PC poklikáním na soubor IPA (nebo ho přetáhnete do otevřeného okna iTunes).

Nová aplikace pro iOS se zobrazí v části Moje aplikace, kde na ni můžete kliknout pravým tlačítkem a získat informace o aplikaci:

Uživatel teď může synchronizovat iTunes se svým zařízením a nainstalovat novou aplikaci pro iOS.

Souhrn

Tento článek popisuje nastavení potřebné k přípravě aplikace Xamarin.iOS na sestavení, které není App Store. Ukázalo se, jak vytvořit balíček IPA a jak nainstalovat výslednou aplikaci pro iOS na zařízení s iOSem koncového uživatele pro testování nebo distribuci In-House.