超精准的iOS计步器实现代码
本文实例为大家分享了iOS计步器实现代码,供大家参考,具体内容如下
#import "ViewController.h" #import <CoreMotion/CoreMotion.h> @interface ViewController () @property (nonatomic, strong) CMStepCounter *conter; @property (weak, nonatomic) IBOutlet UILabel *stepLabel; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 1、判断计步器是否可用 if (![CMStepCounter isStepCountingAvailable]) {return;} // 2、开始计步 [self.conter startStepCountingUpdatesToQueue:[NSOperationQueue mainQueue] updateOn:5 withHandler:^(NSInteger numberOfSteps, NSDate * _Nonnull timestamp, NSError * _Nullable error) { self.stepLabel.text = [NSString stringWithFormat:@"一共走了%ld步", numberOfSteps]; }]; } - (CMStepCounter *)conter{ if (_conter == nil) { _conter = [[CMStepCounter alloc] init]; } return _conter; }
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
IOS计步器功能实现之Healthkit和CMPedometer
介绍 CMPedometer:可以访问用户活动(可以访问计步数据) 适用ios8以上的系统 ios可看最下面说明 Healthkit :是ios系统中的健康应用 需要应用授权来访问健康数据(比如计步) 这两个有什么区别呢? 其实 Healthkit 也是 使用 CMPedometer 读取用户的步数和走的里程,当然计算的方法是在手机内部计算的, 它是利用 iphone5s 以上的m处理器来获取数据计算了,所以5s以下的设备是不支持 CMPedometer 手机计步的,当然有大牛可以利用重力传感器
-
详解iOS 计步器的几种实现方式
这篇文章介绍两种可以获取计步数据的方法,一种是采用CMPedometer获取手机计步器数据,另一种是采用HealthKit框架从手机健康App中获取计步数据.另外玩了一下写入数据到健康App.有描述不当之处,望指点. 花絮(用HealthKit框架构建app,写入数据到苹果健康app中,QQ和Keep等第三方app的运动数据都会随之改变,猜测它们的运动数据是直接从苹果健康app中获取,而且没有过滤掉其它数据来源.而微信运动的数据不会变,猜测其来源可能是使用CMPedometer类获取的,因为测试
-
超精准的iOS计步器实现代码
本文实例为大家分享了iOS计步器实现代码,供大家参考,具体内容如下 #import "ViewController.h" #import <CoreMotion/CoreMotion.h> @interface ViewController () @property (nonatomic, strong) CMStepCounter *conter; @property (weak, nonatomic) IBOutlet UILabel *stepLabel; @end
-
iOS 拨打电话代码的三种方式
1,这种方式,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxxxxxx"]; // NSLog(@"str======%@",str); [[UIApplication sharedApplication] openURL:[NSURL URLWithStri
-
iOS 隐藏tabbar代码详解
-(void)viewWillAppear:(BOOL)animated { NSArray *array=self.tabBarController.view.subviews; UIView *view=array[2]; view.frame=CGRectMake(0, [UIScreen mainScreen ].bounds.size.height, [UIScreen mainScreen ].bounds.size.width, 49); [UIView commitAnimati
-
IOS App 无代码入侵的方法hook详细介绍
iOS App 无代码入侵的方法hook 继续Objective-C runtime的研究 最近公司项目在做用户行为分析 于是App端在某些页面切换,交互操作的时候需要给统计系统发送一条消息 在几十个Controller 的项目里,一个一个地加代码那完全是不可能的,维护起来也是吃力 但这里需要处理的是 Controller, 可以有以下方式实现上述需求 1. 利用Objective-C 中的对象继承 继承 在面向对象开发中是非常常用的,像我们现在做的项目工程中都会有一个BaseViewContr
-
iOS用两行代码完美解决数据持久化
前言 在实际的iOS开发中,有些时候涉及到将程序的状态保存下来,以便下一次恢复,或者是记录用户的一些喜好和用户的登录信息等等. 这就需要涉及到数据的持久化了,所谓数据持久化就是数据的本地保存,将数据从内存中迁入到存储器上.网上有很多种数据持久化的方法,如实现自己实现I/O.数据库.云或则走第三方接口等等.但是有时候可能只是进行一些简单的数据存储,如用户的偏好设置.用户的sessionID等等,这时候使用上述方法便显得有点兴师动众了,现在需要一种更加轻量化的操作方式. 一.认识 NSUserDef
-
IOS开发OC代码中创建Swift编写的视图控制器
IOS开发OC代码中创建Swift编写的视图控制器 背景 近日在和一群朋友做项目,我和另一位同学负责iOS客户端,我是一直使用OC的,而他只会Swift,因此在我们分工协作之后,就需要把代码合在一起,这就牵扯到如何在TabbarController中添加一个swift创建的子控制器的问题. 解决 首先在一个OC项目中新建一个Swift类,继承自UITableViewController,并且修改其view背景色,方便后续测试. import UIKit class ESSwiftTableVie
-
jQuery超酷平面式时钟效果代码分享
本文实例讲述了jQuery超酷平面式时钟效果代码.分享给大家供大家参考.具体如下: jQuery制作的超酷平面式时钟效果,把日期和时间通过横向刻度条展现,经测试效果非常酷,是一个很不错的学习实例. 这里我们还要提到之前实现的另一个特别新颖的时间显示样式:js实现温度计时间样式,两者都完全突破了传统的时钟概念,感兴趣的各位可不要错过了哈. 运行效果图:----------------------查看效果 下载源码----------------------- 小提示:浏览器中如果不能正常运行,可以
-
Android开发仿IOS滑动开关实现代码
Android开发仿IOS滑动开关实现代码 Android与iOS相比,ios好多控件都是自带的,而android需要使用自定义来实现.今天说的是ios的滑动开关,我层看到好多博客都是通过自定义ToggleButton实现的.这里我通过自定义view来实现他的效果. 首先在onsizechange里把2个半圆和一个矩形绘制出来. width = w; height = h; left = top = 0; right = width; bottom = height * 0.8f; cx = (
-
iOS Xcode自定义代码块及迁移的实现方法
前言 文中将要介绍以下四点内容 代码块的意义 自定义代码块入口 代码块迁移 代码块的编写 下面话不多说了,来一起看看详细的介绍吧 一 . 意义在于节约时间成本 like 我在编译器键入 strong, 回车 自动生成 @property (nonatomic, strong) <#Class#> *<#object#>; 二 . 如何自定义代码块 如下图所示 选中一行代码右键 crate code snippet 右上角方框快速进入 图1 下图填入描述, 以及快捷方式 图2 三 .
-
iOS中一行代码实现 UIView 镂空效果
这是一种实现 UIView 镂空效果的方案,可以快速实现任意形状的镂空.文字的镂空.带镂空的毛玻璃效果等.本质上是 UIView 的 maskView 效果. 前言 首先来复习一下遮罩效果的实现.如果我们有一张图片,又恰好有一个圆,当我们把圆设置为图片的遮罩时,会得到这样的结果. 代码实现看上去像是这样: view.maskView = maskView; 那么问题来了,如果我们希望得到下面的结果,该怎么做呢?这看起来像是图层的相减,即原来的图层减去遮罩的部分. 可惜苹果爸爸不够贴心,没有提供方
随机推荐
- AngularJS中如何使用$http对MongoLab数据表进行增删改查
- Android App中读取XML与JSON格式数据的基本方法示例
- 谈谈我对正则表达式的认识
- Java String字符串补0或空格的实现代码
- iOS应用中UICollectionViewCell定制Button
- Oracle数据块实现原理深入解读
- Android RelativeLayout相对布局属性简析
- 6种php上传图片重命名的方法实例
- PHP入门教程之面向对象基本概念实例分析
- 一个仿微博登陆邮箱提示框js开发案例
- Node.js环境下Koa2添加travis ci持续集成工具的方法
- Linux安装配置Tomcat教程
- 详解Nginx服务器中配置全站HTTPS安全连接的方法
- Java面向对象的三大特征
- 使用java实现各种数据统计图(柱形图,饼图,折线图)
- Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
- C++ 算法之希尔排序详解及实例
- xmlplus组件设计系列之图标(ICON)(1)
- Android中wifi与数据流量的切换监听详解
- python中urlparse模块介绍与使用示例