首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为ios4.3、ios5和ipad编写应用程序的最佳实践

为ios4.3、ios5和ipad编写应用程序的最佳实践
EN

Stack Overflow用户
提问于 2011-12-01 06:21:27
回答 2查看 688关注 0票数 0

我刚刚开始为ios编写应用程序。

我有两个问题。

我知道有些代码在ios4.3中运行得很好,但在ios5中却不能运行,反之亦然。我想知道,在ios4.3和iOS5上编写应用程序的最佳实践是什么?运行时检查特定代码部分的版本是否可以接受?

我也应该为ipad写同样的应用程序。那么,我想知道为iphone编写也能在ipad上运行的应用程序的最佳实践是什么??

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-01 06:53:56

iOS 5或iOS 4

检测版本的另一种方法是在对象上使用respondsToSelector:消息。与version方法相比的优点是,您不需要知道下一个版本的iOS将用于维护您的应用程序。(例如,如果出现新的5.0.2版本怎么办?你的应用程序应该知道"5.0.2“字符串比"5.0”更新吗?我同意编码并不复杂,但使用respondsToSelector:要方便得多。)

iPhone/iPod Touch或iPad

我编写通用应用程序(即iPhone和iPad)的常用方法是定义自定义UIViewController类的基本实现,然后实现它的HD版本,继承默认行为,但为iPad自定义它(覆盖方法效果很好,但委托模式可能更好:如果您忘记实现方法,则会收到编译警告)。

如果在应用程序生命周期的开始阶段使用不同的.xib文件(这是通过Xcode提供的通用模板获得的),那么最终可能只需要从Interface Builder定义类,而不需要在代码中实现任何运行时测试来了解您是在iPhone上运行还是在iPad上运行。

票数 4
EN

Stack Overflow用户

发布于 2011-12-01 06:29:22

您可以使用以下命令获取版本:

代码语言:javascript
复制
[[UIDevice currentDevice] systemVersion];

systemVersion返回一个字符串,如"5.0“。然后,您可以使用字符串比较来比较字符串。例如:

代码语言:javascript
复制
NSString *requiredVersion = @"5.0";
NSString *currentVersion = [[UIDevice currentDevice] systemVersion];
if ([currentVersion compare:requiredVersion options:NSNumericSearch] != NSOrderedAscending)
            isItSupported = TRUE;

文档指出,您可以使用以下内容来确定您是否具有iPhone或iPad:

代码语言:javascript
复制
[[UIDevice currentDevice] model];

不过我还没用过这个。请参阅documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8333804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档