无法在多 iproject 工作区中加载“Lottie”的基础模块

Posted

技术标签:

【中文标题】无法在多 iproject 工作区中加载“Lottie”的基础模块【英文标题】:Cannot load underlying module for 'Lottie' in a mult-iproject workspace 【发布时间】:2021-02-19 09:40:04 【问题描述】:

我正在关注clean swift的这个教程 但现在我面临着使用 cocoapods 的问题。总之,我在运行pod init 之后创建了一个工作区,然后我添加了 3 个项目:表示层、域层和数据层。

如图所示,RadarAir-15 是原始项目(运行前pod init)。

播客文件

platform :ios, '13.6'    
workspace 'RadarAIR-15'

target 'RadarAIR-15' do
  xcodeproj 'RadarAIR-15.xcodeproj'
  
end
target 'PresentationRadarAir' do
  xcodeproj 'PresentationRadarAir/PresentationRadarAir.xcodeproj'
  pod 'lottie-ios'
end

在我只想为表示层添加 Pod 之前,一切似乎都很好,在这种情况下,我想使用 Lottie。 但我收到了这个错误:

<unknown>:0: error: cannot load underlying module for 'Lottie'

我也不能使用 IBDesignable。

更新

我让它在主要目标中向 pod 添加依赖项:RadarAIR-15

target 'RadarAIR-15' do
    project 'RadarAIR-15'
    pod 'lottie-ios'
end
target 'PresentationRadarAir' do
#    use_frameworks! :linkage => :static
    project 'PresentationRadarAir/PresentationRadarAir'
    pod 'lottie-ios'
end

这只是一个解决方法,因为故事板(xib)仍然有相同的错误,我想避免将依赖项添加到主目标。但至少lottie 是通过代码工作的。 有没有办法摆脱这个 storyboard(xib) 错误?

【问题讨论】:

【参考方案1】:

最后我不得不添加use_frameworks! :linkage =&gt; :static,我所有的问题都消失了:)

platform :ios, '13.6'

workspace 'RadarAIR-15'

target 'RadarAIR-15' do
     project 'RadarAIR-15'
end
target 'PresentationRadarAir' do
    use_frameworks! :linkage => :static
    project 'PresentationRadarAir/PresentationRadarAir'
    pod 'lottie-ios'
    pod 'Hero'
    pod 'MaterialComponents'

end
target 'DataRadarAir' do
    use_frameworks! :linkage => :static
    project 'DataRadarAir/DataRadarAir'
    pod 'Firebase/Auth'
    pod 'Firebase/Firestore'
end

【讨论】:

以上是关于无法在多 iproject 工作区中加载“Lottie”的基础模块的主要内容,如果未能解决你的问题,请参考以下文章

Admob横幅广告未在Android P中加载

防止在工作目录中加载 dll,InvalidCastException Type A 无法转换为 Type B

无法在我的网格中加载 api 值

尽管ui-route和provider似乎工作正常,但我无法在angularjs中加载视图......这是一段代码

无法在 RemoteViewsFactory 中加载多个图像

无法使用表存储在 Azure 云工作者角色中加载文件或程序集 Microsoft.Data.OData 版本 = 5.2.0.0 错误