4

在发布此问题之前,我上网了几个小时。我来啦:

我正在开发一个应用程序。我使用 X-Code 5。设置部署目标 iOS 7。

我几乎完成了应用程序的 UI(适用于 iOS 7)。昨天,我的团队负责人告诉我,客户希望应用程序向后兼容,也就是说它也应该在 iOS 6.1 上运行。

所以我开始上网(因为我的团队负责人也不知道如何完成它)。我找到了一些链接,但很困惑到底该怎么做。是的,我也读过关于 stackoverflow 和谷歌的帖子。

如何使我的应用程序也兼容 iOS 6?我需要获取不同的 XIB 文件吗?(这将是太多的工作)。

我做了一件事,我将部署目标设置为 iOS 6.1 或更高版本。该应用程序在设备上运行。有趣的是,该应用程序也在 iOS 7 上运行。但在 iOS 7 上,视图有点失真。

我听说如果部署是 6.1,你不能将它上传到 App Store。此外,我将部署设置为 7.0,但后来我无法在 iOS6 设备上运行它。

我应该如何开发应用程序,以便它适用于 iOS 6,7 并且也可以上传到 AppStore。

请帮忙。从过去 4 个月开始,我一直在开发应用程序。我一直在尽力而为穆。我知道,这个问题对某些人来说可能看起来很愚蠢。

而且我没有使用故事板。我只使用 XIB

4

2 回答 2

5

无需为 iOS6 创建单独的 xib 文件。您需要为 iOS7 和 iOS6 设置 UI。

  1. 只需打开您的故事板,然后单击助理编辑器。
  2. 现在在助理编辑器中打开故事板预览。
  3. 右下角的助手编辑器中有一个按钮,上面写着iOS7或更高版本,单击它并选择iOS6或更早版本。
  4. 现在您可以在屏幕上并排看到 iOS7 和 iOS6 的 UI。
  5. 现在选择一个特定的视图控制器,然后选择尺寸检查器。
  6. 在尺寸检查器中,您只需为 iOS6 屏幕设置 iOS6/7 Deltas。而已。

iOS 6 和 iOS 7 的主要 UI 区别在于状态栏包含在 iOS 7 中的 viewcontroller 中。这意味着您的 view controller 比 iOS6 大 20 px。你必须调整你的项目。根据 iOS 7 设计你的项目并将 Δy 设置为 -20

在此处输入图像描述

也检查这个网址:https ://developer.apple.com/library/IOs/documentation/UserExperience/Conceptual/TransitionGuide/SupportingEarlieriOS.html

如果您有任何问题,请告诉我。

于 2014-03-13T12:36:23.077 回答
1

这么多的问题...:

1.我需要采取不同的XIB文件吗?

2.我做了一件事,我将部署目标设置为 iOS 6.1 或更高版本。该应用程序在设备上运行。有趣的是,该应用程序也在 iOS 7 上运行。

它应该是

3.但在iOS 7上,视图有点扭曲。

这是因为transfluent状态和导航栏。

4.我听说如果 Deployment 是 6.1 你不能上传到 App Store。

你可以。您必须支持 iOS 7。6.1 - 是最低要求的版本。所以一切正常。

5.此外,我将部署设置为 7.0,但后来我无法在 iOS6 设备上运行它。

如果最小值为 7.0,则不能在 6.1 上运行它。你说的对 :)

6.我应该如何开发应用程序,以便它适用于iOS 6,7并且也可以上传到AppStore。

如果编译器向您显示一些兼容性警告,您应该修复它们。此外,当您的应用程序运行超过 7.0 时,它应该具有 iOS7.0 样式。(没有人关心它在 iOS 6.1 设备上的外观)。

更新:

如何设置 Delta?

如果您以编程方式创建 GUI,请定义

//Screen height
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_35 (SCREEN_HEIGHT == 480)
#define SCREEN_40 (SCREEN_HEIGHT == 568)

然后按照以下方式使用它

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, SCREEN_40 ? 200 : 100)];

如果您使用的是 Xib 或 Storyboard

在此处输入图像描述

于 2014-03-13T12:41:11.020 回答