【问题标题】:Which deployment target should I choose?我应该选择哪个部署目标?
【发布时间】:2013-01-21 02:45:47
【问题描述】:

我有一个我一直在为 ios 6.1 开发的应用程序,我终于让它按我想要的方式工作了。

然后只是为了测试它在旧 iPhone 上的工作方式,我将部署目标设置为 5.1,当我运行它时,用户界面开始看起来一团糟。

有人知道为什么会这样吗?我应该将部署目标保持在 6.1 吗?如果是这样,我如何确保该应用在旧版 iPhone 上看起来正常?

ps - 这是我检查自动布局选项时的崩溃

 *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
*** First throw call stack:

【问题讨论】:

  • 我将首先研究您使用的逻辑,使其看起来像它的样子。如果我们不知道您的问题的确切性质,您会比我们任何人都清楚。对于初学者,也许您正在使用不推荐使用的方法。用户界面有什么不同?它是倒置的,它应该是蓝色的,它是黄色的,当设备旋转时它会发出淫秽的噪音吗?你收到任何编译警告吗?
  • @Jeremy 实际上我只是仔细检查了一遍,这可能是因为我关闭了“自动布局”复选框以防止旧手机崩溃。但它有点搞砸了事情的样子。你知道为什么会这样吗?
  • 很明显,自动布局对于视图的显示至关重要。我不会忽视崩溃问题。由于您需要自动布局,因此您需要找到导致崩溃的潜在问题。如果我们可以帮助您解决崩溃问题,那么您的原始问题将成为非问题。为了让你开始,我推荐你to this post
  • @Jeremy 我刚刚发布了在 ios 5.1 模拟器上运行时发生的错误
  • @Genadinik 你的崩溃日志是完全正常的:AutoLayout 是一个完整的 iOS 6 功能。您不能在 iOS 5 及更低版本上使用它。如果您需要您的应用兼容 iOS 5 及更低版本,您需要禁用 Autolayout 并通过 Autoresizing Mask 设置您的视图

标签: ios ios6


【解决方案1】:

iOS6.0 引入了自动布局

如果您希望您的应用在 iOS5.x 或 4.x 上运行,您必须禁用或不使用自动布局,或者根据设备运行的 iOS 对自动布局的使用进行版本控制(这很痛苦)。

部署目标是您希望应用运行的最旧的 iOS 版本。如果是 iOS5.0,那么它将在所有 iOS5.0 或更高版本的设备上运行

Here's a better answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多