iOS苹果账号/证书/推送证书之我见

一、苹果账号

1、公司团队账号 (Company/Organization):

费用99美金一年, 该账号在App Store销售者可以显示类似Studios,或者自定义的团队名称 ,比如Mamshare INC,公司账号可以允许多个开发者协作开发,比个人多一些帐号管理的设置,可以设置多个AppleID,分4种管理级别权限,详细见备注。100个苹果的iOS设备UDID测试。但是申请时需要填写公司的邓白氏编码(D-U-N-S)。

2、企业账号 (Enterprise)

费用299美金一年, 该账号开发应用不能发布到App Store,只能企业内部应用,苹果的iOS设备UDID数量不限制。企业账号适合不希望上线App Store,但是需要企业内部比如1000人的iOS设备都部署。公司测试部门需要全公司测试设备,突破100个UDID的限制。

二、证书/推送证书说明

1、概念介绍

1.1、Certificate

证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的,未经修改的。在Xcode Build Setting的CodeSigning Identity中,可以设置用于为代码签名的证书。

证书主要分为两类:Development和Production,Development证书用来开发和调试应用程序,Production主要用来分发应用程序(根据证书种类有不同作用),下面是证书的分类信息:(括号内为证书有效期)

1)、Development

App Development (1年):用来开发和真机调试应用程序。

Push Development (1年):用来调试Apple PushNotification

2)、Production

Ad Hoc :用来发布AdHoc的应用程序。

App Store :用来发布提交App Store的应用程序。

Push Production (1年):用来在发布版本中使用Apple PushNotification

1.2、App ID

App ID用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。App ID主要有以下两种:

1)、Explicit App ID:

唯一的App ID,这种App ID用于唯一标识一个应用程序,例如com.wzc.demo,标识Bundle ID为com.wzc.demo的程序。

2)、Wildcard App ID:

通配符App ID,用于标识一组应用程序。例如*可以表示所有应用程序,而com.wzc.*可以表示以com.wzc开头的所有应用程序。

每创建一个App ID,我们都可以设置该App ID所使用的APP Services。每种服务都有着不同的要求,例如,如果要使用Apple PushNotification Services,则必须是一个explicit App ID,以便能唯一标识一个应用程序。下面是目前所有可选的服务和相应的配置要求。

如果你的App使用上述的任何一种service,就要按照要求去配置。

1.3、Device

Devices中包含了该账户中所有可用于开发和测试的设备。 每台设备使用UDID来唯一标识。每个账户中的设备数量限制是100个。

1.4、Provisioning Profile

一个Provisioning Profile文件包含了上述的所有内容:证书、App ID、设备。要打包或者在真机上运行一个应用程序,首先需要证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的;然后需要指明它的App ID,并且验证Bundle ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。Provisioning Profile就把这些信息全部打包在一起,方便在调试和发布程序打包时使用,这样只要在不同的情况下选择不同的profile文件就可以了。而且Provisioning
Profile文件会在打包时嵌入.ipa的包里。

例如,如下图所示,一个用于Development的Provisioning Profile中包含了该Provisioning Profile对应的App ID,可使用的证书和设备。这意味着使用这个Provisioning Profile打包程序必须拥有相应的证书,并且将App ID对应的程序运行到Devices中包含的设备上去。

如上所述,在一台设备上运行应用程序的过程如下:

与证书一样,Provisioning Profile也分为Development和Distribution两种:

1)、Development (1年)

2)、Distribution (1年)

Ad Hoc

App Store

Ad Hoc的包只能运行在该账户内已登记的可用设备上,显然是有最多100个设备的数量限制。所以这两种Provisioning Profile文件的区别就在于其中的设备限制不一样而已,而他们所使用的Certificate是相同的。

2、程序打包介绍

2.1、苹果程序打包方式介绍

1)、Save for iOS App Store Deployment

保存到本地准备上传App Store
或者在越狱的iOS设备上使用

2)、Save for Ad Hoc Deployment

保存到本地准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编译的.

3)、Save for EnterpriseDeployment

这种主要针对企业级账户下准备本地服务器分发的app

4)、Save for Development Deployment

针对内部测试使用,主要给开发者的设备(具体也为在开发者账户下添加可用设备的udid)。该app包是开发证书编译的

我们现在提供给测试打包,测试环境和HK环境都使用第三种方式打包(Save for EnterpriseDeployment),这样程序安装包可以安装在任意一台iPhone手机上,方便测试发给市场等公司内部同事安装体验;ME环境使用第二种方式打包(Save for Ad Hoc Deployment),第二种方式使用的发布证书与正式提交AppStore的版本使用的证书是一样的,因此他们可以共用同一推送证书,这样就可以测试ME环境的推送流程是否有问题了,这种方式打包的程序只可以运行在我们已经添加到开发账户对应的devices设备上使用

3、推送注意

使用苹果的推送服务,需要注意以下几点:

a. APNS是免费的。只要有开发者账号便可以申请APNS证书。

b. APNS是不可靠的,苹果对信息推送的可靠性不做任何保证。

c. APNS对消息的大小是有限制的,总容量不能超过256字节。

如果需要推送成功,需要保证 程序打包使用的证书 和服务器端推送使用的证书以及推送网址需要保持一致,才可以推送成功。一般对应逻辑如下:

