(ios9) Интервал HangTracer равен 0, принудительно устанавливается на 1 с при использовании Contact Framework

Я работал с Contact Framework (просто добавлял контакт). И он был сохранен без каких-либо проблем (я дважды проверил в списке контактов), но недавно я заметил, что это сообщение появляется на консоли:

2015-06-12 09:57:39.723 AddingContactToAddressBook[819:291346] Интервал HangTracer равен 0, принудительно устанавливается на 1 с

2015-06-12 09:57:39.725 AddingContactToAddressBook[819:291346] сделал новое подключение к трассировщику зависаний: 0x332e10

Я погуглил и нашел только упоминание в Твиттере о «Что это за новое волшебство?».

На самом деле, я не знаю, является ли мой код причиной этой проблемы.

 -(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;
}
}

person Jadekin    schedule 12.06.2015    source источник
comment
Теперь появляется это сообщение: 2015-06-12 10:12:12.943 AddingContactToAddressBook[824:293782] Stopping HangTracer   -  person Jadekin    schedule 12.06.2015
comment
Спасибо за вопрос, волшебство здесь идеально подходит.   -  person LinusGeffarth    schedule 21.06.2015


Ответы (1)


Отладка с точкой останова на NSLog приводит к вызову [UIApplication startHangtracer:]. Это происходит в потоке под HTStartHangTracing.

Тот факт, что это происходит, начиная с iOS 9, и что это изнутри UIApplication, дает мне сильное представление о новой системе отчетов об ошибках Apple в iOS 9.

Это может быть просто часть об обнаружении зависания приложения.

Кто-то должен исследовать отчеты об ошибках своих приложений при их распространении через TestFlight, чтобы подтвердить, что этот HangTracer является частью этого.

person vrwim    schedule 13.06.2015
comment
О, спасибо за объяснение. На самом деле, это был первый раз, когда я увидел это сообщение, поэтому оно было очень запутанным. - person Jadekin; 16.06.2015
comment
То есть вы говорите, что мне, как разработчику, не о чем беспокоиться? Потому что я испытываю проблему с этого момента. Я обновился вчера и еще не наткнулся на него, что удивительно... - person LinusGeffarth; 21.06.2015
comment
@ЛинусГ. Кажется, это происходит не всегда, и да, вам не стоит беспокоиться. - person vrwim; 21.06.2015