2012-09-24 3 views
9

나는 매우 이상한 문제가 있습니다. 지난 2 일 동안 해결하려고 노력했습니다. Xcode 4.4 및 iOS 5.1에서 완벽하게 작동하는 코드 조각이있었습니다. 시뮬레이터, 5.1 SDK 사용. Xcode 4.5 및 6.0 SDK로 업데이트 한 후 iOS 5.1 시뮬레이터에서 코드가 제대로 작동하지 않지만 코드가 iOS 5.1 시뮬레이터에서 작동하지 않습니다. 내가 알지 못하는 변화가 있었습니까?UIManagedDocument를 사용하여 Xcode 4.5에서 iPhone Simulator 5.1의 버그를 수정했습니다.

- (void)useDocument 
{ 
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.database.fileURL path]]){ 
     [self.database saveToURL:self.database.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){ 
      [self setupFetchedResultsController]; 
    }]; 
    } else if (self.database.documentState == UIDocumentStateClosed){ 
     [self.database openWithCompletionHandler:^(BOOL success){ 
      [self setupFetchedResultsController]; 
     }];   
    } else if (self.database.documentState == UIDocumentStateNormal) { 
     [self setupFetchedResultsController]; 
    } 
} 

saveToURL 및 openWithCompletionHandler은 5.1 시뮬레이터에 돌아 오지 않을 어떤 이유 :

는 코드입니다. 왜 그걸 알아?

+1

정확히 같은 문제가있어서, 5.1 시뮬레이터에 문제가있는 것 같아서 기뻤습니다. 나는 당신의 코드가 Stanford 2011 코스 ('useDocument'의 힌트를주는 메소드)에 기반하고 있다고 생각한다. – brainray

+0

예, UIManagedDocument 설정은 Paul의 코드에서 복사하여 붙여 넣기입니다. 경량 마이그레이션 지원을 추가하는 데는 몇 줄 밖에 차이가 없습니다. –

+0

동일한 문제가 있습니다. 이 문제에 대한 해결책을 찾았습니까? 감사! – Yan

답변

5

iPhone Simulator 5.1에서 같은 문제가 있습니다. 파일이 오랜 시간 (30 초) 후에 생성됩니다. 그러나 완료 핸들러는 호출되지 않습니다. 기기에서 해봤습니까?

편집 : 이것은 iOS 시뮬레이터 5.1의 버그로 보입니다. iOS 5.1.1을 사용하여 이전 iPad에서 코드를 컴파일했고 오류없이 작동했습니다!

+0

나는 한번 테스트를했는데 작동하지 않았다. 하지만 많은 사람들이 시뮬레이터 라고만 말하고 있습니다. 테스트 할 때 코드에 다른 버그가 없는지 궁금합니다. –

5

프로젝트에 대해 말할 수는 없지만 여기서는 분명히 Xcode 4.5입니다.

내가 가상 머신에 시뮬레이터 5.1 엑스 코드 4.3.1의 사본을 가지고 있고, 어떤 추측 : 그 사람이 완벽하게 작동

-> Xcode4.3.1/Simulator5.1 작동한다!

-> Xcode4.5.1/Simulator5.1 당신이 엑스 코드에서 시뮬레이터의 버전 5.0을 다운로드 할 수있는 해결 방법으로

에 결함이 - -> 환경 설정> Xcode4.5 /Simulator5.1는

에 결함이 -> 다운로드. 그 하나 작동합니다.

+0

5.0 시뮬레이터가 있는데 완벽하게 작동합니다. 감사! – Yan

+0

XCode 4.5.2 iOS 5.1 시뮬레이터가 작동하지 않습니다. iOS 5.0 시뮬레이터 (6.0 시뮬레이터)가 작동합니다. 감사. – Joe

-1

나는 시뮬레이터에 문제가 있다고 생각하지 않습니다. 나는 정확하게 동일한 문제 (6.0에서 실행되지만 5.x에서는 실행되지 않음)를 가지고 있었고 나는 또한 장치에서 그것을 실행하려고 시도했으며 정확하게 동일하게 발생했습니다. (내 문제를 설명했다 here)

내 문제는 5.0과 5.1 모두에서 발생합니다. 예를 들어, iOS 5.x 시뮬레이터에서 "Master-detail Application"템플릿을 제대로 실행할 수는 없지만 6.0에서 정상적으로 작동합니다. 장치에서이 템플릿을 사용해도 제대로 작동하지 않습니다. 그래서 문제는 XCode 4.5에 있다고 생각합니다.

+0

질문과 대답을 다시 읽어주십시오 : 여기에 설명 된 문제는 5.1 시뮬레이터에 관한 것입니다. 문제는 iOS 5.x와 iOS 6.0의 차이입니다. – brainray

+0

원래의 질문은 내 문제와 비슷합니다. 사용자는 6.0 Simulator에서 실행할 수 있지만 Xcode 4.5 업데이트 후에는 5.1에서 실행할 수 없습니다. – fabioalmeida

관련 문제