問題タブ [nsuseractivity]
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 - 特定の NSUserActivity 検索インデックスを削除するには?
NSUserActivity
検索用にユーザー アクティビティのインデックスを作成するために使用します。特定の を削除し、をにNSUserActivity
割り当てる解決策を見つけました。CSSearchableItemAttributeSet
relatedUniqueIdentifier
NSUserActivity
そしてそれを使用して削除します
それが正しい解決策かどうかはわかりません。NSUserActivity
特定の検索インデックスを削除するためのより良い解決策はありますか?
ios - 現在のアプリで NSUserActivity の継続 (ユニバーサル リンクの開始) をトリガーする方法は?
iOS9 のユニバーサル リンクはハンドオフ メカニズムを使用して、ブラウザではなくアプリ内のリンクを確認します。ユニバーサル リンクがクリックされるたびに、iOS は対応するアプリをアクティブ化し-application:continueUserActivity:restorationHandler
、ユニバーサル リンクの URL を含むユーザー アクティビティで呼び出します (ユニバーサルの Apple ガイドを参照してください)。リンク)。
このメカニズムを手動でトリガーしたいと思います。つまりNSUserActivity
、プロパティを持つインスタンスを作成し、webpageURL
それをディスパッチして現在のアプリの-application:continueUserActivity:restorationHandler
. これを達成する方法はありますか?
現時点では-application:continueUserActivity:restorationHandler
直接呼び出すだけですが、これは間違っていると感じており、より適切な方法で実装したいと考えています。
objective-c - コア スポットライトの説明が切り捨てられる
説明の文字数が 150 文字未満であっても、コア スポットライトの説明が切り捨てられることに気付きました。
Apple のコメント : タイトルと同様に、長い説明も切り詰められる可能性があるため、説明は 300 文字に制限することをお勧めします。
Apple が 300 の制限を推奨しているため、文字の長さが 150 未満であるにもかかわらず、なぜコア スポットライトの説明が切り捨てられるのか疑問に思っていました。
あなたの助けに感謝。
ios - 検索用の iOS 9 NSUserActivity がサムネイルを更新しない
索引付けにはNSUSerActivity
andを使用します。いつものようにプロパティCoreSpotlight
に設定します。画像はサーバーからダウンロードされ、画像がダウンロードされる前にアクティビティ オブジェクトが作成されます。そこで、「プレースホルダー」画像を設定し、機会があれば正しい画像に更新します。しかし、Spotlight で同じアイテムを検索しようとすると、画像は同じままです。thumbnailURL
contentAttributesSet
contentAttributesSet.thumbnailURL
そのような情報を更新する際に注意しなければならない特別な条件はありますか?
ios - iOSハンドオフをデバッグするには?
ハンドオフを処理するはずのアプリに少量のコードを追加しました。simple を作成し、プロパティをそれにNSUserActivity
設定して現在のものにするだけです。-[UIViewController userActivity]
そして、適切なNSUserActivityTypes
配列をに追加しましInfo.plist
たが、まだ何も機能しません。両方のデバイスが同じ iCloud アカウントにログインしており、Safari Handoff は完全に機能します。あらゆることを試してみましたが、アプリのアイコンが他のデバイスのロック画面に表示されません。エラーも警告も何もありません。どうすればデバッグできますか?
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 - NSUserActivity : ループを使用した複数の NSUserActivity のインデックス作成
NSUserActivities
同じ型の複数のインデックスを作成したい。同じコードを以下に示します。
上記のコードから、NSUserActivities をname1, name2, name3 and name4
作成する必要があります。しかし、私が得ているのは、NSUseractivity がオーバーライドされていることです。つまり、name4
インデックスが作成されているだけです。
コードに何が欠けていますか?