增删Provisioning Profiles
清空所有的Provisioning Profiles
cd ~/Library/MobileDevice/Provisioning\ Profiles/
rm *.mobileprovision
恢复需要的账号里的Provisioning Profiles
- 访问
XCode
的Preferences
>Accounts
- 在
Apple IDs
里面找到你的帐号,选中后,在右侧,在Team Name
下面会有一行信息 双击(或者单击右下角的View Details...
) - 在弹出窗口里面,有个
Download All
,点击之后,属于这个帐号的provisioning profile
就会再次出现
生成签名
大致介绍
本地生成证书
–> 进行签名
+ 添加项目id
+ 添加测试设备
–> 生成项目所需的Provisioning Profiles
- 生成签名证书常用两个
开发证书
/发布(测试)证书
项目ID
和测试设备ID
只需添加一次Provisioning Profiles
是和项目一一对应,但可以共用同一证书,它是根据证书
项目ID
测试设备
生成的- 一个项目常用三个
Provisioning Profiles
分别为开发配置(iOS App Development)
/发布配置(App Store)
/测试配置(Ad Hoc)
生成证书
- 电脑打开
钥匙串访问
钥匙串访问
->证书助理
->从证书颁发机构请求证书
- 填写相关信息后,选择
存储到磁盘
,进行保存 - 暂命名为
文件1
生成签名
- 打开开发者中心
- 进入
Certificates, Identifiers & Profiles
- 选择
Certificates
- 一直
下一步
即可 - 选择文件时 上传
生成证书
那一步的文件(文件1
) - 暂命名为
文件2
项目ID(Identifiers)和设备(Devices)
这一步没啥注意的
生成项目配置(Provisioning Profiles)
就是选择签名证书 项目ID 和 测试设备 生成一个配置文件 暂命名为文件3
下载文件2
和 文件3
双击倒入即可
报错解决
1 | Your build settings specify a provisioning |
以上步骤都没错 运行报上述错误时,解决方法如下
- 找到项目中的
**.xcodeproj
文件,点击右键,show package contents(打开包内容)
。 - 打开后找到
project.pbxproj
文件,用文本编辑器打开
。其实就是右键,点击open就好了。 - 打开这个文件后,按
command+F
,在这个文件中查找PROVISIONING_PROFILE
,找到类似下面的配置的都删除
1 | PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB"; |
- 然后保存文件,重新打开项目。倒入
Provisioning Profiles
即可
推送证书
推送证书和之前的证书生成步骤有一点不一样
推送证书生成前 必须先添加Identifiers
生成的过程中要选择项目的Identifiers
生成p12文件
生成签名证书(上文的文件2
)
下载 双击 倒入电脑
打开钥匙串访问
选我的证书
找到导入的证书 右键导出p12文件即可
生成pem文件
生成
1 | openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes |
检查是否可用
有效期
openssl x509 -in xxx.pem -noout -dates
连接APNS测试证书是否合法
开发环境
1 | openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert xxx.pem -key xxx.pem |
生产环境
1 | openssl s_client -connect gateway.push.apple.com:2195 -cert xxx.pem -key xxx.pem |
更换开发电脑
换电脑后以前的证书都不能用了,解决方法有两个
1) 访问XCode
的Preferences
>Accounts
左下角有个齿轮的标志点击导出 在另一台电脑导入即可(推荐方式)
2) 原电脑不在 那就删除原有的证书 在新电脑上生成 证书删除是没事的 他只在发布应用时用 发布后 删除是不会有影响的(推送证书除外)