1

我有一个项目,其中有少量由 Cocoapods 管理的依赖项。我可以从 Xcode 构建它,但是当我尝试使用 xctool 或 travisci 构建它时,我收到一个错误:

  xcodebuild clean VideoStationViewer
  Pods / SwiftyJSON (Debug)
     ✗ Check dependencies (37 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check dependencies
    target 'SwiftyJSON' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1 errored, 0 warning (38 ms)

  Pods / Alamofire (Debug)
    ✗ Check dependencies (38 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Check dependencies
    target 'Alamofire' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1 errored, 0 warning (38 ms)

  Pods / OHHTTPStubs (Debug)
    ✗ Check dependencies (40 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Check dependencies
    target 'OHHTTPStubs' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1 errored, 0 warning (47 ms)

我猜测 xctool 使用的参数与 Xcode 不同,但不确定有什么不同或如何告诉 xctool 使用这些设置,然后如何配置 Travisci 以使用它。

4

2 回答 2

3

尝试将以下代码段添加到 Podfile 的底部,然后执行以下操作pod install

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['ENABLE_BITCODE'] = 'YES'
    end
  end
end
于 2016-01-03T04:54:01.363 回答
1

@Campbell_Souped 的答案非常适用于仅限 tvOS 的项目,但如果您也尝试为 OS X 构建,则会收到不支持 Bitcode 的错误。此版本在启用 Bitcode 之前检查平台:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.platform_name == :tvos || target.platform_name == :watchos then
      target.build_configurations.each do |config|
          config.build_settings['ENABLE_BITCODE'] = 'YES'
      end
    end
  end
end
于 2016-01-11T17:07:34.000 回答