ios晃动检测

ios晃动检测

第一种

1、在AppDelegate.h中进行如下设置:

C代码  

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. {
  3. application.applicationSupportsShakeToEdit = YES;
  4. }

2、在你需要对晃动事件进行处理的ViewController中添加如下代码:

C代码  

  1. -(BOOL)canBecomeFirstResponder {
  2. return YES;
  3. }
  4. -(void)viewDidAppear:(BOOL)animated {
  5. [super viewDidAppear:animated];
  6. [self becomeFirstResponder];
  7. }
  8. - (void)viewWillDisappear:(BOOL)animated {
  9. [self resignFirstResponder];
  10. [super viewWillDisappear:animated];
  11. }
  12. - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
  13. {
  14. if (motion == UIEventSubtypeMotionShake) {
  15. NSLog(@"检测到晃动");
  16. }
时间: 2024-12-21 20:08:18

ios晃动检测的相关文章

iOS开发-检测用户截屏, 并获取所截图片

微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好.于是乎, 我也想着实现这个功能. 在iOS7之前, 如果用户截屏,系统会自动取消屏幕上的所有 touch 事件,(使用 touchesCancelled:withEvent: 这个方法)那么我们就可以检测这个方法的调用,然后加载本地最新图片再加以判断来实现我们的目的.但在 iOS 7 之后,截屏不再会取消屏幕的 touch 事件,所以导致了 Snapchat 和

IOS网络——检测网络状态:Reachability

1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. 2.在你的应用尝试通过网络获取数据之前,你需要知道当前设备是否知道连接上了网络,甚至有时候你可能还需要知道当前网路是由wifi还是由移动蜂窝网络提供的. 3.“在网络访问失败的时候,应用没有做出适当的提示”是苹果的iOS审核团队拒绝一个应用的常见理由.苹果要求你必须先检测网络连接状态,当网络不可用的时候以某种方式告知用户

IOS开发检测设备摇动

设备摇动检测的两种方法简单的记录下 方法一 首先在delegate中添加 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch //添加检测晃动 application.applicationSupportsS

iOS中检测硬件和传感器

首先要知道,你需要查看所需的硬件或传感器是否存在,而不是假设设备有哪些功能.举个例子,你不能假设只有iPhone才有麦克风,而应该使用API来查看麦克风是否存在.下面这段代码的第一个优势在于,它能自动兼容将来推出的新设备和外接麦克风. 第二个优势呢?这段代码只有一行. 检查麦克风可用性的正确方法 1 2 3 4 - (BOOL) microphoneAvailable { AVAudioSession *session = [AVAudioSession sharedInstance]; ret

iOS开发 - 检测网络状态(WIFI、2G/3G/4G)

检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是 让用户了解自己的网络状态,防止一些误会(比如怪应用无能) 根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态 https://developer.apple.com/library/ios/samplecode/Reachability/Rea

iOS 怎么检测app支不支持64位

在2015年2月1日新的iOS应用提交到App Store的开始必须包括64位支持并与iOS 8 SDK构建.2015年6月1日开始的应用程序更新也要遵循同样的要求.为了使项目中的64位,我们建议使用默认的Xcode编译设置"标准结构"来建立一个单一的二进制与32位和64位代码. 在你已经纠正了问题,你可以用Xcode应用程序或上传一个新的二进制iTunes Connect. 1.检测项目中有没有不支持64的sdk (1)Xcode会提示你更新你的项目,其中的警告和错误信息对于转换到6

iOS:网络检测

若想App通过审核,则必须对网络环境进行判断,在无网络的时候进行提醒等处理. Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.要在应用程序程序中使用Reachability,首先要完成如下两部:        1.1. 添加源文件:    在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中.如下图: 1.2.添加framework:    将SystemConfigura

iOS网络检测

使用之前请从Apple网站下载示例:点此下载 Reachability 中定义了3种网络状态: typedef enum : NSInteger { NotReachable = 0,//无网络 ReachableViaWiFi,//wifi ReachableViaWWAN//3g } NetworkStatus; 比如检测某一特定站点的接续状况,可以使用下面的代码: Reachability *r = [Reachability reachabilityWithHostName:@"www.

iOS 9检测QQ、微信是否安装

在info.plist中加入一个参数,如图: // 检测是否安装了微信     if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"weixin://"]]) {} // 检测是否安装了QQ     if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]) {} 若