• 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的开发流程记录。

     

  • 相关阅读:
    使用内部单向链表实现的一个简单堆栈
    通过反射调用内部类的隐藏方法
    动态代理生成空对象
    通过使用java.lang.reflect.Proxy实现动态代理
    简单代理模式
    暗色CSS,适用与Stylish, IE, FF, OPERA等.
    CWnd派生的控件处理MouseMove, MouseHover, MouseLeave
    _tcscpy_s的size应至少为src的长度+1(要把计算在内)
    用INET(CHttpFile)下载有重定向链接时获取最终URL的方法.
    GetDlgItem以及其他获得CWnd相关的函数要注意。。
  • 原文地址:https://www.cnblogs.com/ALongWay/p/5822478.html
Copyright © 2020-2023  润新知