【转】iOS开发者申请发布证书及真机调试图文详解
原文网址:http://www.tqcto.com/article/mobile/57822.html
一.App ID(bundle identifier)
App ID即Product ID,用于标识一个或者一组App。
App ID应该和Xcode中的Bundle Identifier是一致(Explicit)的或匹配(Wildcard)的。
App ID字符串通常以反域名(reverse-domain-name)格式的Company Identifier(Company ID)作为前缀(Prefix/Seed),一般不超过255个ASCII字符。
1、App ID Description:这部分只是你ID的一个代号,只需填写一个自己能分辨的名称即可,在后面申请证书和描述文件中会涉及到选择项
2、App ID Prefix:这部分是Team ID,系统默认,无需填写
3、App ID Suffix:这部分是App ID后缀,可选择Explicit App ID或者Wildcard App ID
App ID全名会被追加Application Identifier Prefix(一般为TeamID.),分为两类:
- Explicit App ID:唯一的App ID,用于唯一标识一个应用程序。例如“com.apple.garageband”这个App ID,用于标识Bundle Identifier为“com.apple.garageband”的App。
- Wildcard App ID:含有通配符的App ID,用于标识一组应用程序。例如“*”(实际上是Application Identifier Prefix)表示所有应用程序;而“com.apple.*”可以表示Bundle Identifier以“com.apple.”开头(苹果公司)的所有应用程序。
4、App Services:应用程序提供的服务
App Services:选择你应用中将会使用的服务,在App ID注册成功之后也可再次编辑你的选择
在自己应用中所使用到的选项上打√,因为我选择的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可选的,如果要使用这些功能,请选择精确型(Explicit)
完成上面的填写之后,选择Continue
5、确认信息
确认之后选择Submit,出现Registration complete.的字样,选择Done即可
用户可在Developer MemberCenter网站上注册(Register)或删除(Delete)已注册的App IDs。App ID被配置到【XcodeTarget->Info->Bundle Identifier】下;对于Wildcard App ID,只要bundle identifier包含其作为Prefix/Seed即可。
二.设备(Device)
Device就是运行iOS系统用于开发调试App的设备。每台Apple设备使用UDID来唯一标识。
1、iOS设备连接Mac后,可通过iTunes->Summary或者Xcode->Window->Devices获取iPhone的UDID(identifier)。
Identifier 后面的一串字母加数字的组合即UDID
2、回到苹果开发者中心,选择Devices ->all ,在右侧栏选中“+”号,添加设备
Apple Member Center网站个人账号下的Devices中包含了注册过的所有可用于开发和测试的设备,普通个人开发账号每年累计最多只能注册100个设备。
用户可在网站上注册或启用/禁用(Enable/Disable)已注册的Device。
三.证书(Certificates)
1.证书的概念
证书是由公证处或认证机关开具的证明资格或权力的证件,它是表明(或帮助断定)事理的一个凭证。证件或凭证的尾部通常会烙印公章。
2.数字证书的概念
数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式。它是由一个由权威机构——CA机构,又称为证书授权中心(Certificate Authority)发行的,人们可以在网上用它来识别对方的身份。
- 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
- 数字证书还有一个重要的特征就是时效性:只在特定的时间段内有效。
数字证书中的公开密钥(公钥)相当于公章。
某一认证领域内的根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。
为了防止GFW进行中间人攻击(MitM),例如篡改github证书,导致无法访问github网站等问题,可选择不信任CNNIC:
3.iOS(开发)证书申请步骤
iOS证书是用来证明iOS App内容(executable code)的合法性和完整性的数字证书。对于想安装到真机或发布到AppStore的应用程序(App),只有经过签名验证(Signature Validated)才能确保来源可信,并且保证App内容是完整、未经篡改的。
以下意添加development证书为例
1、选择添加证书,如图操作,选择continue
iOS证书分为两类:Development和Distribution。
- Development证书用来开发和调试应用程序:A development certificate identifies you, as a team member, in a development provisioning profile that allows apps signed by you to launch on devices.
- Distribution主要用来分发应用程序(根据证书种类有不同作用):A distribution certificate identifies your team or organization in a distribution provisioning profile and allows you to submit your app to the store. Only a team agent or an admin can create a distribution certificate.
普通个人开发账号最多可注册iOS Development/Distribution证书各2个,用户可在网站上删除(Revoke)已注册的Certificate。
2、出现如何生成申请证书(CSR:Certificate Signing Request)的介绍页面
2.1打开电脑中的钥匙串:选择LaunchPad->其他->钥匙串访问
2.2、选择钥匙串访问->证书助理->从证书颁发机构请求证书
2.3、填写邮件地址和姓名,点击继续存储,一般存储到磁盘
keychain将生成一个包含开发者身份信息的CSR(Certificate Signing Request)文件;同时,Keychain Access|Keys中将新增一对Public/Private Key Pair(This signing identity consists of a public-private key pair that Apple issues)。
private key始终保存在Mac OS的Keychain Access中,用于签名(CodeSign)对外发布的App;public key一般随证书(随Provisioning Profile,随App)散布出去,对App签名进行校验认证。用户必须保护好本地Keychain中的private key,以防伪冒。
3、回到development界面,选择continue,出现上传证书界面
4、选择Choose file上传刚才存储的证书,然后选择generate
5、将其证书下载到本地
Apple证书颁发机构WWDRCA(Apple Worldwide Developer Relations Certification Authority)将使用private key对CSR中的public key和一些身份信息进行加密签名生成数字证书(ios_development.cer)并记录在案(Apple Member Center)。
从Apple Member Center网站下载证书到Mac上双击即可安装(当然也可在Xcode中添加开发账号自动同步证书和[生成]配置文件)。
证书安装成功:
在KeychainAccess|Keys中展开创建CSR时生成的Key Pair中的私钥前面的箭头,可以查看到包含其对应公钥的证书(Your requested certificate will be the public half of the key pair.);
在Keychain Access|Certificates中展开安装的证书(ios_development.cer)前面的箭头,可以看到其对应的私钥。
四.供应配置文件(Provisioning Profiles)
1、选择Provisioning Profiles->Development,然后选择右侧“+”号
2、Select Type -> 选择iOS App Development -> 选择Continue3、选择App ID,选择我之前添加的com.oschina.*,选择Continue4、选择证书,选择刚才生成的开发证书,然后选择Continue5、选择设备,会出现设备列表,一般来说把所有设备都添加进去,方便多台设备调试,选择Continue
6、为这个profile命名,不可含有标点,选择Generate
7.选择下载双击安装即可(如果没有下载需要在Xcode->Preferences中,选择Accounts登录账号,才能获取Provisoning profile选项【电脑需联网】)
五.配置Xcode
1、选择TARGETS->you app name->General
检查Bundle ID是否与描述文件所包含的App ID中的Bundle匹配,选择TARGETS->General查看,由于我们申请的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打头即可,后面可以随意填写
2、选择TARGETS->you app name->Build Setting->Code Signing
2.1、Code Signing->Provisoningprofile设置成上文下载的Provisoning Profile(joanfen),也可设置成Automatic ,XCode将会自动匹配描述文件(如果没有下载需要在Xcode->Preferences中,选择Accounts登录账号,这样在Provisoning profile看到相应的选项[电脑需联网])
2.2、Code Signing->Code Signing Identity设置需要的证书,debug一般设置developer证书,release设置distribution证书
【转】iOS开发者申请发布证书及真机调试图文详解的更多相关文章
- app发布证书、真机调试证书、测试证书、推送证书详细过程
原文网址: http://www.cnblogs.com/cxbblog/p/4028159.html 一:发布证书 遵旨:哪个开发者的哪台电脑要发布哪个app (这句话可以多读几遍) 通过上边的遵旨 ...
- 免费苹果账号(apple id)申请ios证书p12真机调试
HBuilder可以直接打包越狱版的ipa包,但需要越狱手机才能安装,如果需要安装到没越狱的手机安装,需要自己申请ios证书打包. 一般是需要一个付费了的苹果开发者账号才能申请ios证书打包. 这里介 ...
- 【iOS开发必备指南合集】申请企业级IDP、真机调试、游戏接入GameCenter 指南(实现仿官方的成就提示)、游戏接入OpenFeint指南;
本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-c ...
- IOS开发-phonegap及免证书及真机调试
回头补记(Last edited at 2015.5.24). 第一步:建立项目 参见:Xcode5 + phoneGap2.9搭建ios开发环境 下载phonegap2.9.1,解压. 命令行,进入 ...
- XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...
- iOS 证书、真机调试、发布 App Store
之前对iOS的证书弄的很不清楚,Xcode里面也有各种证书,作为一只有强迫症的巨蟹座,这是不能忍的 趁着准备发布自己的第一个app,梳理一下这块内容 主要参考了这几篇文章: iOS开发:创建真机调试证 ...
- Xcode4.5.1破解iOS免证书开发真机调试与ipa发布
开发环境使用Mac OSX Mountain Lion 10.8 + Xcode 4.5.1,iOS设备需要越狱并从Cydia安装AppSync.Xcode4.5.1的安装破解详细步骤如下: 第一步, ...
- 友盟iOS推送配置(从真机调试到推送)
下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已. iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这里我将省略掉一 ...
- Xcode 10 无开发者账号通过无线网络真机调试
Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS.iOS.WatchOS和tvOS的应用程序.WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统, ...
随机推荐
- ios UIWebView截获html并修改便签内容
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务器端 ...
- initialize 和init
initialize 是类方法,创建实例时会调用该方法.但是只会调用一次.如一个类创建了10个对象,initialize方法只会调用一次,但是init会调用10次.init 是实例方法,每次创建一个实 ...
- javascript格式化指定的日期对象
/* * 格式化Date对象为:“2015-04-17 10:20:00” * var dateObj = new Date(); */ function formartDate(dateObj){ ...
- JQuery AJAX介绍
new ActiveXObject("Microsoft.XMLHTTP")是IE中创建XMLHttpRequest对象的方法.非IE浏览器中创建方法是new XmlHttpReq ...
- Mac apache配置问题解决
AH00526: Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf: Invalid command 'Lock ...
- .net生成随机验证码图片
/// <summary> /// 自定义图片验证码函数 /// 该函数将生成一个图片验证码,并将生成的code存放于Session["VerifyCode"]变量内. ...
- SVG绘制矩形简单示例分享
最近我初学HTML5,刚在一步步学习SVG,积累了一些个人心得和程序代码,希望和大家分享,今天分享“svg之矩形”部分 1.简单矩形 效果图如下: 关键代码: <svg xmlns=" ...
- Spring Mvc Controller间跳转 重定向 传参 (转)
原文链接:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景 需求:spring MVC框架con ...
- windows下Apache配置SSL安全连接
什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...
- Python的简介以及安装和第一个程序以及用法
Python的简介: 1.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程.Pytho ...