无法使用 xctool 构建具有 Cocoapod 依赖项的 tvOS 应用程序
Can't build tvOS app with Cocoapod dependencies with xctool
我有一个项目,其中有少量的依赖项使用 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 也使用它。
尝试将以下代码片段添加到 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
@Campbell_Souped 的答案对 tvOS-only 项目非常有效,但如果您尝试同时为 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
我有一个项目,其中有少量的依赖项使用 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 也使用它。
尝试将以下代码片段添加到 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
@Campbell_Souped 的答案对 tvOS-only 项目非常有效,但如果您尝试同时为 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