Reagire Native Module, il file non trovato Cocoapod

voti
0

Sto costruendo un modulo per Reagire nativo, come una parte di questa, c'è qualche codice nativo iOS che è avvolto in un cocoapod. Ho questo bel lavoro, e posso installare il cocoapod e vedere le classi native dalla RN lato non è un problema. Una delle classi native sta cercando di ottenere il percorso di un file mp3 locale all'interno di una cartella secondaria proj/Audio/file.mp3. Utilizzando il seguente codice objC:NSString *path = [[NSBundle mainBundle] pathForResource:@file ofType:@mp3 inDirectory:@Audio];

Questo sta tornando nile come tale causa un errore quando si cerca di ottenere il NSURLper il file. Ho l'estensione mp3 aggiunta alla podspec@ s.source_files = ios/**/*.{h,m,swift,mp3}modo si sta muovendo il file sopra. Tuttavia, suppongo devo mancare qualcosa in quanto in ultima analisi, non riesce a trovare il file.

Sono andato nel progetto Xcode sorgente e ha aggiunto il mp3file alla Copy filesfase fasi di creazione. Ho anche fatto in modo che il file è stato collegato al bersaglio. Non sono sicuro che altro potevo mancare a questo punto per non essere in grado di essere trovato.

È pubblicato 03/12/2019 alle 00:00
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Invece di mettere il file mp3 in source_filesdel vostro podspec, provare a utilizzare resource_bundles; consultare la documentazione qui . In sostanza si permette di definire i file di bundle di risorse che CocoaPods crea per voi con i beni che si specifica, ad esempio:

s.resource_bundles = {
'Audio' => ['ios/**/*.mp3']
} 

È possibile caricare la risorsa file di bundle che CocoaPods creati (creare un NSBundleoggetto dal suo URL con il suo nome - Audionell'esempio di cui sopra, e l'estensione - bundle), quindi ottenere un percorso da risorse all'interno di questo pacchetto (lo stesso metodo che è stato utilizzato in mainBundle) .

Risposto il 04/12/2019 a 11:26
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more