2015-06-12 11 views
18

Ich arbeitete mit Contact Framework (nur einen Kontakt hinzufügen). Und es war ohne Probleme gespeichert (I doppelt in Kontaktliste überprüft), aber vor kurzem merke ich, dass diese Meldung auf der Konsole angezeigt:(ios9) HangTracer-Intervall ist 0, erzwungen zu 1s, während Contact Framework

2015-06-12 09: 57: 39,723 AddingContactToAddressBook [819: 291346] HangTracer Intervall 0, zwingt zu 1s

2015-06-12 09: 57: 39,725 AddingContactToAddressBook [819: 291346] haben neuen hangtracer Verbindung: 0x332e10

ich es gegoogelt und ich fand nur eine Erwähnung in Twitter, über "Was neue Zauberei ist t seine?".

Eigentlich, ich weiß nicht, ob mein Code die Ursache dieses Problems ist.

-(void)verifyUserAuthorizationInIOS9andLower{ 

CNContactStore * contactStore = [[CNContactStore alloc]init]; 

if ([CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts] == CNAuthorizationStatusNotDetermined) { 
    [contactStore requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * __nullable error) { 

     if (granted==YES) { 
      [self addContactInIOS9andLower]; 

      if ([self addContactInIOS9andLower]) { 
       NSLog(@"Error"); 
      } 

      else{ 
       NSLog(@"Error"); 
      } 
     } 

     else{ 
      NSLog(@"Error"); 
     } 

    }]; 

} 

else if ([CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts] == CNAuthorizationStatusAuthorized){ 
    [self addContactInIOS9andLower]; 
} 
else { 
    NSLog(@"Error"); 
} 
} 


-(BOOL)addContactInIOS9andLower{ 

CNContactStore * contactStore = [[CNContactStore alloc]init]; 

CNMutableContact *mutableContact = [[CNMutableContact alloc]init]; 

mutableContact.givenName = name; 
mutableContact.familyName = lastname; 

mutableContact.phoneNumbers = [[NSArray alloc]initWithObjects:[CNLabeledValue labeledValueWithLabel:CNLabelPhoneNumberiPhone value:[CNPhoneNumber phoneNumberWithStringValue:phone]], nil]; 

CNSaveRequest * saveRequest = [[CNSaveRequest alloc]init]; 
[saveRequest addContact:mutableContact toContainerWithIdentifier:nil]; 

NSError *error = nil; 

if ([contactStore executeSaveRequest:saveRequest error:&error]){ 
    return NO; 
} 

else{ 
    return YES; 
} 
} 
+0

Jetzt Diese Nachricht erscheint: "2015-06-12 10: 12: 12.943 AddingContactToAddressBook [824: 293782] Stoppen HangTracer" – Jadekin

+0

Danke für die Frage, "Zauberei" passt perfekt hier. – LinusGeffarth

Antwort

17

Debugging mit einem Haltepunkt auf NSLog gibt einen Aufruf an [UIApplication startHangtracer:]. Dies geschieht im Thread unter HTStartHangTracing.

Th Tatsache, dass es seit iOS 9 auftritt, und dass sie von innen UIApplication ist, gibt mir ein starkes Gefühl zu neuen Bug-Reporting-Framework von Apple in iOS 9.

Dies könnte nur der Teil sein, um festzustellen, wann ein Anwendung hängt.

Jemand sollte ihre App Bugreports untersuchen, wenn sie durch Testflug verteilt, um zu bestätigen, dass dies HangTracer ein Teil davon ist.

+0

Oh, danke für die Erklärung. In der Tat, das war das erste Mal, dass ich diese Nachricht sah, so dass es sehr verwirrend war. – Jadekin

+1

Sie sagen also, es gibt kein Problem, über das ich mich als Entwickler Gedanken machen muss? Weil ich das Problem seit jetzt erlebt habe. Ich habe gestern ein Upgrade durchgeführt und bin noch nicht darauf gestoßen, was überraschend ist ... – LinusGeffarth

+3

@LinusG. Es scheint nicht immer zu passieren, und ja, Sie sollten sich keine Sorgen machen. – vrwim