Xcode 5有一个首选项窗格,允许一个人下载iPhone 6.1模拟器,但我找不到一个地方,它允许下载iOS 6 SDK,因此不可能将活动SDK设置为iOS 6时,用Xcode 5开发。是否存在允许Xcode 5安装iOS 6 SDK的解决方案?
编辑:
既然Xcode 5已经普遍可用,并且允许你下载以前版本的SDK,那么变通方法应该不再是必要的了。
Xcode 5有一个首选项窗格,允许一个人下载iPhone 6.1模拟器,但我找不到一个地方,它允许下载iOS 6 SDK,因此不可能将活动SDK设置为iOS 6时,用Xcode 5开发。是否存在允许Xcode 5安装iOS 6 SDK的解决方案?
编辑:
既然Xcode 5已经普遍可用,并且允许你下载以前版本的SDK,那么变通方法应该不再是必要的了。
当前回答
将6.1 SDK链接到Xcode 5是第一步。然而,这仍然不能解决在iOS 7上运行的新UI元素,视图控制器是全尺寸的等问题。
正如在这个回答中所描述的,在iOS 7上还需要将UI切换到遗留模式:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIUseLegacyUI"];
[[NSUserDefaults standardUserDefaults] synchronize];
注意:这是一个未记录的键,不建议应用程序商店构建!
此外,根据我在设备上测试的经验,我发现它只能在我第二次启动应用时运行,即使我在应用启动的早期运行了代码,在+[AppDelegate initialize]中。此外,它与使用Xcode 4.6构建的版本也有细微的区别。例如,透明导航条的行为不同(导致视图是全尺寸的)。
然而,由于Xcode 4.6.3在Mavericks上崩溃(至少对我来说,见rdar://15318883),这至少是一个继续使用Xcode 5进行调试的解决方案。
其他回答
我的应用无缝过渡到Xcode 5,因为它仍然可以使用你在项目中设置的原始iOS部署目标(在我的情况下是5.1)来构建。如果新的SDK不会导致一些不可克服的问题,那么为什么不使用它来构建呢?当然,在引擎盖下有很多改进。
例如,我更喜欢使用Xcode 5而不是Xcode 4.6.3。为什么?我将获得更多的电池寿命,因为Xcode 5中文本/代码区域的UI滚动不再占用整个CPU线程。
编辑:从2014年2月1日开始,苹果将不再接受ios 7之前的应用程序提交到App Store。因此,虽然这个技巧仍然有效,但对大多数读者来说并不有用。
是的,这很好。我仍然在一个项目中使用iOS 4.3(自从我们更新以来已经有一段时间了;但在iOS 6发布后,他们仍然接受了它),我目前用Xcode 5开发了10.5个应用程序。
参见如何将Xcode指向旧SDK,以便它可以用作“基础SDK”?有关如何设置它的详细信息。你可以使用我的fix-xcode 脚本链接一切为您每次升级。
唯一的诀窍就是拿到旧的sdk。如果你没有它们,你通常需要下载旧版本的Xcode(仍然可以在developer.apple.com上找到),打开安装包,然后四处寻找你需要的SDK。
sdk可以在安装包中找到:
xcode /内容/开发/平台/
是的,我今天刚刚解决了这个问题。
找到SDK文件,比如iPhoneOS6.1。Sdk,在你或你朋友的 旧的Xcode目录。 复制并放入Xcode 5目录: /应用程序/ xcode /内容/开发/平台/ iPhoneOS.platform /开发/ sdk。
然后你可以像下面这样选择SDK:
希望这对你有所帮助。
找到并下载旧的SDK。在这里可以找到旧的sdk。
我已经复制了xcode。app目录为Xcode_4.6.3.app。
现在你可以在两个xcode版本中进行测试和调试。你必须从相应的文件夹中运行它们,或者在桌面上创建快捷方式。从命令行构建时,将参数设置为iPhoneOS6.1而不是iPhoneOS7.0
这在Xcode5和iOS中非常有效。
进入Xcode5的SDK目录。它通常位于:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
向旧SDK添加一个符号链接,如下所示:
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk
或者更准确地说,在命令行中,
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
您可以下载旧的SDK并将其安装进去
xcode /内容/开发/平台/ iPhoneOS.platform /开发/ sdk /
文件夹中。注销+登录只是为了确保更改生效,你应该在你的新XCode中看到旧的SDK