問題タブ [ancs]
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 - eBay の安価な nRF51822 モジュールを使用して iOS デバイスと通信し、通知 (ANCS) を取得できますか?
eBay の安価な nRF51822 ボードを使用して、Apple Notification Center Service (ANCS) で iPhone から通知を受け取ることはできますか? また、ARM MCU と内蔵 BLE も備えています。また、Arduino IDE で使用することは可能ですか。
前もって感謝します。
ios - BLE および ANCS 自動接続シナリオ
BLE 技術を使用して他の BLE デバイスに接続するウェアラブル デバイスを開発しました。ウェアラブル側からも ANCS の実装に成功しました。
ここでの問題点は次のとおりです。
私は Apple の MFI プログラムを使用していません。初めてデバイスをスキャンすると、サービス ID に基づいてデバイスが検出されます。接続が成功すると、ANCS が確立され、アプリに表示されるペアリング要求が要求されます。
何らかの理由でウェアラブルが切断され、ユーザーが手動でスイッチを入れた場合。外出先の Bluetooth 設定画面から自動的に接続されます。これにより、外部から接続されるとアプリ自体からデバイスをスキャンできなくなり、広告パケットの拡散が停止するという問題が発生します。時計をスキャンできないため、接続できません。
手動でペアリングを解除する必要があり、デバイスがスキャン リストに表示されます。
デバイスがアプリ内から外部から接続されていることを知る方法はありますか?
はいの場合はお知らせください。そうでない場合は、アプリからスキャンするためにペアリングを何度も解除する必要があるため、このシナリオ全体の代替ソリューションを提案してください。
私は過去 10 日間、この問題に悩まされてきました。
解決策を提供してください。どんな助けでも大歓迎です。
ありがとう
ios - iOS Bluetooth Low Energy ANCS の見かけは「3 回ストライクでアウト」
ANCS にサブスクライブする BLE ペリフェラルがあります。また、アプリが接続するいくつかのカスタム サービスもホストします。
ANCS のため、設定アプリで周辺機器 (xxx) への接続を行う必要があります。そのため、アプリ内から BLE 接続を開始する機能はありません。これにより、UseEx がクリーンに保たれ、「コーナー ケース」が減少します。
ユーザーが設定アプリで接続するという考えです。その後、周辺機器が範囲外に出た場合、iOS は範囲内に戻ると自動的に再接続します。
ただし、クライアントは、たとえば部屋を出た後、周辺機器が再接続しないことがよくあることに気付きました。
これを確実に再現するには、iPhone から約 15 メートル離れた金属製の箱の中に BLE 周辺機器を配置する必要があります。ケースを適切な速度で開閉することで、10 秒程度の時間枠内で一連の失敗した ANCS 接続要求を誘発できます。
以下は、信号損失による最初の接続失敗を示すデバイス コンソール ログです。
...
そして、金属製の箱を適切に開閉し続けると、同じ「API MISUSE」を 3 回続けて行うことができます。
次のメッセージが表示されます。
...
...
これは、周辺機器をある種の「グレーリスト」に配置する「スリー ストライク アンド アウト」アルゴリズムのようです。時間は 11 秒程度の範囲内である必要があります。尋問を遅くすることはできません。または、ペアリング タイムアウトを伴う 30 秒のキー交換に逆らうことはできません。
このグレー リストは、ユーザーが [設定] を開いて手動で接続しない限り、iOS がこの周辺機器の ANCS への再接続を許可しないことを意味します。
つまり、CBCentralManager - retrieveConnectedPeripheralsWithServices: メソッドは、接続されていないため、周辺機器を取得しません。
以前に確認したペリフェラルの UDID を保存し、didDisconnectPeripheral へのコールバック時に -retrievePeripheralsWithIdentifiers を使用して再接続するという回避策を追加する必要がありました。
ただし、ANCS 接続の継続性を維持するために、Bluetooth-central UIBackground モードを Info.plist に追加して、アプリがバックグラウンドで didDisconnectPeripheral を受信すると再接続が行われるようにする必要もありました。もちろん、アプリがアンロードされ、状態の保存と復元が行われない場合、ANCS 接続は再び切断されます。
また、ウォッチドッグ タイマーを使用して、フォアグラウンドで接続状態を定期的にチェックしています。
効果を再現するのは困難ですが、クライアントは非常に頻繁にそれを見ることができるようです.BLEデバイスの場合、接続の信頼性が低い可能性が高いことは確かです.
ANCS が iOS でより堅牢に処理されていれば、アプリの電力効率を大幅に向上させ、より少ない労力でアプリを開発できたはずです。
使用するデバイスは、iOS 8.1 および 8.2 の iPhone 4S および iPhone 6 です。
質問: ANCS でこの動作を見た人はいますか?
python - Python が原因でノード パッケージのビルドに失敗する
これは、同じ問題に遭遇している人々を助けるためだけに解決された投稿のようです.
私はノーブル(ancsの依存関係)をインストールしようとしていましたが、それに問題がありました
次に、npm config python バージョンを 3.4.3 に変更してみました。
それでも失敗しました。
しかし、python2に変更すると、うまくいきました。
そして、現在のnpm構成のpythonバージョンは
ios - iOS システム (SMS など) の通知を受け取る
他の人が同じ質問をしているのを見かけます。たとえば、iOS システム アラートとすべてのアラートの受信についてですが、回答が得られませんでした。
2 番目のコードでそのコードを試しましたが、そのアプリのすべてのアラートしか受信しません。たとえば、このアプリを実行しているデバイスで SMS アラートを受け取った場合、次のメッセージを受け取ります。
つまり、これはアプリに対する SMS ダイアログの効果であり、SMS 通知ではありません。
私が見る限り、iOS アプリのサンドボックスですべてのシステム通知 (Facebook、WhatsApp、Twitter、SMS、通話、不在着信など) を受信する方法はありません。これらを取得する唯一の方法は、ANCS を要求できる BLE ペリフェラルを経由することです。
これは正しいです ?
ios - これは ANCS のバグですか?
私は iPhone の ANCS を使用しているプロジェクトに取り組んでいます。
携帯電話が ANCS を使用している別のデバイス (例: Pebble) にも接続されている場合、奇妙な動作に気付きました。
デバイスがガベージ パケットを受信します。コントロール ポイントの特性の詳細を要求するコードの部分をコメント アウトしようとしました。この後も、データ ソース特性に関する意味のないデータを受け取ります。基本的に、Pebble が求めているものの一部を受け取ります。これは、ナンセンス パケットの例です。
データ ソース: データ: 65 05 0F 00 32 30 31 35 30 35 32 36 54 31 34 33 36 31 33
ここで、Pebble が日付を尋ねていることがわかります。05 は属性「0F 00」は長さ、「32 30 31 35 30 35 32 36 54 31 34 33 36 31 33」は通知を受け取った日付です。
私は何も要求しませんが、まだパケットを受信しています。これは ANCS のバグですか?
ios - Pushbullet がすべての iOS 通知を Mac に送信する方法
Mac と iOS の通信を行うさまざまなアプリをチェックしていました。PushBullet と Notifyr というクールなアプリに出会いました。私が見つけた最も驚くべきことは、iOS のプッシュ通知を Mac のアプリに表示することです。このことを達成するために使用できるものを検索しようとしましたが、何も見つかりませんでした。
BLEまたはその他のチャネルを使用して、iOSデバイスからMacにiOS通知を共有する方法について、誰にもアイデアはありますか? このことを実装するために Apple が提供するパブリック API またはフレームワークはありますか?
android - ANCS Android デバイスが iOS の Bluetooth 設定から見つからない
ペリフェラル モードで Android フォン (Samsung Galaxy S6) から ANCS サービスをアドバタイズしています。LightBlue などの iOS アプリからサービスを見つけることができます。ただし、Bluetooth 検索設定ページから Android フォンを見つけることができません。iOS デバイスの設定ページから Android BLE Peripheral phone とペアリングしたいと考えています。出来ますか?
ios - ANCS は複数の BLE デバイスへの通知の送信をサポートしていますか?
複数のデバイスが同じ iPhone にペアリングされていますが、ANCS 通知を受信するのは 1 つだけです。
ios - 外部 BLE デバイスを使用した iOS コア Bluetooth ANCS
CoreBluetooth を使用して外部 BLE アクセサリ (cc256x) とやり取りする iOS アプリケーションを使用しています。iOS デバイスから BLE デバイスに iOS 通知を送信する必要があります。Apple のドキュメントによると、私は ANCS (Apple Notification Center Service) を使用しています。
iOSアプリから従った手順は次のとおりです。
iOS デバイスは周辺機器として機能し、以下のように ANCS をアドバタイズします。
サービスは広告であり、中央として機能する外部cc256xベースのデバイスは、スキャンして周辺機器に接続できます.
cc256x デバイスが新しいアラート/未読アラートの通知をサブスクライブしようとすると、次のようなエラーが発生します。
エラー - ANS_Decode_Un_Read_Alert_Status_Notification が -1004 を返しました。
このエラーは、リモート アプリが間違った/破損した「未読アラート ステータス通知動作」通知を送信したことを示しています。
iOS アプリからの私の理解では、ANCS を宣伝するだけで済みます。BLE デバイスが ANCS 特性にサブスクライブすると、iOS は自動的に通知を送信します。
このリンクに記載されているように試しました
iOS 7 ANCS: プライマリ ANCS サービス UUID の検出
BLEペリフェラルで通知を見ることができません。
不足しているものはありますか?これに対する解決策を見つけることができないので、私を助けてください。