我有一个iOS应用程序需要集成到CircleCI的CI / CD管道中。我的大多数依赖项都是使用CocoPods添加的。 OpenCV2有一个特定的依赖项,它是手动编译和使用的。在本地开发机器上,使用简单的拖拽和放入Xcode。但是,在CI服务器上运行构建时。我们无法访问GUI并需要从命令行链接依赖项。我没有找到很多处理这个问题的资源。
我在此链接中尝试了一些选项
我尝试使用的框架在存档中编译和压缩(opencv2.framework.zip并在Amazon S3上传。这是因为编译的框架大小约为300 MB。所以,我可以'把它推送到源存储库。所以,我使用curl下载它并在CI机器上解压缩。我试过将其解压缩到
〜/库/框架
gym --scheme" project" --workspace" project.xcworkspace"
它们都没有真正起作用。我想在系统中注册这个框架,以便链接器可以在链接时找到它。
答案 0 :(得分:0)
我从未使用过OpenCV,但是快速的pod搜索给出了这个结果,所以看起来他们已经支持了cocoapods .....
pod search opencv
-> OpenCV2 (3.2.0)
OpenCV (Computer Vision) for iOS.
pod 'OpenCV2', '~> 3.2.0'
- Homepage: http://opencv.org
- Source: http://github.com/bcomeau/opencv/releases/download/3.2.0/opencv-3.2.0-ios-framework.zip
- Versions: 3.2.0 [master repo]
第二:
您可以使用Carthage
https://github.com/Carthage/Carthage
只要不下载相同的依赖项,您就可以同时使用Cocoapods和Carthage。
创建私人仓库,按照carthage教程上传框架https://github.com/Carthage/Carthage#supporting-carthage-for-your-framework
然后将opencv2放入您的仓库。
然后将您的回购添加到cartfile
然后在安装cocoapods之前或之后,安装carthage框架。
这有点工作,但可以解决你的问题。
第三:
看起来他们也支持迦太基
https://github.com/card-io/card.io-iOS-source/issues/32
看看最后几条评论..