在我最近的一个问题(https://apple.stackexchange.com/q/116029/7742)之后,这里有一些信息:
我的应用程序是使用Xcode 5,iOS SDK 7开发的。部署目标是4.3。
有人告诉我,第4代iPod touch无法运行iOS 7。
由于我的应用的部署目标为4.3,因此它应该在该iPod上运行,对吧?或者我使用SDK 7的事实是否意味着它不起作用?
答案 0 :(得分:1)
iPod Touch,第4代不支持iOS 7.请参阅此Wikipedia文章。
您可以使用Xcode 5构建部署目标为4.3的应用程序,但这意味着您无法使用仅受iOS版本支持的任何iOS功能> 4.3。你必须非常小心地检查你没有,否则应用程序会崩溃。
而且......不幸的是,没有Profiler或预处理器发出警告......虽然你可以仔细检查Xcode“Analyze”是否警告你。否则,您只需仔细检查所有代码是否符合4.3 SDK的限制或测试很多......实际上两者都是。
答案 1 :(得分:0)
部署目标意味着应该在运行该部署目标iOS版本(或更高版本)的设备上运行。 (因此,如果您的部署目标是4.3并且设备运行的是4.3或更高版本的iOS版本,那么您应该没问题。)您使用Xcode 5和iOS 7 SDK的事实不会影响这一点。唯一的限制是我们不能使用最新的编译器来构建4.3之前的iOS版本和/或第一代或第二代硬件。
显然,这假设您没有意外引用任何需要以后iOS版本的类或方法(或者如果您决定利用新功能,那么您在运行时检查中只会使用这些新方法/功能)可用)。尝试在iOS 6.0模拟器上运行您的应用程序以确认与iOS 6的兼容性。(注意,Xcode 5不再包含iOS 6.0之前的模拟器,因此如果您真的想要针对早期版本(例如iOS 5.0或4.3)进行测试,那么可能只是希望得到一些旧iOS设备的旧设备。)
我提到使用较旧的设备,因为与旧iOS版本的兼容性还不够。您希望确保您的应用程序可以在该硬件上运行(例如,不需要超过第四代256mb内存,蜂窝等)。您真的应该找到自己的iOS版本的物理硬件,您可以在其上测试您的应用程序。