2013-01-24 45 views
2

我想訪問iphone默認鬧鐘,並根據用戶提交的日期設置鬧鐘。我也希望用戶改變鬧鐘的聲音。 是否有可能做到這一點,如果有可能我該怎麼做? 是否有任何可用的代碼? 請幫我把我帶出來。訪問並設置iphone默認鬧鐘

- 預先感謝。

回答

2

如果您正在考慮通過訪問iphone默認鬧鐘。沒有辦法做到這一點。無論如何,如果你找到一種方法來做到這一點,你絕對不會被允許進入App Store。

如果你正在尋找作出鬧鐘應用程序...你必須使用Scheduling Local Notifications

2

您可能能夠閱讀使用此代碼iOS的默認警報,但是這是一個未公開的方法並且不會在App Store中被允許。

下面是葉智榮的帖子,從http://blog.alanyip.me/read-alarms-in-ios/

複製有原 提供適用於iOS的股票程序,時鐘操作時鐘和系統 報警專用框架(MobileTimer.framework)。

很明顯,我們在處理報警時只使用兩個類, 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 

最後,調用refreshActiveStateisActive之前可能是一個辦法 閱讀警報是否被啓用。

+0

而不是複製博客文章,拿出你自己的總結*。請參閱幫助中心的[如何引用他人編寫的材料](https://stackoverflow.com/help/referencing)。 –