1

デバイスがいつ接続されたかを知るために、次のコードを使用しています。

- (void)applicationDidBecomeActive:(UIApplication *)application 
{
     //code...

     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:EAAccessoryDidConnectNotification object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:EAAccessoryDidDisconnectNotification object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:UIScreenDidConnectNotification object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:UIScreenDidDisconnectNotification object:nil];

     EAAccessoryManager *accessoryManager = [EAAccessoryManager sharedAccessoryManager];
     [accessoryManager registerForLocalNotifications];
 }

- (void)accesoryChanged:(NSNotification*)note;
{
    if(note.name == EAAccessoryDidConnectNotification)
    {
        EAAccessory* accessory = [note.userInfo objectForKey:EAAccessoryKey];
        //code...
    }
    else if(note.name == EAAccessoryDidDisconnectNotification)
    {
        EAAccessory* accessory = [note.userInfo objectForKey:EAAccessoryKey];
        //code...
    }
}

そして:

accessory.name

デバイスの名前を取得できますが、デバイスの種類 (つまり、コントローラーまたは HDMI アダプター) を知る方法が見つかりませんでした。

この情報を取得する方法はありますか?

前もって感謝します。

4

1 に答える 1

0

EAAccessoryオブジェクトには、、、および のプロパティmanufacturermodelNumberありますserialNumber。の配列を見てprotocolStrings、デバイスの機能を把握することもできます。

アクセサリに接続するかどうかを決定するときは、アクセサリの宣言されたプロトコルを使用して決定する必要があります。アクセサリに関連付けられたプロトコルは、アクセサリが処理できるデータの種類を示します。アクセサリに接続するかどうかを決定するために他のプロパティを使用することもできますが、考慮すべき重要な要素はプロトコルのリストです。

于 2013-10-02T20:16:11.380 に答える