如何在 Swift 中导入 Cocoapods 子规范/模块而不是整个 pod
How to import a Cocoapods subspec/ module instead of the entire pod in Swift
子规范 “表示库模块的规范。”。
这是从 here 中获取的 .Podspec
文件的示例:
Pod::Spec.new do |s|
s.name = 'RestKit'
s.subspec 'Core' do |cs|
cs.dependency 'RestKit/ObjectMapping'
cs.dependency 'RestKit/Network'
cs.dependency 'RestKit/CoreData'
end
s.subspec 'ObjectMapping' do |os|
end
end
Inside Swift,有人会如何导入 only ObjectMapping
subspec,而不是整个可可豆荚?文档确实说它是“库的模块”,所以这让我相信有一些方法可以单独导入模块/子规范。对我来说不幸的是,可能 他们对模块的定义与 Swift module 不同,并且此功能不存在。我只知道整个 pod 的导入:
import RestKit
不可能
这是不可能的,因为 Podspec
s 定义了生成的 clang 模块。
我从 module_name
文档中推断出这一点:
The name to use for the framework / clang module which will be generated for this specification instead of the default (header_dir if set, otherwise the specification name).
...其中规范表示 Podspec
.
解决方法
创建多个 Podspec 文件(clang 模块)。您可以将它们放在同一目录中。例如,Github: mapbox/mapbox-navigation-ios根目录下有2个podspecs,引用别处的其他Podspecs。
子规范 “表示库模块的规范。”。
这是从 here 中获取的 .Podspec
文件的示例:
Pod::Spec.new do |s|
s.name = 'RestKit'
s.subspec 'Core' do |cs|
cs.dependency 'RestKit/ObjectMapping'
cs.dependency 'RestKit/Network'
cs.dependency 'RestKit/CoreData'
end
s.subspec 'ObjectMapping' do |os|
end
end
Inside Swift,有人会如何导入 only ObjectMapping
subspec,而不是整个可可豆荚?文档确实说它是“库的模块”,所以这让我相信有一些方法可以单独导入模块/子规范。对我来说不幸的是,可能 他们对模块的定义与 Swift module 不同,并且此功能不存在。我只知道整个 pod 的导入:
import RestKit
不可能
这是不可能的,因为 Podspec
s 定义了生成的 clang 模块。
我从 module_name
文档中推断出这一点:
The name to use for the framework / clang module which will be generated for this specification instead of the default (header_dir if set, otherwise the specification name).
...其中规范表示 Podspec
.
解决方法
创建多个 Podspec 文件(clang 模块)。您可以将它们放在同一目录中。例如,Github: mapbox/mapbox-navigation-ios根目录下有2个podspecs,引用别处的其他Podspecs。