ios控制系统闹钟开关的类是什么?

问题描述

ios控制系统闹钟开关的类是什么?

我想hook控制系统闹钟的类,在触发其他ios设备其他按钮的时候,关闭掉之前设置好的闹钟

解决方案

系统的闹钟是私有api,具体是哪个类要找技术大神才知道。

如果想自己实现闹钟,最好的方式就是本地推送UILocalNotification,在推送中附加声音信息。
推送允许最长30秒钟的声音播放,这对闹钟的铃声有很大限制。
另外由于推送本身的特性,只有app不在active时才能收到,因此还要考虑程序在前台执行时的闹钟处理。

可以参考 stackoverflow资料

另外一个很大的问题是,本地推送的声音在ios7的某些版本有bug,当用户滑动删除推送消息后,甚至启动应用后,推送声音仍然会播放。

这里要自己尝试一下,如何解决这个问题。(但是根据网上的一些资料,这个bug目前没有很好的解决方法)

可参考 关闭推送声音

时间: 2024-10-30 13:42:13

ios控制系统闹钟开关的类是什么?的相关文章

iOS网络编程之四——请求类NSURLRequest使用详解

iOS网络编程之四--请求类NSURLRequest使用详解 一.引言         在前面几篇博客中,介绍了iOS开发中的网络编程相关内容并且介绍了常用了两个平行的网络框架NSURLSession和NSURLConnection.无论是NSURLSession类还是NSURLConnection类,其网络请求都是通过NSURLRequest类进行发起的,本篇博客将介绍NSURLRequest类的用法和其中请求属性的设置.         前几篇博客地址如下: 1.iOS网络框架介绍:http

iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值

在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property Name相同,然后通过运行时来生成和执行Setter方法给Model类的属性赋值. 通过Runtime来给Model类属性赋值的好处是多多的,它便于代码的后期维护,并且提高了开发效率.当你拿到解析后的字典时你不用一个一个的通过key去把字典的值赋值给相应的Model类的属性,本篇博客中会给出如何去遍历Mod

iOS开发中使用NSURLConnection类处理网络请求的方法_IOS

NSURLConnection 作为 Core Foundation / CFNetwork 框架的 API 之上的一个抽象,在 2003 年,随着第一版的 Safari 的发布就发布了.NSURLConnection 这个名字,实际上是指代的 Foundation 框架的 URL 加载系统中一系列有关联的组件:NSURLRequest.NSURLResponse.NSURLProtocol. NSURLCache. NSHTTPCookieStorage.NSURLCredentialStor

iOS App开发中UIViewController类的使用教程_IOS

一.引言作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上.iOS中的UIViewController是UIKit框架中最基本的一个类.从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础.基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑.这里旨在讨论UIViewController的生命周期和属性方法,在最基础的东西上,往往会得

IOS开发:Cocoa的类与对象

  我们可以在/usr/include/objc/objc.h 和 runtime.h 中找到对 class 与 object 的定义: typedef struct objc_class *Class; typedef struct objc_object { Class isa; } *id; Class 是一个 objc_class 结构类型的指针;而 id(任意对象) 是一个 objc_object 结构类型的指针,其第一个成员是一个 objc_class 结构类型的指针.注意这里有一关

(NO.00004)iOS实现打砖块游戏(七):关卡类的实现

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 关卡游戏的精髓都集中在游戏的关卡里,其中包含了游戏的所有要素,至于关卡如何管理这些要素这得根据不同游戏想要的效果来决定.我们开始先从在关卡中建立砖块,小球和反弹棒3个元素做起. 创建关卡类 在Xcode中创建Level类,继承于CCNode类.修改头文件为如下内容: #import "CCNode.h" @interface Level : CCNod

(NO.00004)iOS实现打砖块游戏(四):砖块类的实现

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 用Xcode打开之前SpriteBuilder创建的项目,我们现在是时候写点代码了 ;) 创建Brick类头文件 新建一个Brick类,继承自CCSprite,打开Brick.h文件添加初始化类方法: +(instancetype)brickWithColor:(BrickColor)color; 因为我们要产生各种颜色的砖块所以有必要写一个枚举来区分,新建一个

图灵社团ios培训第一周(类)

创建一个类: 打开Xcode,分别按照以下步骤: 类创建好以后,会生成两个文件,一个是.h文件,一个是.m文件.其中,类声明文件为.h文件,又叫接口文件:.m文件又叫实现文件. 在.h文件中声明一个公开变量.@public int a: 在main.m函数实现实例变量的调用.如图所示 其中对象名=[类名 alloc]://为对象分配空间 对象名=[类名 init]://初始化 合并一起的语法如下: 类名   对象名=[[类名 alloc]init]: 调用实例变量 d->a=20: 运行结果:

iOS - OC SingleClass 单例类

前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在 APP 开发中我们可能在任何地方都要使用用户的信息,那么可以在登录的时候就把用户信息存放在一个文件里面,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这