我的项目包含四个目标,它们是
- 主要目标
- 今日目标
- 观察目标
- 观察扩展目标
我曾尝试仅通过 xcodebuild
命令将构建目标指定为 MainTarget
,但是 Today Target 和 Watch 也会构建,因为主要目标的构建阶段添加了嵌入应用程序扩展和嵌入观看内容
有什么办法可以实现吗?
最佳答案
编辑:抱歉,我完全错误地阅读了您的问题..
如果您的 MainTarget
依赖于 Watch App 和 Today Widget 的其他目标,那么您在构建时不能排除它们。
但是,如果您想删除 Watch App 和 Today Widget,那么您可以尝试将它们从“目标依赖项”构建阶段(屏幕截图的顶部)中删除,然后还删除底部的两个构建阶段已突出显示。
然而,这确实意味着您已将它从您的应用目标中完全删除,如果您想要它们回来,您将不得不重新添加它。
旧答案(理解错误)
您应该能够通过 xcodebuild
构建 MainTarget
而不会出现任何问题,因为 Today Extension/Watch Targets 应该位于顶部的“Target Dependancies”部分中。
您应该能够使用如下内容:
xcodebuild -workspace ".//MyProject.xcworkspace" -scheme "MyMainTargetSceme" -destination "generic/platform=iOS" -configuration "Release" -derivedDataPath "DerivedData" clean archive -archivePath "builds/87/MyProject-Release/MyProject-Release-87.xcarchive"
生成可用于在以后导出应用程序的 .xcarchive...
然后您还可以使用以下命令将该存档导出到有效的 .ipa:
xcodebuild -exportArchive -archivePath "builds/87/MyProject-Release/MyProject-Release-87.xcarchive" -exportPath "builds/87/MyProject-Release" -exportOptionsPlist "ipa_export_options.plist"
基本的导出选项 plist 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>same-as-archive</string>
</dict>
</plist>
可以通过运行 xcodebuild --help
命令查看 plist 的可用键/值。
关于ios - 没有今天和观看扩展的 Xcodebuild 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382318/