在iOS 7.0 上运行的应用程序具有iOS 6.0 界面

Posted

技术标签:

【中文标题】在iOS 7.0 上运行的应用程序具有iOS 6.0 界面【英文标题】:The app running on iOS 7.0 has iOS 6.0 interface 【发布时间】:2013-10-08 07:45:04 【问题描述】:

我在 ios 7.0 和 xcode 5 上运行我的应用程序,但界面看起来与 iOS 6.0 完全相同,但 UIAlertView 与 iOS 7.0 类似。我已将 SDK 配置为 iOS 7.0,部署目标为 6.0。该应用程序在模拟器中运行良好,看起来与 iOS 7.0 平板完全一样。但是为什么iphone运行iOS 7.0系统的时候app还是6.0的样子呢?

为什么在ios模拟器选择面板顶部有两个具有相同设备名称的选择?他们是一样的吗?

我已在运行 ios 7.0 的 iphone 5 设备上成功运行我的应用程序,它具有 ios 7.0 的外观和感觉。但是如果我再次运行它,它会回到 ios 6.0 的样子。我之间没有任何改变。我真的不知道发生了什么。这令人沮丧。

【问题讨论】:

看起来该应用是为 iOS 6 编译的。检查您的部署目标设置。 我的部署目标设置是iOS 6.0 您需要针对 iOS7 编译您的应用程序,您可以通过选择基本 SDK 作为 iOS 7.0 来执行此操作。如果你已经这样做了,那就这样吧。它正在做你认为应该/会做的事情。 我选择了基础sdk为ios 7.0。 【参考方案1】:

我刚刚想通了。因为我将iOS 6.1 sdk复制到xCode 5,当连接iphone设备时,xCode 5显示同一个设备两次,一个是iOS 6.1,一个是iOS 7.0,我肯定选择了iOS6.1作为运行目标,所以我没有得到 iOS 7.0 用户界面。

【讨论】:

不,我已经在 xcode5 上安装了 ios6 sdk。我只是选择了错误的设备来运行。有两个设备名称相同,您只需选择正确的一个即可。 非常感谢,如果只有设备名称更相关!但是有没有办法在运行时检测它?【参考方案2】:

这称为兼容模式,因为您链接的是 iOS6,您的应用程序的外观和行为就像在 iOS6 下运行时一样,如果您想要 iOS7 外观,您需要在 xCode5 iOS7 下编译您的应用程序。

考虑检查这些 SO 问题:

When IOS 7 is launch will all application that is build for ios 6 look well?

How to debug app in compatibility mode on iOS 7?

【讨论】:

如果我在 iOS 7 下编译我的应用程序,它还会在 iOS 6 下运行吗?我的部署目标是 6.0,基础 sdk 是 ios 7.0。如何让 iOS 7 在 iOS 7 下看起来并让 ios 6 在 ios 6 下看起来?应该怎么做? 你需要在xCode5上安装iOS6 sdk。 ***.com/questions/18882481/… 我在xcode5上安装了ios6 sdk。因为我可以在基本 sdk 选择中看到它。还有其他解决方案吗? 现在您可以通过选择 iOS 6 作为部署目标在 xCode 5 上编译您的代码。 是的,我已经做到了。选择 ios 6 作为部署目标。

以上是关于在iOS 7.0 上运行的应用程序具有iOS 6.0 界面的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 6.1 中安装 iOS 7.0 和 iOS 8.0 模拟器?

由 xcode 4.6 与 xcode 5.0 创建时,iOS 应用程序在 iOS 7.0 设备上的行为不同

MKMapview 在模拟器的 iOS-7.0 中不显示地图

隐藏状态栏 iPad iOS 7.0

尝试在具有 IOS 8 和 Xcode 6 UIAutomation 的设备上运行脚本时出错

在具有部署目标 iOS 7.0 及更早版本的扩展包含应用程序中使用嵌入式框架