xcodebuild仅在请求tvOS时同时构建iOS和tvOS目标

问题描述 投票:0回答:1

我有一个Xcode项目,其中有两个目标:一个用于iOS,一个用于tvOS。我正在使用以下命令行命令来构建它:

xcodebuild -workspace "/Users/xxx/Code/project.xcworkspace" -scheme "tvOS" -configuration Release -sdk appletvos ONLY_ACTIVE_ARCH=NO BUILD_DIR="/Users/xxx/Library/Developer/Xcode/DerivedData/project-abcdef/Build/Products" BUILD_ROOT="/Users/xxx/Library/Developer/Xcode/DerivedData/project-abcdef/Build/Products" BITCODE_GENERATION_MODE=bitcode ENABLE_BITCODE=YES OTHER_CFLAGS="-fembed-bitcode"

我的项目具有两个依赖关系,这些依赖关系通过CocoaPods和以下Podfile引入:

use_frameworks!

def common()
    pod 'CocoaLumberjack', '~> 3.5'
    pod 'JSONModel', '~> 1.8'
end

target 'iOS' do
    platform :ios, '9.0'
    common()
    pod 'GoogleAds-IMA-iOS-SDK', '~> 3.9'
end

target 'tvOS' do
    platform :tvos, '9.1'
    common()
    pod 'GoogleAds-IMA-tvOS-SDK', '~> 4.2'
end

当我构建iOS目标时,它可以正常工作。在构建目录中,我看到类似以下内容:

Build
  - Intermediates.noindex
  - Products
    - Release-ios
       - project.framework
       - CocoaLumberjack-iOS
       - JSONModel-iOS
       - Pods_project_tvOS.framework

构建tvOS目标时,它正在生成both iOS和tvOS版本的依赖项:

Build
  - Intermediates.noindex
  - Products
    - Release-appletvos
       - project.framework
       - CocoaLumberjack-iOS
       - CocoaLumberjack-tvOS
       - JSONModel-iOS
       - JSONModel-tvOS
       - Pods_project_tvOS.framework

我一直在试图弄清楚为什么会这样,因为它导致下游的构建管道中出现其他问题。到目前为止,我已经尝试过:

  • [在“构建设置”中,我注意到我没有为各种SDK设置了“版本”(例如,有一个默认的Apple Watch版本,或者在iOS目标上有一个默认的tvOS版本)。除了我尝试构建的SDK外,我用所有空白值覆盖了这些默认版本]
  • 在项目下>信息中,我注意到CocoaPods添加了“ Configurations”,其中包含四个文件,例如“ Pods-project-tvOS.release.xcconfig”。我尝试用-xcconfig "..."修改我的xcodebuild命令(链接到正确的配置文件),但这导致构建失败,声称现在依赖项中存在一个循环:project-tvOS -> CocoaLumberjack-iOS -> project-tvOS
  • 我尝试根据需要手动将TARGETED_DEVICE_FAMILY设置为1,23
  • 我尝试将ONLY_ACTIVE_ARCH设置为YES
  • 作为测试,我使用Xcode(不使用xcodebuild命令行工具)和这很好用

构建。所以我的命令出了点问题。但是,我不能依靠Xcode来构建该项目,因为我需要通过一个命令自动创建一个胖二进制文件-因此,我有一个Shell脚本调用了xcodebuild两次,然后使用lipo合并结果

我有一个Xcode项目,其中有两个目标:一个用于iOS,一个用于tvOS。我正在使用以下命令行命令来构建它:xcodebuild -workspace“ /Users/xxx/Code/project.xcworkspace” -scheme“ ...

ios xcode cocoapods tvos xcodebuild
1个回答
0
投票

类似于https://github.com/CocoaPods/CocoaPods/issues/8729,它以与该Apple radar相关的Xcode 10.2开头。

© www.soinside.com 2019 - 2024. All rights reserved.