我想访问 iphone 默认闹钟并根据用户提交的日期设置闹钟。我还希望用户更改闹钟的声音。是否有可能做到这一点,如果有可能我该怎么做?那有任何可用的代码吗?请帮助我摆脱困境。
-提前致谢。
您可能可以使用此代码读取iOS 默认警报,但这是一种未记录的方法,并且不允许在 App Store 中使用。
以下是 Alan Yip 的帖子,复制自http://blog.alanyip.me/read-alarms-in-ios/
有一个私有框架 ( MobileTimer.framework ) 最初是为 iOS 股票应用程序提供的,Clock 用于操作时钟和系统警报。
显然,我们在处理警报时只会使用两个类, AlarmManager和Alarm。首先,我们必须获取AlarmManager的单例实例。
AlarmManager *manager = [AlarmManager sharedManager];
访问告警前,需要先加载告警。
[manager loadAlarms];
然后,您可以在 Clock 应用程序中访问包含所有可用闹钟 ( Alarm ) 的数组。
NSArray *alarms = [manager alarms];
但是,在加载警报时,框架中存在问题。例如,代码在 SpringBoard 中运行,同时在 Stock Clock 应用程序中修改警报。即使再次在 SpringBoard 中加载警报,返回的警报数据仍然是过时的。要解决此问题,请在AlarmManager中挂钩一个类方法,以在从首选项读取原始方法之前强制同步首选项值。
%hook AlarmManager + (id)copyReadAlarmsFromPreferences { CFPreferencesAppSynchronize(CFSTR("com.apple.mobiletimer")); return %orig; } %end
最后,调用
refreshActiveState
beforeisActive
可能是一种读取警报是否启用的方法。
如果您正在考虑访问 iphone 默认警报。没有办法做到这一点。无论如何,如果您找到了这样做的方法..您肯定不会被允许进入 App Store。
如果你正在寻找一个闹钟应用程序......你必须使用调度本地通知