Ho una libreria statica a cui viene collegata una applicazione. Il codice biblioteca si apre un file che è in bundle che si trova nel bundle dell'applicazione, l'apertura è fatto come:Come aggiungere/aprire un file bundle in una destinazione di prova
NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"Config" ofType:@"plist"];
Questo sta lavorando bene.
Tuttavia, voglio aggiungere qualche codice di test dell'unità alla libreria e quindi ho un obiettivo di test logico per questo. Poiché il file si trova nel pacchetto per l'applicazione e non nel pacchetto per la libreria statica, ho copiato il file Config.plist
e l'ho aggiunto alla destinazione del codice di test tramite Copy Bundle Resources
. Tuttavia, quando eseguo il codice di prova, non è possibile trovare il file. Perché?
In quanto sopra è confuso, ecco un riassunto della struttura dell'area di lavoro.
Workspace contains:
Application Project with application target, which contains (X)
Config.plist (a)
Library project which contains:
Library target, which contains:
the code opening the file in the bundle (b)
Test library target, which contains: (Y)
A Copy of the Config.plist (c)
Quindi, se io costruisco X poi quando b corre si può trovare una. Ma quando costruisco Y quando viene eseguito, b non riesce a trovare c.
+1 Come hai trovato questo? – prodos
Non ricordo lo – Gruntcakes
Brillante. Proprio quello di cui avevo bisogno. – fatuhoku