2015-08-28 21 views
6

Ho creato un file personalizzato module map per gestire l'importazione libxml in un progetto rapido. (non-modular include errore)Definire il file mappa modulo personalizzato in cocoapods Podspec

Sta funzionando grande se lo faccio manualmente, ma cocoapods non troverà/risolvere il modulo di quando cerco di pod lint un progetto semplice che contiene un'importazione da questo modulo personalizzato.

ho cercato s.module_map = "module/module.modulemap" con

core.xcconfig = { 'HEADER_SEARCH_PATHS' => '$ (SDKROOT)/usr/include/libxml2 $ (SRCROOT)/modulo $ (SDKROOT)/usr/include/libresolv ', ' OTHER_LDFLAGS '=>' "-lxml2" ',' CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES '=>' SÌ ',' ENABLE_BITCODE '=>' NO ', "SWIFT_INCLUDE_PATHS" => "$ (SRCROOT)/modulo"}

Qualsiasi aiuto sarebbe apprezzato.

risposta

12

Sono riuscito a risolvere questo problema impostando la proprietà pod_target_xcconfig. La parte completa è la seguente:

s.preserve_path = 'module/module.modulemap' 
s.module_map = 'module/module.modulemap' 

core.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '$(PODS_ROOT)/mypod/module' } 
core.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/mypod/module' } 
+0

Ehi, ho ricevuto l'errore non modulare. Puoi spiegare un po 'cosa hai fatto qui? Grazie –

+0

Dipende dall'header con un'intestazione modulare. Puoi provare a utilizzare la sintassi @import se hai l'errore su una sintassi #import <>. Qui si crea un file module.modulemap, nel quale si inserisce la dichiarazione del proprio modulo (nel mio caso libxml). Poi lo aggiungi alle tue impostazioni di build per consentire a Xcode di usarlo e compila – Loegic

+1

Spostare la posizione di libxml2 da 'pod_target_xcconfig' a' xcconfig' ha fatto il trucco per me. Grazie! – diegoreymendez

Problemi correlati