2011-11-30 95 views
0

我刚开始为ios编写应用程序。
我有2个问题。
我知道有一些代码可以在ios4.3中正常工作,但不能在ios5中工作,反之亦然。我想知道,哪种编写应用程序适用于ios4.3和ios5是最佳做法?检查特定代码部分的版本是否可以接受?为ios4.3,ios5和ipad编写应用程序的最佳做法

我也应该为iPad写相同的应用程序。所以,我想知道哪些是为iphone编写应用程序的最佳做法,这也适用于ipad?

感谢

回答

4

的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上运行。

+0

+1好的建议! – Cliff

1

可以使用获得的版本:

[[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

相关问题