访问并设置iphone默认警报

时间:2013-01-24 05:58:14

标签: iphone ios ios4 ios5

我想访问iphone默认闹钟,并根据用户提交的日期设置闹钟。我也希望用户改变闹钟的声音。 有可能这样做,如果有可能我该怎么做? 这是可用的代码吗? 请帮我带我离开。

- 提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果您想访问iphone默认闹铃。没有办法做到这一点。无论如何,如果你找到了这样做的方法......你绝对不会被允许进入App Store。

如果您要制作闹钟应用程序......则必须使用Scheduling Local Notifications

答案 1 :(得分:2)

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

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

  

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

     

显然,我们在处理警报时只会使用两个类,   AlarmManagerAlarm。首先,我们必须得到单身人士    AlarmManager的实例

AlarmManager *manager = [AlarmManager sharedManager];
     

在访问警报之前,需要先加载警报。

[manager loadAlarms];
     

然后,您可以访问包含所有可用警报的阵列   时钟应用程序中的警报

NSArray *alarms = [manager alarms];
     

但是,加载警报时框架中存在问题。   例如,代码在SpringBoard中运行,同时也是如此   在时钟应用程序中修改警报的时间。即使你   再次在SpringBoard中加载报警,返回的报警数据仍然是   过时。要解决此问题,请将 AlarmManager 中的类方法挂钩到   强制在原始方法之前同步首选项值   从偏好中读取。

%hook AlarmManager

+ (id)copyReadAlarmsFromPreferences {
  CFPreferencesAppSynchronize(CFSTR("com.apple.mobiletimer"));
  return %orig;
}

%end
     

最后,在refreshActiveState之前调用isActive可能是一种方法   读取警报是否启用。