美文网首页
ios 证书相关问题

ios 证书相关问题

作者: 老夫撩发少年狂 | 来源:发表于2017-11-01 16:37 被阅读283次

    1 证书申请流程介绍

    1.1 Certification(证书)

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

    基本证书(非推送通知证书)

    Developer Certification(开发证书)安装在电脑上提供权限:开发人员通过设备进行真机测试。可以生成副本供多台电脑安装;

    Distribution Certification(发布证书)安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。不可生成副本,仅有配置该证书的电脑才可使用。

    1.2 appID

    什么是appID: 例如WNP的APPID:com.chinanetcenter.wspushapp,它是每一个应用的独立标识,在设置项中可以设置Services,也就是其所使用的额外服务,比如是否用到了

    PassBook,GameCenter以及常见的push服务,如果选中了push服务,我们的应用有用到推送功能,必须生成第3条所的推送证书。

    1.3 推送证书

    分为开发和发布两种,分别为APNs Devlopment(开发用推送证书)和APNs Production(发布用推送证书)具体内容如下:

    该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上。

    Development

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

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

    Production

    In-House and Ad Hoc (3年):用来发布In-House和AdHoc的应用程序。

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

    MDM CSR

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

    1.4 Provisioning Profile(描述文件)

    描述什么:描述文件里边包含了App ID , Certificates , Devices. 说明生成描述文件需要用到这些信息.

    如果我们要打包ipa或者在真机上运行一个应用程序,我们首先需要证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的等等;然后需要指明它的App ID,并且验证Bundle

    ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。而ProvisioningProfile就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们

    只要在不同的情况下选择不同的profile文件就可以了。而且这个Provisioning Profile文件会在打包时嵌入.ipa的包里。

    如下图所示,一个用于Development的Provisioning Profile中包含了该ProvisioningProfile对应的App ID,可使用的证书和设备。这意味着使用这个ProvisioningProfile打包程序必须拥有

    相应的证书,并且是将App ID对应的程序运行到Devices中包含的设备上去。

    iOS Provisioning Portal中,点击App IDs进入App ID列表。

    创建 App ID,如果 ID 已经存在可以直接跳过此步骤

    为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。

    根据实际情况完善 App ID 信息并提交,注意此处需要指定具体的 Bundle ID 不要使用通配符。

    配置和下载证书

    如果你之前没有创建过 Push 证书或者是要重新创建一个新的,请在证书列表下面新建。

    新建证书需要注意选择证书种类(开发证书用于开发和调试使用,生产证书用于 App Store 发布)

    点击 Continue 后选择证书对应的应用ID,然后继续会出现“About Creating a Certificate Signing Request (CSR)”。

    根据它的说明创建打开KeychainAccess 创建 Certificate Signing Request。

    填写“User Email Address”和“Common Name” 后选择 Saved to disk 进行保存 。

    继续返回Apple developer 网站点击 Continue ,上传刚刚生成的 .certSigningRequest 文件生成 APNs Push Certificate。

    下载并双击打开证书,证书打开时会启动“钥匙串访问”工具。

    在“钥匙串访问”中你的证书会显示在“我的证书”中,注意选择“My Certificates” 和"login"

    导出 .p12 证书文件

    注意要选“login”和“My Certificates” 导出证书时要选中证书文件,不要展开private key。

    将文件保存为Personal Information Exchange (.p12)格式。

    将文件保存为Personal Information Exchange (.p12)格式。

    上传证书

    JPush 管理 Portal 上,针对某应用程序,上传上面步骤得到 .p12 证书文件。这是 iOS SDK 能够接收到 JPush 推送消息的必要步骤。

    Provisioning Profile的创建

    创建Provisioning Profile的前提,已在Apple Developer网站创建待发布应用所使用的Bundle ID的App ID,且为该App ID创建了APNs证书,如下图:

    创建App ID、APN证书和p12证书的导出的具体步骤请看 :iOS 证书 设置指南

    苹果开发者账号的Provisioning Profile页面点击下图按钮,创建Provisioning Profile

    选择此Provisioning Profile的环境后点击[Continue]:

    选择要创建Provisioning Profile的App ID后点击[Continue]:

    选择所属的开发者证书,(这里创建了多个开发者证书,建议只创建一个,方便管理)为了方便,选择了[Select All],再点击[Continue]进入下一步:

    为该Provisioning Profile选择将要安装的设备(一般选择[Select All]),点击[Continue]:

    给该Provisioning Profile填写Profile Name,点击[generate]完成创建。

    填写完Profile Name后点击[generate]完成创建,之后点击[DownLoad]下载Provisioning Profile

    双击下载下来的Provisioning Profile,添加到xcode。

    XCode的证书配置教程

    参照iOS SDK 集成指南集成JPush SDK 和上传了推送用到的p12证书后在编译运行前需要先配置一下证书,步骤如下:

    打开xxx-info.plist的Bundle identifier项把上传到JPush 控制台的bundle id填写进去:

    点击项目,选择目标TARGETS后进入Build Setting 界面,搜索“Code signing”,按照下图配置

    相关文章

      网友评论

          本文标题:ios 证书相关问题

          本文链接:https://www.haomeiwen.com/subject/gqibpxtx.html