2017-09-06 4 views
1

質問はBLEデバイス、それはちょうど正常なBluetoothデバイスのためではありません。iOSでペアリングせずにBluetoothデバイスを接続することは可能ですか?

現在、私のコードは次のように動作し、 私は関数を呼び出す:

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:^(NSError *error) 
     { 

     }]; 
    } 

、それが可能なBluetoothデバイスのリストでポップアップを開き、その後、私は私の目的のデバイスをクリックしてオブジェクトを取得し、先に行きます。

このピッカーステップをスキップしてデバイスのオブジェクトを直接取得する方法はありますか?

答えて

1

いいえ、ペアリングを行わずに接続することはできません。初めて、設定アプリかピッカーかのどちらかで、デバイスとのユーザーペアを取得する必要があります。ただし、アクセサリが既にiOSデバイスに接続されている場合は、最初のペアリング後にピッカーをスキップしてアクセサリをEAAccesory *にすることができます。ここでは、接続されているアクセサリーのリストを照会することができる方法です。

NSArray<EAAccessory *> *connectedAccessories = [EAAccessoryManager sharedAccessoryManager].connectedAccessories; 
for (EAAccessory *accessory in connectedAccessories) { 
    // Implement needed filter to recognize your device. 
    // You can use for instance accessory.protocolStrings 
    // The MAC address is available with [accessory valueForKey:@"macAddress"] 
} 

あなたは、プログラム、デバイスへの接続を開始することはできませんEAAccessoryフレームワークで。その後の接続では、最後に接続したデバイスにデバイスを再接続させることができます(ファームウェアを制御している場合)。アプリがフォアグラウンドにある場合は、EAAccessoryDidConnectNotificationがトリガーされます。そうでない場合は、通知がキューに入れられ、接続されているアクセサリのリストが更新されます。

+0

ファームウェアが自動後続接続をどのように達成できるかを明確にしてください。私はファームウェアエンジニアと直接仕事をしており、私が取り組んでいるiOSアプリケーションを使用する前に、ユーザーが設定アプリケーションに入り、アクセサリに手動で接続する必要がないようにする機能を提供したいと考えています。 – Audible

+0

@Audible関連ドキュメントはMFiプログラムの一部ですので、詳細は公表することはできません。しかし、あなたまたはファームウェアチームがMFiアクセサリインターフェイス仕様書にアクセスできる場合、セクション52.4(改訂R27)の出発点を見つけることができます。製品に使用されているBluetoothチップセットに応じて、チップセットに付属のライブラリでそれを実行する機能もあります。 –

+1

厳しいMFiのガイドラインは間違いなく理解していますが、これは素晴らしい回答です。ありがとうございます!私はMFiにアクセスし、あなたが参照した特定のセクションを見るでしょう、私はファームウェアエンジニアとチップメーカーと協力してこれを解決しようとします。とても有難い。 – Audible

関連する問題