【问题标题】:My Xcode app won't launch on other Macs我的 Xcode 应用程序无法在其他 Mac 上启动
【发布时间】:2014-10-07 04:38:59
【问题描述】:

我在 Xcode 上创建的 OS X 应用程序无法在其他 Mac 上启动。它工作得非常好,它应该在我创建它的 MacBook 上运行,但在其他 MacBook 上它只是在底座上弹跳不到一秒钟然后消失并且不会启动。我在 Product -> Archive

上构建了我的应用程序

如何让我的应用也能在其他 Mac 上启动?最低要求是 10.7,当我在 10.6 上尝试我的应用程序时,它说它需要 10.7 或更高版本,但是当我在其他运行 10.7 或 10.9 的 Mac 上尝试它时,它不会启动。怎么办?

【问题讨论】:

  • Console.app 中有什么有趣的地方吗?
  • @RHO,当最低要求是 10.7 及更高版本时,您为什么要在 10.6 上尝试该应用程序?需要支持10.6吗?这很重要,因为支持 10.6 比支持 10.7 需要检查更多的东西。您还应该提供更多信息,例如您在 Xcode 中创建的项目类型以及您为项目设置的部署目标。如果您没有设置部署目标,请告诉我们,因为这是重要信息。
  • 不,console.app 中没有任何测试。:/ 一切正常,它显示代码正常。 @Mark - 我在雪豹上试过,因为我想知道它是否也会从码头上消失。有趣的是,我今天再次尝试在最新的 Xcode 上创建应用程序,但没有成功,但我尝试在 Snow Leopard (Xcode 4.2) 上创建相同的应用程序,并且在每台 Mac 上都运行良好。源代码完全相同,我以完全相同的方式构建应用程序。为什么在最新 Xcode 上创建的应用程序无法运行?有什么不同吗?非常感谢

标签: xcode xcode5 osx-mavericks osx-leopard


【解决方案1】:

当您在 Xcode 中创建 Mac 应用程序项目时,Xcode 会将部署目标设置为您正在运行的 OS X 版本。部署目标是可以运行应用程序的最早版本的 OS X。当您在 Snow Leopard 中创建项目时,部署目标设置为 10.6,这意味着应用程序将在 10.6 及更高版本上运行。当您在 Xcode 5.1 中创建项目时,部署目标设置为 10.9,这意味着该应用程序不会在早期版本的 OS X 上运行。这就是为什么当您在 Snow Leopard 中创建项目而不是在 Xcode 5.1 上创建项目时运行的原因小牛队。

要支持早期版本的 OS X,您必须做的第一件事是将部署目标设置为您想要支持的最早版本的 OS X。如果您将部署目标设置为 10.7,则该项目将在 10.7 及更高版本上运行,假设您不使用 OS X 更高版本中引入的任何技术或函数调用。例如,如果您创建一个 SpriteKit 项目,它不会不能在 10.9 之前的任何东西上运行,因为 Apple 在 10.9 中引入了 SpriteKit。当您使用更高版本的 OS X 中引入的函数调用时,Xcode 不会告诉您。您有责任确保您的代码仅使用 10.7 中可用的函数。

您还应该检查您的 xib 文件的部署目标。

要支持 10.7,您必须为您的项目关闭基础国际化。基础国际化仅适用于 10.8 及更高版本。要支持 10.6,您必须关闭 xib 文件的自动布局。

您可以通过从项目窗口左侧的项目导航器中选择项目来访问您的项目设置。您可以通过从项目导航器中选择 xib 文件并打开文件检查器来访问 xib 文件信息。您可以在以下文章中找到更多详细信息:

Supporting Earlier Versions of OS X and iOS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2015-08-27
    • 2019-03-06
    相关资源
    最近更新 更多