【问题标题】:How to Build an Application compatible with older MacOS with Xcode?如何使用 Xcode 构建与旧 MacOS 兼容的应用程序?
【发布时间】:2019-05-16 08:04:47
【问题描述】:

我刚刚在 MacOS 10.14 (Mojave) 上安装了最新版本的 Xcode (10.1)。 我可以构建我的应用程序,它在我的 Mac 或类似系统上运行良好。

但是,我想与使用 MacOS 10.11 (El Capitan) 的人共享此应用程序,但它无法启动,要求最低要求为 MacOS 10.13 (High Sierra)。

我的应用程序很简单,我不能编译它来兼容旧的 MacOS 吗?


经过一番研究,我确实下载了 MacOSX10.11.sdk (来自https://github.com/phracker/MacOSX-SDKs/releases/)。 我确实解压它,并将其拖入: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs (这个文件夹最初只包含“MacOSX.sdk”和一个指向它的链接,名为“MacOSX10.14.sdk”)

我还注意到文件 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist 中字符串“MinimumSDKVersion”的值等于“10.11”,这在我的情况下听起来不错。

我在一些论坛上看到不支持向 Xcode 添加额外的 SDK 版本。顺便说一句,我在 Xcode 中看不到任何菜单来指定我的目标构建(在 Xcode 首选项和项目设置中都没有(见下图)。

我在哪里可以告诉 Xcode 使用,比如说“MacOSX10.11.sdk”而不是“MacOSX10.14.sdk”?

还有,有没有更好的办法?

或者,我是否必须在不同的分区上安装旧版本的 MacOS,并使用旧版本的 Xcode(这会很痛苦)?

【问题讨论】:

  • 您应该针对最新的 SDK 进行编译,并将“最小部署目标”设置为您希望支持的最早的 macOS 版本 (stackoverflow.com/a/46467255/233944)。请注意仅使用运行您的应用的系统上可用的 API。
  • @TheNextman 谢谢,这正是我正在寻找的选项。所以我没有找对地方。我在想象复杂的方法,但解决方案非常简单。如果您将评论写为答案,我会非常接受。您指向的 SO 票完美地说明了选项所在的位置。我没有找到它,因为我没有想到“部署目标swift”这样的关键字。再次感谢您的宝贵时间!

标签: xcode macos build version


【解决方案1】:

我不确定这是否仍然适用于 Mojave,但有一个名为 XcodeLegacy 的项目是专门为此目的而创建的: https://github.com/devernay/xcodelegacy

【讨论】:

    【解决方案2】:

    关于菜单,你可以在:Xcode -> Select File -> Project/Workspace Setting

    Open Workspace Settings

    在 Xcode 13 上工作,我参加聚会有点晚了,但遇到了同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 2015-11-11
      • 2020-08-06
      • 1970-01-01
      相关资源
      最近更新 更多