2016-04-01 18 views
7

Sto utilizzando una libreria di terze parti fornita come framework: Library.framework. Apparentemente, può essere utilizzato solo nel mio progetto tramite l'intestazione Bridging facendo #import <Library/Library.h>. Che va bene nella maggior parte dei casi.Incorporare un framework senza modulo in un pod

Tuttavia, al momento sto sviluppando un pod in cui voglio utilizzare Library.framework. Ciò significa che non posso fare affidamento sul Bridging Header.

ho cercato di collegare il Library.framework nel mio target Pod (vedi General > Linked Frameworks and Libraries), ma allora, una volta che il Pod è installato nella mia app, Xcode dice il Pod non può compilare perché alcuni file in Biblioteca non si trovano.

Quale sarebbe la migliore strategia da adottare qui?

+0

Hai provato a modificare il tuo schema? Nella sezione di compilazione puoi scegliere l'ordine di compilazione dei tuoi target deselezionando "parallelize build" – Max

+0

Grazie per la tua risposta, ma ciò solleva alcune altre domande: quale schema e cosa dovrebbe fare? – aimak

+0

Prodotto> Schema> Modifica schema> Crea. Quindi deseleziona "parallelize build" e puoi riordinare i tuoi obiettivi – Max

risposta

2

Penso di averlo fatto.

Il trucco era aggiungere i file .h sia in source_files e public_header_files nel Pod.podspec.

Ti piace questa:

s.source_files = 'Library.framework/Headers/*.h' 
s.public_header_files = 'Library.framework/Headers/*.h' 

In questo modo, tutti i file di intestazione appaiono nel Pod-umbrella.h e può ora essere utilizzato nella mia app.

1

Nel progetto del pod presumo che si disponga di un file denominato [PodName] .h, sarà simile al seguente file. Si potrebbe provare ad aggiungere l'intestazione in questo file.

// 
// PodName.h 
// PodName 
// 
// Created by John Doe on 06.04.2016. 
// Copyright © 2016 John Doe Inc. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

//! Project version number for PodName. 
FOUNDATION_EXPORT double PodNameVersionNumber; 

//! Project version string for PodName. 
FOUNDATION_EXPORT const unsigned char PodNameVersionString[]; 

// In this header, you should import all the public headers of your framework using statements like #import <PodName/PublicHeader.h> 

#import <Library/Library.h> // Add framework header here. 
Problemi correlati