Jak mohu správně sdílejte Zesílení rámce, můj Hlavní Aplikace a moje Rozšíření Aplikace pro iOS app?

0

Otázka

Mám iOS aplikace pomocí AWS zesílení pro backend. Jsem pomocí Xcode 13 a SwiftUI. Předtím jsem přidal Zesílit rámec použití Cocoapods nicméně jsem byl schopen získat rámec pro práci s příponou.

Tak jsem nedávno přešel na Swift Správce balíčků. Přidal jsem do balíčku na můj hlavní projekt. Pak jsem šel na svůj Podíl Rozšíření a Obecně - Rámců a Knihoven, a ručně přidané knihovny.

Poté, co dělá tento app buduje a provozuje a oba hlavní aplikace a rozšíření fungují dobře a jsou schopni používat knihovny.

Problém je, že nemohu archiv a nahrát aplikaci do App Store. Dostanu následující chybu:

CFBundleIdentifier Kolize. Tam je více než jeden svazek s CFBundleIdentifier hodnotu kom.generovat příjmy.AWSAuthCore' pod iOS aplikace 'MyAPP.aplikace'. Kód chyby STATE_ERROR.VALIDATION_ERROR...

Šel jsem na mnoha fórech a strávil mnoho hodin se snaží opravit to, ale bezvýsledně. Návrhy jsou, aby klikněte na 'vložit' pro knihovny, ale tato možnost není k dispozici pro mě.

Zajímalo by mě, jestli tam je vůbec vyřešit?

Níže jsou mé Obecné a Vybudovat Fází pro Podíl Souboru:

enter image description here

enter image description here

1

Nejlepší odpověď

2

Jen odstranit explicitní Amplify závislost z rozšíření, tj. další části by měly být prázdné

demo1

Ujistěte se, že (to by mělo být automaticky, ale stejně)

  1. Odkaz Rámců Automaticky parametr (v Build Settings) je true

demo2

  1. Runpath Cestu Hledání je parametr vztahující se k hlavní svazek

demo3

Tak jako cíle od SPM jsou postaveny na stejné místo jako produkt a rozšíření a automatické rámci propojení je povoleno importovaných modulů v rozšíření bude k dispozici a automaticky propojen a vzhledem k běhu cesty jsou nastavení rámce lze nalézt v run-time, stejně.

Poznámka: samozřejmě, že v hlavní aplikaci cílit na všechny by měly být zahrnuty

demo4

Testováno s Xcode 13.1 / iOS 15.1

2021-12-05 08:41:26

Odstranil jsem výslovně přidány moduly z Prodloužení a potvrdili, že výchozí nastavení v 1. a 2. výše uvedené jsou, jak máte uvedeno. Restartoval, vyčistil a postavil a chyba v souboru, že Žádný takový modul 'Zesílit'. Takže i přes to, že je spojena z nějakého důvodu to není rozpoznání zesílit knihovny. Je tam ještě něco, co bych měla být kontrola? Předtím jsem měla knihovny přidané kakaové lusky a pak se odstraní cocoapods pomocí modulu deintegrate před použitím SPM. Teď jsem nebyl otevření .xcworkspace ale jen otevření .xcodeproj souboru.
alionthego

Ano, hned po čisté Xcode řekne "nelze najít modul", ale poté, co jeden (nebo dva) se snaží sestavuje na tlačítko ok. Předpokládám, že to je Xcode ukládání do mezipaměti vadu (jak je pozorováno, vzhledem k tomu, Xcode 12, nebo 11, v paměti cache funguje špatně).
Asperi

Snažil jsem se mnohokrát, ale stále nefunguje. Snažil jsem se odstranit a znovu nainstalovat Xcode, zúčtování získaných údajů. nic pánve wok. Vytvořil jsem nový projekt a to tak, jak navrhujete. poprvé jsem se pokusit přidat zesílit uznává modul v souboru a sestavení. ale otevření mé další aplikace a pak se vrátit do této aplikace, a stejné chování. Modul, který již dříve postavil, je již budova se stejnou chybou v prodloužení se Žádný takový modul 'Zesílit'. Jsem úplně v rozpacích tady.
alionthego

To zní jako něco, co je špatného na konfiguraci vašeho reálného projektu... no, zkuste nastavit FRAMEWORK_SEARCH_PATHS výslovně.
Asperi

omlouvám se, jak to mám udělat, že?
alionthego

Jen jsem se snažil vytvořit další nový projekt a výsledek je tak v rozporu. Tentokrát v novém projektu, když jsem se postavit to říká, 'nelze najít modul' v podílu příponu souboru, když se snažím importovat zesílit. Můžete potvrdit, že je důsledně pracovat pro vás?
alionthego

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................