2

我想访问 iphone 默认闹钟并根据用户提交的日期设置闹钟。我还希望用户更改闹钟的声音。是否有可能做到这一点,如果有可能我该怎么做?那有任何可用的代码吗?请帮助我摆脱困境。

-提前致谢。

4

2 回答 2

3

您可能可以使用此代码读取iOS 默认警报,但这是一种未记录的方法,并且不允许在 App Store 中使用。

以下是 Alan Yip 的帖子,复制自http://blog.alanyip.me/read-alarms-in-ios/

有一个私有框架 ( MobileTimer.framework ) 最初是为 iOS 股票应用程序提供的,Clock 用于操作时钟和系统警报。

显然,我们在处理警报时只会使用两个类, AlarmManagerAlarm。首先,我们必须获取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

最后,调用refreshActiveStatebeforeisActive可能是一种读取警报是否启用的方法。

于 2015-07-29T20:47:15.680 回答
2

如果您正在考虑访问 iphone 默认警报。没有办法做到这一点。无论如何,如果您找到了这样做的方法..您肯定不会被允许进入 App Store。

如果你正在寻找一个闹钟应用程序......你必须使用调度本地通知

于 2013-01-24T07:40:36.580 回答