Sto cercando di incorporare un quadro che utilizzano un altro quadro e questo funziona bene nel simulatore, ma si blocca su un dispositivo iOS:dyld: Biblioteca non caricato per un quadro all'interno di un quadro
dyld : Libreria non caricata: @ rpath/FrameworkB.framework/FrameworkB Riferimento a: /private/var/mobile/Containers/Bundle/Application/B072CD7C-8595-4AE4-A506-26832A0F4402/FrameworkTest.app/Frameworks/FrameworkA.framework/ FrameworkA Motivo: immagine non trovata
Questa è la mia struttura in Xcod e:
- FrameworkTest.xcodeproj (il progetto app)
- FrameworkA.xcodeproj (Cocoa Touch Framework)
- FrameworkB.xcodeproj (Cocoa Touch Framework)
- FrameworkA.xcodeproj (Cocoa Touch Framework)
L'app (FrameworkTest) utilizza una classe A
da FrameworkA (che è embe dded nell'app FrameworkTest). La classe A
utilizza la classe B
da FrameworkB (che è collegata in FrameworkA).
Questo funziona perfettamente nel simulatore, ma non funziona sul dispositivo.
La struttura può sembrare un po 'strana, ma sto sviluppando i framework mentre sviluppo l'app, motivo per cui voglio aggiungere i progetti di framework all'interno del mio progetto di app.
Ho caricato il project on GitHub per farvi vedere, se avete bisogno di dare un'occhiata più da vicino. (La classe A
viene richiamata nel file AppDelegate.m)
Perché questo funziona nel simulatore iOS e non sul dispositivo? E come posso farlo funzionare sul dispositivo?
EDIT:
Come simonthumper suggerisce nei commenti, ho anche provato ad aggiungere FrameworkB.framework
-Copy Files
come Frameworks destinazione fasi di creazione per FrameworkA, ma che mi dà questo errore nella console:
dyld: libreria non caricata: @ rpath/FrameworkB.framework/FrameworkB Riferimento a: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/ FrameworkA.framework/FrameworkA Motivo: non è stata trovata un'immagine adatta. Trovato: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/Framework/FrameworkB.framework/FrameworkB: mmap() errore 1 all'indirizzo = 0x10012C000, dimensione = 0x00008000 segmento = __ TEXT in Segment :: map() mapping /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA. quadro/Frameworks/FrameworkB.framework/FrameworkB
Hai il framework nella fase di creazione dei file di copia? – simonthumper
@simonthumper Ho modificato la domanda con ulteriori informazioni se lo faccio :-) –
Ciao. Anch'io sto affrontando lo stesso tipo di problema. Ma non ho un secondo codice di progetto quadro con me (solo FrameworkB.framework che ho). Qualche idea su come ci vado? –