External Accessory Framework之EAAccessory

External Accessory Framework提供了配件连接iOS设备的通道。开发者可以通过它来开发连接配件的app。
1. 它包含三个类:
     EAAccessory
          代表了一个单例的硬件配件对象。
     EAAccessoryManager
          管理所有连接到iPhone的配件。
     EASession
          定义了iPhone app与外部配件的连接和通道。
 
2. EAAccessory类
     EAAccessory类的属性:
          1) Boolean connected read-only     配件是否连接iPhone的标志              
@property (nonatomic, readonly, getter = isConnected) BOOL connected
 
          2) NSUInteger connectionID read-only     连接设备的配件唯一标识              
@property (nonatomic, readonly) NSUInteger connectionID
               EAAccessory Framework提供了可用配件的列表,所以要用NSArray来处理:
              
复制代码
1 for (EAAccessory *accessory in _accessoryList) {
2     if ([disconnectedAccessory connectionID] == [accessory connectionID]) {
3         break;
4     }
5     disconnectedAccessoryIndex++;
6 }    
复制代码
 
          3) id<EAAcessoryDelegate> delegate 定义了接收配件状态变化的notifications的对象
               定义一个accController类              
复制代码
1 @interface accController : NSObject<EAAccessoryDelegate> {
2     EAAccessory *_accessory;
3     EASession *_session;
4     NSString *_protocolString;
5 }
6  (void)accessoryDidDisconnect : (EAAccessory *)accessory;
7 @end
复制代码
 
          4) NSString firmwareRevision read-only     固件版本信息,注意兼容性              
@property (nonatomic, readonly) NSString *firmwareRevision
         
          5) NNString hardwareRevision read-only     硬件版本信息,同上              
@property (nonatomic, readonly) NSString *hardwareRevison
 
          6) NSString manufacturer read-only     配件所属公司              
@property (nonatomic, readonly) NSString *manufacturer
    
          7) NSString modelNumber read-only     配件设备号              
@property (nonatomic, readonly) NSString *modelNumber
 
          8) NSString name read-only     配件名称,反馈给用户连接了正确的配件              
@property (nonatomic, readonly) NSString *name
 
          9) NSArray protocolStrings read-only     protocols的名称,注意,跟connectionID对应,所以是一个NSArray的对象             
@property (nonatomic, readonly) NSArray *protocolStrings
               代码示例:             
复制代码
1  - (void)setupAccessoryController : (EAAccessory *)accessory withProtocolString : (NSString *)protocolString {
2     [_accessory release];     // 防止断开连接后重连不同配件
3     _accessory = [accessory retain];
4     [_protocolString release];
5     _protocolString = [protocolString copy];
6 }
复制代码
               这段代码可以用在配件连接设备后来创建一个accessory controller对象。
               调用个的方法:              
1 [accessoryController setupAccessoryController : _selectedAccessory withProtocolString : [[_selectedAccessory protocolStrings] objectAtIndex : 0]]; // 只能连接一个设备
         
          10) NSString serialNumber read-only     连接的配件序列号,每个配件唯一              
@property (nonatomic, readonly) NSString *serialNumber
 
     EAAccessory类中的常量:
          EAConnectionIDNone     实质为0,无效的连接,通过与connectionID的比较,可以尝试重连配件或者提示用户断开配件重新连接设备。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值