問題タブ [nsmetadataquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iCloud コンテナ上のドキュメントの存在を確認する
ファイルがローカルにダウンロードされていない場合でも、アプリケーションの iCloud コンテナーにドキュメントが存在するかどうかを検出するために NSMetadataQuery を使用しています。
NSFilePresenter を持つ NSFileCoordinator は同じことを行うことができますか? ファイルがまだローカルで利用できない場合でも、ファイルが存在することを確認しますか?
更新: ユビキタス コンテナーにファイルが存在するかどうかを検出するために、しばらくの間 NSMetadataQuery を使用してきました。しかし、少なくとも 10.8.2 でテストすると、常に機能するとは限りません。ファイルの存在について多くの偽陰性を取得しています。
他の人が I Belive ファイル コーディネーターを使用していることは知っています。誰かがこれについて意見を持っていますか、またはそれらの使用方法の例を教えてください。
ios - NSMetadataQueryDidUpdateNotification が立て続けに何度も呼び出されるのはなぜですか?
iCloud コンテナ内のファイルの変更を監視するために、登録しました
理想的には、更新が行われたというメッセージを受け取るたびに、各 UIDoc を開いて、設定が変更されているかどうかを確認したいと思います。NSMetadataQueryDidUpdateNotification
一度だけ呼び出された場合、これは問題ありません。ただし、それは数回発生しています (私は etc. を忘れず、removeObserver
いくつかのインスタンスを実行しています)。したがって、更新通知が発生するたびにすべてのファイルをロードすることは非常に非現実的です (5 つのファイルがあり、これが 4 回呼び出されている場合、20 個の UIDoc を立て続けに開きます)。たとえば、これは、1 つのファイルを更新した場合に発生します (そして、ユビキタス コンテナーに 1 つのファイルしかありません)。
ファイルがいつ変更されたかを判断する他の方法はありますか? NSFileVersion もあまり役に立ちませんでした。
ios - iCloudエラー「操作を完了できませんでした。(LibrarianErrorDomanエラー10-コレクションを構成できません。)」
既存のアプリをiCloudに移行したい。
何をすべきかを学ぶために、デモで説明されているように機能するサンプルアプリを試しました(iTunesスタンフォード大学のコースの講義17に見られるように)。
この問題を抱えている人は、次の問題を引き起こすために私が台無しにしたステップを診断するのを手伝ってくれますか?これは基本的に、クエリするデータがないことを示しているだけですか?または、適切に構成されていない何かが起こっていますか?
私は私のコンソールで次のものを取得しています(これは私が呼び出した直後に以下のコードで発生します[self.iCloudQuery startQuery];
iTunes接続でiCloudがオンになっている開発プロビジョニングプロファイルを作成しました。
資格をオンにしました。内容は次のとおりです。
コードは、スタンフォード大学のiTunes講義から直接引用したものです。
macos - サンドボックス アプリでのデスクトップへのアクセス
新しく撮影したスクリーンショットを開く機能を持つアプリケーションを構築しています。Mac App Store を利用して配布したいと考えています。残念ながら、サンドボックス化する必要があります。
新しいスクリーンショットを見つけるために、NSMetaDataQuery を実行します。いくつかのエントリが返されますが、残念ながらそれらの URL はデスクトップ (アプリのサンドボックスの外) にあるため取得できません。
どうすればこれを修正できますか?
ここにコードの一部があります
ありがとう
ios - UIDocument の icloud NSMetadataQuery の結果を変更日で並べ替えるにはどうすればよいですか?
iCloud ストレージ用の単一のコンテンツ フィールドを持つシンプルな UIDocument モデルを使用する iOS アプリケーションがあります。ドキュメントのリストを取得して、NSMetadataQuery を使用して UITableView に入力します。新しいドキュメントをこのテーブルの一番上に表示したいのですが、デフォルトの並べ替えは古いものから新しいものに見えます。
ドキュメントにカスタム日付フィールドがあるかどうかはわかっていますが、そのフィールドで NSSortDescriptor を使用してクエリを並べ替えることができますが、私の質問は、UIDocument iCloud ストレージを介して作成されたファイルの固有の変更日で並べ替えることは可能ですか? または、これを行うための別の好ましい方法はありますか?
objective-c - iCloud NSMetadataItems の NSMetadataItemFSCreationDateKey は常に null です
NSMetadataQuery を実行すると、結果が返され、ファイル パスが取得されますが、NSMetadataItemFSCreationDateKey は常に null です。例えば:
上記のコードをブレークポイントすると、fileURL は適切に設定されますが、theDate は常に nil です。
iOS 6でこれをテストしています。
objective-c - NSMetadataQuery 検索結果を制限する方法
NSMetadataQuery を使用してスポットライトのような検索を実行していますが、直面している問題は、NSMetadataQuery が /Users/username/Library のような特定の隠しフォルダーを検索することを制限できないことです (ライブラリは隠しフォルダーであるため)。
どんな助けでも大歓迎です。
macos - NSMetadataQueryの検索範囲
NSMetadataQueryの検索範囲から/Users/ username / Library(デフォルトでは非表示)を除外する方法はありますか?
macos - 検索文字列述語
NSMetaDataQuery を使用して検索クエリを作成し、以下のように述語を展開しようとしています。
私が直面している問題は次のとおりです。
Google Chrome という名前のアプリケーションがあるとします。
検索文字列として「google」を検索すると、「Google Chrome」という結果を取得できますが、「chrome」を検索している場合、「Google Chrome」を検索できません。
同様に、検索文字列が「Suhail」の場合、表示結果は「Suhail 嫌いな人はいません」ですが、検索文字列が「嫌い」の場合、結果は何も表示されません。
もう 1 つのケース: ファイル名が「faMee」であるとします。
「amee」で検索しましたが、結果は何もありません。「mee」を検索すると結果は何もありませんが、スポットライトで「mee」を検索すると、ファイル「faMee」が表示されます。
任意の提案をお願いします。
macos - NSMetadataQueryからの結果をグループ化する方法
スポットライトが実行するときにローカルデータに対してクエリ(NSMetadataQuery)を実行し、ファイルの変更日に従って結果を並べ替えています。この時点まではすべて正常に機能しています。しかし、結果をどのようにグループ化できるか理解できません。たとえば、あるグループにアプリケーション、別のグループにドキュメント、画像グループに画像(スポットライトと同様)が必要な場合、誰でもその方法を提案できます。