0

私はBluetoothデバイスをMFiプログラムに登録しています。私は、iPhoneの設定でBluetoothを介してデバイスをペアリングすることができました。その後、AppleのEADemoサンプルコードを使用して、ExternalAccessoryフレームワーク経由でデバイスにアクセスします。CoreBluetoothとペアリングした後、ExternalAccessoryフレームワーク経由でBluetoothデバイスにアクセスできますか?

しかし、私はそれがバックグラウンドで最初静かペアにCoreBluetoothを介して可能かどう思ったんだけど、その後、デバイスと通信するためExternalAcessoryフレームワークを使うのか?

私はいくつかの実験を行い、CoreBluetoothとペアリングした後、ExternalAcessoryフレームワークには接続されているデバイスが表示されません。これは、Bluetooth Low EnergyでCoreBluetoothを使用している可能性があり、Bluetooth ClassicよりもおそらくExternalAccessoryである可能性があります。

これにもかかわらず、設定をアクセスするためにアプリを離れる必要はなく、アプリ内からデバイスをペア設定する方がはるかに優れたユーザーエクスペリエンスです。誰かがこのような状況に陥っている、またはアイデアがある場合は、お気軽にご意見をお寄せください。

+0

あなたが言うように、Core BluetoothはBLE専用です。 MFiは従来のBluetooth用です。 2つは相互運用しません – Paulw11

+0

@larromba - 何か回避策はありましたか?私も同じポイントで立ち往生しています。応答してください。 –

+0

@MridulGupta答えは見つかりませんでしたが、CoreBluetoothで接続しても、あなたのデバイスは 'ExternalAcessory'フレームワークで表示されるわけではありません。私は理論的には 'CoreBluetooth'を使って接続でき、Bluetooth Regularを使って接続しようとするデバイスを起動することができると思われますが、' ExternalAcessory'フレームワークに現れますが、初めてペアになっていなければ手動でペアリングする必要がありますiOSのBluetooth設定を使用します。 'ExternalAccessory'フレームワークで何かをするには、あなたのハードウェアがMFiプログラムに登録されていなければなりません。希望は助けます – larromba

答えて

0

あなたはExternalAcessory double delayInSeconds = 2; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ [[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:nil]; });

で作業している場合は、あなたがしたいボタンまたは任意の場所をクリックするだけで、このコードを入れCoreBluetoothフレームワークに依存する必要はありません、このコードは、の一覧が表示されますウィンドウがポップアップします利用可能なMFIプログラムデバイスは、デバイスを選択する必要があり、接続されます。

接続に成功したら、通知EAAccessoryDidConnectNotificationを取得します、あなたはこれを聞く必要があると私はあなたがこのために探していた期待しlarromba- @ - (void)_accessoryDidConnect:(NSNotification *)notification { EAAccessory *connectedAccessory = [[notification userInfo] objectForKey:EAAccessoryKey]; }

を使用して接続するアクセサリを得ることができます。

+0

これを投稿していただきありがとうございます。これは便利なコードですが、私は 'CoreBluetooth'を使ってバックグラウンドで(ピッカーを使わずに)静かに接続することを意味しました。ユーザーとのやりとりを必要とせずに外付けアクセサリーに接続できるとすばらしいことでしょう。もっと具体的に答えるように更新します。 – larromba

関連する問題