Val*_*rij 6 xcode ios cocoapods swift lottie
我有一个MY-App
使用我自己的框架的iOS应用程序MY-Framework
.两者都是写的swift
.该应用程序仅处理用户身份验证并将访问令牌传递给MY-Framework
.MY-Framework
然后处理整个ScreenFlow和业务逻辑.目标是将MY-Framework
客户分发给他们的应用程序.
此处提供了展示此问题的项目设置的最小示例:https://github.com/vprimachenko/lottie-pod-problem-sample
现在我是用一些动画增强我的框架提供的视图,并使用lottie.我正在使用cocoapods版本1.6.0-pre
我Podfile
用以下内容创建了一个
target 'fw' do
pod 'lottie-ios'
end
Run Code Online (Sandbox Code Playgroud)
这导致框架中的编译错误
./fw/fw/File.swift:4:8: error: no such module 'Lottie'
import Lottie
^
Run Code Online (Sandbox Code Playgroud)
经过一些谷歌搜索后我改变Podfile
了:
target 'fw' do
use_frameworks!
pod 'lottie-ios'
end
Run Code Online (Sandbox Code Playgroud)
结果:运行时崩溃
dyld: Library not loaded: @rpath/Lottie.framework/Lottie
Referenced from: .../Build/Products/Debug-iphonesimulator/fw.framework/fw
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
cocoapods发行说明提及use_modular_headers!
,让我们尝试:
target 'fw' do
use_modular_headers!
pod 'lottie-ios'
end
Run Code Online (Sandbox Code Playgroud)
结果:包含应用程序中的编译器错误
./app/app/ViewController.swift:3:8: error: missing required module 'Lottie'
import fw
^
Run Code Online (Sandbox Code Playgroud)
target 'fw' do
use_modular_headers!
use_frameworks!
pod 'lottie-ios'
end
Run Code Online (Sandbox Code Playgroud)
结果:运行时崩溃
dyld: Library not loaded: @rpath/Lottie.framework/Lottie
Referenced from: .../Build/Products/Debug-iphonesimulator/fw.framework/fw
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
经过一些尝试,我能够通过提供我自己的带头来解决这个问题,Lottie
但这感觉更像是一个胶带而不是一个合适的解决方案.我稍后会发布这个作为补充答案.
我如何使用正确集成lottie-ios
cocoapod以完全包含它MY-Framework
,所以当我分享给客户时,他们可以将它放入他们的应用程序而不用担心任何依赖?
将它作为具有依赖关系的私有pod发布,遗憾的是不是一种选择.
objective-c
使用代码的常见方法swift
是使用桥接标头,看一下:
您需要创建一个桥接头并将其添加到您的项目中,然后在您创建的 .h 文件中添加:
#import <Lottie/Lottie.h>
归档时间: |
|
查看次数: |
483 次 |
最近记录: |