如何使iOS 7应用程序向后兼容?

时间:2014-03-13 12:30:56

标签: ios ios7 ios6.0

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

我正在开发一款应用。我使用了X-Code 5.设置部署目标iOS 7.

我几乎已经完成了应用程序的UI(适用于iOS 7)。昨天,我的团队负责人告诉我,客户希望应用程序向后兼容,即它也适用于iOS 6.1。

所以我开始上网冲浪(因为我的团队负责人也不知道如何完成它)。我发现了一些链接,但对于究竟要做什么感到困惑。是的,我在stackoverflow和google上阅读了帖子。

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

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

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

我应该如何开发应用程序,以便适用于iOS 6,7并在AppStore上上传。

提供帮助。我一直致力于开发过去4个月的应用程序。我一直在尝试最好的。我知道,这个问题对某些人来说可能看起来很愚蠢。

我没有使用Storyboard。我只使用XIB

2 个答案:

答案 0 :(得分:5)

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

  1. 只需打开故事板,然后点击助理编辑器。
  2. 现在在助理编辑器中打开故事板预览。
  3. 右下角的助理编辑器中有一个按钮,表示iOS7或更高版本,单击它并选择iOS6或更早版本。
  4. 现在,您可以在屏幕上并排看到iOS7和iOS6的UI。
  5. 现在选择一个特定的视图控制器,然后选择尺寸检查器。
  6. 在尺寸检查器中,您只需要为iOS6屏幕设置iOS6 / 7 Deltas。 就是这样。
  7. iOS 6和iOS 7的主要UI差异在于iOS 7中的视图控制器中包含状态栏。这意味着您的视图控制器比iOS6大20 px。你必须调整你的项目。根据iOS 7设计您的项目并将Δy设置为-20

    enter image description here

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

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

答案 1 :(得分:1)

这么多问题......:

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

没有

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

它应该是

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

这是因为流动状态和导航条。

4.我听说如果部署在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

enter image description here