Table of Contents

MFi App Foundation

外部附件框架(ExternalAccessory.framework)为App与附件设备通信提供了桥梁。

1. References

2. Preparation

2.1 引入框架与头文件

For Objective-C :

#import <ExternalAccessory/ExternalAccessory.h>

For Swift:

import ExternalAccessory

2.2 声明App支持的协议

使用UISupportedExternalAccessoryProtocols键在Info.plist中声明支持的协议,值为数组,数组的元素为支持的协议,元素的顺序任意且不限数量。这些值只用于判断App与附件设备的通信能力。

UISupportedExternalAccessoryProtocols对应的值虽说可参考UISupportedExternalAccessoryProtocols.

Example:

<key>UISupportedExternalAccessoryProtocols</key>
<array>
  <string>com.shure.applejack</string>
  <string>com.shure.plus.motiv</string>
  <string>com.shure.plus.motiv.2</string>
</array>

3. 通信

此对象管理与附件设备交互的情况,它与底层系统工作,在设备上来回传输数据。一旦会话建立,数据通过NSInputStream和NSOutputStream的实例在App中传输。收发的数据包的格式由与附件设备通信的协议决定。

使用自定义委托对象,监视NSInputStream实例可从附件设备接收数据。

向NSOutputStream写入数据包即可发送至附件设备。