Я использую UIManagedDocument в iOS 5.0, запускаю приложение на симуляторе, используя XCode 4.2 под OSX 10.6.Рассматриваемый код выглядит следующим образом:
if (![[NSFileManager defaultManager] fileExistsAtPath:[self.photoDatabase.fileURL path]]) {
// does not exist on disk, so create it
[self.photoDatabase saveToURL:self.photoDatabase.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
[self setupFetchedResultsController];
[self fetchFlickrDataIntoDocument:self.photoDatabase];
}];
} else if (self.photoDatabase.documentState == UIDocumentStateClosed) {
// exists on disk, but we need to open it
// *** the following line generates the message ***
[self.photoDatabase openWithCompletionHandler:^(BOOL success) {
//[self setupFetchedResultsController];
}];
} else if (self.photoDatabase.documentState == UIDocumentStateNormal) {
// already open and ready to use
[self setupFetchedResultsController];
}
Выполнение отмеченной строки создает следующее сообщение в журнале:
2012-01-10 22:33:17.109 Photomania[5149:4803] NSFileCoordinator: A surprising server error was signaled. Details: Connection invalid
После отправки сообщения UIManagedDocument может или не можетработа - я пока не нашел обстоятельств, которые это определяют.
Я почти уверен, что код правильный, поскольку на самом деле это один из примеров кода в курсе CS193p из Стэнфорда.Весь пример можно скачать на их веб-сайте по адресу http://www.stanford.edu/class/cs193p/cgi-bin/drupal/ Прямая ссылка на код: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/sample_code/Photomania_0.zip
Кроме того, код работает на самом устройстве нормально, без генерации «удивительного» сообщения,и запуск всего кода, который потом приходит, просто отлично.
Я не нашел ничего ни в Google, ни на страницах Apple Developer.Перезапуск симулятора или XCode, или переустановка их обоих не меняет поведение.
Есть идеи?