【问题标题】:How to install a development Framework in MacOS for commandline build如何在 MacOS 中安装开发框架以进行命令行构建
【发布时间】:2017-11-09 14:23:00
【问题描述】:

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

  • /系统/库/框架
  • /库/框架
  • ~/库/框架

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

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

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

【问题讨论】:

  • 你在用 swift 吗?
  • 是的,swift 3 和 Objective C++

标签: ios xcode macos continuous-integration circleci


【解决方案1】:

我从未使用过 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]

第二个:

你可以使用Carthagehttps://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

看看最后几个cmets..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 2017-04-19
    • 2019-05-02
    • 2015-03-12
    相关资源
    最近更新 更多