企业版IDP的申请及“In House”发布数据库
企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并非$99/Year的那种。 安全
这种方式的IDP其最大的好处在于:能够发布“In House”应用。 app
首先要明确否需申请企业证书,毕竟申请证书的时间很是长,其次还要有跨国公司的资质否则基本申请不笑来。dom
如公司为了节省时间及费用也能够在第三方代签名,代签名的优点在于能够缩短期周期,弊端是可能会增长一部分财务支出网站
什么是企业级发布ui
这种应用使用一种叫作“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不须要通过Apple的评审。你能够把“In House”应用经过任何方式发布给你的企业员工、用户及其余你承认的任何人,尤为适合于企业应用的开发。 编码
申请企业级认证步骤调试
网上关于我的版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有不少,但关于企业版IDP以及In House应用的讨论很是之少(尤为国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。 code
一、申请Apple ID orm
这个步骤就不说了。
二、申请邓白氏编码
邓氏编码是美国联邦政府推荐使用的企业机构编码。能够当作是美国版的“组织机构代码”,只不过已经获得了联合国、澳大利亚政府、欧盟及美国政府的认可,成为了全球企业标准。
苹果公司须要邓氏编码才能申请IDP企业版。这倒不是对国内企业的歧视,而是出于的美国商业习惯。在美国全部的采购合同和商业合同中,都会要求供应商提供一个DUNS(邓氏编码),不然对方可能不会跟你签合同。由于全部的美国企业都使用D&B公司的数据库,这样才能保证全部企业编码不会重复。
申请邓氏编码在D&B便可:
中文网站“华夏邓白氏”:
在网站上提交注册申请后,等待1-2天,对方人员会跟你联系(Email)。
原来觉得申请会很麻烦(交流上),但其实是由华夏邓白氏的中籍文员跟你联系的。
邓白氏注册服务有几个版本,收费状况也不同。笔者一开始收到的邮件是“实地核实”的版本,报价15200/2年。
后来经与北京苹果联系,只须要购买最基本的“标准版”便可,报价8600元/2年。
联系时必定要强调是购买标准版服务(最便宜),不然你可能会花冤枉钱。
收到邮件后,把申请表、协议打印出来,填好并加盖公章,而后加上企业营业执照副本、扫描为电子的,发给对方邮箱。
其实还有一个就是汇款水单(小票),须要发送给对方。这一步其实能够省略。笔者申请时并无email汇款水单 ,只要对方确认汇款到账便可。
大约5-7天后,对方发来第2封邮件,告诉你贵公司的编码。此外还能够在网站上安装一个邓白氏电子标识——在网页上嵌入指定脚本,则会在页面上显示一个D&B图标,点击图标自动连接到D&B的网站并呈现大家公司的电子注册信息。
三、申请IDP企业版
登陆苹果开发者网站iOS Dev Center,申请Apple Developer Program,只不过此次选择的是iOS Enterprise Program连接(在页面底部)。
点击Apply Now,下一页Continue,下一页选择“Use an existing Apple ID”,Continue。
下一页,输入你的Apple ID、密码登陆。
后面就是确认注册协议和填写你的公司资料了(英文)。内容最好同邓氏的同样,不然对方会打电话来确认,须要更改。
填写完公司资料,还要填写委托人联系资料。注意委托人应该有表明公司签字的受权(公司承认,他们会在电话里确认)。
提交资料后,能够在邮箱里收到苹果的邮件,内容大概是感谢你提交了申请,申请的编号是多少,公司名称、邮箱地址等等,若是你想看评审流程,能够登陆Member Center。
接下来就是等待苹果的电话了。
这个过程大概要2-3天,对方会安排懂中文的人员来电话,若是没什么问题,接下来(电话以后几分钟)会收到苹果的第2封邮件,大意是要你点击邮件中的连接,查看一个协议(我不知道这个协议和第1个协议有什么不一样,反正我直接点赞成了)。
协议赞成后,显示一个页面,大意是你所申请的国家不支持在线购买苹果产品(在线支付),须要你下载一个pdf的purchase form:
将它打印出来,根据要求填好,而后传真给苹果。
注意,国内信用卡支持美圆支付的通常是Visa卡(如招行)和Master卡(如交行),必定要找那种卡上印有“Visa”或”Master”标志的信用卡。
Cvc2 code是指信用卡背面的那串数字(7位)的末3位。
信用卡地址写申请信用卡时登记的地址。
由于公司的传真机没法发送国际传真,我将purchase form扫描后发给了亚洲苹果 chinadev@asia.apple.com , 请其转交给 Billing团队。
亚洲苹果几分钟后自动回复了一封邮件,并在信中附了一个业务流水号: Follow-Up: 149653 xxx
下次再给亚洲苹果联系时,能够附上这个业务流水号。
而后3-5个工做往后,约早上6点多收到扣费成功短信(信用卡提供的功能)。登陆邮箱后,果真收到了苹果的2封email,1封是发票,上面有你的发票号码,单位报帐的时候把这封邮件内容打印出来就能够了。另1封是激活邮件,告诉你如今你的idp账号已经生效了,你点击那个“login now”按钮能够登陆到member center,这时能够看到你的developer program overview的状态已经改变。同时,Peoples中会包含一个成员,这个成员就是你注册IDP时所绑定的开发者账号(Apple ID),同时也是该IDP的Team Admin或Agent。
四、制做iOS 开发者证书
4.1 在本机生成证书请求CSR
打开“钥匙串”应用程序,修改偏好设置以下图所示:
选择菜单“钥匙串访问 -> 证书助理-> 从证书颁发机构求证书”.
注意,若是此时密钥中的某个私钥处于选中状态,则菜单会变为“钥匙串访问->证书助理->用<私钥>从证书颁发机构求证书”,这样制做出来的CSR是无效的。
输入你的email地址和名字。确保email地址和名字与你注册为iOS开发者时登记的相一致。
勾选Saved to Disk(保存到磁盘)及Let me specify key pair information(指定密钥对信息),而后点Continue。
当选择了Let me specify key pair以后,会要求你指定文件保存位置。接下来按下图所示指定密钥对信息:
Continue,即生成了CSR文件。一旦生成CSR,在“登陆”钥匙串中会生成一对密钥对(一个私钥,一个公钥)。你能够在钥匙串的密钥栏中查看。
4.2提交CSR文件
用企业版IDP绑定的Apple ID( 跟制做CSR时要求输的的可能不一致,这里是注册企业版时绑定的iOS开发者账号,即Agent)登陆iOS Provision Portal 。
点击“Certificates-> Development”中的“Add Certificate”按钮。
接下来点击最下面的“Choose file”按钮,选择所生成的CSR文件,而后点 “Submit”。若是密钥长度未设置未2048,Portal会拒绝CSR。
提交CSR后,Team管理员(Agent)会收到一封提醒邮件,主题为Certificate Request Requires Your Approval,提示你须要去赞成该CSR。此时Agent须要登陆Portal去赞成该CSR。但实际上,Agent也可能根本不须要去点“赞成”,Portal几秒钟后就自动赞成了——笔者遇到的状况就是这样的。
4.3 下载并安装开发者证书
若是机器上未安装WWDR证书,请点击“Certificate-> Distribution”中的连接“Saved Linked File to Downloads”,如下载WWDR证书,并经过双击WWDR证书进行安装。
在“Certificate -> Development”中, 在Your Certificate下会列出当前有效的开发者证书。 点击“Download”,便可下载到本机。下载后双击,便可安装到本机。能够在钥匙串“证书”一栏中查看到导入的开发证书。
Team 成员只能下载本身的iOS开发证书。Team管理员有权下载全部成员的公有证书。苹果不接受CSR中的私钥。私钥仅对建立者有效,而且必须存储在系统钥匙串里。
4.4 保存私钥并迁移到其余系统
若是你在多台电脑上进行开发或者重装系统,那么把私钥存储在安全的地方是件很重要的事情。若是没有私钥,你没法在Xcode中签名代码并进行真机调试。
钥匙串在生成CSR时,就会在“登陆”钥匙串中建立一个私钥。该私钥和你的用户账号绑定,若是重装OS致使该私钥遗失,则该私钥没法再次生成。若是你想在多台电脑上开发和调试,你必须将私钥导入到每一台机器上:
在钥匙串访问程序中,选择登陆钥匙串的“密钥”。能够看到有许多密钥对,选择与你的开发者证书相对应的私钥(还记得建立CSR时要你输入的邮箱地址和名字吗?那个名字会显示在私钥的名字上)。而后选择菜单“文件->导出项目…”,将私钥保存为.p12格式(Personal Information Exchange)。当提示输入密码时,设置一个密码并记住它,它会在导入.p12文件时使用。现住,你能够把.p12文件拷贝到其余机器上并双击它进行安装,这时会提示你输入导出私钥时设置的密码。
五、设备IDs
所谓设备ID(device ID又称UDID)是Apple设备上的40位16进制码,每台Apple设备的device ID都是惟一的,Apple以此来识别不一样的iOS设备。
咱们经过在Provision Portal中录入设备的device ID,能够容许开发者在指定真实设备上进行调试。在Provision Portal中最多容许输入100个device ID。
所以,录入device ID是后续制做Provision Profile的必需步骤(而Provision Profile又是真机调试的必需步骤)。
5.1获取device ID
两种获取device ID的方式:
把Apple设备(iPhone,iPod)链接电脑,打开Xcode的Orgnizer:
把Apple设备(iPhone,iPod)链接电脑,打开iTunes:
那个40位16进制的数字就是device ID。
5.2添加单个device ID
以Team管理员登陆Provision Portal,点击Devices页面中的“Add Device”按钮,在其中输入:
Device Name:设备名称,输入一个描述该设备的名字。
UDID:即device ID。
点击提交便可。
六、建立App ID
App ID是识别不一样应用程序的惟一编码。若是你的程序要链接Apple Push Notification服务(一种push通知),须要用到App ID。若是应用程序之间要共享钥匙串数据,也会用到App ID。总之,App ID在iOS设备上大量被使用。在这里App ID的最大用处是制做真机调试用的Provision Profile(它须要提供一个App ID)。
一个App ID有两部分构成:一个10位字符的Bundle Seed ID前缀,这个Bundle Seed ID由Apple分配,全球惟一,保证不会重复;一个Bundle Identifier后缀,这个Bundle Identifier由Team管理员指派,Apple建议用反域名规则命名这个Bundle Identifier。例如:8E549T7128.com.apple.AddressBook.
若是你写了一系列应用程序,它们共用相同的钥匙串(如共用密码),或者根本就不使用钥匙串访问,你能够只建立一个App ID,全部的应用程序都使用以星号结尾的App ID。这个星号就是通配符,只能用于App ID最后一个字符。例如,这个App ID能够是:R2T24EVAEE.com.domainname.* 或者 R2T24EVAEE.*
6.1建立App ID
以Agent或Team管理员登陆Provision Portal,点击“App ID”页面中的“New App ID”按钮。
App ID Name:给这个App ID一个名字。若是存在多个App ID,每一个App ID须要一个易于识别的名称。
App ID:如前面所述,Bundle Seed ID是Apple分配的,其实这里只须要你输入Bundle Identifier。可使用统配符*。
七、制做开发者Provision Profile
拥有了开发者证书(Development Certificate),只是代表你有权利在电脑上进行开发,在模拟器上运行程序,但你还不能在iPhone上运行你开发的程序。其实若是你只是在模拟器上调试程序的话,要不要开发者证书都无所谓,由于证书只是用来代码签名(Code Sign)的,若是在模拟器上跑的话,你能够选择不签名(don’t code sign)。
若是要在真机上调试就不同了。它须要一个Provision Profile,没有这个Provision Profile,苹果设备没法安装运行你开发的程序。这个Provision Profile中记录了一些信息:开发者证书、开发者Apple ID、一系列设备ID(开发者可使用哪几部设备进行调试)。
7.1建立开发者Provision Profile
以Agent登陆Provision Portal,在“Provisioning->Development”,点击“New Profile”按钮。
Profile Name:输入Profile的名字,随意。
Certificate:选择开发者证书。
App ID:选择一个App ID。
Devices:设备ID列表。
点击“Submit”,即会生成Development Provisioning Profile。