我刚开始为ios编写应用程序。
我有2个问题。
我知道有一些代码可以在ios4.3中正常工作,但不能在ios5中工作,反之亦然。我想知道,哪种编写应用程序适用于ios4.3和ios5是最佳做法?检查特定代码部分的版本是否可以接受?为ios4.3,ios5和ipad编写应用程序的最佳做法
我也应该为iPad写相同的应用程序。所以,我想知道哪些是为iphone编写应用程序的最佳做法,这也适用于ipad?
感谢
我刚开始为ios编写应用程序。
我有2个问题。
我知道有一些代码可以在ios4.3中正常工作,但不能在ios5中工作,反之亦然。我想知道,哪种编写应用程序适用于ios4.3和ios5是最佳做法?检查特定代码部分的版本是否可以接受?为ios4.3,ios5和ipad编写应用程序的最佳做法
我也应该为iPad写相同的应用程序。所以,我想知道哪些是为iphone编写应用程序的最佳做法,这也适用于ipad?
感谢
的iOS 5或iOS 4
的另一种方法以检测版本是使用respondsToSelector:
消息上的对象。与version
方法相比,其优势在于您不需要知道下一个版本的iOS将用于维护应用程序。 (例如,如果有新的5.0.2版本出现,你的应用应该知道“5.0.2”字符串比“5.0”更新?我同意代码不会很复杂,但是使用respondsToSelector:
更方便)
iPhone/iPod touch或iPad
我通常的方式来编写通用的应用程序(如iPhone和iPad)是定义我的自定义的UIViewController类的基本实现,然后实现了高清版它继承了默认行为,但为iPad定制(重写方法效果很好,但委托模式可能更好:如果忘记实现方法,则会得到编译警告)。
如果您从应用程序生命周期的开始阶段开始使用不同的.xib文件(这是通过Xcode提供的通用模板获得的),您最终可能只是从Interface Builder定义类,而不需要实现您的代码中的任何运行时测试,以了解您是在iPhone还是iPad上运行。
可以使用获得的版本:
[[UIDevice currentDevice] systemVersion];
的systemVersion返回一个字符串,如 “5.0”。然后可以使用字符串比较来比较字符串。例如:
NSString *requiredVersion = @"5.0";
NSString *currentVersion = [[UIDevice currentDevice] systemVersion];
if ([currentVersion compare:requiredVersion options:NSNumericSearch] != NSOrderedAscending)
isItSupported = TRUE;
的文档表明您可以使用以下方法来确定,如果你有一个iPhone或iPad:
[[UIDevice currentDevice] model];
我没有,虽然用这个。 查看documentation。
+1好的建议! – Cliff