• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Import von Kontakten aus dem Adressbuch

  • Ersteller Mini-mc
  • Erstellt am

Mini-mc

Gast
Hallo,

ich habe in meiner App eine Funktion, mit der man Kontakte aus dem Adressbuch importieren kann.
Diese Funktion hat die ganze Zeit auch problemlos funktioniert. Ich habe an der Funktion an sich nichts verändert, jedoch funktioniert diese Funktion nicht mehr.
Die ganze Zeit war es das man über einen Button in der App in das Adressbuch gekommen ist und dann ein Kontakt auswählen konnte. Das Adressbuch hat sich darauf hin geschlossen und der Kontakt wurde in eine SQL-Lite Datenbank importiert. Wenn ich jetzt einen Kontakt auswähle, dann öffnet das Adressbuch die Visitenkarte und schließt sich nicht mehr. Mittels NSLog abfragen habe ich herausgefunden, dass die Funktion einfach nicht aufgerufen wird.

Code:
-(IBAction)addContact:(id)sender{
    //Diese Funktion wird aufgerufen wenn der Button gedrückt worden ist.
    contacts = [[ABPeoplePickerNavigationControlleralloc]init];
    [contactssetPeoplePickerDelegate:self];
    NSLog(@"AddContac");
    [selfpresentViewController:contactsanimated:YEScompletion:nil];
}

-(void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
    NSLog(@"Helfer Import abgebrochen");
    [contactsdismissViewControllerAnimated:YEScompletion:nil];
}

-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
   
    NSLog(@"People selected");
    //Diese Funktion soll aufgerufen werden.
    //Nachfolgend werden mehrere Schritte zum Import durchgeführt
                               
   
 
    firstName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
    lastName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
    NSDate *geb = (__bridge NSDate*)ABRecordCopyValue(person, kABPersonBirthdayProperty);
        NSLog(@"%@", geb);
   

    NSDateComponents *gebComponents = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:geb];
   
    NSString *gebDay = [NSString stringWithFormat:@"%d",[gebComponents day]];
    if ([gebDay length] == 1) {
        gebDay = [NSString stringWithFormat:@"0%@", gebDay];
    }
   
    NSString *gebMonth = [NSString stringWithFormat:@"%d",[gebComponents month]];
    if ([gebMonth length] == 1) {
        gebMonth = [NSString stringWithFormat:@"0%@", gebMonth];
    }
   
    NSString *gebYear = [NSString stringWithFormat:@"%d",[gebComponents year]];

//Ich lasse mal den restlichen Code, übersichtshalber weg

[contacts dismissViewControllerAnimated:YES completion:nil];
   
    return NO;
  
}

Dieses Problem tritt nur auf einem Hardware Gerät auf.
Im Simulator funktioniert alles Problemlos.
Es wird keine Warnung oder ein Fehler angezeigt.

Vielen Dank im für die Hilfe!
Grüße,
Jonas
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Auf dem Hardware Gerät läuft nicht zufällig iOS 8?
 

Mini-mc

Gast
Doch auf dem Hardware Gerät läuft iOS 8, der Simulator aber angeblich auch.
Das ist auch Xcode 6 Beta.
 

Mini-mc

Gast
Ohh. Das habe ich eben auch entdeckt. Danke für deinen Hinweis!
Hast du eine Idee für eine Alternativ Funktion die unter iOS 8 funktioniert und bei älteren iOS?
Oder eine Idee wie ich beides Kombinieren kann?
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Da es ja Delegate Methoden sind, die vom System aufgerufen werden, implentiere einfach die Methode für iOS 8 zusätzlich. Je nach System, unter dem dein Programm läuft, wird dann halt die eine oder die andere Methode augerufen.
 
  • Like
Reaktionen: Mini-mc