加速计(UIAccelerometer)是一个单例模式的类,所以需要通过方法sharedAccelerometer获取其唯一的实例. 加速计需要设置的主要有两个: 一个是设置其代理,用以执行获取加速计信息的方法:  另一个是设置加速计获取信息的频率. 最高支持每秒100次. UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer]; accelerometer.delegate = self; accelerom…
ios晃动检测  第一种 1.在AppDelegate.h中进行如下设置: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { application.applicationSupportsShakeToEdit = YES; } 2.在你需要对晃动事件进行处理的ViewController中添加如下代码: -(BOOL)can…
背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现问题,保证代码质量的好帮手. 对于开发者而言,代码覆盖率可以反馈两方面信息: 自测的充分程度. 代码设计的冗余程度. 尽管代码覆盖率对代码质量有着上述好处,但在 iOS 开发中却使用的不多.我们调研了市场上常用的 iOS 覆盖率检测工具,这些工具主要存在以下四个问题: 第三方工具有时生成的检测报告文…
iOS开发 检测版本更新的实现 苹果给了我们一个接口,能根据应用id请求一些关于应用的信息.我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了.这时,就需要向用户提醒有新的版本,需要更新.具体步骤如下: NSMutableURLRequest*request=[[NSMutableURLRequestalloc]init]; [requestsetURL:[NSURLURLWithString:[NSStringstringWithFormat:@"http…
1.iOS开发检测是否开启定位: 需要导入: #import <CoreLocation/CoreLocation.h> 代码如下: + (void)openLocationServiceWithBlock:(ReturnBlock)returnBlock { BOOL isOPen = NO; if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authorizationStatus] !…
首先要知道,你需要查看所需的硬件或传感器是否存在,而不是假设设备有哪些功能.举个例子,你不能假设只有iPhone才有麦克风,而应该使用API来查看麦克风是否存在.下面这段代码的第一个优势在于,它能自动兼容将来推出的新设备和外接麦克风. 第二个优势呢?这段代码只有一行. 检查麦克风可用性的正确方法 1 2 3 4 - (BOOL) microphoneAvailable { AVAudioSession *session = [AVAudioSession sharedInstance]; ret…
本文转载至 http://blog.csdn.net/wangzi11322/article/details/45580917 检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是 让用户了解自己的网络状态,防止一些误会(比如怪应用无能) 根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态 htt…
  昨天浏览了cocoaChina,发现了一遍文章是优化Reachablity框架的出来的检测网络类,大家都知道这个Reachablity框架是用来检测网络变化的!但是也是有一点bug,事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态:这种情况包括但不限于如下场景: 1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立: 2.存在了本地网络连接,但信号很差,实际无法连接到服务器: 3.iOS连接的路由设备本身没有连接外网…
虽然苹果官方是不允许应用自动检测更新,提示用户下载,因为苹果会提示你有多少个软件需要更新,但是有的时候提示用户一下有新版还是很有必要的. 首先说一下原理: 每个上架的苹果应用程序,都会有一个应用程序的ID,根据这个ID我们就可以获取到当前程序的最新版本号,然后和自己的版本号作比较,如果一样的话就是最新版,反之就不是新版,就可以提示用户来手动下载最新版的程序.因为有ID所以就可以定位到这个APP,点击下载即可. 源码: 一般建议检测更新的代码放到主页控制器里. 首先还要导入一个头文件用来打开App…
使用之前请从Apple网站下载示例:点此下载 Reachability 中定义了3种网络状态: typedef enum : NSInteger { NotReachable = ,//无网络 ReachableViaWiFi,//wifi ReachableViaWWAN//3g } NetworkStatus; 比如检测某一特定站点的接续状况,可以使用下面的代码: Reachability *r = [Reachability reachabilityWithHostName:@"www.a…