如何使用#if canImport()

时间:2019-03-08 07:31:40

标签: ios swift cocoapods podspec subspec

我们创建了一个框架,该框架具有多个扩展(子规范)。我们将框架作为精简的Pod分发,而没有其他子规范。

尽管我们已经正确配置了子规范,并且客户端分别对其进行了集成,但是如果客户端集成了没有任何其他模块的精简版,则我们的框架就会崩溃。 ..错误指出我们的框架无法引用其他框架子规范中的框架...

我确实从子规格中引用代码,但仅在 #if canImport(可选框架)之间进行。为什么我们的框架崩溃了?

原因:找不到图片

我们的子规格:

s.default_subspec = 'defaultSDK'

s.subspec 'defaultSDK' do |default|
default.vendored_frameworks = 'Default.framework'
end

s.subspec 'firstSubspec' do |first|
//accesses separate framework 
first.dependency   = 'First'
end

然后在我们的默认框架中,我们调用:

#if canImport(First)
import First
#endif

在我们的默认SDK Podfile中,我们包含firstSubspec框架,因为它也可以作为单独的框架进行访问

pod 'First'

并使用相同的逻辑从First.framework调用任何方法。

我们的结构有什么问题?我们可以在Android中做到这一点...:(

0 个答案:

没有答案