Как я могу использовать сборку BUCK с модулем, в котором есть несколько файлов с одинаковыми именами?
Я пытаюсь использовать BUCK с модулем Realm.
Я настроил свой файл доллара как:
apple_pod_lib(
name = "Realm",
visibility = ["PUBLIC"],
exported_headers = glob([
"Realm/**/*.h",
"Realm/**/*.hpp",
]),
srcs = glob([
"Realm/**/.{m,mm,cpp}",
]),
)
apple_pod_lib(
name = "RealmSwift",
visibility = ["PUBLIC"],
swift_version = "4",
deps = [
"//Pods:Realm"
],
srcs = glob([
"RealmSwift/**/*.swift",
]),
)
используя макрос pod из Airbnb.
Однако я не могу построить свой проект, так как это не удалось с
In target '//Pods:Realm', 'Realm/history.hpp' maps to the following header files:
- /BuckSample/Pods/Realm/include/core/realm/sync/history.hpp
- /BuckSample/Pods/Realm/include/core/realm/history.hpp
Please rename one of them or export one of them to a different path.
Я также попытался вручную указать файлы и заголовки для включения, глядя на PodSpec из этих репозиториев, но я не смог заставить его работать, потому что мне тогда не хватало некоторых файлов для проекта для компиляции в Xcode.
Ответы
Ответ 1
В качестве обходного пути я смог установить готовый фреймворк через Carthage как:
# Cartfile
github "realm/realm-cocoa"
# Carthage/BUCK
prebuilt_apple_framework(
name = "RealmSwift",
framework = "Build/iOS/RealmSwift.framework",
preferred_linkage = "shared",
visibility = ["PUBLIC"],
)
# Where my library is
apple_library(
name = "LibraryWithRealm",
visibility = ["PUBLIC"],
swift_version = "5.0",
modular = True,
deps = [
"//Carthage:RealmSwift",
]
)