私のiPad mini(iOS7.1.2)には、CoreBluetoothを使用して周辺機器として機能するアプリがあります。その状態 ( CBPeripheralManager::state
) はPoweredOn
であり、サービスの追加および広告の開始時に他のエラーはありません。ただし、周辺機器周辺の中央デバイスは接続できません。
もちろん、中央の装置に問題があるのではないかと考えていました。それらの中央デバイスは、「その周辺デバイス」以外の他の周辺デバイスと接続できるため、そうではありませんでした。周辺機器と接続しようとしたら、- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
呼ばれました。(エラー コード 7)。
周辺機器にエラーは表示されず、周辺機器を再起動するまでセントラルは接続できません。もっとどうすればいいですか?デバイスを iOS8 にアップグレードする必要がありますか?
ps 中心となるデバイスは、iPhon4s から iPhone6+ まで、iOS7.0.6 から iOS8.2 までさまざまです。中心装置、それ以外の周辺装置は問題ありません。
ps 一度だけ発生したのですが、変な状態だったところ、周辺の状態が急に に変化してResetting
、PoweredOn
また。その後、接続に問題はありません。Resetting
状態が突然 に変更された理由と、状態がどのように変更されたのかはわかりません 。
+追加 @ 04081228 (GMT+0000)
周辺機器に接続しようとしている中央機器から怪しげなログを見つけました。以下はログの一部です。
4 月 8 日 21:20:57 BTServer[61]: ATT がデバイス "9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" で GATT プライマリ > サービスを見つけられませんでした
4 月 8 日 21:20:57 BTServer[61]: デバイスとしての ATT 中止コマンド >"9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" は接続されなくなりました
4 月 8 日 21:21:08 BTServer[61]: ATT がデバイス "9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" で GATT プライマリ > サービスを見つけられませんでした
4 月 8 日 21:21:08 BTServer[61]: デバイスとしての ATT 中止コマンド >"9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" は接続されなくなりました
これは iOS の既知の問題であるというgithub からのコメントを見つけました。しかし、これに関する他の情報は見つかりませんでした。
+追加 @ 04081304 (GMT+0000)
こんなログも発見。これが何を意味するのかもわかりません。
4 月 8 日 22:02:03 BTServer[61]: ATT は結果 BM3 STATUS 14 で MTU を 158 に設定できませんでした
4 月 8 日 22:02:13 BTServer[61]: ATT は結果 BM3 STATUS 14 で MTU を 158 に設定できませんでした