是什么决定iOS应用程序是否在iOS 7中获得新外观

时间:2013-10-03 07:00:57

标签: ios xcode ios7

iOS 7究竟使用什么来确定应用程序是否应该使用传统的iOS 6风格UI(即iOS6兼容模式)或更新的iOS 7 UI进行显示?

  • 如果我在Xcode 5中构建我们的应用程序,基本SDK设置为7,我会按预期获得iOS 7用户界面
  • 如果我在Xcode 5中构建我们的应用程序,基本SDK设置为6,我仍然会获得iOS 7用户界面(意外,在真实设备和模拟器上发生)
  • 如果我构建Xcode 4.x,我会按预期获得旧的UI

在所有情况下,部署目标都设置为5.

由于我们的应用程序具有相当自定义的UI,我们尚未准备好转向iOS 7的新外观。但是我们确实需要进行一些后端更改以支持我们现在需要发布的iOS 7。我们仍然可以提交使用Xcode 4.x构建的应用程序并期望它们被接受吗?

3 个答案:

答案 0 :(得分:4)

目前,你可以。 Apple将停止接受使用Xcode 4.x构建的应用程序时发布公告。我的公司目前正在使用Xcode 4.6提交应用程序,因为我们没有足够新的5操作系统。我怀疑它至少会持续几个月才会停止。

答案 1 :(得分:2)

运行6.1 Base SDK应该这样做。

但是,正如我昨天发现的那样。

我的应用程序突然从iOS6用户界面切换到iOS7用户界面,无需更改代码。

最后我重新启动了我的mac和手机,删除了应用程序,删除了派生数据并重新安装了cocoapods,它又在iOS6用户界面上工作了。

答案 2 :(得分:0)

确保在Project构建设置和放大器中将Base SDK设置为iOS 6。目标构建设置 - 应该做的伎俩。即使目标设置应该覆盖项目,我发现当目标设置为6时 - 它用7编译。

关于XCode 5,它确实没有正式附带iOS 6 SDK。但是,您可以从XCode 4.6中提取它并在5中使用它。 您可以在XCode应用程序中找到SDK: 内容/开发商/平台/ iPhoneOS.platform /开发商/软件开发工具包

只需将其从现有的XCode 4.6安装或从.dmg(仍然可以从Apple网站下载)复制到XCode 5中的相应文件夹,然后重启,您现在应该可以选择它作为Base SDK 。请注意,每次更新XCode后都必须执行此操作,这样您可能会发现使用符号链接而不是复制更容易。

我们已成功将以这种方式构建的应用程序提交到App Store,尽管如前所述,在Apple强制要求之前尽快过渡到iOS 7是个好主意。