`
836811384
  • 浏览: 556867 次
文章分类
社区版块
存档分类
最新评论

iOS获取当前系统的相关信息和在不同的IOS上检测

 
阅读更多

NSLog([[UIDevice currentDevice] name]); // 获取设备的名称

NSLog([[UIDevice currentDevice] uniqueIdentifier]); //获取GUID 唯一标识符

NSLog([[UIDevice currentDevice] systemName]); //获取系统名称

NSLog([[UIDevice currentDevice] systemVersion]); // 版本号

eg.

float version = [[[UIDevice currentDevice] systemVersion] floatValue];

if (version >= 5.0) {

//ios的处理

}

最近在做项目中发现。ios5下和其之前的版本(ios4.0.2)坐标位置不一样。 正好相差20px。所以使用拉上面的特殊处理。



2。隨著iOS版本越來越多,程式碼的相容性問題也慢慢浮上檯面。比如說可能因爲某些 API 只適用於 iOS4,而到了 iOS5 則必需使用另外的 API 來處理。這個時候你的 code 裏面可能就同時包含了這兩種版本的程式碼。不過這個程式碼放到舊版的 XCode 可能就沒有辦法通過編譯了。這個時候你可以使用以下的方式來避開這點:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000
// ios 5
// ex. 如果要檢查的版本是 4.1 那麽可以用 40100
#endif

如果要檢查是某個類别是否可以使用的話,那麽就可以使用這樣的方式:

Classios5Class = (NSClassFromString(@"CIImage"));
if (nil != ios5Class) {
}

* 4.2 以上(含)的版本可以使用弱連結(Weak linking)的檢查,例如:

if( [CIImage class] ){
}

而如果要檢查某個類别內是否具有某些 selector 的話,那麽可以使用 NSObject protocol 裏面的 respondsToSelector: 來做檢查,例如:

if( [obj respondsToSelector@selector(goodbye:] ) {
}

转自:http://blog.csdn.net/nogodoss/article/details/7187022

分享到:
评论

相关推荐

    ios应用源码之获取全球当前所有时区的当前时间testtimezone 20181210

    ios应用源码之获取全球当前所有时区的当前时间testtimezone

    SoundTest_ios_频率检测_

    iOS频率采样分析应用,通过采集声音,给出声音频率信息。

    ios-检测网络状态.zip

    通过点击事件响应或其他获得当前设备的网络状态。

    ios-无需添加信息,自动获取AppStore更新提示.zip

    ... 博客中有更详尽的介绍,...所以这里,我进行了判断处理,比如你当前上架版本是1.0.0,你要上线1.0.1提交审核,在你应用还没上架之前,也就是开发和审核阶段,都不会弹出提示框进行提示。排除了这部分被拒的可能性。

    怎么防止ios系统被抓包?防止ios系统被抓包的方法

    防止iOS系统被抓包的方法 防止iOS系统被抓包是一个非常重要的安全问题。iOS系统可以通过各种抓包工具,例如Fiddler、Charles等,来获取APP发送的API,...我们可以通过检测代理和防止抓包来保护我们的APP和用户信息。

    iOS平台的应用程序调试与分析.pptx

    在分析过程中,获取符号信息对于理解和调试代码至关重要。可以使用class-dump-z工具来提取更多符号信息,尤其是对于Objective-C类的深入理解。通过指定架构(如-armv6)和输出选项,可以生成头文件,从而获得更详细...

    iOS应用逆向工程(第2版)高清版 沙梓社 吴航 著

    2.1 iOS系统结构 12 2.1.1 iOS目录结构简介 13 2.1.2 iOS文件权限简介 16 2.2 iOS二进制文件类型 17 2.2.1 Application 17 2.2.2 Dynamic Library 20 2.2.3 Daemon 20 2.3 小结 22 第二部分 工 具 篇 第3...

    iOS 17个常用代码整理

    最后,从当前图形上下文中获取新的图像并结束上下文。 3. **图片上传**: ```objc - (IBAction)uploadButton:(id)sender { UIImage *image = [UIImage imageNamed:@"1.jpg"]; NSData *imageData = ...

    LocationManager:在iOS上轻松获取设备的当前位置

    INTULocationManager可以轻松获取设备的当前位置,并且当前正在iOS上运行。 这是一个Objective-C库,在Swift中也能很好地工作。 INTULocationManager提供了基于块的异步API,可以一次或连续请求当前位置。 它在内部...

    uni-app 项目调用手机原生事件,获取蓝牙连接,打印信息

    uni-app 项目调用手机原生事件,获取蓝牙连接,打印信息

    iOS 12+ 中检测网络访问的方法

    总的来说,`NWPathMonitor`在iOS 12+中为检测网络访问提供了强大的工具,不仅可以检测网络是否可用,还可以获取详细的网络接口信息,帮助开发者更好地管理和优化应用的网络使用。这对于那些需要处理各种网络环境(如...

    iOS图形图像处理-打造自己的美图app

    在实际开发中,通常在自定义UIView的`drawRect:`方法中进行绘图,通过`UIGraphicsGetCurrentContext()`获取当前的图形上下文。例如,以下代码展示了如何在自定义的KCView中绘制两条直线: ```objc -(void)drawRect:...

    iOS并发编程v1.01

    在开发过程中,使用Thread Sanitizer(TSan)这样的静态分析工具可以帮助检测竞态条件、死锁和其他线程安全问题。Apple 在 WWDC 2016 中推荐开发者使用 TSan 来确保代码的并发安全性。 通过理解和熟练运用GCD与...

    iOS中常用的宏定义总结

    - `IOS_VERSION`:获取当前设备的iOS系统版本号作为浮点数。 - `CurrentSystemVersion`:获取当前设备的iOS系统版本字符串。 - `CurrentLanguage`:获取用户首选的语言。 - `TARGET_OS_IPHONE` 和 `TARGET_...

    使用Reachability类判断iOS设备的当前网络连接类型

    在实际应用中,Reachability类是一个非常实用的工具,可以帮助开发者更好地处理网络相关的功能,比如在网络断开时提示用户,或者在不同网络环境下调整应用程序的行为。需要注意的是,随着技术的发展,现在的iOS设备...

    iOS WKWebview 白屏检测实现的示例

    前言  自ios8推出wkwebview以来,极大...在合适的加载时机对当前webview可视区域截图,并对此快照进行像素点遍历,如果非白屏颜色的像素点超过一定的阈值,认定其为非白屏,反之重新加载请求。 获取快照  ios官方提

    智能交通系统中车辆路径识别方法.pdf

    5. **传感器技术和传感信息融合技术**:传感器系统安装在道路或周边建筑上,通过电子标签、视频监控、磁信号检测等手段,自动识别车牌,监测交通状况,为电子警察、卡口监控等提供数据支持。 **车辆路径识别方法**...

    iOS webview捕获H5按钮方法示例代码

    1. 首先,使用JSContext类获取当前webview的JavaScript上下文: ``` JSContext *content = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; ``` 2. 然后,使用JSContext类在...

Global site tag (gtag.js) - Google Analytics