多平台cocoapods库配置

时间:2019-03-26 10:01:13

标签: ios macos cocoapods tvos watch-os

我有一组要嵌入到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部分都会重复。

1 个答案:

答案 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}"