IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Code qui ne fonctionne plus sous iOS 5 [Objective-C]


Sujet :

Objective-C

  1. #1
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut Code qui ne fonctionne plus sous iOS 5
    Bonjour,

    J'ai un appli qui permet d'ajouter un evenement dans le calendrier qui fonctionne bien sous iOS 4, mais depuis les dernières versions d'iOS 5, l'évenement ne s'enregistre plus.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #import <UIKit/UIKit.h>
    #import <EventKit/EventKit.h>
    #import <EventKitUI/EventKitUI.h>
     
    @interface QuickDateViewController : UIViewController <UITextFieldDelegate> {
     
        IBOutlet UILabel *labelInfo;
        IBOutlet UITextField *monEvent;
        IBOutlet UIDatePicker *datePicker;
        IBOutlet UIButton *boutonAjouter;
        IBOutlet UIButton *boutonInfo;
        EKEventStore *eventStore;
        EKCalendar *defaultCalendar;
     
     
    }
    @property (nonatomic, retain) EKEventStore *eventStore;
    @property (nonatomic, retain) EKCalendar *defaultCalendar;
    @property (nonatomic, retain) IBOutlet UITextField *monEvent;
    @property (nonatomic, retain) IBOutlet UIDatePicker *datePicker;
     
    - (IBAction) ajouterEvent : (id) sender;
    - (IBAction) infosApp : (id) sender;
     
    @end
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    #import "QuickDateViewController.h"
     
    @implementation QuickDateViewController
     
    @synthesize monEvent, datePicker, eventStore, defaultCalendar; 
     
    - (void)dealloc {
        [eventStore release];
        [defaultCalendar release];
        [monEvent release];
        [datePicker release];
        [super dealloc];
    }
    //action sur le bouton Ajouter
    - (IBAction) ajouterEvent : (id) sender {
     
            NSDate *dateSelected = [datePicker date]; // récupere la date choisi dans le picker
            NSError *error = nil;
            self.eventStore = [[EKEventStore alloc] init];
            EKEvent *myEvent  = [EKEvent eventWithEventStore:eventStore];
            NSString *titreEvent = monEvent.text; // récupération du contenu du TextField
            //EKEventStore *eventStore = [[EKEventStore alloc] init];
     
            myEvent.title     = titreEvent;
            myEvent.startDate = dateSelected;
            myEvent.endDate   = dateSelected;
     
        if (![monEvent.text isEqualToString:@""]){
            self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents];
            [eventStore saveEvent:myEvent span:EKSpanThisEvent error:&error];
     
            UIAlertView *monAlert = [[UIAlertView alloc]initWithTitle:@"Quick Event"message:NSLocalizedString(@"messageOK",@"Votre événement a été ajouté.")delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                [monAlert show];
                [monAlert release];
                // remise à zéro
                monEvent.text = nil;
                [monEvent release];
            NSLog(@"champ titre OK = ");
            }else{
                UIAlertView *monAlert = [[UIAlertView alloc]initWithTitle:@"Quick Event"message:NSLocalizedString(@"messageAlert", @"Merci d'indiquer un titre.")delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                [monAlert show];
                [monAlert release];
                NSLog(@"champ titre vide");
            //}
         }
    }
    Avez-vous déjà vu ce problème ? Ou est-ce le code qui n'est plus bon ?

    Par avance, merci.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Citation Envoyé par kOrt3x Voir le message
    [code]
    [eventStore saveEvent:myEvent span:EKSpanThisEvent error:&error];
    … NSLog de error… en apprendrait peut-être un peu plus…

  3. #3
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    … NSLog de error… en apprendrait peut-être un peu plus…
    Merci pour ta réponse, j'ai donc fais un NSLog de error et voici ce que j'obtiens :

    Error Domain=EKErrorDomain Code=1 "No calendar has been set." UserInfo=0x15aff0 {NSLocalizedDescription=No calendar has been set.}
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    c'est donc clair : il n'y a pas de calendrier défini…
    -> aller dans l'application calendrier ou les préférences voir ce qui est configuré…

    la leçon a en tiré est qu'il faut tester cette condition au départ de votre application : cela peut arriver à la toute première utilisation d'un device qui sort de la boîte…

  5. #5
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Merci, effectivement, il fallait préciser le calendrier, mais sous iOS 4, il le trouver sans problème.
    Là, sous iOS 5, on doit ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myEvent.calendar = Calendar;
    Et cela fonctionnement, maintenant.

    Merci pour tous.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Code C# ne fonctionne plus sous Seven
    Par marsouin_89 dans le forum C#
    Réponses: 26
    Dernier message: 24/10/2013, 22h50
  2. Code qui ne fonctionne pas sous Runtime
    Par RobiPMS dans le forum Runtime
    Réponses: 4
    Dernier message: 09/06/2013, 18h31
  3. [XL-2010] Fonction VBA qui ne fonctionne plus sous excel 2010
    Par Outinet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2012, 13h49
  4. [XL-2007] Pb de code VBA qui ne fonctionne plus
    Par rch05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2011, 07h41
  5. Codes qui ne fonctionne plus
    Par FCL31 dans le forum VBA Access
    Réponses: 18
    Dernier message: 08/11/2007, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo