MFi是什么?关于苹果MFi认证MFi开发MFi外设,你所必须要知道的事情

MFiLogo

前面我写了一篇文章《iOS App连接外设的几种方式》,其中EAP和NCM是都需要做MFi认证。对于苹果的MFI认证,对iOS开发的同学来说其实是一个比较陌生并且繁琐的topic,因为网上资料确实很少,百度Google几乎都查不到啥资料,而且MFi认证门槛比较高,流程比较复杂,周期很长。苹果对外提供的沟通渠道也不顺畅,邮件发过去杳无音信,电话从来都打不通。

本人最近两年都在做百度CarLife这个手机车机互联的产品,涉及到iOS app跟车机硬件的连接,所以对MFi认证略有接触和了解,今天在不涉及公司项目技术方案和细节前提下,跟大家聊一聊我所认识的MFi认证,希望对相关的iOS开发同学有所帮助。

什么是MFi认证?

苹果MFi认证,是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种标识使用许可,是apple公司 “Made for iOS”的英文缩写。

市面上认证产品的显著标识就是在包装正面出现如下白底黑字的苹果MFi授权logo,如本文开头图片所示。苹果公司允许授权厂商在产品包装上印上授权标签。有句话叫无商不奸,如果消费者担心生产商作假,未授权的硬件也偷偷贴上MFi的授权标签,那么可以登录苹果的官方网站,进行查询。如下图


MFi 官方查询网站

为什么要做MFi认证?


从苹果角度来看,为了更好的巩固苹果的生态圈,只有集成了有MFi芯片,才能跟iPhone、iPod,iPad进行连接通信。而只有经过了MFi认证的企业才能批量购买MFi芯片,并且都MFi芯片的供销链条都有很严格的监督管理,所以这样苹果可以严格控制只有那些满足苹果规范和要求的外设才能加入到苹果生态圈。

从生产厂商来看,经过苹果官方授权,配件产品能完美兼容苹果智能设备;提交MFi认证过程中,硬件设备需要经过苹果要求的ATS自测以及苹果的严格测试,产品质量更有保证;消费者也更加信任经过了MFi认证授权的配件;最后成功获得MFI授权这也成为技术与质量实力的一种标志,因为MFi认证通过率仅2%,其中大部分企业因为申请资格不符合直接被拒绝。

从iOS开发人员来看,MFi认证是由硬件生产商主导进行申请的,是苹果对外设配件的一种认证和授权。但是很多外设跟苹果进行连接,并不只是跟iOS设备硬件或者iOS系统配合就可以完成对应的功能(比如充电、CarPlay、播放ipod音乐(A2DP)、接听蓝牙电话(HPF)或者提供GPS输入源等)。很多时候为了实现特定的需求,需要由iOS App的配合,由iOS App跟对应外设进行连接和通信,传输相关的控制命令对外设进行控制,或者传输相关的外设数据进行展示。iOS App跟外设的连接方式有网络、EAP和BLE (请参考我之前写过的《iOS App连接外设的几种方式》),其中EAP 是苹果官方推荐的跟外设连接的方式。只有经过MFi认证的外设才能使用EAP跟app进行通信。

如何做MFi认证?

MFi认证的流程比较复杂,可以归纳总结为三个部分,如下图所示,

MFi认证流程

其中黄色背景标注的部分是可能跟iOS App开发者相关的,我会重点介绍。其他部分则都是由硬件生产商主导进行的,我作为iOS 开发人员并不需要参与,不过我也会跟大家分享一些我所了解的信息。如果有什么不正确的地方也请相关老司机指正交流。

一、申请人提交申请资料

首先,收集公司资料信息,这些资料主要包括了认证负责人联系信息,企业情况介绍,公司组织架构、企业网站,物料品质控制以及ISO体系证书等资料。然后是在苹果MFi官网(mfi.apple.com)上进行注册,并提交第一步收集到的公司资料,进行账号申请。

接下来苹果会进行MFi体系审核。这个是非常关键的一个步骤。 主要考察公司对MFi芯片的管理体系,看公司是否有规范的流程和系统来管理MFi芯片,能有效防止转售芯片或者挪用芯片(把芯片用到未通过MFi认知的项目上),苹果会安排专人或者代理公司来抽查。

如果MFi体系审核过了,苹果还会对公司其他情况进行考察,来评估该公司是否满足MFi会员的资格。审核的标准主要看公司相关资质,是否有较大的生产规模;是否拥有自主品牌;品牌在业内是否有较高的地位(主要表现为各类荣誉);是否曾为其他国际知名企业供货;研发人员是否达到苹果要求的人数等,申请者一定保证申报资料的真实性,苹果公司都会一一核实。

如果这些条件都满足,恭喜你公司成为了MFi会员,能够有资格购买样品芯片,并且拿到苹果提供的MFi官方开发文档,该文档的每一页都是带有申请人姓名水印的,禁止对外公开,如果被发现,有可能会被取消MFi会员资格。据说大部分的企业都会被卡在会员资格审核这一步。

二、提交产品计划,研发和自测

如果你的公司是属于那幸运的那一小部分(据说是5%,本人道听途说的,没有官方数据支撑)通过了MFi会员资格审核,拿到了苹果的MFi研发官方文档,也购买了MFi样品芯片,那么就可以提交产品计划,进行产品研发和自测了。

提交产品计划是非常关键的一步,需要根据要研发的公司产品的形态、所用技术方案和需要支持的iOS设备、iOS的相关信息都进行详细的描述,其中比较重要信息有。

