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 interní distribuci interních aplikací.
Kromě vydání aplikace k prodeji prostřednictvím iTunes App Storu 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 verze. Podrobné informace o přidání testovacích zařízení s iOSem do vývojářského účtu Apple najdete v dokumentaci k zřizování zařízení s iOSem pro vývoj adalší 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 obou případech musí být vytvořen balíček IPA (speciální typ souboru ZIP) a digitálně podepsaný 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 počítači Mac nebo Windows.
Soubor iTunesMetadata.plist
Když se v iTunes Připojení vytvoří aplikace pro iOS (ať už k prodeji nebo bezplatnému vydání z iTunes App Storu), 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 interní distribuce, musí mít nějaký způsob, jak tyto informace podporovat, aby je bylo možné 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.
Můžete také vytvořit vlastní soubor iTunesMetadata.plist , který do distribuce poskytne další informace. Další informace o obsahu tohoto souboru a jeho vytvoření najdete v naší dokumentaci k souboru iTunesMetadata.plist a vytvoření dokumentace k souboru iTunesMetadata.plist.
iTunes Artwork
Při doručování aplikace prostřednictvím jiného než App Storu musíte zahrnout také obrázek 512x512 a 1024× 1024× 1024, který bude sloužit k vyjádření vaší aplikace v iTunes.
Pokud chcete zadat iTunes Artwork, postupujte takto:
- Poklikáním na soubor Info.plist v Průzkumník řešení ho otevřete pro úpravy.
- Posuňte se do oddílu iTunes Artwork editoru.
- U chybějícího obrázku klikněte v editoru na miniaturu, vyberte soubor obrázku pro požadované dílo iTunes z dialogového okna 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í. Postupujte podle pokynů níže a archivujte aplikaci, podepište ji a uložte svou IPA.
Než začnete vytvářet IPA pro multiplatformní řešení, ujistěte se, že jste jako spouštěcí projekt vybrali projekt pro iOS:
Sestavení archivu
Pokud chcete vytvořit IPA, je potřeba vytvořit archiv sestavení vydané verze aplikace. Tento archiv obsahuje naši aplikaci a identifikuje informace o ní.
Vyberte verzi | 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í Archivy, zobrazí se všechny archivované projekty seskupené podle řešení. Ve výchozím nastavení se v tomto 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čujeme uchovávat archivy nasazené pro zákazníky (ad hoc nebo interní nasazení), aby 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 jeho příprava na distribuci:
Vyberte tlačítko Podepsat a distribuovat... na obrázku 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 znovu podepište jinou identitu:
Ověřte podrobnosti balíčku a klikněte na Publikovat:
Nakonec uložte IPA do počítače:
Sestavení přes příkazový řádek (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 jsou zaškrtnuté možnosti ipa možností >> projektu iOS, včetně iTunesArtwork obrázků , a zkontrolujte, jestli je zaškrtnuté políčko Sestavit ad hoc/enterprise balíček (IPA ):
Pokud chcete, můžete soubor .csproj upravit v textovém editoru a ručně přidat dvě odpovídající vlastnosti do
PropertyGroup
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 :
Zavolejte msbuild přímo a předejte tuto vlastnost 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á vlastnost IpaPackageDir
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 k adresáři, například při sestavováních 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>
elementu v souboru MSBuild . Můžete například přidat následující položky<PropertyGroup>
do dolní části souboru .csproj projektu aplikace pro iOS (těsně před zavírací</Project>
značkou):<PropertyGroup> <IpaPackageDir>$(OutputPath)</IpaPackageDir> </PropertyGroup>
Lepším přístupem je přidat
<IpaPackageDir>
prvek do dolní části existujícího<PropertyGroup>
souboru, 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 možností IPA pro iOS. Pokud aktuálně používáteRelease|iPhone
konfiguraci k sestavení souboru .ipa , může úplná aktualizovaná skupina vlastností vypadat nějak 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 nerozbaluje $()
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 přesto je vhodnější použít úplný název cesty, protože xbuild je zastaralý ve prospěch multiplatformní verze msbuildu.
Úplný příklad, který používá tento přístup, může vypadat podobně jako v systému 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 ho nainstalují na zařízení s iOSem nebo doručí do podnikového nasazení. Bez ohledu na to, kterou 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 přetažením 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.
Shrnutí
Tento článek popisuje nastavení potřebné k přípravě aplikace Xamarin.iOS na sestavení mimo App Store. Ukázala, 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 interní distribuci.