2013-12-09 5 views
1

우리는 야생에서 이러한 종류의 충돌을 당했으며 물론 우리는이를 로컬에서 다시 페포 할 수 없습니다. 그것이 ios 7에서만 발생하는 것처럼 보입니다. NSInternalInconsistencyException이라는 사실은 내부 NSAssertion 오류라는 것을 알려줍니다. 이런 일이 발생하지 않도록하는 모든 아이디어는 대단히 감사하겠습니다."[EKObjectID entityName]"충돌이 발생했습니다

Thread : Fatal Exception: NSInternalInconsistencyException, 
Unknown entity type while trying to create an object ID 

0 CoreFoundation     0x2d69bf4b __exceptionPreprocess + 130 
1 libobjc.A.dylib    0x37a2b6af objc_exception_throw + 38 
2 CoreFoundation     0x2d69be25 +[NSException raise:format:] 
3 Foundation      0x2e043fe3 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 90 
4 EventKit      0x2ddf2e2b -[EKObjectID entityName] + 202 
5 EventKit      0x2ddf2c65 -[EKEventStore _addFetchedObjectWithID:] + 56 
6 EventKit      0x2ddf2c0d __78-[EKEventStore registerFetchedObjectWithID:withDefaultLoadedProperties:inSet:]_block_invoke + 80 
7 libdispatch.dylib    0x37f0ed07 _dispatch_client_callout + 22 
8 libdispatch.dylib    0x37f20e73 _dispatch_barrier_sync_f_invoke + 26 
9 EventKit      0x2ddf2b05 -[EKEventStore registerFetchedObjectWithID:withDefaultLoadedProperties:inSet:] + 156 
10 EventKit      0x2ddfa371 __41-[EKPredicateSearch startWithCompletion:]_block_invoke + 652 
11 EventKit      0x2ddfa001 -[EKDaemonConnection _processReplyWithID:data:finished:] + 264 
12 EventKit      0x2ddf9ef3 CADReceiveReply + 98 
13 EventKit      0x2ddf9e5f _XReply + 102 
14 EventKit      0x2ddf9dd5 ClientCallbacks_server + 64 
15 libdispatch.dylib    0x37f11a9d dispatch_mig_server$VARIANT$up + 312 
16 EventKit      0x2ddf9d6d __43-[EKDaemonConnection initWithOptions:path:]_block_invoke16 + 40 
17 libdispatch.dylib    0x37f0f057 _dispatch_source_invoke$VARIANT$up + 258 
18 libdispatch.dylib    0x37f218f9 _dispatch_root_queue_drain + 76 
19 libdispatch.dylib    0x37f21b79 _dispatch_worker_thread2 + 56 
20 libsystem_pthread.dylib  0x38050dbf _pthread_wqthread + 298 
21 libsystem_pthread.dylib  0x38050c84 start_wqthread + 8
+0

Herman 나는 동일한 문제를 가지고 있습니다. 지금까지 재현 할 수 없지만 추가 조사 결과가 있으면 여기에 다시보고하겠습니다. –

+0

나는 한 번만 작업자 스레드에서 디버거에서이 문제를 일으켰습니다. 불행히도 근본 원인에 대한 명확한 정보는 없었습니다. 결국 불쾌한 전화는 EKEventStoreChangedNotification의 결과로 발생합니다. 또한 어떤 결과도없이 구독 한 .ical 피드에 이모티콘 및 기타 유니 코드 문자를 삽입하려고 시도했습니다. 초기 게시물 또는 공유 할 추가 정보 이후에이를 유발할 수있는 확실한 방법을 찾았습니까? –

+0

@HenrikHartz 아직 아니지만, 나는 그것을 쫓는 과정에 있습니다. 위의 stacktrace에 "EKPredicateSearch startWithCompletion"이 있기 때문에 어떤 종류의 의미가 있는지 [EKEventStore eventsMatchingPredicate :]와 관련이있는 것 같습니다. 아무것도 찾으면 여기에서 업데이트됩니다. – Herman

답변

2

그것은이 버그의 원인처럼 보인다는 우리가 우리의 응용 프로그램에려고 얼마나 많은 사건과 관련이 여기

는 스택 트레이스입니다. 사과의 버그 보고서 (15424747)에 대한 답입니다.

이 버그는 우리 앱이 넓은 범위의 날짜와 함께 eventStore에 대해 술어를 작성했을 때 발생합니다. 여기에 코드입니다 :

NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:nil]; 
if (!self.masterListSortDescriptor) {  
    self.masterListSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"startDate" ascending:YES]; 
} 
NSArray *result = [[self.eventStore eventsMatchingPredicate:predicate] sortedArrayUsingDescriptors:@[self.masterListSortDescriptor]]; 

이 코드 블록이 실패 할의 startDate = 오늘 경우 - 1 년 endDate가 = 오늘은 + 2 년입니다. 우리는이 문제를 startDate = Today - 6 months 및 endDate = Today + 1 year로 축소하여이 문제를 "해결"했으며이 버그는 우리의 충돌 로그에서 사라집니다.

관련 문제