如何使用iOS基础SDK 6.1将项目部署到使用iOS 7的设备

我一直在这个问题上浪费了我整整一天,并找不到解决scheme:我一直在开发与iOS 6.1 SDK的应用程序,整个devise依赖于iOS 6.1 UI。 昨天,我把手机更新到了iOS 7,更新完成后,从备份中恢复的以前部署的应用看起来和以前一样工作(在iOS 6.1上); 一切都很好。 但是,我不得不将Xcode更新到版本5,所以我可以在开发过程中继续将连续的debugging版本部署到我的iOS 7设备。 在更新到Xcode 5之前,我已经从Xcode的内部文件夹中备份了iPhoneOS6.1.sdk包; 然后更新到Xcode 5,然后将iPhoneOS6.1.sdk包放回到它的文件夹中,旁边是安装了Xcode 5的iOS 7 SDK。 我已经将项目的基础SDK切换到了基本SDKselect器列表中的iOS 6.1,并确保在界面生成器中我的所有Storyboard / XIB都设置为iOS 6.1。

但是,当我将应用程序部署到我的手机时,它看起来像垃圾,因为它与iOS 7 UI元素一起显示。 如果我使用装有iOS 6.1的设备,一切看起来都不错。 如果我select在iOS 7设备上进行debugging,它看起来像XCode不会给我select的基础SDK,并将应用程序链接到iOS 7。

我如何强制Xcode,将相同的6.1链接的东西部署到所有设备,无论它安装的iOS版本?

find并下载旧的SDK。 旧版SDK可以在这里find, https://developer.apple.com/downloads/index.action? name =Xcode

我已经将Xcode.app目录复制为Xcode_4.6.3.app 。 现在您可以在两个xcode版本中进行testing和debugging。 您必须从相应的文件夹运行它们或在桌面上创build快捷方式。 当我从命令行build立我给参数为iPhoneOS6.1而不是iPhoneOS7.0

这在Xcode5和iOS中非常适合我。 进入Xcode5的SDK目录。 像这样添加一个符号链接到旧的SDK:

 ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk 

在Xcode 5工具栏中,对于您的目标,您将看到您的设备列出了两次(您也在您的问题中提到过)。 出于一些奇怪的原因,一个是iOS 6.x外观,另一个是iOS7外观。 尝试在这个列表中的设备之一上build立/运行。 如果您仍然看到iOS7外观,请单击工具栏中的停止button,select其他设备并重新构build。

我在Xcode 5中没有看到任何崩溃,所以如果你崩溃的话,你可能需要重新安装。

首先,您需要从以前版本的XCode复制和粘贴iOS 6.1 SDK。 我相信其他人已经指示如何做到这一点。

然后,假设你打算继续iOS 6的开发(例如,没有打破iOS 6的用户界面,你不打算使用新的API),执行此操作:

  • 每次将iOS 7设备插入计算机时,XCode都应该识别2个设备
  • 在他们两个上运行应用程序(实际上它们是相同的设备,但其中一个将运行应用程序iOS 6样式,另一个将尝试将其更新为iOS 7样式)
  • 请记住运行iOS 6样式的应用程序(对我来说是最上面的),并在设备上执行产品>归档

这应该继续让你build立你的应用程序与iOS 6风格的用户界面,同时允许您使用Xcode 5.我build议启动一个新的开发分支专门为UI的变化,以获得您的应用程序的iOS iOS 7兼容。