2015-08-28 13 views
6

Zrobiłem niestandardowy plik module map do obsługi importu libxml w szybkim projekcie. (non-modular include błędu)Zdefiniuj niestandardowy plik mapy modułu w kokosach Podspec

To działa wspaniale, gdyby to zrobić ręcznie, ale cocoapods nie znajdzie/rozwiązać modułu przy próbie pod lint prosty projekt zawierający import z tego modułu niestandardowego.

Próbowałem s.module_map = "module/module.modulemap" wraz z

core.xcconfig = { 'HEADER_SEARCH_PATHS' => „$ (SDKROOT)/usr/include/libxml2 $ (SRCROOT)/moduł $ (SDKROOT)/usr/include/libresolv ', ' OTHER_LDFLAGS '=>' "-lxml2" ',' CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES '=>' YES ',' ENABLE_BITCODE '=>' NO ', "SWIFT_INCLUDE_PATHS" => "$ (SRCROOT)/module"}

Każda pomoc zostanie doceniona.

Odpowiedz

12

Udało mi się naprawić ten problem, ustawiając właściwość pod_target_xcconfig. Kompletna część wygląda następująco:

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

Hej, mam błąd nie modułowy. Czy możesz wyjaśnić trochę, co tu zrobiłeś? Dzięki –

+0

zależy to od nagłówka, masz modułowy nagłówek. Możesz użyć składni @import, jeśli masz błąd w składni #import <>. Tutaj tworzysz plik module.modulemap, w którym umieszczasz deklarację swojego modułu (w moim przypadku libxml). Następnie dodajesz go do ustawień kompilacji, aby umożliwić Xcode'owi korzystanie z niego i kompilowanie – Loegic

+1

Przeniesienie lokalizacji libxml2 z 'pod_target_xcconfig' do' xcconfig' zrobił dla mnie sztuczkę. Dziękuję Ci! – diegoreymendez

Powiązane problemy