問題タブ [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.
ios9 - CSSearchableItemAttributeSet を優先する検索 API
このように CSSearchableItemAttributeSet を作成できます。
たとえば、SQ2 を検索すると、
私の結果はこのようなものです。
SQ212
SQ222
SQ214
ユーザーが SQ2 を検索するときに SQ214 を優先することはできますか (つまり、SQ214 を最初に表示する)?
indexSearchableItems のインデックスを作成すると、SQ214 が最初に来るか、SQ214 があるかどうかわかりません。しかし、もしあるのなら、それを最初に示したいと思います。
ios - NSUserActivity が Spotlight によってインデックス付けされない
iOS の Spotlight のプライベート インデックスによって NSUserActivity のインデックスを作成しようとしています。Apple のインデックス アクティビティとナビゲーション ポイントガイドのすべての手順に従いましたが、スポットライトによってアクティビティがまったくインデックスされていないようです。
ガイドには次のように書かれています。
アクティビティとそのメタデータが確実にインデックス化されるようにするには、アクティビティがインデックスに追加されるまで、アクティビティへの強い参照を保持する必要があります。これには 2 つの方法があります。最初の方法は、アクティビティを作成するコントローラ オブジェクトのプロパティにアクティビティを割り当てることです。2 番目の方法は、UIResponder オブジェクトの userActivity プロパティを使用することです。
私は最初のオプションを選択しました (NSUserActivity を保持するためにビュー コントローラーにプロパティを作成する)。
ユーザーが何かを検索すると、最後のクエリがデバイス上でインデックス化されるという考え方です。ユーザーアクティビティを準備し、(おそらく)インデックスを作成する次のメソッドがあります。
このメソッドは問題なく呼び出されますが、アクティビティは検索できません。title
割り当てられた を使用して Spotlight で検索しようとしましたが、keywords
. アクティビティは表示されません。
次のような多くのソリューションを試しました。
eligibleForSearch
アクティビティを作成した直後に呼び出しを移動するには。Apple のガイドはこれについて直接何も述べていませんが、提供されたリンクのコード スニペットは、この行を に設定するtrue
とアクティビティがインデックスに自動的に追加されることを暗示しているようです。Apple はそれが呼び出されるべきだとは言っていません
becomeCurrent()
が、むしろあなたのために呼び出されると言っています (どのように? わかりません)。どう見ても自分で呼んでみました。また、プロパティに割り当てた後に呼び出してみました。サイコロはありません。Apple は、 asbecomeCurrent()
を持つアクティビティを呼び出すと、それがインデックスに追加されると言っています。eligibleForSearch
true
userActivity
アクティビティの作成と構成のために、View Controller のプロパティを直接使用するところまで行きました。提供されたプロパティを使用しているため、早期に割り当てを解除するべきではありません。
私が知る限り、私は Apple がガイドで行っているすべてのことを行っています。私は完全に迷っています。
私は iPhone 6S+ でテストしているので、Spotlight インデックスを利用できます。コンソールには、Spotlight に関連するものも出力されません。
アップデート:
アクティビティのデリゲートを設定してself
、メソッドを実装しましたuserActivityWillSave
。
NSUserActivityDelegate
ドキュメントによると、約userActivityWillSave:
ユーザー アクティビティが保存され、継続または永続化されることをデリゲートに通知します。
したがって、このデリゲート メソッドが呼び出されますが、インデックス付きのアイテムはどこにも見つかりません。更新されたコードは次のとおりです。
ios - Applebot が自分のサイトのインデックスを開始したかどうかを知るにはどうすればよいですか?
サイトのコンテンツを Spotlight および Safari の検索結果で利用できるようにするために、Apple が必要とするすべてを実装しました。
- Web マークアップ
- ユニバーサルリンク
- 資格 + 関連付け
ただし、サイトはまだスポットライトまたはサファリ検索に表示されません.
Applebot がサイトのインデックス作成を開始したかどうか、または何が欠けているかを追跡する方法はありますか?