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, a to buď pro účely testování, nebo In-House interních aplikací.
Kromě vydání aplikace k prodeji prostřednictvím služby iTunes App Store můžete ji nasadit pro následující použití:
- Testování ad hoc – Aplikaci pro iOS je možné nasadit až pro 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ávání testovacích zařízení s iOSem do vývojářského účtu Apple najdete v dokumentaci Zřizování zařízení s iOSem pro vývoj a v průvodci ad hoc, kde najdete další informace o distribuci tímto způsobem.
- Interní / Enterprise nasazení – Aplikaci pro iOS je možné nasadit interně v rámci společnosti, která vyžaduje členství v programu Developer Enterprise společnosti Apple. Další informace o domácí distribuci najdete v průvodci distribucí na základě osobních údajů.
V obou případech musí být vytvořený balíček IPA (speciální typ souboru ZIP) a digitálně podepsaný správným zřizovacím profilem 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 PC.
Soubor iTunesMetadata.plist
Při vytvoření aplikace pro iOS v iTunes Připojení (k prodeji nebo bezplatné verzi z iTunes App Store) může vývojář zadat informace, jako je žánr aplikace, podkategor, oznámení o autorských právech, podporovaná zařízení s iOSem a požadované funkce zařízení.
Aplikace pro iOS, které se doručí prostřednictvím ad hoc nebo In-House distribuce, musí mít nějaký způsob, jak tyto informace podporovat, aby byly viditelné 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, který je uložený v adresáři projektu.
Můžete také vytvořit vlastní soubor iTunesMetadata.plist, který do distribuce dodá další informace. Další informace o obsahu tohoto souboru a jeho vytvoření najdete v dokumentaci Obsah souboru iTunesMetadata.plist a Vytvoření souboru iTunesMetadata.plist.
iTunes Artwork
Při doručování aplikace prostřednictvím jiné aplikace než App Store je potřeba zahrnout také obrázek 512 × 512 a obrázek 1024 × 1024, který se použije k reprezentaci vaší aplikace v iTunes.
Pokud chcete zadat iTunes Artwork, proveďte následující:
- Poklikejte na soubor Info.plist v Průzkumník řešení a otevřete ho pro úpravy.
- Posuňte se v editoru do části iTunes Artwork.
- V případě chybějícího obrázku klikněte na miniaturu v editoru, v dialogovém okně Otevřít soubor vyberte soubor obrázku požadovaného souboru iTunes a klikněte na tlačítko OK nebo Otevřít.
- Tento krok opakujte, dokud nebudou zadány všechny potřebné image pro vaši aplikaci.
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 následujících pokynů k archivaci aplikace, podepište ji a uložte IPA.
Než začnete vytvářet IPA pro řešení pro více platforem, ujistěte se, že jste jako spouštěný projekt vybrali projekt pro iOS:

Sestavení archivu
Pokud chcete vytvořit IPA, je potřeba vytvořit archiv buildu pro vydání naší aplikace. Tento archiv obsahuje naši aplikaci a identifikační informace o ní.
Vyberte verzi | Konfigurace zařízení v Visual Studio pro Mac: !

V nabídce Build (Sestavení) vyberte Archive (Archivovat) pro Publishing (Publikování):

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

Podepisování a distribuce aplikace
Pokaždé, když sestavíte aplikaci pro Archiv, se automaticky otevře zobrazení Archivy,ve kterém se zobrazí 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í, která mají archivy, klikněte na možnost Zobrazit všechny archivy.
Doporučujeme uchovávat archivy nasazené zákazníkům (nasazení ad hoc nebo In-House), aby se vygenerované informace o ladění šly později symbolizovat.
Všimněte si, že pro App Store sestaví soubor iTunesMetadata.plist a sada iTunes Artwork set se automaticky zahrne do IPA, pokud se nacházejí v archivu.
Podepsání aplikace a příprava aplikace k distribuci:
Vyberte tlačítko Sign and Distribute... (Podepsat a distribuovat...), jak je znázorněno níže:

Otevře se průvodce publikováním. Výběrem distribučníhokanálu adhoc Enterprise (in-house) vytvořte balíček:

Na obrazovce Zřizovací profil vyberte svou podpisovou identitu a odpovídající zřizovací profil nebo znovu podepište jinou identitu:

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

Nakonec ipa uložte do počítače:

