我有一组要嵌入到Cocoapod库中的iOS,MacOS,WatchOS和TvOS片段(可能还支持Carthage)。
对我而言,棘手的部分是我为所有平台(iOS,MacOS TvOS等)指定了目标,但其中的 some 只针对其中一部分。
>在我的Xcode项目中,我将代码分成以下文件夹:
Library_Common
(定位全部)Library_iOS
(目标iOS)Library_WatchOS
(目标WatchOS)Library_MacOS
(目标MacOS)这是因为,例如,库的iOS部分可能需要UIKit
,而MacOS
可能需要其他不适用于iOS的框架。
如何设置podspec以便该库可以嵌入所有平台中?
是否有办法做到或最好将其拆分到不同的库中?这种方法的问题是每个Library_Common
部分都会重复。
答案 0 :(得分:0)
我终于找到了我想要的东西,并且似乎在podspec
文档本身中进行了指定。不幸的是我以前没看过:
https://guides.cocoapods.org/syntax/podspec.html#group_multi_platform_support
这意味着,就我而言,我具有以下设置:
s.source_files = "MyLibrary_common/**/*.{h,m}"
s.ios.source_files = "MyLibrary_iOS/**/*.{h,m}"
s.osx.source_files = "MyLibrary_macOS/**/*.{h,m}"
s.tvos.source_files = "MyLibrary_tvOS/**/*.{h,m}"
s.watchos.source_files = "MyLibrary_watchOS/**/*.{h,m}"