(1)附件概览(Accessory Overview)

附件概览

技术方案(Technology)如果你是做支持CapPlay的车机,那么就选择CarPlay,否则都应该选择iAP;如果你的硬件需要跟iPhone连接,并且处理相关业务,而不仅仅是充电线或者数据线,那么在Components里应该选择Authentication coprocessor.

(2)固件和硬件(Firmware & Hardware)

固件和硬件信息

现在所有的MFi认证的硬件都需要支持iAP2协议,所以必须要选iAP2或者同时支持iAP2和iAP1.然后外设硬件跟苹果设备是如何通信的,是使用USB的Host模式,还USB的Devices模式,还是串口或者蓝牙,这个需要根据产品的需求、特性进行选择。

(3)选择硬件所支持的iAP2的特性

iAP2特性

(4)选择所支持的苹果设备型号。

根据产品的设计选择所需要支持的苹果设备型号,包括iPad,iPhone和iPod的各种型号。

(5)App相关的信息

App相关信息

这部分也是iOS开发者需要重点关注的部分,包括App的版本号,BundleID和协议字符串以及iOS App的主要功能特性描述,这部分信息需要跟最后送MFi审核时附带的App测试包的信息保持一致。提交了产品计划之后,就可以拿到PPID (Product Plan ID).这个PPID也是跟iOS App开发者需要关注的。当App开发完成,提交AppStore上线时,需要在版本审核备注信息里带上这个PPID,否则审核是过不了的.

接下来就可以进行产品研发了。主要是硬件生成商需要根据苹果提供的开发文档进行硬件和驱动认证程序的开发。而iOS App开发者则主要是需要成 iOS系统提供的一个系统框架ExternalAccessory.framework,并且在info.plist中配置好协议字符串(Supported external accessory protocols)。当iOS 设备通过USB线或者蓝牙连接到对应硬件时,iOS系统会把符合MFI认证要求的外设抽象成了一个流对象,App通过指定的协议字符串来创建一个EASession类的实例来访问到该流对象,就能通过NSInputStream和NSOutputStream跟硬件件进行通信了。这部分功能实现可以参考苹果官方的EADemo(https://developer.apple.com/library/ios/samplecode/EADemo/Introduction/Intro.html)进行入门和学习。

产品研发完成后需要进行ATS( Accessory Test System)自测,并提供自测报告。ATS自测苹果会提供ATS Box的测试工具和软件,主要是针对硬件进行电气特性相关的测试,包括各个节点的电压电流值是否满足苹果要求,然后传输带宽是否稳定,是否达到苹果要求等等。

自测完成之后就可以把硬件和所配套的软件(iOS App的ipa安装包)送到苹果指定的测试实验室进行认证测试。iOS开发者在这个步骤需要关注的是如何打包ipa包。因为如果直接用开发证书打包,那么苹果测试人员的iPhone不在你开发证书的设备列表中,是无法安装的。如果用企业证书打包的话,可能AppStore发布证书对应的bundleid跟企业证书的bundleid不一致,所以也不可行。所以推荐的做法是,等到产品研发完成和自测之后,就带上产品计划中拿到的PPID,提交AppStore进行审核。等审核通过之后,就可以直接从AppStore下载对应的ipa安装包,配合硬件一起送MFi认证测试了。

三、测试审核和批量生产

这个阶段也是硬件生产商主导进行的,跟iOS app开发者关系不大。当硬件的MFi认证送审通过之后,还需要对产品的包装也提交认证和审核。审核通过之后,就可以获得苹果授权进行MFi芯片的批量购买,然后根据销售计划进行硬件的批量生产和销售了。

整个MFi认证的周期大概需要3个月到半年的时间,并且每次提交认证测试都需要支付一笔600美金的测试费用,所寄去测试的硬件测试样品苹果也是不会寄回来的。

小结

正如本文前面所述,MFi认证是有硬件生成商主导进行的针对硬件的认证,我作为iOS 开发者并没有机会直接参与过MFi认证,所以今天主要是跟大家聊了一下我所了解到的MFi认证的相关内容,如果有什么不正确的地方欢迎各位老司机指正交流。后面有时间的时候,我计划再写一篇文章,介绍外设硬件如何通过MFi芯片跟iOS系统进行MFi安全认证,以及外设跟iOS App通信的一个具体流程,有兴趣的同学欢迎关注我的简书,谢谢大家的宝贵时间。

微信公众号:云峰小罗,分享 编程.生活.段子

本人维护了一个“MFi开发交流”的微信群,里面有iOS开发 、外设驱动、MFi认证等各类相关人员,大家相关交流,互帮互助。

想进群的可以加本人微信:luoxub ,备注:MFi, 邀请进群。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • 什么是MFi认证? 苹果MFi认证,是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种标识使用...
    段鑫阅读 3,435评论 0 1
  • 一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互...
    我是云峰小罗阅读 1,952评论 3 4
  • 一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互。很少...
    任梦RM阅读 902评论 1 1
  • 过去的回忆已经死亡 我对于这死亡有大欢喜 因为我借此知道它曾存活 死去的回忆并没有腐朽 我对于这不朽有大欢喜 因为...
    阿丶牧阅读 263评论 0 3
  • 这是第2次加入好报写作群,所以也是第二次写自我介绍。 昨天刚看到二美的信息写自我介绍时,脑子里空白无字,似乎想说的...
    心理咨询师萍阅读 270评论 4 6