Sdílet prostřednictvím


Vytváření aplikací Xamarin pro iOS

Důležité

31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.

Přečtěte si další informace o časových osách a alternativách podpory.

Poznámka

Podporované verze a požadavky App Center podporuje projekty PCL (Portable Class Library) a .NET Standard . Verze rozhraní .NET Standard najdete v tématu Cloud Build Machines . App Center nepodporuje komponenty ze služby Xamarin Component Store a doporučujeme používat balíčky NuGet, kdykoli jsou k dispozici. Pokud používáte komponentu, kterou nejde nahradit, kontaktujte nás. Podívejte se na nápovědu a zpětnou vazbu.

Pokud chcete začít vytvářet svou první aplikaci pro Xamarin pro iOS, budete muset:

  1. Připojte se k účtu služby úložiště (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Vyberte úložiště a větev, ve které vaše aplikace žije.
  3. Nakonfigurujte projekt nebo pracovní prostor sestavení a schéma, které chcete vytvořit.

Poznámka

Aby aplikace běžela na skutečném zařízení, musí být sestavení podepsané kódem s platným zřizovacím profilem a certifikátem.

1. Propojení úložiště

Pokud jste se ještě nepřipojili k účtu služby úložiště, musíte ho připojit. Jakmile je váš účet připojený, vyberte úložiště, ve kterém se nachází váš projekt iOS. K nastavení sestavení pro úložiště potřebujete oprávnění správce a přijetí změn.

2. Výběr větve

Po výběru úložiště vyberte větev, kterou chcete vytvořit. Ve výchozím nastavení budou uvedené všechny aktivní větve.

3. Nastavení prvního buildu

Před prvním sestavením je potřeba nakonfigurovat projekt Xamarin.

3.1. Projekt nebo řešení

App Center automaticky rozpozná soubory řešení a projektů ve vašem úložišti, pokud se nacházejí v rozsahu analýzy. Vyberte .sln nebo .csproj/.fsproj , který chcete sestavit.

Poznámka

Pro zajištění nejlepšího výkonu je analýza v současné době omezená na dvě úrovně adresáře pro .sln a čtyři úrovně adresáře pro .csproj/fsproj , včetně kořenového adresáře vašeho úložiště.

3.1.1. Sestavení ze souboru řešení (.sln)

V kódu nezapomeňte zakázat projekty Androidu a UPW pro konfigurace sestavení, které jsou určené pro buildy iOS: přejděte do mapování konfigurace řešení a u všech mapování, která cílí na iPhone a iPhoneSimulator, zrušte zaškrtnutí všech projektů, které cílí na jiné platformy. Tato změna zajistí, že se .sln nebude pokoušet o sestavení ostatních projektů. Existuje více informací o mapování konfigurací řešení , které si můžete přečíst.

3.1.2. Sestavení ze souboru projektu (.csproj/.fsproj)

Pokud chcete sestavit ze souboru .csproj/.fsproj , musí všechny odkazované projekty (například váš projekt PCL) obsahovat konfiguraci se stejným názvem, jaký má váš zdrojový projekt iOS. Pokud tedy spustíte konfiguraci ladění simulátoru v App Center, váš projekt PCL musí mít konfiguraci Debug|iPhoneSimulator . V případě, že neexistují, a aby se zabránilo dalším chybám, přidáme takové konfigurace před vytvořením projektů. Tyto konfigurace mají základní výchozí nastavení pouze pro ladění a vydání.

3.2. Konfigurace

Vyberte konfiguraci, se kterou chcete vytvořit. Konfigurace se automaticky zjistí v závislosti na zdrojovém souboru vybraném v předchozím kroku.

3.3. Mono verze

App Center umožňuje pro sestavení používat různá prostředí Mono, která jsou součástí příslušné sady Xamarin.iOS SDK, aby se zachovala zpětná kompatibilita a zároveň se uvolnila podpora nových funkcí. Výchozí mono pro konfiguraci nové větve bude nejnovější stabilní. Můžete se rozhodnout použít jedno z předchozích prostředí Mono k vytváření starších verzí architektur nebo knihoven. Když zvolíte jinou mono verzi, uvidíte verzi sady Xamarin.iOS SDK, která je k ní přibalená. Pokud chcete sledovat aktualizace verzí sady Xamarin SDK, můžete si přečíst příspěvky na blogu o vydáních Xamarinu.

3.3.1. Verze .NET

Správná verze .NET se vybere automaticky na základě verze Xamarin.iOS použité pro sestavení a nepůjde přepsat. Mapování Xamarin.iOS na .NET používané našimi službami si můžete prohlédnout v následující tabulce:

Xamarin.iOS .NET
13.20 3.1.401
14.0 3.1.401
14,2 3.1.401
14.4 3.1.401
14.6 5.0.100
14.8 5.0.100
14.10 5.0.100
14.14 5.0.100
14.16 5.0.100
14.20 5.0.100
15 5.0.100
15.2 5.0.100
15,4 5.0.100
15.6 5.0.100
15.8 5.0.100
15.10 5.0.100
15.12 5.0.100
16.0 5.0.100
16.0 (.NET 6) 6.0.405
16.1 6.0.405
16.2 6.0.405

3.4. Verze Xcode

Aktuálně podporované verze Xamarinu vyžadují Xcode 11.7 nebo novější.

3.5. Aktivační události sestavení

Ve výchozím nastavení se nové sestavení aktivuje pokaždé, když vývojář odešle změny do nakonfigurované větve. Pokud dáváte přednost ruční aktivaci nového sestavení, můžete toto nastavení změnit v podokně konfigurace.

3.6. Sestavení simulátoru

Sestavení simulátoru se dají spustit jenom na simulátorech a nedají se nainstalovat do zařízení, ale sestavení se dokončí rychleji než sestavení zařízení. Pokud vaše sestavení není sestavení simulátoru, budete muset v dalším kroku nahrát podpisové soubory kódu.

3.7. Zvýšení čísla sestavení

Když je tato možnost povolená, CFBundleVersion hodnota v souboru Info.plist vaší aplikace se automaticky zvýší pro každé sestavení. Ke změně dochází před sestavením a nebude potvrzena do vašeho úložiště.

3.8. Podepisování kódu

Úspěšné sestavení zařízení vytvoří soubor IPA. Pokud chcete build nainstalovat na zařízení, musí být podepsané platným zřizovacím profilem a certifikátem. Pokud chcete podepsat sestavení vygenerovaná z větve, povolte podepisování kódu v podokně konfigurace a nahrajte zřizovací profil (.mobileprovision) a platný certifikát (.p12) spolu s heslem pro certifikát. Další informace o podepisování kódu a zřizování zařízení aplikací Xamarin pro iOS najdete v dokumentaci k Xamarinu.

Aplikace s rozšířeními app nebo watchOS vyžadují podepsání dalšího zřizovacího profilu pro každé rozšíření.

Poznámka

Při spuštění nuget restore v projektech obsahujících aplikace Xamarin watchOS už existuje problém. Vytvoření aplikace watchOS na App Center bez alternativního řešení způsobí chybu:

Project <project> is not compatible with xamarinios10 (Xamarin.iOS,Version=v1.0) / win-x86. Project <project> supports: xamarinwatchos10 (Xamarin.WatchOS,Version=v1.0).

Pokud chcete vytvářet aplikace watchOS na App Center, je potřeba alternativní řešení. V projektu obsahujícím iOS, který odkazuje na aplikaci Watch, musí být zahrnutý další řádek:

<ReferenceOutputAssembly>False</ReferenceOutputAssembly>

Příklad referenční informace ke WatchApp s alternativním řešením:

    <ProjectReference Include="..\MyWatchApp\MyWatchApp.csproj">
      <Project>{59EB034F-3D29-43A5-B89F-124879504771}</Project>
      <Name>MyWatchApp</Name>
      <IsWatchApp>True</IsWatchApp>
      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
    </ProjectReference>

3.9. Spuštění úspěšného buildu na skutečném zařízení

Pomocí nově vytvořeného souboru .ipa otestujte, jestli se aplikace spustí na skutečném zařízení. Testování spuštění přidá k času sestavení dalších asi 10 minut. Možná budete chtít prohlédnout komplexnějšího průvodce testováním sestavení.

3.10. Obnovení NuGet

Pokud je souborNuGet.config úložiště vrácený se změnami a nachází se vedle .sln nebo kořenové úrovně úložiště, App Center po přidání obnoví vaše privátní informační kanály NuGet, jak je znázorněno v následujícím příkladu. Přihlašovací údaje je možné bezpečně přidat pomocí proměnných prostředí:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="MyGet" value="https://www.myget.org/F/MyUsername/api/v2/index.json" />
    <add key="MyAuthNuget" value="https://nuget.example.com/v2/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyAuthNuget>
      <add key="Username" value="$USER_VARIABLE" />
      <add key="ClearTextPassword" value="$PASSWORD_VARIABLE" />
    </MyAuthNuget>
  </packageSourceCredentials>
</configuration>

Pokud máte složité konfigurace a potřebujete další informace, přečtěte si téma Konfigurace chování NuGetu.

3.11. Distribuce do distribuční skupiny

Každé úspěšné sestavení z větve můžete nakonfigurovat tak, aby se distribuovala do dříve vytvořené distribuční skupiny. Novou distribuční skupinu můžete přidat v části Distribuce. Vždy existuje výchozí distribuční skupina s názvem Spolupracovníci, která zahrnuje všechny uživatele, kteří mají k aplikaci přístup.

Po uložení konfigurace se automaticky spustí nové sestavení.

4. Výsledky sestavení

Po aktivaci sestavení může být v následujících stavech:

  • queued – sestavení je ve frontě, která čeká na uvolnění prostředků.
  • sestavení – sestavení běží a spouští předdefinované úlohy.
  • succeeded – sestavení bylo úspěšně dokončeno.
  • failed – sestavení se zastavilo kvůli selhání. Problém můžete vyřešit stažením a kontrolou protokolu sestavení.
  • zrušeno – Sestavení se zrušilo akcí uživatele nebo vypršel jeho časový limit.

4.1. Protokoly sestavení

V případě dokončeného sestavení (úspěšného nebo neúspěšného) si stáhněte protokoly, abyste získali další informace o tom, jak sestavení proběhlo. App Center poskytuje archiv s následujícími soubory:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Protokoly specifické pro jednotlivé kroky sestavení (umístěné v build/ adresáři archivu) jsou užitečné pro řešení potíží a pochopení toho, v jakém kroku a proč sestavení selhalo.

4.2. Aplikace (.ipa nebo .app)

Je .ipa soubor archivu aplikace pro iOS, který obsahuje aplikaci pro iOS. Pokud je sestavení správně podepsané, .ipa můžete ho nainstalovat na skutečné zařízení, které odpovídá zřizovacímu profilu použitému při podepisování. K dispozici jsou další podrobnosti o podepisování a distribuci kódu pomocí App Center.

Pokud je aplikace sestavením simulátoru, můžete soubor spustit .app na simulátoru, ale nemůžete ho použít na skutečném zařízení.

4.3. Soubory symbolů (.dsym)

Soubory symbolů se generují jenom pro sestavení zařízení. Soubory .dsym obsahují symboly ladění pro aplikaci.

  • Pokud jste dříve integrovali sadu App Center SDK do vaší aplikace s povoleným modulem zasílání zpráv o chybách, služba zasílání zpráv o chybách vyžaduje tento .dsym soubor pro sestavení, aby se zobrazovaly zprávy o chybách čitelné (symbolické) pro člověka.
  • Pokud jste do aplikace dříve integroval jinou sadu SDK pro hlášení chyb (například HockeyApp SDK), odpovídající služba vyžaduje .dsym , aby se v souboru zobrazovaly zprávy o chybách čitelné pro člověka.