Créer un calendrier personnalisé
Salut,
Je veut créer un calendrier perso dans le cadre de mon appli
J'ai donc fait ça, mais quand je vais dans le calendrier iOS, le calendrier n'est pas crée. J'ai pourtant bien l'identifier qui s'affiche dans mes logs
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKSource *theSource = nil;
for (EKSource *source in eventStore.sources) {
if (source.sourceType == EKSourceTypeLocal) {
theSource = source;
break;
}
}
NSString *identifier;
EKCalendar *cal;
if (identifier == nil)
{
cal = [EKCalendar calendarForEntityType:EKEntityTypeEvent eventStore:eventStore];
cal.title = @MyCustomCalendar;
cal.source = theSource;
[eventStore saveCalendar:cal commit:YES error:nil];
NSLog(@cal id = %@", cal.calendarIdentifier);
}
else
{
cal = [eventStore calendarWithIdentifier:identifier];
}
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Y a pas une histoire d'autorisation ?
L'autorisation est activée, la preuve c'est qu'il m'ajoute les éléments dans mon calendrier par défaut
- De plus, d'après la doc, la méthode "saveCalendar:commit:error:" retourne justement un booléen YES/NO pour t'indiquer si la création a réussi ou non.
Je t'invite donc à modifier ton code ainsi, ce qui ne va pas forcément corriger ton problème, mais va te permettre d'une part de prévoir le cas d'erreur dans ton code, mais également pour le coup de pouvoir afficher l'erreur retournée et ainsi comprendre ce qui fait qu'il ne crée pas ton calendrier :
Salut AliGator,
Merci pour l'optimisation du code.
Dans le 1er cas si la création a réussi je retourne l'id du calendrier, et dans le 2e cas le message d'erreur.
Au moment d'exécuter mon code, j'ai bien l'id de mon calendrier donc la création a bien réussi et pourtant il n'est pas dans ma liste des différents calendrier de l'appareil.
L'un de vous a t-il une piste s'il vous plait ?
Chose bizarre, cela à l'air de marcher sur le simulateur, mais ça ne marche pas sur mon téléphone.
J'avoue ne pas comprendre encore plus, pourquoi ça marche sur un device et pas sur un autre
Jean, tu n'as pas encore répondu au chat ?
Si si je lui ai répondu,
Il y a bien une autorisation et elle a été activée.
En effet dans les réglages il y a bien le switch sur ON sur Calendriers et sur Données cellulaires
Vois l'article http://www.raywenderlich.com/64513/cookbook-making-calendar-reminder
Ah bon ? A quel niveau tu vois ça ?
Et pourquoi j'aurais l'autorisation sur le simu et pas sur le téléphone ?
Mais sur le téléphone dans les réglages c'est bel et bien mis sur l'interrupteur ON, la preuve c'est qu'il m'ajoute les évenements dans mon calendrier, mais il ne me crée pas de calendrier perso
J'ai trouvé ce petit projet et tous va bien sur mon iPad :
https://gist.github.com/martinsik/5115383
Mais, il ça provoque un warning dans le console.
Voici ma version du code dans une méthode de test :