- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ExternalAccessory 框架编程主题
ExternalAccessory 框架编程主题关于配件ExternalAccessory 框架 (ExternalAccessory.framework) 提供了和连接到 iOS 设备的配件通讯的渠道。开发者可以利用该框架将配件的功能集成到他们的应用程序中。和配件通讯需要您和配件的制造商紧密联系以了解配件提供的服务。制造商必须在硬件中显示地支持和 iOS 设备通讯。作为这种支持的一部分,配件必须支持至少一种命令协议,这种协议用来在配件和关联的应用程序间传送数据。Apple 并不负责提供协议的注册机制,制造商必须自己决定支持哪些协议,是使用定制协议还是其它制造商都支持的标准协议。作为和配件制造商联系的一部分,您必须知道一个给定的配件支持哪些协议。为了防止命名冲突,协议的名字是反向的 DNS 字符串,类似com.apple.myProtocol。这种方式允许配件制造商定义足够多的协议来支持他们的产品线。 注意:如果您有兴趣成为iPad,iPhone 或者 iPod touch 的配件开发者,您可以在/developer/中找到入门资料。和配件通讯的步骤应用程序可以通过创建一个EASession会话对象来和配件通讯,会话对象通过底层系统负责和配件交互数据。在连接建立后,会话对象提供NSInputStream对象和NSOutputStream对象,应用程序通过这两个对象和配件传输数据。如果需要从配件接受数据,您需要提供一个定制的代理对象来监视NSInputStream对象,而向配件发送数据只需要将数据包写入NSOutputStream对象就可以。交互的数据包格式由您和配件通讯的协议决定。关于如何获得已经连接的配件列表以及和配件建立会话的更多细节,请参考 /developer/library/ios/featuredarticles/ExternalAccessoryPT/Articles/Connecting.html“连接配件”。 在工程中添加 ExternalAccessory 框架如果您需要使用 ExternalAccessory 框架的功能,您必须将ExternalAccessory.framework添加到Xcode工程并且重新链接目标文件。在源代码中添加 #import ExternalAccessory/ExternalAccessory.h声明就可以访问框架的类和头文件。关于如何将框架添加到您的工程的更多信息,请参考Xcode工程管理指南中的工程中的文件一节。关于 ExternalAccessory 框架的更多信息,请参考ExternalAccessory 框架参考。声明应用程序支持的协议和配件交互的程序应在其Info.plist文件中声明所支持的协议,从而在配件连接上的时候系统能够得知是否应该启动该程序。如果没有程序支持连接上的配件,系统将会启动App Store并跳转到支持该配件的程序。您必须使用Info.plist文件中的UISupportedExternalAccessoryProtocols键声明支持的协议。该键包含了程序所支持协议的字符串数组。您的程序可以支持任意数量的协议,并且以任意顺序排列。系统不会使用该数组决定您的程序应该选择哪个协议,而只是用来决定您的程序是否支持连接上的配件。和配件通讯时,您应该在代码中选择合适的协议。关于在Info.plist文件中键值的更多信息,请参考信息属性列表键值参考。 本文档的组织结构本文档包含如下章节:/developer/library/ios/featuredarticles/ExternalAccessoryPT/Articles/Connecting.html“连接配件” 描述了在运行时您连接配件的步骤。/developer/library/ios/featuredarticles/ExternalAccessoryPT/Articles/MonitoringEvents.html“监听配件相关的事件”描述了如何监测配件连接上和断开连接的事件。连接配件配件连接到系统并且可用时才在 ExternalAccessory 框架中可见。当配件可见时,您的应用程序可以获得一个合适的配件对象并且使用一个或多个配件支持的协议来打开一个会话。共享的EAAccessoryManager对象提供了程序和配件通讯的主要入口。该类包含了已经连接的配件对象的列表,您可以枚举这些对象来查看是否有您的程序支持的配件。大部分EAAccessory对象的信息(例如名字,制造商,模块信息)只能用来显示。要确定您的程序是否能够和配件连接,您必须检查配件对象支持的协议列表中,是否有您的程序所支持的协议。注意:可能有多个配件支持同样的协议。具体连接到哪个配件由您的代码决定。给定一个配件对象,每个协议同
原创力文档


文档评论(0)