App开发流程之iOS开发证书拾遗
很久没有总结,回头看了一下过期的账号,记录的内容少之又少。最近有一些时间,想好好总结记录一下。
由于很久没有记录,想写的东西很多又很杂,想了一下,一篇一篇罗列知识点和经验,还不如写一个系列,记录一个应用的开发流程和经历。
主线就是一个应用的构建和开发过程,期间再针对部分节点进行分析和探讨。
这篇的标题,之所以叫“拾遗”,可以参考一下我已过期的账号(http://www.cnblogs.com/A-Long-Way-Chris/),里面已经记录了好几篇开发证书的文章,在此只是做一些补充,作为正式开发前的一些准备。
如下内容,主要记录p12证书和pem证书。
将苹果开发者中心生成好的真机调试和发布用的证书、推送用的证书加入钥匙串后(指由当前Mac设备在开发者中心创建的证书),可以看到如下列表(因有多个应用,所以请忽略推送证书的个数):
选中iPhone Developer:xxxx 这个开发调试证书,保证“专用密钥”未展开,右键选择“导出xxxxxx”,出现如下界面
可以更改名称和存储位置,点击“存储”,会出现要求输入密码的界面,也可以不输入密码(即后续使用不需要密码),直接确定。
导出的p12证书可以传给其他同事,双击添加到钥匙串,便于对同一个开发者账号下的项目进行真机调试。
对于发布证书可以有同样的操作。
你可能涉及到的p12证书的主要用途:
1.用于多个开发者和多台设备配合开发调试
2.通过第三方平台推送消息,例如友盟推送
3.生成pem证书,用于推送消息
补充推送用的pem证书生成流程:
对推送证书进行上述p12证书生成操作,例如得到一个apns-dev-cert.p12
然后展开“专用密钥”,右键密钥,导出得到apns-dev-key.p12
然后打开终端程序,依次输入下列指令:
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
按要求输入密码
然后再输入如下指令:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
最后得到的apns-dev.pem文件,即可用于部分推送消息的平台
对于发布证书可以有同样的操作。
最后,记录一下开发过程中,遇到的证书错误:
1.如果提示钥匙串里的iPhone Developer:xxxx或者Distribution:xxxx过期,则需要在开发者中心重新编辑或生成证书,加入钥匙串,生成p12证书给同事
2.如果提示“苹果的安全证书过期”,需要前往下载新的安全证书,不过下次过期还有很多年:https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
3.如果Xcode编译提示provisioning profile错误,则是配置概要文件错误,需要配置当前应用Debug或者Release模式对应证书下的provisioning profile
4.Archive打包导出ipa时候,提示“证书已经存在,但本地未安装”,多半指ad hoc证书未正确配置。谨慎点击“revoke”按钮,此操作会导致开发和发布证书重置
简单来说,只要p12证书正确导入,多数问题由provisioning profile引起。
证书的总结和记录已经很多了,基本概括了开发过程中经常遇到的情况,证书拾遗就先到这里了,下篇正式开始一个App的开发流程记录。
App开发流程之iOS开发证书拾遗的更多相关文章
- iOS 9应用开发教程之iOS 9新特性
iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS ...
- Xamarin Anroid开发教程之Anroid开发工具及应用介绍
Xamarin Anroid开发教程之Anroid开发工具及应用介绍 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Andro ...
- iOS开发UI篇—IOS开发中Xcode的一些使用技巧
iOS开发UI篇—IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n 新建项目 cmd + n 新建文 ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- iOS开发——基础篇——iOS开发 Xcode8中遇到的问题及改动
iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...
- iOS开发——总结篇&IOS开发基础知识
IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...
- 开发必看 | iOS开发常用设计模式!
ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则: ...
- iOS开发——高级篇——iOS开发之网络安全密码学
一.非对称加密 - RSA : + 公钥加密,私钥解密: + 私钥加密,公钥解密: + 只能通过因式分解来破解 二.对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用, ...
- App开发流程之Xcode配置和本地化
补充一点遗漏的Xcode配置. 1.偏好设置.Xcode的菜单栏Xcode -> Preference Fonts & Colors可以自定义编码区和控制台的背景.字体. Text Ed ...
随机推荐
- 《大话操作系统——做坚实的project实践派》(4)
操作系统内核必需要关注一个详细硬件平台的设备 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG1ub3M=/font/5a6L5L2T/fontsi ...
- HTML5 2D平台游戏开发#11斜坡物理
在游戏中会经常遇到斜坡地形,比如众所周知的魂斗罗,角色可以在坡上移动和跳跃: 斜坡在2D游戏中很常见,处理起来也较为棘手.最初我打算用分离轴定律来实现,在建立了一个物理模型之后: 发现上坡时没什么问题 ...
- .net之GridView、DataList、DetailsView(一)
GridView:两种数据绑定方法 方法一:得到数据后,赋给DataSource属性,然后执行控件的DataBind()方法. BLL.Article bll = new BLL.Article(); ...
- java,jquery对json的解析
json常用于浏览器对服务器的数据传递,所以,我们会经常在浏览器和服务器段对json进行封装和拆装,下面对这些进行简单介绍吧 1,服务器端,也就是java方面,我们用的是 net.sf.json-li ...
- 常用PhpStorm 快捷键
函数列表 打开某一个源码文件后,保证鼠标焦点在源文件内,按键盘组合键: alt + 7 返回原文件导航:双击最上面的工程名即可 PhpStorm折叠文件内所有函数 按下快捷`Ctrl`+`Shift` ...
- PHP-Manual的学习----【语言参考】----【类型】
2017年7月17日15:18:02 该看Boolean 布尔类型1.PHP 支持 8 种原始数据类型. 2.四种标量类型: ◦ boolean(布尔型) ◦ integer(整型) ◦ ...
- Nearest Common Ancestors(LCA)
Description A rooted tree is a well-known data structure in computer science and engineering. An exa ...
- Python高级编程第二版--笔记
不只是CPython Stackless Python Jython(与java集成) IronPython(与net集成) PyPy python真正出众的领域在于围绕语言打造的整个生态系统. Py ...
- SuperAgent使用文档
SuperAgent是一个轻量级.灵活的.易读的.低学习曲线的客户端请求代理模块,使用在NodeJS环境中.官方文档:http://visionmedia.github.io/superagent 简 ...
- swift打印方法名文件路径
1.打印方法名 print(#function) 1.打印文件路径 print(#file)