Product证书--->Product推送证书--->Product证书打包的程序对应的devicetoken--->Product推送网址(ssl://gateway.push.apple.com:2195)

Development证书--->Development推送证书--->Development证书调试的程序对应的devicetoken--->Development推送网址(ssl://gateway.sandbox.push.apple.com:2195)。

三、提交AppStore后,Cornerstone打Tag步骤:

1.在Cornerstone找到要打Tag的程序,右击弹出下图,选着Tag...:

2.弹出下图,解释如下:

Tag As:tag的名称,一般为做tag记录的文件夹名称_版本号_日期

Where:tag对应的路径,一般选择ios_app/tags

Revision:一般默认的为最后提交的版本

时间: 2024-11-08 20:24:02

iOS苹果账号/证书/推送证书之我见的相关文章

iOS真机测试推送证书生成

1.首先你想创建推送证书和以前你做真机测试证书一样,需要实现准备一个99$的付费账号.然后登陆苹果开发者网站. 2.登陆以后你能看到这个界面然后选择我圈中的那个选项Member Center 转到登陆界面. 3.在这里你可以输入你的付费账号和密码.然后点击Single In. 4.然后选择证书申请的页面. 5.先点击APP ID 的创建界面(Identifiers). 6.进入到APP ID 的创建页面后点击右上角的+创建新的APP ID . 7.因为今天要做的是推送证书需要在创建APP ID

iOS推送证书从申请到使用

关于这个话题,已经有很多写的很好的文章了.但是,在自己做的过程中,即使别人写的已经很好了,还是会遇到这样那样的问题.自己还是再写一遍吧. 本文记录了从无到有申请证书,到最后能够发出通知.当然,前提是我们有一个合适的开发者帐号. 准备工作 1. 登录开发者帐号,如果帐号的权限合适.我们会看到如下图: 或者最新的界面应该是下面(刚刚发现页面更新了): 2. 点击红色框内的菜单,会来到如下界面: 创建App ID 这里要创建的App ID就是我们的App的Bundle Id. 3. 点解左侧的"App

Ios生产证书申请(含推送证书)

一.Mac机上生成请求文件. Mac机上点击证书助手 => 从证书颁发机构请求证书 => 得到CertificateSigningRequest.certSigningRequest请求文件(此请求证书建议一直保存,因为根证书的生成需要使用此请求文件,根证书多个app可以使用一个). 二.创建“根证书”,多应用可以使用一个. (如果之前已经生成了根证书,并且你有此前保存的请求文件CertificateSigningRequest.certSigningRequest,此项可以忽略,直接使用之前

制做服务器用的推送证书

1 iOS制做服务器的推送证书 a 请求证书 b 导出密钥 c 制做推送ssl certificate    d 制做服务器用的证书 1.Push.certSigningRequest 2.Push.p12 3.aps_developer_identity.cer 终端 1.将aps_developer_identity.cer转换成aps_developer_identity.pem格式 openssl x509 -in aps_developer_identity.cer -inform D

iOS开发证书及推送证书的生成教程

以下是我自己摸索出来的证书生成过程,如有错误欢迎指正~ 一.生成开发证书 这里的证书包括开发(development)证书和生产(production)证书. 1.打开钥匙串访问-->证书助理-->从证书颁发机构请求证书,输入邮箱和常用名,常用名将作为你的密钥名,选择保存到磁盘,名字默认就可以,存到桌面. 2.登录苹果的开发者中心,登录自己的开发者账号进入,选择证书. 单击这里的Development,(注意,这里最多同时存在2个证书)点击右上角的加号,选择iOS App Developmen

ios推送通知之ios推送证书的申请和使用配置

很多人初次接触推送通知,不知道怎么去申请ios推送证书和配置推送. 很多人犯的错误就是用推送证书p12去打包ipa,推送不是用来打包的,下面详细介绍ios推证书的申请和配置使用. ios推送证书分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书!(生产环境) APP要推送通知首先要在创建APPID时勾选推送服务. 推送证书是配置上传到推送平台的,如极光推送.个推.小米推送等,不是用来打包ipa的,下面会有介绍. 一.创建唯一标示符App IDs 首先打开开发者

iOS集成环信推送,最详细流程(证书创建、环信集成)

这篇博客是我从我的CSDN上办过来的,排版有些混论,不知道为什么博客园不支持MarkDown编辑,想看原文排版的话传送门在这里http://blog.csdn.net/mumubumaopao/article/details/53423393 这几天项目里又用到了环信的推送,虽然之前做过,但是很久不做还是有很多细节没有注意到,所以还是决定从头开始做一遍,把每一个环节都详细记录下来,同样的把每一个坑也记录下来.方便自己以后做的时候忘记哪个流程了可以在看一遍.我很能理解那种遇到问题网上百度一堆类同的

ios 推送 证书配置

S的推送证书,有有效期限制,一般为一年.当我们证书过期的时候,就需要重新生成证书了.有一段时间没有上苹果网站了,昨天上去一看,此奥,改版了,下边我们将重新生成一个正式环境的push推送的证书. 1.先打开钥匙串(应用程序-实用工具-钥匙串访问),请求一个证书 常用名称写为:2013.04.27_push_production_***.并保存到磁盘上. 2.进入打开苹果网站的证书标签页面,选择 Identifiers标签下边的App IDs子标签,显示下边图片.红色圈中的是我要重新生成push签名

IOS测试,远程推送证书

程序上传:准备工作证书创建流程 1:证书:证书用来为我们的应用程序签名,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的, 未经修改的.证书的创建过程: 登陆开发者中心 点击Certificates(证书)该项,进入下面的界面 点击Certificates(证书)进入 看到左边栏有一个Certificates(证书)一项,我们发现该项中有Developerment和Production两个类型,其中Developerment类型的证书用于开发使用(比如我们的真机测试),Prod