Sestavování přes příkazový řádek (v systému Mac)
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. Toho dosáhnete pomocí následujících kroků:
Ujistěte Project, že je zaškrtnuté políčko Možnosti IPA iOS Zahrnout obrázky > iTunesArtwork a zaškrtnuté políčko Sestavovat >

Pokud chcete, můžete místo toho upravit soubor .csproj v textovém editoru a ručně přidat dvě odpovídající vlastnosti do pro konfiguraci, která se použije k sestavení aplikace:
<BuildIpa>true</BuildIpa> <IpaIncludeArtwork>false</IpaIncludeArtwork>Pokud zahrnujete volitelný soubor iTunesMetadata.plist, klikněte na tlačítko ... , vyberte ho ze seznamu a klikněte na tlačítko OK:

Volejte přímo nástroj msbuild 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 MSBuild nová vlastnost, která usnadňuje přizpůsobení výstupního umístění souboru .ipa. Pokud je nastavený na vlastní umístění, soubor .ipa se umístí do tohoto umístění místo výchozího podadresáře s časovým IpaPackageDir razítkem. IpaPackageDir To může být užitečné při vytváření automatizovaných sestavení, která při správné práci spoléhají na konkrétní cestu k adresáři, například ta, která se používají pro sestavení kontinuální integrace (CI).
Novou vlastnost můžete použít několika způsoby:
Pokud chcete například zobrazit výstup souboru .ipa do starého výchozího adresáře (jako v Xamarin.iOS 9.6 a nižším), můžete vlastnost nastavit na pomocí jednoho z $(OutputPath) následujících přístupů. Oba přístupy jsou kompatibilní se všemi sestaveními Unified API Xamarin.iOS, včetně sestavení IDE a sestavení příkazového řádku, která používají msbuild, xbuildnebo mdtool:
První možností je nastavit vlastnost
IpaPackageDirv<PropertyGroup>elementu v MSBuild souboru.IpaPackageDirNa konec souboru .csproj projektu aplikace pro iOS (těsně před uzavírací značku) můžete<PropertyGroup>například přidat následující<PropertyGroup></Project>kód:<PropertyGroup> <IpaPackageDir>$(OutputPath)</IpaPackageDir> </PropertyGroup>Lepším řešením je přidat
<IpaPackageDir>prvek do dolní části existujícího<PropertyGroup>, která odpovídá konfiguraci používané k vytvoření souboru<IpaPackageDir>. To je lepší, protože bude projekt připravovat pro budoucí kompatibilitu s plánovaným nastavením na stránce vlastností projektu IPA možnosti iOS. Pokud tuto konfiguraci aktuálně používáteRelease|iPhonek vytvoření souboruRelease|iPhone, může být celá aktualizovaná skupina vlastností vypadat podobně jako v následujícím příkladu:<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í technika pro sestavení příkazového řádku MSBuild nebo xbuild je přidání argumentu pro nastavení Vlastnosti. V tomto případě nástroj MSBuild nerozšíří výrazy předané na příkazovém řádku, takže není možné použít $(OutputPath) syntaxi. Místo toho je nutné zadat úplný název cesty. Příkaz xbuild mono rozbalí výrazy, ale přesto je vhodnější použít úplný název cesty, protože xbuild je zastaralá a nedoporučuje se používat verzi MSBuildpro různé platformy.
Úplný příklad, který používá tento přístup, může vypadat podobně jako na následujícím 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 následující 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ůže být dodán vašim testovacím uživatelům pro instalaci na jejich zařízeních iOS nebo k odeslání Enterprise nasazení. bez ohledu na to, kterou metodu zvolíte, bude koncový uživatel balíček nainstalovat do aplikace iTunes na svém macu nebo Windows počítači dvojitým kliknutím na soubor IPA (nebo ho přetáhne 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 myši a získat informace o aplikaci:
Uživatel teď může synchronizovat iTunes se zařízením a nainstalovat novou aplikaci pro iOS.
Souhrn
Tento článek se zabývá instalačním programem, který je potřebný k přípravě aplikace Xamarin. iOS na Build pro jiné než App Store. Ukázala se, jak vytvořit balíček IPA a jak nainstalovat výslednou aplikaci pro iOS na zařízení se systémem iOS koncového uživatele pro testování nebo distribuci In-House.






