Я создаю библиотеку C++ для iOS и React-Native. Мне нужно получить доступ к некоторому вспомогательному коду из фреймворка boost, который сам React-Native уже имеет зависимость.
Однако, когда я пытаюсь включить заголовок, Xcode сообщает мне, что его невозможно найти:
Сама моя библиотека должна быть упакована как зависимость Cocoapods, поэтому я попытался добавить зависимость boost к .podspec
, но, похоже, это ничего не делает для раскрытия заголовков.
require "json"
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
Pod::Spec.new do |s|
s.name = "react-native-wallet-core"
s.version = package["version"]
s.summary = package["description"]
s.homepage = package["homepage"]
s.license = package["license"]
s.authors = package["author"]
s.platforms = { :ios => "14.0" }
s.source = { :git => "---.git", :tag => "#{s.version}" }
s.source_files = "ios/**/*.{h,m,mm}", "cpp/**/*.{h,cpp}"
s.dependency "React-Core"
s.dependency "TrustWalletCore", '~>2.7.2'
# Doesn't seem to do anything
s.dependency "boost"
# doesn't work cannot use path in a podspec
# s.dependency "boost", path: "../node_modules/react-native/third-party-podspecs/boost.podspec"
end
Любая идея, что мне нужно сделать, чтобы иметь возможность использовать ускоренный код внутри моего собственного кода C++?
У меня это работает, по-видимому, даже несмотря на то, что зависимость объявлена и является частью react-native, путь к заголовку не доступен сразу, нужно добавить пути поиска заголовков как часть самого podspec:
s.pod_target_xcconfig = {
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include/\""
}
s.user_target_xcconfig = {
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\""
}