在不同的iOS SDK下编译iPhone应用程序
我有 xcode 4 和基本 SDK 4.3。我将部署目标设置为 3.0。虽然我的应用程序可以在 4.3 基础 SDK 中完美运行,但我如何针对旧版本(主要是 3.x SDK)对其进行编译?我找不到提供该 SDK 的下载链接。在 Apple 的开发网站上,下载 xcode 3 的链接仅与最新的 4.3 iOS SDK 捆绑在一起。我也没有 3.0 的真实设备。我的假设是验证 3.x 兼容性的唯一方法是针对其 SDK (3.x) 进行编译。
谢谢
编辑:使用 4.x SDK 在 xcode 中运行 3.x SDK - http://0xced.blogspot.com/2010/07/using-sdk-313-with-iphone-sdk-4.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不应该使用较低的 SDK 来编译它,只需将部署目标设置为 3.0 将允许您的应用程序在运行 3.* 的设备上运行。模拟器只能让您到目前为止,您的应用程序编译并不意味着它会运行。
尝试让您使用旧的第一代 iPhone 或 iPod touch,它们非常适合开发。
如果您确实使用 SDK 的更新版本,请确保您不会调用较低系统版本中不可用的任何方法/类。
You should not compile it with a lower SDK, just settings to deployment target to 3.0 will allow you app to run on a device running 3.*. The simulator will only get you so far and that your app compiles does not mean that it will run.
Try to get you hands on a old first gen iPhone or iPod touch, they are great for development.
If you do use an update version of the SDK make sure that you don't call any method/classes that aren't available in lower system versions.
这不是一个确切的答案,但是我遇到了同样的问题,我所做的是在 iPad 3.2 模拟器上运行该应用程序。我有 xcode 版本 4.0.1,它有 iPad 3.2 模拟器。然而,问题是它仍然会编译(至少我的编译),但是当应用程序运行时,当它遇到以前的 SDK 中不存在的选择器时,它会发出 SIGABRT。其中一种方法是 self.window.rootViewController ,仅在 iOS4 及更高版本中找到。
this is not an exact answer, however I had your same problem, what I did was to run the app on iPad 3.2 simulator. I have xcode Version 4.0.1 and it has iPad 3.2 simulator. HOWEVER, the problem is that it will still compile (at least mine compiles) but when the app runs, it gives out SIGABRT when it encounters a selector which does not exist in the previous SDK. One of the methods is
self.window.rootViewController
which is only found in iOS4 and above.