2

UIDocument を読み込んで、そのコンテンツ (ファイル ラッパーにラップされている) をすばやくプレビューしようとしています。私はこのコードを呼び出します:

-(void)previewLoadDocAtURL:(NSURL*)fileURL {
NSLog(@"... loading for preview: %@", [fileURL lastPathComponent]);
FRNBDocument *doc = [[FRNBDocument alloc] initWithFileURL:fileURL];        
[doc openWithCompletionHandler:^(BOOL success) {

    NSLog(@"... loaded for preview: %@", [doc.fileURL lastPathComponent]);

問題は、ログを取得するまでに 40 秒かかることもあれば、数ミリ秒しかかからないこともあります。40 秒は次のとおりです。

2012-06-27 13:58:31.612 Meernotes[4444:11303] ... loading for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
2012-06-27 13:59:11.870 Meernotes[4444:11303] ... loaded for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK

数ミリ秒は次のとおりです。

2012-06-27 14:02:50.829 Meernotes[4510:11303] ... loading for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
2012-06-27 14:02:50.896 Meernotes[4510:11303] ... loaded for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK

なぜそうなのか、どうすれば40秒かかるのを防ぐことができますか?


編集

さらにテストを行いました。これは、ローカル ファイルをロードするときにシミュレータでのみ発生することが判明しました。おもしろいことに、シミュレーターを起動すると 40 秒かかります。次に、シミュレーターを再度開始します。数ミリ秒かかります。その後、シミュレーターを再度開始すると、40 秒かかります。など。これは実際にはバグのように見えます。私は最新の xCode 4.5 DP2 を使用しているので、バグを報告する時が来たと思います。

4

1 に答える 1

2

通常、iCloudファイルはオンデマンドでダウンロードされるため、ドキュメントがiCloudにあり、それまでに開かれたことがない場合は、インターネット接続とファイルサイズによっては時間がかかる場合があります:)

iCloudが何かを初めてロードするときは、通常よりも数秒かかることに気づきました。

最後に、iCloudAPIはすっごくバグが多い。iOS5/OSX10.7で採用されている公式アプリが非常に少ないのも不思議ではありません。しかし、Appleをあまり非難しないでください。結局のところ、それは彼らの最初の繰り返しです:)

于 2012-06-27T13:16:12.447 に答える