我在xcode 5.0中编写了我的iPhone应用程序,它只支持7个ios.
我怎样才能将其用于ios 6?
还有兴趣如何防止ipad上的应用程序加载?
wander.. 5
第一个问题:确保您的部署目标是6.0,不要使用仅限iOS 7的API,或者使用检查
if ([someObject respondsToSelector:@selector(ios7onlymethod)] { // do your iOS 7 only stuff } else { // Fall back to iOS 6-supported ways }
或者使用
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f) { // do your iOS 7 only stuff } else { // Fall back to iOS 6-supported ways }
您要使用的新框架应在Xcode中标记为可选; 要选择目标,请单击"常规",然后滚动到"链接的框架和库"部分.
可选框架http://f.cl.ly/items/3n261f2O3t361s0W0P2l/Schermafbeelding%202013-12-19%20om%2021.26.29.png
真正酷的是标记为可选的框架中的类被替换为nil
没有它们的iOS版本.所以假设你使用Sprite Kit框架中的一个类来编写这样的代码,这是iOS 7中的新类:
SKSpriteNode *spriteNode = [SKSpriteNode spriteWithImageNamed:@"mySprite"];
在iOS 6上,当链接器"将框架链接到应用程序(应用程序不复制框架,它们只是从系统中获取它们)"时,SKSpriteNode
在代码中看到,并且框架被标记为可选,该代码行将被这个取代:
... = [nil spriteWithImageNamed:@"mySprite"];
在Objective-C中将消息发送到nil绝对没有任何意义,因此上面的代码不会崩溃.没问题.因此,不要使用if
-statements来检查类是否存在,而是将代码延迟,您可以使用流程并让动态链接器完成工作.
进一步阅读:
iOS 7 UI过渡指南:支持iOS 6
支持多个iOS版本和设备
第二个问题:没有办法说你希望你的应用只能在iPhone和iPod touch上运行.您可以要求iPhone和iPod touch特有的东西(如某个处理器架构或M7运动协处理器),但如果您需要M7芯片在您甚至不需要时排除某个设备,Apple将不会喜欢它它.你应该考虑为什么你不希望你的应用程序在iPad上运行.
第一个问题:确保您的部署目标是6.0,不要使用仅限iOS 7的API,或者使用检查
if ([someObject respondsToSelector:@selector(ios7onlymethod)] { // do your iOS 7 only stuff } else { // Fall back to iOS 6-supported ways }
或者使用
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f) { // do your iOS 7 only stuff } else { // Fall back to iOS 6-supported ways }
您要使用的新框架应在Xcode中标记为可选; 要选择目标,请单击"常规",然后滚动到"链接的框架和库"部分.
可选框架http://f.cl.ly/items/3n261f2O3t361s0W0P2l/Schermafbeelding%202013-12-19%20om%2021.26.29.png
真正酷的是标记为可选的框架中的类被替换为nil
没有它们的iOS版本.所以假设你使用Sprite Kit框架中的一个类来编写这样的代码,这是iOS 7中的新类:
SKSpriteNode *spriteNode = [SKSpriteNode spriteWithImageNamed:@"mySprite"];
在iOS 6上,当链接器"将框架链接到应用程序(应用程序不复制框架,它们只是从系统中获取它们)"时,SKSpriteNode
在代码中看到,并且框架被标记为可选,该代码行将被这个取代:
... = [nil spriteWithImageNamed:@"mySprite"];
在Objective-C中将消息发送到nil绝对没有任何意义,因此上面的代码不会崩溃.没问题.因此,不要使用if
-statements来检查类是否存在,而是将代码延迟,您可以使用流程并让动态链接器完成工作.
进一步阅读:
iOS 7 UI过渡指南:支持iOS 6
支持多个iOS版本和设备
第二个问题:没有办法说你希望你的应用只能在iPhone和iPod touch上运行.您可以要求iPhone和iPod touch特有的东西(如某个处理器架构或M7运动协处理器),但如果您需要M7芯片在您甚至不需要时排除某个设备,Apple将不会喜欢它它.你应该考虑为什么你不希望你的应用程序在iPad上运行.