【问题标题】:Xcode 4 target build setting "Skip install". What is it?Xcode 4 目标构建设置“跳过安装”。它是什么?
【发布时间】:2013-04-28 19:09:08
【问题描述】:

瓷砖基本上说明了一切。

我正在开发一个 mac 应用程序,它具有普通的应用程序目标,但还有另外两个命令行工具目标,其产品在构建时被复制到应用程序。我记得在某处看到“跳过安装”在这些情况下很重要,但我不记得我读过的内容,所以这可能是不正确的。

无论如何,我只是想知道这个选项有什么影响。

【问题讨论】:

  • 我认为 90% 的 Xcode 的“构建设置”名称都很糟糕,以至于 Apple 自己的工程师可能甚至不知道他们在做什么!他们都如此模糊和愚蠢的措辞......我与他们苦苦挣扎。我无法想象非英语使用者在试图弄清楚他们中的大多数人的意思时会遇到的完全混乱!
  • @alexgray 我同意...诚然,情况可能会更糟,但不会比现在更糟。
  • @alexgray 在 Xcode 的辩护中,其中大部分或多或少直接取自 Unix 和 GCC。在那里,configure/make/make install 咒语具有每个人都知道的明确含义。问题更多的是使用 Xcode 开发的大多数东西可能都是 Mac GUI 应用程序,因此很多东西可能会产生误导。

标签: xcode build xcode4 xcode4.2


【解决方案1】:

我相信这仅在您为 App Store 开发时才重要。如果您归档您的应用程序目标并且这包括构建其他目标(命令行工具、静态库等),则所有目标的产品都将复制到归档中,除非 SKIP_INSTALL 设置为 YES

您可以验证这一点:存档您的应用程序,在管理器中找到存档,Option-Click --> “Show in Finder”,进入存档(Option-Click --> “Show Package Contents”),然后在/Products 你会发现多个文件/文件夹。但是,App Store 版本只允许 Products 目录中的一种产品。如果您在管理器中“验证”已归档的应用程序,Xcode 会警告您:

【讨论】:

  • 谢谢,我找到了证实这一点的其他来源,我自己的经验也同意这一点。因为我正在为 MAS 开发,所以这很重要。
  • 在构建 xcframework 时也很重要,您“告诉 Xcode 在生成的存档中安装您的框架”。我从developer.apple.com/videos/play/wwdc2019/416 了解到这一点
【解决方案2】:

通常 (SKIP_INSTALL=NO),在安装阶段,构建的目标将安装到 $(DSTROOT)$(INSTALL_PATH)。设置 SKIP_INSTALL=YES 会导致目标被构建但未安装。

这对于静态存档 (libsomething.a) 非常有用,这些存档稍后将链接到其他目标或将由其他目标的复制文件构建阶段安装的包。

【讨论】:

    【解决方案3】:

    跳过安装 (SKIP_INSTALL)

    如果有存档

    xcodebuild archive SKIP_INSTALL=NO
    

    否 - 允许将数据放入 <some_path>/<some_name>.xcarchive/Products 或在存档中安装框架

    【讨论】:

      猜你喜欢
      • 2013-04-20
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 2012-01-15
      相关资源
      最近更新 更多