2011-10-27 10 views
1

iCloud(Macから)にあるすべてのファイル(ドキュメント+データ)をリストする方法はありますか? 私はNSMetadataQueryオブジェクトがそれを手伝ってくれると信じていますが、そこにサンプルコードがありますか?iCloudで使用可能なリストファイル

ありがとうございます!

答えて

6

ここでは、iCloudフォルダ内のtxtファイルのクエリを実行するサンプルコードを示します。他のファイルを探したい場合は、単純に述語(NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];)を置き換えてください。

すべてのファイルを一覧表示するには、単純に@"NOT %K.pathExtension = '.'"を実行しますが、これが最も洗練された方法であるかどうかはわかりません。提案は大歓迎です。

this postをご覧になり、コンテキストと完全なコードサンプルを入手してください。ここでは、ファイルを探す方法だけです。

-(void)loadDocument { 

    // (2) iCloud query: Looks if there are txt files in the cloud 

    NSMetadataQuery *query = [[NSMetadataQuery alloc] init]; 
    _query = query; 
    //SCOPE 
    [query setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]]; 
    //PREDICATE 
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey]; 
    [query setPredicate:pred]; 
    //FINISHED? 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:query]; 
    [query startQuery]; 

} 
+0

あなたのコードn.evermindに感謝します。私はそれをmac環境(例えばUIDocumentはありません)上で動作させるように修正しようとします。 –

+0

@LaurentCrivelloあなたも大歓迎です。それが正しいと感じる場合は、正しい答えとしてマークすることを忘れないでください。 –

+0

私は実際に何かファイルを見つけることができません(私は何もアップロードしていない可能性があります...)。しかし、私の目標はPhotoStreamの写真をこの方法で見つけることでした(写真があることが分かりました)。これはあなたの質問と一緒に使えますか?ありがとう。 –

関連する問題