ios - 没有今天和观看扩展的 Xcodebuild 目标

标签 ios xcode watch xcodebuild today-extension

我的项目包含四个目标,它们是

  • 主要目标
  • 今日目标
  • 观察目标
  • 观察扩展目标

我曾尝试仅通过 xcodebuild 命令将构建目标指定为 MainTarget ,但是 Today Target 和 Watch 也会构建,因为主要目标的构建阶段添加了嵌入应用程序扩展和嵌入观看内容 enter image description here

有什么办法可以实现吗?

最佳答案

编辑:抱歉,我完全错误地阅读了您的问题.. 如果您的 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/

相关文章:

php - Objective-c 使用脚本上传到数据库

javascript - 使用 $watch 改变 html 内容

java - 在 Eclipse 中查看 Java 应用程序的日期

objective-c - 这个 Xcode 警告是什么意思? "application executable is missing required architecture. ..."

swift - 如何在 Xcode 中使用 Apple 的 swift-format?

ios - 解析崩溃报告不起作用

ios - 迪尔德 : Library not loaded//stat() failed with errno=1//code signature invalid for

javascript - Angular : Watch for class change not working

ios - UIPageViewController;如何处理动态变化的数据源

ios - 延迟循环(倒计时功能)