ios-怎么判断IOS设备的版本

问题描述

怎么判断IOS设备的版本

有两个storyboard分别制定给iPhone5和iPhone4的尺寸。如何让代码检测ios版本?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    // 1
    UIStoryboard * mainStoryboard = nil ;
    if ( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO ( @ "6.0" ) ) {
        mainStoryboard = [ UIStoryboard storyboardWithName : @ "iPhones6.0" bundle : nil ] ;
    } else {
        mainStoryboard = [ UIStoryboard storyboardWithName : @ "iPhones3-5" bundle : nil ] ;
    }
    // 2
    self.window = [ [ UIWindow alloc ] initWithFrame : [ [ UIScreen mainScreen ] bounds ] ] ;
    self.window.rootViewController = [ mainStoryboard instantiateInitialViewController ] ;
    [ self.window makeKeyAndVisible ] ;
    return YES;
}

解决方案

判断是否为iphone5的宏

#define IPHONE5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : 0)

解决方案二:

这个不对吧,版本代表不了手机型号,为何不去获取物理屏幕大小好了呢?

解决方案三:

其实一个storyboard就可以适配iphone5,iphone4的尺寸。在storyboard中可以设置UI元素的约束来定位位置,这里需要用到NSLayoutConstrant 技术

时间: 2024-10-21 20:51:31

ios-怎么判断IOS设备的版本的相关文章

iOS 怎么判断用户在另一台设备上登陆过

问题描述 iOS 怎么判断用户在另一台设备上登陆过,去退出另一台设备 解决方案 /*! @method @brief 当前登录账号在其它设备登录时的通知回调 @discussion @result */- (void)didLoginFromOtherDevice;如果另一台设备的登录了,当前设备会执行这个回调的.解决方案二:我这个代理怎么不走?应该写在什么地方解决方案三:遵守EMChatManagerLoginDelegate这个协议,注册代理//注册为SDK的ChatManager的dele

iOS中判断Emoji表情问题_IOS

先给大家说下问题描述 服务器端不支持Emoji表情,因此客户端在上传用户输入时,不能包含Emoji表情. 解决方案 在客户端发送请求前,判断用户输入中是否含有表情,如果含有表情,则提示用户重新输入.这个过程关键是如何判断字符串中是否含有Emoji表情.要判断是否含有Emoji表情,必须先了解什么是Emoji. Emoji 是一套起源于日本的12x12像素表情符号,由栗田穣崇(Shigetaka Kurit)创作,最早在日本网络及手机用户中流行,自苹果公司发布的iOS 5输入法中加入了emoji后

safari-使用iOS端Safari查看设备UDID

问题描述 使用iOS端Safari查看设备UDID 接收UDID路径是用JAVA开发的,未签名,能收到UDID,不知道该返回什么,提示安装失败

ios 怎样判断一个时间是否在另一个时间段内

问题描述 ios 怎样判断一个时间是否在另一个时间段内 怎样判断一个时间是否在另一个时间段内,比如:判断12点是否在七点到九点之间? 解决方案 都转成NSTimeInterval,直接对比 解决方案二: NSDate提供了两个方法,一个earlier ,一个later,通过这两个当中的任何一个,进行两次比较就可以了

iOS使用cocoaPods管理3.x版本的SDK

问题描述 iOS使用cocoaPods管理3.x版本的SDK的git链接是多少? 解决方案 同问,一堆配置,难的搞呀

IOS正则表达式判断输入类型(整理)

在开发过程中,有时需要对用户输入的类型做判断,最常见是在注册页面即用户名和密码,代码整理如下: 只能为中文 -(BOOL)onlyInputChineseCharacters:(NSString*)string{ NSString *zhString = @"[\u4e00-\u9fa5]+"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",zhString]

iOS 5与iOS 6的low-memory 处理简介

移动设备终端的内存极为有限,应用程序必须做好low-memory处理工作,才能避免程序因内存使用过大而崩溃. low-memory 处理思路 通常一个应用程序会包含多个view controllers,当从view跳转到另一个view时,之前的view只是不可见状态,并不会立即被清理掉,而是保存在内存中,以便下一次的快速显现.但是如果应用程序接收到系统发出的low-memory warning,我们就不得不把当前不可见状态下的views清理掉,腾出更多的可使用内存:当前可见的view contr

Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略

原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Preview版也已经发布,据说其修改方法跟4.1非常类似,只改动了一行代码,请参看参考文章的第二篇.本文仍以4.1版本为例. 更新:现在Xcode 4.2正式版和iOS 5均已发布,下面补充上4.2的修改方法.(2011-10-24) 各步骤会标明版本,比如(Xcode4.1请执行)和(Xcode4.2请执行

《移动App测试的22条军规》—App测试综合案例分析23.1节首先需要确定测试微信App需要的设备和版本

App测试综合案例分析移动App测试的22条军规通过上面的学习,22条军规已经介绍完毕,但如何才能在实际的移动App测试中融会贯通地使用这22条军规呢?本章笔者就拿大家熟悉的微信App做个实例分析,希望大家能从这个案例中了解到如何根据移动App自身的特点,结合移动App测试的22条军规来进行测试. 由于篇幅所限,本章不会穷尽所有的测试场景和用例,针对每个军规的测试只选取一些具有代表性的例子进行说明. 23.1 首先需要确定测试微信App需要的设备和版本首先让我们看一下iOS和Android操作系