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

时间:2017-06-08 03:18:24

标签: ios xcode macos continuous-integration circleci

我有一个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机器上解压缩。我试过将其解压缩到

  • / System / Library / Frameworks
  • /库/框架
  • 〜/库/框架

    gym --scheme" project" --workspace" project.xcworkspace"

它们都没有真正起作用。我想在系统中注册这个框架,以便链接器可以在链接时找到它。

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

1 个答案:

答案 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

看看最后几条评论..