入行iOS行业一年多了,iOS上架这块基本上所有的问题都遇到过了,有幸管理过三种不同的apple开发者账号,和相应的证书。前两天在帮一家公司处理app的企业证书分发,当时以为很简单的事情,分分钟就OK,结果遇到了一个坑,七七八八的浪费了我很多时间。
拿到证书和开发者账号后就开始打包,但每次都提示签名不对,提示指定的Provisioning profile 不存在,我做了以下的尝试:
(1)是否Provisioning profile文件不存在或者是invalid。于是,登录到开发者中心逐一检查AppID、Provisioning profile,并没有什么异常,但是还是刷新了一下Provisioning profile,并在本地清理掉所有的Provisioning profile,重新打包还是出错。
(2)是否是Xcode版本的问题。我的Xcode版本是7.2,clean一下Xcode,清理一下缓存,并用CleanMyMac清掉了Xcode运行时产生的所有缓存,重新打包还是不出错。依然提示指定的Provisoning profile不存在。
(3)采取了一种暴力的方式,对于新手不推荐!copy错误提示中的UUID,关掉当前工程,进入到当前工程的文件夹下,找到对应的.xcodeproj文件,鼠标右键显示包内容,打开包里面的project.pbxproj文件,推荐使用 Sublime Text来打开。全局搜索copy到的UUID,然后全部删除,并保存。重新打开工程打包,依然出错。
(4)配置好对应的Team之后,不配置code sign,直接archive,导出方式选项里选择Save for Enterprise deployment。无法导出,会有如下错误:

add进去之后,输入你的apple id 除了提示账号已经存在并没有什么卵用!当时觉得应该是证书的问题。
(5)尝试着以另外的三种导出方法来导出,结果都成功了。就觉得应该是账号的问题。
(6)记得企业账号是可以添加多个team 成员的,以为是当前member的role权限不够,登录到Apple member center发发先我拿到的账号对应的role角色是agent,拥有足够的权限去配置证书、AppID、Provisioning Profiles。开始怀疑这个账号到底是不是真的企业账号。
(7)在开发者中心的账号信息那里看到了Account Type为 Company/Organizations。问题就出在这里,这个不是个企业账号,怎么可能够打包出In-House的ipa!!!晕死,浪费了我很多时间好么!!!
当然,不能怪别人,客户不懂技术,自然不知道apple的企业分发ipa是个什么回事,也自然不清楚apple 的开发者账号的区别了。
证书的制作流程网上很多,随便一搜就有。这里我简单的记录一下三种账号的区别,以及对应的证书、 App ID 、 Provisioning Profiles的区别。
一、苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:
1、个人(Individual)
2、组织(Organizations)
组织类又分为2个小类:
(1)公司(Company)
(2)企业Enterprise
3、教育机构(Educational Institutions)
更多内容介绍,请看苹果官方说明:Choosing a Membership
新进入一家公司,拿到开发者账号(也就是apple ID)之后,点击Your account就可以看到你的账号信息了。如下图:

从Account Type类型可以看出, 我这个账号是Company/Organization类型的,下面再来看一个账号;

这个是一个人账号,再来看一个账号,这个是一个企业账号,也即是所谓的In-House发布时所需要的证书。
二、我们经常最关注的是个人、公司、企业这3类,公司和企业都属于“组织”大类,下面对这3个做下简单对比:
A、个人(Individual):
(1)费用:99美元一年
(2)App Store上架:是
(3)最大uuid支持数:100
(4)协作人数:1人(开发者自己)
说明:“个人”开发者可以申请升级“公司”,可以通过拨打苹果公司客服电话(400 6701 855)来咨询和办理。
B、公司(Company):
(1)费用:99美元一年
(2)App Store上架:是
(3)最大uuid支持数:100
(4)协作人数:多人
允许多个开发者进行协作开发,比个人多一些帐号管理的设置,可设置多个Apple ID,分4种管理级别的权限。
说明:申请时需要填写公司的邓白氏编码(DUNS Number)。
C、企业 (Enterprise)
(1)费用:299美元一年
(2)App Store上架:否
(3)最大uuid支持数:不限制
(4)协作人数:多人
费用:299美元一年
说明:需要注意的是,企业账号开发的应用不能上线App Store,只能企业内部应用。适合那些不希望公开发布应用的企业。同样,申请时也需要公司的邓白氏编码(DUNS Number)。
三、三种账号对应的证书和Provisioning Profiles、App ID区别。
这里只讲对应的Product证书和Distribution类型的 Provisioning Profiles的区别,关于证书的制作流程不讲。App ID没什么好说的,三种账号创建的App ID没有什么区别,选择唯一还是通用根据需求来就好。
(1)证书的区别:
首先来看看company类型账号的证书

这个product 选项里面我们通常会用到也就是AppStore and AdHoc和 Apple Push这两个了。再来看看 Individual的,如下图:

