問題タブ [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 - Swift 3 / iOS 10 で continueUserActivity をトリガーできない
注: 私はこれのほとんどを理解しました - 最後にアップデートを見てください. まだいくつかの混乱。
Swift 3 の下で Xc8b6 に NSUserActivity 処理を実装しようとしていますが、ハンドラー プロトコル メソッドのメソッド シグネチャに問題があります。
現在のドキュメントでは、メソッドは次のように言われています。
これは、Swift ヘッダー インターフェイスで見たものとわずかに異なります。そこで、restoreHandler の戻り型は Swift.Void です。
これを試すと、次のエラーが表示されます。
メソッド 'application(_:continue:restorationHandler:)' によって提供される Objective-C メソッド 'application:continue:restorationHandler:' は、要件のセレクター ('application:continueUserActivity:restorationHandler:') と一致しません。
コンパイラの警告が今のところ良くないことはわかっていますが、これは、これに対する Obj-C メソッドの署名が見つかったことを意味すると考えていますが、どういうわけか私の引数が完全に一致していません。
これで他にどこに行くべきかわかりません。そこにあるものと一致しますが、何かが間違っています。ランダムな推測とチェックはまだ役に立ちません。
興味深いことに、オートコンプリートは別のメソッド シグネチャを提供します。
これの良いところは、コンパイルできることです。あまり良くないのは、Spotlight からインデックス付きのアイテムを選択し、それをタップしてアプリを起動しても、トリガーされないことです。
明らかに、私の NSUserAction はアプリを正しく識別して起動しました。ここで、restoreHandler を起動しない場所で見逃している可能性があるものはありますか? これは、iOS 9 で正常に実行されたプロジェクトから変換されたものです。
また、What's New With Search の WWDC ビデオで、プロトコル メソッド シグネチャのさらに別のバージョンを見ました。私はそれを試しましたが、コンパイルされましたが、どちらもトリガーしませんでした。
締めくくりとして、これは Swift 3 変換ツールが完成した後の署名です。コンパイルされましたが、スポットライトから起動したときにトリガーされませんでした:
- - アップデート - - -
Ok。したがって、上記の最初のメソッド シグネチャは正しいものです。問題は、AppDelegate の拡張機能で定義していたことです。これは Swift 2.x ではうまくいきました。
私はそれを上に移動しました、そしてすべては大丈夫です。しかし、拡張機能からプロトコル メソッドを実装するときにこれらのコンパイル エラーが発生する理由をよりよく理解したいと思います。プロトコルの適合性を維持できなくなりましたか? 拡張機能に追加しようとすると、重複していることを示すエラーが表示されるので、それだけではないと思います。
ios - iOS ハンドオフ - getContinuationStreams が常に失敗する
NSInputStream
と を介してより大きなデータを取得して、iOS ハンドオフを実装しようとしていNSOutputStream
ます。メソッドでユーザーアクティビティを正常に受信すると、application(_:continue:restorationHandler:)
呼び出しますgetContinuationStreams
が、常にエラーで失敗します:
エラー Domain=NSCocoaErrorDomain Code=4609 「ネットワークが利用できないため、ハンドオフを完了できませんでした。」UserInfo={NSUnderlyingError=0x17db43c0 {エラー ドメイン=NSPOSIXErrorDomain Code=51 "ネットワークに到達できません" UserInfo={NSLocalizedDescription=接続が失われました}}}
の辞書は空userInfo
でNSUserActivity
はなく、正常に受信されました。
Apple の Handoff Programming Guideとこの記事に従いました。
ユーザーアクティビティを作成するコードサンプルは次のとおりです。
AppDelegate では、次のようにユーザー アクティビティを受け取ります。
パラメータinputStream
とoutputStream
は常に nil です。
私は何を間違っていますか?誰も手がかりを持っていますか?
ios - iOS10 Swift 3 コア スポットライト検索で nsuseractivity のタイトルを取得できない
userActivity.title で何も得られないので、appdelegate で nil になります。以下を確認してください。これは以前は ios9 で機能していましたが、覚えています。attributeSet.title に設定されたタイトルを取得する必要がありますが、常に nil です。
私のアイテムをインデックス化するコード
アプリ デリゲートのコード
ios - 指示の NSUserActivity が機能しない
アプリから mapItem を使用して NSUserActivity を実装する際に問題が発生しています。
私が望むのは、Foursquare のように、アプリ スイッチャーで「道順を取得」の提案を使用できるようにすることだけです。
viewDidLoad
登録したい場所(パブ)を表示するView Controllerで、メソッドで次のコードを使用しています。
これを実行すると、コンソールに次のように表示されます。
activity
これは、私のアイテムが何らかの理由ですぐに無効になっていることを示唆しています。以下を追加して設定しましたexpirationDate
が、コンソールに同じメッセージが表示されます。
私が知る限り、ここのドキュメントのすべてに従っています https://developer.apple.com/reference/foundation/nsuseractivity?language=objc
また、アクティビティ タイプを に追加しましたがNSUserActivityTypes
、これはアプリを起動してアクティビティ オブジェクトを受け取る場合にのみ厳密に必要であると思いますが、これは現在関心のあることではありません。
解決済み: 以下の @raidfive からの正解に基づいてactivity
、強力な参照を持つクラス プロパティになりました。
ios - Universal Links iOS でデータを追加するには?
アプリでディープ リンク/ユニバーサル リンクを使用しています。これまでのところすべて正常に機能していますが、これらのリンクに追加情報を追加できるかどうかを知りたいので、ユーザーがそれらをタップするとデータが返されます. 必要に応じてサーバーなどにデータをロードできますか?
ありがとう!