Sdílet prostřednictvím


Řešení potíží se sestavením 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.

Nenašlo se žádné schéma Xcode.

xcworkspace Sestavení nebo vyžaduje xcproject sdílené schéma Xcode. Schémata Xcode se ukládají místně, aby k nim Xcode mohl přistupovat. Ve výchozím nastavení se schémata nesdílí s ostatními ani nejsou zahrnuta do správy zdrojového kódu.

Pokud chcete sdílet schéma v Xcode, postupujte následovně:

  1. Vyberte Produktová > schémata > Spravovat schémata.
  2. Nastavte schéma pro xcproject/xcworkspace jako sdílené.
  3. Kontejner schématu musí být nastavený na projekt Xcode nebo pracovní prostor, který chcete sestavit.
  4. Přidejte soubor do správy zdrojového .xcscheme kódu a odešlete ho do vzdáleného úložiště, aby k němu app Center měl přístup.

Označení schématu jako sdílené

Upozornění

Ujistěte se, že složka xcshareddata/xcschemes/ není v .gitignore souboru. .xcscheme Tady jsou soubory uložené pomocí Xcode. App Center spoléhá při správném sestavení projektu na tyto soubory. Jednoduše export do .xcscheme jiné složky nebude fungovat.

Sestavení iOS selžou s chybou clang: příkaz linkeru selhal s ukončovacím kódem 1.

Příčinou této chyby může být sestavení App Center s xcodeproj místo pracovního prostoru. Při přidávání CocoaPods do projektu přepněte na používání pracovního prostoru při sestavování v App Centeru.

Indikátor: V protokolu sestavení vyhledejte tento řádek:

ld: library not found for -lPods-GarageController
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** ARCHIVE FAILED **

Pokud chcete tuto chybu opravit, otevřete konfiguraci sestavení projektu a klikněte na Uložit. App Center automaticky zvolí pracovní prostor správně pro budoucí buildy.

Vysvětlení problémů s podepisováním iOS

Poznámka

Podpisové identity, které používají jiné znaky než ascii, se v buildu nepodporují.

Práce se zřizovacími profily a certifikáty může být náročný proces. Následující tipy by vám měly pomoct úspěšně podepsat aplikace pro iOS:

  1. Po odeslání podpisových změn do projektu uložte konfiguraci sestavení v App Center. V App Centeru se v konfiguraci sestavení libovolné větve ukládají dvě hodnoty projektu Xcode: CODE_SIGN_STYLE a DEVELOPMENT_TEAM (nastavené v project.pbxproj souboru ve vaší .xcodeproj složce). Při každé změně mezi ručním a automatickým podepisováním nebo přepnutím vývojového týmu nezapomeňte po nasdílením změn uložit konfiguraci sestavení na App Center. Pokud po nasdílením neuložíte, může sestavení selhat s chybou podepisování.

  2. Při použití automatického podepisování přetáhněte správný zřizovací profil. V Xcode klikněte na kartě Obecné cíle v části Podepisování na ikonu informací vedle položky Spravovaný profil Xcode. Zobrazí se automaticky otevírané okno s informacemi o profilu. Klikněte na ikonu PROV v levém horním rohu a přetáhněte ji do požadovaného umístění (jak je znázorněno níže).

  3. Při používání ručního a automatického podepisování si poznamenejte aktuálně podporované možnosti App Centeru. App Center plně podporuje ruční podepisování aplikací pro iOS, takže můžete použít jakýkoli typ profilu nebo certifikátu. Ověřte, že zřizovací profil a certifikát, který nahrajete do App Center, odpovídají tomu, co jste zadali v projektu. Pokud jste povolili automatickou správu přihlašování v Xcode, App Center podporuje podepisování aplikací pomocí vývojářských certifikátů a profilů (ne s distribucí). Při nahrávání do App Center budete muset použít automaticky vygenerovaný zřizovací profil z Xcode.

Pořád máte potíže?

Pokud chcete vyřešit potíže a zprovoznění registrace buildu, doporučujeme provést následující kroky:

  1. Nastavte ruční přihlašování v projektu Xcode a ujistěte se, že funguje místně.
  2. Po ověření potvrďte a odešlete změny do úložiště.
  3. Připravte zřizovací profil a certifikát vybraný v cíli Xcode a nahrajte je do konfigurace sestavení App Center.
  4. A co je nejdůležitější: Před uložením nového certifikátu a profilu do konfigurace sestavení se ujistěte, že jste nasdíleli nejnovější stav projektu.

Kde je můj .ipa soubor?

Xcodebuild na rozdíl od xcrunu neumožňuje vygenerovat .ipa soubor, pokud sestavení není podepsané. Sestavení bez znaménka místo toho vytvoří ..xcarchive Pokud chcete vygenerovat .ipa soubor s artefakty nepodepsaného sestavení, můžete k tomu použít .xcarchive soubor.

Export souboru xcarchive pomocí xcode

Moje aplikace pro iOS používající Xcode selže s chybou Neplatná verze bitového kódu

Pokud sestavení selžou s error: Invalid bitcode version (Producer: '802.0.38.0_0' Reader: '800.0.42.1_0'), používáte knihovnu nebo pod vytvořený novější verzí Xcode, než je váš projekt. Můžete buď aktualizovat projekt a sestavit konfiguraci v App Center tak, aby používala novější verzi Xcode, nebo přepnout na alternativní verzi problematické knihovny, která se zkompiluje s odpovídající verzí Xcode.

Aplikaci pro iOS se nepodaří spustit test

Běžným důvodem selhání testů je, že příkazy linkeru narazí na chybu podobnou následující:

 ld: directory not found for option iPhoneSimulator10.3.sdk/Developer/Library/Frameworks 
  ❌ ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/XCTest.framework/XCTest) for architecture x86_64 
  ❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)  

Pravděpodobnou příčinou této chyby je typ propojení Apple Mach-O Linker , který není nastavený na statickou knihovnu. Pokud chcete aplikaci úspěšně sestavit a otestovat, ujistěte se, že typ propojení Apple Mach-O Linker ve vašem testovacím cíli je nastavený na statickou knihovnu.

Apple Mach-O Linker

Moje buildy pro iOS používající CocoaPods na Xcode 9 pořád selhávají. Co mám dělat?

Důvodem může být to, že konfigurace podepisování v projektu podů se liší od konfigurace ve vašem hlavním projektu. Jsou vaše pody vráceny se změnami v úložišti? Pokud ano, musí váš projekt Pods používat stejnou metodu podepisování jako hlavní projekt.

Pokud pody nejsou se změnami, můžou nastat různé problémy. Existuje několik alternativních řešení, která můžete použít v tomto problému na GitHubu se skripty před sestavením.

Od upgradu projektu na Xcode 10 beta se aplikaci nepodaří sestavit s chybovým cyklem v závislostech mezi cíli.

Nový buildovací systém Xcode 10 detekuje cykly závislostí ve vašem buildu, a pokud nějaké existují, sestavení selže.

Další informace o tom, jak opravit sestavení, najdete v dokumentaci společnosti Apple k řešení běžných typů cyklů závislostí.