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:
- Poklikejte na soubor Info.plist v Průzkumník řešení a otevřete ho pro úpravy.
- Posuňte se do části iTunes Artwork editoru.
- 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 .
- 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:
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í.
Vyberte | vydané verze. Konfigurace zařízení v Visual Studio pro Mac: !
V nabídce Sestavení vyberte Archiv pro publikování:
Po vytvoření archivu se zobrazí zobrazení Archivy :
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:
Vyberte tlačítko Podepsat a distribuovat... znázorněné níže:
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:
Na obrazovce zřizovacího profilu vyberte svoji podpisovou identitu a odpovídající zřizovací profil nebo se znovu přihlaste jinou identitou:
Ověřte podrobnosti balíčku a klikněte na Publikovat:
Nakonec uložte IPA do počítače:
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ů:
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):
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>
Pokud zahrnete volitelný soubor iTunesMetadata.plist , klikněte na tlačítko ... , vyberte ho ze seznamu a klikněte na tlačítko OK :
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áteRelease|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.