繁体   English   中英

如何在MacOS中安装开发框架以进行命令行构建

[英]How to install a development Framework in MacOS for commandline build

我有一个iOS应用程序,需要将它集成到CircleCI中的CI / CD管道中。 我的大多数依赖项都是使用CocoPods添加的。 OpenCV2有一个特殊的依赖性,它是手动编译和使用的。 在本地开发计算机上,通过Xcode拖放即可轻松使用。 但是,在CI服务器上运行构建时。 我们无权访问GUI,需要从命令行链接依赖项。 我没有找到很多有关此问题的资源。

我尝试过此链接中的一些选项

https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/InstallingFrameworks.html

我尝试使用的框架已编译并压缩到一个归档文件中(opencv2.framework.zip,并上传到了Amazon S3。这是因为编译后的框架大小约为300 MB。因此,我无法将其推送到源存储库。因此,我使用curl并在CI机上解压缩下载了它,我尝试将其解压缩到

  • /系统/图书馆/框架
  • /库/框架
  • 〜/资源库/框架

    健身房-方案“项目”-工作区“ project.xcworkspace”

它们都没有真正起作用。我想要一种在系统中注册此框架的方法,以便链接器可以在链接时找到它。

  1. 建议一种将框架提取到链接器可以自动查看的位置的方法。
  2. 建议一种可以从命令行构建手动链接框架的方法

我从未使用过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,只要它们没有下载相同的依赖项。

创建一个私人仓库,按照迦太基教程上传框架https://github.com/Carthage/Carthage#supporting-carthage-for-your-framework

然后将opencv2放入您的仓库中。

然后将您的cartfile添加到您的cartfile

然后,在安装cocoapods之前或之后,也要安装迦太基框架。

这有点工作,但可以解决您的问题。

第三:
看起来他们也支持迦太基https://github.com/card-io/card.io-iOS-source/issues/32

请看最后的几条评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM