2013-01-24 2 views
2

Je veux accéder à l'alarme par défaut de l'iphone et régler l'alarme en fonction de la date de l'utilisateur. Je veux également que l'utilisateur change le son de l'alarme. Est-il possible de faire cela et si c'est possible, comment puis-je faire cela? Est-ce que ce code est disponible pour ça? S'il vous plaît aidez-moi à me sortir de cela.Accéder et régler l'alarme par défaut de l'iphone

-Merci à l'avance.

Répondre

2

Si vous envisagez d'accès iphone par défaut d'alarme. il n'y a aucun moyen de le faire. En tout cas, si vous trouvez un moyen de le faire .. vous ne seriez certainement pas autorisé dans l'App Store.

Si vous cherchez à faire une application réveil ... vous devez utiliser Scheduling Local Notifications

2

Vous pourrez peut-être lire l'alarme par défaut iOS en utilisant ce code, mais cela est une méthode non documentée et ne serait pas autorisé dans l'App Store.

Ci-dessous est le poste d'Alan Yip, copié de http://blog.alanyip.me/read-alarms-in-ios/

Il existe un cadre privé (MobileTimer.framework) initialement prévu iOS app stock, horloge pour manipuler les horloges et le système alarmes.

Évidemment, nous n'utiliserons que deux classes pour traiter les alarmes, AlarmManager et Alarm. Tout d'abord, nous devons obtenir l'instance singleton de AlarmManager.

AlarmManager *manager = [AlarmManager sharedManager]; 

Avant d'accéder aux alarmes, vous devez d'abord charger les alarmes.

[manager loadAlarms]; 

Ensuite, vous pouvez accéder au tableau contenant toutes les alarmes disponibles (d'alarme) dans l'application Horloge.

NSArray *alarms = [manager alarms]; 

Cependant, il y a un problème dans le cadre lors du chargement des alarmes. Par exemple, le code est en cours d'exécution dans SpringBoard, tandis que dans le même temps les alarmes sont en cours de modification dans l'application Stock horloge. Même si vous chargez à nouveau les alarmes dans SpringBoard, les données d'alarme renvoyées sont toujours obsolètes. Pour résoudre ce problème, accrochez une méthode de classe dans AlarmManager à force de synchroniser les valeurs de préférence avant la méthode d'origine lire à partir de la préférence.

%hook AlarmManager 

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

%end 

Enfin, avant d'appeler refreshActiveStateisActive peut être un moyen de lire si l'alarme est activée ou non. Plutôt que de copier un article de blog, proposez votre propre * résumé. *

+0

Voir [Comment référencer le matériel écrit par d'autres utilisateurs] (https://stackoverflow.com/help/referencing) dans le centre d'aide. –

Questions connexes