問題タブ [ios-searchapi]

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.

0 投票する
0 に答える
70 参照

ios9 - CSSearchableItemAttributeSet を優先する検索 API

このように CSSearchableItemAttributeSet を作成できます。

たとえば、SQ2 を検索すると、

私の結果はこのようなものです。

SQ212
SQ222
SQ214

ユーザーが SQ2 を検索するときに SQ214 を優先することはできますか (つまり、SQ214 を最初に表示する)?

indexSearchableItems のインデックスを作成すると、SQ214 が最初に来るか、SQ214 があるかどうかわかりません。しかし、もしあるのなら、それを最初に示したいと思います。

0 投票する
1 に答える
999 参照

ios - NSUserActivity が Spotlight によってインデックス付けされない

iOS の Spotlight のプライベート インデックスによって NSUserActivity のインデックスを作成しようとしています。Apple のインデックス アクティビティとナビゲーション ポイントガイドのすべての手順に従いましたが、スポットライトによってアクティビティがまったくインデックスされていないようです。

ガイドには次のように書かれています。

アクティビティとそのメタデータが確実にインデックス化されるようにするには、アクティビティがインデックスに追加されるまで、アクティビティへの強い参照を保持する必要があります。これには 2 つの方法があります。最初の方法は、アクティビティを作成するコントローラ オブジェクトのプロパティにアクティビティを割り当てることです。2 番目の方法は、UIResponder オブジェクトの userActivity プロパティを使用することです。

私は最初のオプションを選択しました (NSUserActivity を保持するためにビュー コントローラーにプロパティを作成する)。

ユーザーが何かを検索すると、最後のクエリがデバイス上でインデックス化されるという考え方です。ユーザーアクティビティを準備し、(おそらく)インデックスを作成する次のメソッドがあります。

このメソッドは問題なく呼び出されますが、アクティビティは検索できません。title割り当てられた を使用して Spotlight で検索しようとしましたが、keywords. アクティビティは表示されません。

次のような多くのソリューションを試しました。

  • eligibleForSearchアクティビティを作成した直後に呼び出しを移動するには。Apple のガイドはこれについて直接何も述べていませんが、提供されたリンクのコード スニペットは、この行を に設定するtrueとアクティビティがインデックスに自動的に追加されることを暗示しているようです。

  • Apple はそれが呼び出されるべきだとは言っていませんbecomeCurrent()が、むしろあなたのために呼び出されると言っています (どのように? わかりません)。どう見ても自分で呼んでみました。また、プロパティに割り当てた後に呼び出してみました。サイコロはありません。Apple は、 asbecomeCurrent()を持つアクティビティを呼び出すと、それがインデックスに追加されると言っています。eligibleForSearchtrue

  • userActivityアクティビティの作成と構成のために、View Controller のプロパティを直接使用するところまで行きました。提供されたプロパティを使用しているため、早期に割り当てを解除するべきではありません。

私が知る限り、私は Apple がガイドで行っているすべてのことを行っています。私は完全に迷っています。

私は iPhone 6S+ でテストしているので、Spotlight インデックスを利用できます。コンソールには、Spotlight に関連するものも出力されません。

アップデート:

アクティビティのデリゲートを設定してself、メソッドを実装しましたuserActivityWillSave

NSUserActivityDelegateドキュメントによると、約userActivityWillSave:

ユーザー アクティビティが保存され、継続または永続化されることをデリゲートに通知します。

したがって、このデリゲート メソッドが呼び出されますが、インデックス付きのアイテムはどこにも見つかりません。更新されたコードは次のとおりです。

0 投票する
0 に答える
61 参照

ios - Applebot が自分のサイトのインデックスを開始したかどうかを知るにはどうすればよいですか?

サイトのコンテンツを Spotlight および Safari の検索結果で利用できるようにするために、Apple が必要とするすべてを実装しました。

  • Web マークアップ
  • ユニバーサルリンク
  • 資格 + 関連付け

ただし、サイトはまだスポットライトまたはサファリ検索に表示されません.

Applebot がサイトのインデックス作成を開始したかどうか、または何が欠けているかを追跡する方法はありますか?