[英]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
有什么方法可以继续构建这些吗?
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.