2010-07-06 2 views
0

앱을 중단시키는 버그가있는 코어 데이터 앱이 있는데 그 원인을 아직 추적하지 못했습니다. 충돌의 결과 중 하나는 다음에 응용 프로그램을 시작할 때 이전에 응용 프로그램에서 사용한 영구 저장소를 열 수 없다는 것입니다. 다음 오류가 addPersistentStoreWithType: 메서드에서 반환됩니다크래시가 NSPersistentStoreCoordinator의 URL을 무효화합니다.

NSUnderlyingException = Error validating url for store; 

그리고 물론, 이전에 응용 프로그램에 의해 저장된 객체 중 하나를 검색 할 수 없습니다. 누구든지 앱이 영구 저장소를 더 이상 찾을 수 없도록하는 원인을 알고 있습니까?

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libSystem.B.dylib    0x0007e98c __kill + 8 
1 libSystem.B.dylib    0x0007e97c kill + 4 
2 libSystem.B.dylib    0x0007e96e raise + 10 
3 libSystem.B.dylib    0x0009361a abort + 34 
4 libstdc++.6.dylib    0x000453b0 __gnu_cxx::__verbose_terminate_handler() + 376 
5 libobjc.A.dylib    0x00005858 _objc_terminate + 104 
6 libstdc++.6.dylib    0x00043776 __cxxabiv1::__terminate(void (*)()) + 46 
7 libstdc++.6.dylib    0x000437ca std::terminate() + 10 
8 libstdc++.6.dylib    0x00043896 __cxa_throw + 74 
9 libobjc.A.dylib    0x00004714 objc_exception_throw + 64 
10 Foundation      0x000013c2 __NSThreadPerformPerform + 570 
11 CoreFoundation     0x00056a96 CFRunLoopRunSpecific + 1834 
12 CoreFoundation     0x00056356 CFRunLoopRunInMode + 42 
13 GraphicsServices    0x00003b2c GSEventRunModal + 108 
14 GraphicsServices    0x00003bd8 GSEventRun + 56 
15 UIKit       0x00002768 -[UIApplication _run] + 384 
16 UIKit       0x0000146c UIApplicationMain + 688 
17 Meetchu      0x00002568 main (main.m:14) 
18 Meetchu      0x0000251c start + 32 

나는이 정보에서 무슨 일이 일어나고 있는지 알아낼 수 없습니다 :

모든 이런 일 이전에 종료 앱을 일으키는 충돌은 다음과 충돌 로그를 생성합니다. 누구든지 이러한 오류 중 하나를 도울 수 있습니까?

미리 감사드립니다.

+0

추가 정보 : 도메인 = NSCocoaErrorDomain 코드 = 258 –

답변

0

드류,

몇 가지 코드를 보지 않고, 나는 나에게 고통의 하나의 소스가 처음 핵심 데이터 모델을 버전되었다 시작 때 있음을 알 수 있습니다. 어떤 방식 으로든 관리 객체 모델을 변경하면 일부 버전 관리 (즉, 간단한) 코드없이 응용 프로그램이 중단됩니다.

이것은 문제의 원인이 아닐지 모르지만 한 가지 시도는 iPhone 시뮬레이터에서 앱을 제거하거나 iPhone 시뮬레이터 메뉴에서 "콘텐츠 및 설정 재설정"을 사용하는 것입니다. 이 방법으로 문제가 해결되면 마이그레이션 문제가 발생합니다.

건배.

+0

닐, 아이디어에 대한 감사합니다,하지만이 모든 원본 버전으로 일어나고있다 "작업은 (코카 오류 258)을 완료 할 수 없습니다." 관리 객체 모델의 드류 –

1

실제 URL을 앱 디렉토리를 기준으로하여 재생성하는 대신 앱의 디렉토리에있는 파일에 저장하는 경우 잘못된 URL은 시뮬레이터/기기가 앱 디렉토리의 이름을 변경 한 결과입니다. 임의의 UUID로 그것은 때로는 충돌에 대응하여 때로는 그렇게합니다.

확실한 첫 번째 단계는 URL을 기록하고 상점이 실제로 그 위치에 있는지 확인하는 것입니다. 오류에 대한

+0

상대 URL이고 경로를 출력했습니다. 앱이 작동 할 때와 유효하지 않은 경우 모두 경로가 동일합니다. –

+0

가끔 URL이 작동해야한다고 가정합니다. URL이 앱의 다음 시작에서만 실패합니까? 즉 패턴 작동 -> 크래시 -> 실패 -> 작동합니까? 다시 작동하게하려면 충돌 후 아무 것도해야하나요, 아니면 충돌 후 두 번째로 작동할까요? – TechZen

관련 문제