問題タブ [pushkit]

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 に答える
96 参照

ios - iOS 8.x アプリがバックグラウンド起動でクラッシュする

PushKit を使用して VoIP iOS アプリを開発しています。PushKit ペイロード メッセージを取得した後、アプリはバックグラウンド状態で起動されるはずです。ペイロードを受信した後、ソケットを開始してサーバーに接続しています。iOS 9 以降のデバイスではすべて正常に動作します。しかし、アプリがクラッシュする iPhone 5c (iOS 8.1) デバイスがあります。クラッシュの原因を突き止めることはできません。

クラッシュ後に取得しているこのスタック トレース

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

ios - ストーリーボードやその他のインタラクティブ機能をロードせずに PushKit ペイロードを処理する

PushKit を使用して通知を受け取るアプリがあります。(これは VoIP アプリではありませんが、ヘルスケアで特定のニーズを持つ特別なアプリ カテゴリであるため、PushKit を使用するよう Apple から認可を受けています)。

アプリが実行されていないときに PushKit 通知が届くと、システムはアプリをバックグラウンドで起動し、プッシュ キット デリゲート ペイロード プロセッサが呼び出されます (PKPushRegistryDelegate pushRegistry:didReceiveIncomingPushWithPayload:forType:)。その後、アプリは再び閉じられます。アプリがグラフィカルなインタラクティブな状態になることはありません。

これで問題ありません。ただし、iOS は完全なアプリの起動を行い、ストーリーボードとすべてをロードします。さらに、UIApplicationDelegate アプリケーション:willFinishLaunchingWithOptions: では、起動オプションが nil であるため、プッシュ キットを処理するために起動されていることを認識できず、インタラクティブにはなりません。

PushKit 通知を処理するためだけに設定する必要がなく、設定するべきではないリソース、サーバー接続などの完全な「重い」設定をアプリが行うため、これが問題を引き起こしています。これにより、接続されている特定のもの (サーバー接続など) によって、PushKit が処理されている (そしてアプリが消える) ときに望ましくない動作が発生するため、いくつかの問題が発生しています。

プッシュキットの目的で起動されたことを知り、通常行われるすべてのアプリのセットアップを行わないようにする方法はありますか? (その後、アプリがアクティブに移行した場合、通常のアクティブ状態の移行を使用してセットアップを完了することができるはずです)

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

ios - iOS 10 のローカル通知は、画面のロックが解除されたときに早期に破棄されます

私は最近、別のユーザーが「電話をかけている」ときに電話を鳴らし、発信者が電話を切るとすぐに通知を却下できるように、使用PushKitと実装に切り替えました。local notifications

私はこれを使用してこれを行っていpushkitます。発信者が電話をかけると、pushkitプッシュが送信され、local notification28 秒間のサウンド (繰り返し) が再生されるため、サウンドが再生されている間ずっと通知が表示されたままになります (少なくとも古い iOS バージョンでは)。 . 発信者が電話を切ると、別のプッシュキット プッシュが送信され、以前のローカル通知がキャンセルされ、別の「不在着信」がポップアップします。発信者が電話を切らない場合、通話は 20 秒後にタイムアウトになり、「不在着信」通知が送信されます。

したがって、私の問題iOS 10、画面のロックが解除されている場合、発信者の行動に関係なく、「呼び出し中」の通知が約6〜7秒後に消えることです。その後、発信者が電話を切ると、「不在着信」通知が表示されます。

iOS 9およびでは、ユーザが電話を切るiOS 8か通話がタイムアウトするまで、通知はユーザの画面に表示されたままになります。

画面のロックが解除されている場合、iOS 10 でローカル通知が 6 ~ 7 秒以上画面に表示されるようにするために何か特別なことをしなければなりませんか?

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

ios - UIRemoteNotificationTypeVoip メソッドを setKeepAliveTimeout メソッドに置き換えるには?

私のXCodeプロジェクトでは、以下のコードのようsetKeepAliveTimeoutにメソッドインメソッドを使用しました。applicationDidEnterBackground

setKeepAliveTimeoutメソッドが非推奨であり、メソッドを使用したいことを示していますUIRemoteNotificationTypeVoip

メソッドを検索しましUIRemoteNotificationTypeVoipたが、十分な結果が得られません。そのメソッドのドキュメントさえdeveloper.apple.comありません。

問題:UIRemoteNotificationTypeVoipが使用されている場所を変更するにsetKeepAliveTimeoutは?

知っている人がいたら、答えを教えてください。

前もって感謝します!

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

ios - Pushkit VoiP プッシュ通知は、アプリの実行時間をウェイクアップします

アプリが (開発者の APNS を使用して) バックグラウンドから削除されている間に VoIP プッシュ通知を受信すると、アプリが 10 分間ほど起動します。
今回は実稼働 APNS を使用して同じことを行うと、アプリが 8 ~ 10 秒間ウェイクアップします。
そこにあるトリックは何ですか?アプリケーションの製品版が 30 秒以上起動できないのはなぜですか? 私がしなければならないすべての仕事には10秒では足りないので、起床時間を延長する方法はありますか?

編集

最後に、バックグラウンド時間は問題ありませんでした。フォームの背景を完全に削除し、voip 通知によって起動すると、アプリがクラッシュしていました。クラッシュではなく、限られた実行時間だと思っていました。そのクラッシュを修正したとき、すべてが正常に機能していました。