iOS开发者申请发布证书及真机调试 图文详解
一.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登录账号,才能获取Provisoningprofile选项【电脑需联网】)
五.配置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登录账号,这样在Provisoningprofile看到相应的选项[电脑需联网])
2.2、Code Signing->Code Signing Identity设置需要的证书,debug一般设置developer证书,release设置distribution证书
iOS开发者申请发布证书及真机调试 图文详解相关推荐
- Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略
Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略 文章目录 1. 创建证书 2. 修改Xcode的配置文件 3. 准备自定义的生成后脚本 4. 修改工程设置 5. 旁门左道生成 ...
- (转)申请企业级IDP、真机调试、游戏接入GameCenter 指南、游戏接入OpenFeint指南;...
Himi 原创, 转载请注明出处,谢谢! 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6913967 这里Himi给出对于开发iOS的 ...
- IOSnbsp;7nbsp;Xcodenbsp;5nbsp;免IDP证书nbsp;真机调试
今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次 ...
- iOS 淘宝买 开发者证书 进行真机调试
Apple的开发者账号99¥.(反正我舍不得.上淘宝买个证书就可以用自己的iphone/ipad来真机调试代码了) 怎么买? 1.你的apple设备的udid号(设备标识符) 2.支付RMB 从淘宝店 ...
- [iOS] Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略
众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP.这严重阻碍了我等草根开发者探索的脚步.写个小程序,同学间分享一下这个小小的愿望都不能满足,自 ...
- Xcode 10 无开发者账号通过无线网络真机调试
Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS.iOS.WatchOS和tvOS的应用程序.WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统, ...
- ios--用证书进行真机调试(转)
测试环境:Xcdoe4.5, ML10.8 转自"http://mobile.51cto.com/iphone-276988.htm" Xcode搭建真机调试环境 图文实例 201 ...
- 手机的开发者选项怎么找(真机调试)
在我们开发中往往需要真机调试,第一次的时候找不到怎么做,下面记录的是安卓的操作: 连接USB数据线 USB模式调成传输文件模式 先在设置的更多设置中找一下有没有开发者选项,有就打开,没有就再手机的我的 ...
- 真机iOS 系统升级后xcode不能进行真机调试
今天升级了一下iPhone5s(土豪金版)的系统到iOS8.4,xcode只能支持到8.3,真机调试遇到问题???下面是解决办法! 找到xcode,点击右键,打开显示包内容,按路径Contents/D ...
最新文章
- Hibernate基础学习2
- 10月15日云栖精选夜读 | 阿里巴巴 Apache Dubbo 布道师谈 Service Mesh
- 详解 Java 中的三种代理模式
- Linux系统安装VM-Tools
- BugKuCTF WEB web基础$_GET
- 小二,先来两桂花豆沙包!
- Python | 这是过七夕吗?这是趁机学习一下下,就一下~~
- [CF1105D]Kilani and the Game
- 代码管理学:凡事养成登记的做法,比如依赖库
- 有哪些好用的在线条形码生成器?
- 下载超星或读秀图书时,怎么搞定完整书签?
- IOS开发之——数据库-Couchbase(05)
- ae在哪里直接复制合成_AE脚本-合成复制脚本(同合成复制修改相互不影响)True Comp Duplicator v3.9.11+使用教程...
- 香槟分校计算机科学排名,伊利诺伊大学厄巴纳香槟分校计算机科学computer science专业排名第29名(2020THE泰晤士高等教育世界大学排名)...
- Firefox火狐浏览器配置about:config优化加速
- 【原生微信小程序】 组件的使用,权限弹窗
- 【头歌C语言程序与设计】字符数组
- 《计算之魂》思考题4.4
- oracle 主键、唯一键值、唯一索引关系
- element plus中的el-link如何去掉下划线