【问题标题】:Build failed with Realm and circleCI (with Carthage)使用 Realm 和 circleCI(使用 Carthage)构建失败
【发布时间】:2016-11-28 12:42:42
【问题描述】:

在 circleCI 上运行我的项目时,我不断收到链接器错误,提示找不到领域框架。我的开发环境中的框架没有问题。我检查了框架搜索路径以包含 $(inherited) 和 carthage 构建文件夹 ($(PROJECT_DIR)/Carthage/Build/iOS)。下面是我的cartfile和circle.yml(circleCI的配置文件)的内容

购物车文件

github "Alamofire/Alamofire" ~> 3.4
github "Alamofire/AlamofireImage" ~> 2.0
github "SwiftyJSON/SwiftyJSON" ~> 2.3.0
github "SnapKit/SnapKit" >= 0.15.0
github "realm/realm-cocoa"

circle.yml

machine:
  xcode:
    version: "7.3"

dependencies:
  pre:
    - curl -O https://gist.githubusercontent.com/cabeca/cbaacbeb6a1cc4683aa5/raw/8e17f39f5a7413fd0559c9e6808e01b6fb514422/simulator_populator
    - ruby ./simulator_populator
    - carthage update --platform iOS

carthage update 之前的 2 行是由 circleCI 支持技术建议的,以避免 tvOS 框架出现问题。我也尝试过将carthage update 切换为carthage bootstrap,结果相同。以下是我收到的错误消息

从截图来看,似乎是在尝试链接测试文件时发生错误,但测试和 uitest 文件都是由 xcode 默认创建的,我还没有在上面添加任何内容

【问题讨论】:

    标签: ios swift realm circleci carthage


    【解决方案1】:

    你需要

    carthage bootstrap --platform iOS
    

    不是

    carthage update --platform iOS
    

    【讨论】:

      【解决方案2】:

      但是 test 和 uitest 文件都是由 xcode 默认创建的,我还没有添加任何东西

      我认为这就是问题所在。您需要确保两个目标都可以通过构建设置FRAMEWORK_SEARCH_PATHS 找到框架。这应该包括相关框架的父目录,例如$(SRCROOT)/Carthage/Build/iOS。您通常可以通过将框架拖动或添加到“Link Binary with Libraries”构建阶段来实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-06
        • 1970-01-01
        • 1970-01-01
        • 2019-04-02
        • 2018-02-11
        • 1970-01-01
        • 1970-01-01
        • 2021-08-02
        相关资源
        最近更新 更多