繁体   English   中英

在不破坏xcodebuild存档的情况下,将os x工具作为iOS项目的一部分进行构建吗?

[英]Build os x tool as part of iOS project without breaking xcodebuild archive?

每次构建iOS项目时,我都希望它也构建几个OS X项目。 这些是命令行工具。 我不在乎它们是否包含在存档中,我只是想确保它们每次都能正确编译。

它们只是用于访问相同库的特定任务的命令行工具。 过去,我很少频繁地构建它们,因此它们会遭受代码腐烂的困扰。 每当我构建iOS项目时,我都想构建它们,即使我只是在Xcode中构建。

为此,我尝试将项目拖到我的iOS项目中并将其设置为依赖项。

这在IDE中工作正常,但是当我尝试通过xcodebuild进行构建时:

xcrun xcodebuild -sdk iphoneos -workspace AppName.xcworkspace \
    -scheme AppName archive

我收到一个看起来像这样的错误:

=== BUILD TARGET dslfi OF PROJECT dslfi WITH CONFIGURATION Release ===

Check dependencies
target specifies product type 'com.apple.product-type.tool', but there's no such
product type for the 'iphoneos' platform

** ARCHIVE FAILED **

The following build commands failed:
    Check dependencies
(1 failure)

在我仍然满意xcodebuild有什么方法可以继续构建这些吗?

  1. 您可以将任意数量的目标(iOS应用,静态库,contole应用等)添加到同一项目中。
  2. 然后,您应该创建另一个目标- *汇总*目标
  3. 然后,您可以选择:

3.1转到计划设置的汇总目标并添加其他目标: 目标 您可以在其中指定要对特定目标执行的操作

3.2您可以选择汇总目标并进行构建设置,并添加其他目标作为该目标的依赖项。

选项3.1似乎是您需要的选项:您可以添加任意数量的目标。 您可以指定另一个运行目标。 因此,您将获得以下内容:

targets:
target 1 - iOS app
target 2 - other app
target 3 - other app
target 4 - aggregate target

scheme configuration for target 4
build section:
 target 1
 target 2
 target 3
run section:
 executable: target 1 (iOS app)

完成此操作后,您可以使用您的方案来构建xcodebuild -scheme your_scheme [...other options...] archive


UPDATE

您可以跳过创建聚合目标。 您可以直接创建新方案并创建所需的配置,而无需涉及聚合目标。

更新2

确保共享您的方案,以便能够将其保留在源代码管理中。

更新3

如果您的目标不直接相互依赖(据我所知),则不带聚合目标的选项是实现此目标的更可取的方法。 这是计划的主要目的。

方案是设置的集合,这些设置指定启动目标指定的产品时要构建的目标,要使用的构建配置以及要使用的可执行环境。 当您打开一个现有项目(或创建一个新项目)时,Xcode会自动为每个目标创建一个方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM