を使用して管理対象ドキュメントを開こうとしていますopenWithCompletionHandler:
私が遭遇している問題は、シミュレーターでは正常に動作することですが、iPhone 4でテストすると、完了ハンドラーが終了しません。コードは次のようになります。
[theManagedDocument openWithCompletionHandler:^(BOOL success){
if(success) [self documentIsReady];
if(!success) NSLog(@"Couldn't Open Document");
}];
これはシミュレーターで正常に機能し、documentIsReady
呼び出しに到達します(または、エラーが発生した場合は「ドキュメントを開けませんでした」)。ただし、iPhone 4では、CompletionHandlerブロックが実行されることはありません。ブロック全体(両方のifステートメントの前後)にブレークポイントを設定しましたが、何も呼び出されていません。コンソールに「ドキュメントを開けませんでした」、への呼び出しはありませんdocumentIsReady
。
また、iPhoneでアプリを初めて実行したときは、正しく動作するようです。また、これを呼び出し付きのifステートメントにカプセル化していfileExistsAtPath:
ます。ifステートメントの内部に入り込み、を呼び出していますopenWithCompletionHandler:
が、完了ブロックが起動されることはありません。
iOS5.1とXcode4.3.2を使用しています。