跟company没区别,原因在上面已经介绍过了。再来看Enterprise的,
前面有讲到过,Enterprise账号是不可以上传引用到AppStore的,所以这里就没有AppStore的选项。
(2)Provisioning Profiles
再来看看individual账号的
如我们所猜想的,跟company账号是一样的。再来看看enterprise账号的,
没有AppStore选项。
关于Apple开发者账号的介绍就这么多。
有一个需要注意的,iOS8之后,可以给应用添加widget extension,这个时候无论何种方式打包,一定要记得在开发者账号给widget添加独立的App ID以及对应的Provisioning Profile。打包前code sign选对就好。Xcode7不再支持通配符打包,不管是否带widget!!!
客户的问题还没有解决,目前有两种选择,要么让客户将company账号升级到企业账号,要么就挂到别人现成的企业账号上,但是这个需要将AppID从当前的账号上移除,操作起来风险很大!待商讨。

Apple 开发者账号的分类相关推荐

  1. Apple开发者账号介绍

    一.Apple开发者账号介绍 1.开发者账号共有三种类型:个人级.公司级.企业级.公司和企业都属于"组织"大类,可多人协作.在苹果的开发者平台登录后,可在People界面邀请其他人 ...

  2. Apple开发者账号介绍及证书配置说明。

    一.Apple开发者账号介绍 1.开发者账号共有三种类型:个人级.公司级.企业级.公司和企业都属于"组织"大类,可多人协作.在苹果的开发者平台登录后,可在People界面邀请其他人 ...

  3. iOS开发之Apple开发者账号支付开公司发票

    Apple开发者账号,通过内购支付,是不可以开发票的,内购走的事海外实体,想要开发票使用visa卡进行支付,不要走内购.

  4. Apple开发者账号更改公司主体

    由于公司营业执照上的公司名称发生变更,所以Apple开发者账号的邓白氏资质都需要相应变更,以下为变更方式: 拨打苹果技术支持电话 400-670-1855 最好由admin邮箱账号所属的人电话咨询(可 ...

  5. Apple开发者账号介绍及证书配置详细说明

    一.Apple开发者账号介绍 1.开发者账号共有三种类型:个人级.公司级.企业级.公司和企业都属于"组织"大类,可多人协作.在苹果的开发者平台登录后,可在People界面邀请其他人 ...

  6. iOS开发-Apple开发者账号详解

    证书类型 账号类型 价格 可以发布AppStore? 支持安装设备数量 申请条件 证书类型 个人账号 $99 √ 500 无限制 Ad Hoc, App Store 公司账号 $99 √ 500 DU ...

  7. Apple开发者账号续费问题

    一.登录开发者网站        https://developer.apple.com/ 登录开发者网站之后,右上角点击Account 二.开发者账号到期提示: 在开发者账号到期前一个月,开发者网站 ...

  8. Apple开发者账号相关

    证书类型 账号类型 价格 可以发布AppStore? 支持安装设备数量 申请条件 证书类型 个人账号 $99 √ 500 无限制 Ad Hoc, App Store 公司账号 $99 √ 500 DU ...

  9. apple开发者账号的区别

    2019独角兽企业重金招聘Python工程师标准>>> 参考:http://www.cnblogs.com/KingStar/p/3642473.html     http://ww ...

最新文章

  1. C++继承与派生(原理归纳)
  2. fedora apache php,Fedora 20下安装搭建LAMP环境Apache+MySQL+PHP
  3. Python之十大经典排序算法的实现和原理
  4. centos 显示50g硬盘但是 实际大小很小_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...
  5. COM组件设计与应用(十三)(转载)
  6. 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)
  7. 负基础学python编程_【数据科学系统学习】Python # 编程基础[二]
  8. java序列化深克隆_如何在内存序列化中使用Java深克隆对象
  9. 《Reids 设计与实现》第四章 整数集合和压缩列表
  10. mysql c3p0 释放连接_mysql重启后,防止c3p0丢掉连接数_mysql
  11. web前端简历的详解
  12. Linux抓包命令tcpdump以及常见抓包使用方法
  13. ArcGIS for Desktop 10.2安装破解与使用图文详解
  14. mecrosoft excel的单元格引用
  15. Intel Hex概述 以及 intel2readmemh 和 Intel HEX to BINARY File Converter Utility
  16. 淘宝卖家过劳死VS跳楼死
  17. python3爆破服务器_Python 3.5 之爆破二级域名.
  18. 【计算机毕业设计】双月湾亲子高端酒店网站
  19. Ubuntu16.04通过docker安装微信和QQ
  20. DDR4时序标准规范(一)

热门文章

  1. JAVA,String转JSON过程中,json值里面带有英文引号无法解析的问题
  2. 卓望科技的无线数据MISC平台
  3. 02、UVM工厂机制
  4. Unity自动清理空文件夹
  5. 快递停发区域查询接口
  6. 把上面的苹果咬掉一口,再打印
  7. Ubuntu Core 18 发布:提供 10 年安全更新;美劳工部指控甲骨文薪酬歧视
  8. 浅谈数据仓库的基本架构(转)
  9. MySQL 50条必练查询语句
  10. 海康工业相机MVS SDK使用云钥科技GigeVision千兆网工业相机