在使用UIManagedDocument的Xcode 4.5的iPhone模拟器5.1中的错误

我有一个非常奇怪的问题,我花了两天的时间来解决…我有一段代码在Xcode 4.4和iOS 5.1 Simulator上使用5.1 SDK工作得很好。 在我更新到Xcode 4.5和6.0 SDK后,我的代码在iOS 5.1 Simulator中停止工作,即使它在iOS 6.0 Simulator中工作得非常好。 有没有我没有意识到的变化?

这是代码:

- (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模拟器中返回。 任何人都知道为什么?

我有iPhone模拟器5.1下相同的问题。 该文件很长时间(30秒)后创build。 但是完成处理程序从不被调用。 你在设备上试过了吗?

编辑:这似乎是iOS模拟器5.1中的错误。 我使用iOS 5.1.1编译了旧iPad上的代码,并且没有任何错误!

不能说你的项目,但这里肯定是Xcode 4.5。

我在虚拟机上安装了一个带有Simulator 5.1的Xcode 4.3.1的副本,并猜测这个工作是否完美无瑕

– > Xcode4.3.1 / Simulator5.1的作品!

– > Xcode4.5 / Simulator5.1有问题

– > Xcode4.5.1 / Simulator5.1有问题

作为一种解决方法,你可以在Xcode – > Preferences – > Downloads下载模拟器的5.0版本。 那个工作。

我不相信这个问题是在模拟器中。 我有完全相同的问题(应用程序运行在6.0,但不是在5.x),我也试图运行它在一个设备,它发生的是完全一样的。 (我在这里解释我的问题)

我的问题发生在5.0和5.1。 例如,我甚至无法在任何iOS 5.x模拟器中正确运行“Master-detail Application”模板,但它在6.0中正常运行。 即使我在设备上试用这个模板,它也不能正常工作。 所以我真的相信这个问题是在XCode 4.5中。