使用
是否厌倦了手动创建和维护您的iOS应用程序的推送通知配置文件? 是否厌倦了为您的服务器生成一个pem文件?
fastlane做所有这些,只要简单一个fastlane pem
命令。
fastlane pem
+------------------+------------------------+
| Summary for PEM 2.41.0 |
+------------------+------------------------+
| development | false |
| generate_p12 | true |
| force | false |
| save_private_key | true |
| app_identifier | com.tyrad.fastlaneProj |
| username | qianshangjia@126.com |
| team_id | ZAKS37HHGG |
| output_path | . |
+------------------+------------------------+
[10:24:58]: Starting login with user 'xxx@126.com'
[10:25:02]: Successfully logged in
[10:25:03]: Creating a new push certificate for app 'com.tyrad.fastlaneProj'.
[10:25:06]: Private key: /Users/admin/Desktop/snapshot-fastlane/fastlaneProj/production_com.tyrad.fastlaneProj.pkey
[10:25:06]: p12 certificate: /Users/admin/Desktop/snapshot-fastlane/fastlaneProj/production_com.tyrad.fastlaneProj.p12
[10:25:06]: PEM: /Users/admin/Desktop/snapshot-fastlane/fastlaneProj/production_com.tyrad.fastlaneProj.pem
做了哪些工作
- 创建新的签名请求(signing request)
- 创建新的推送证书( push certification)
- 下载这个证书(certificate)
- 在当前工作目录创建新的 .pem 文件,你可以上传到你的服务器
pem
不会revoke已经存在的证书,也不会下载已经存在的证书,因为私钥仅在创建的机器上可用。
实用命令
如果你已经有一个可用的推送证书(certificate),而且有效期至少还有30天以上,pem
就不会创建新的证书。如果你想要创建新的,使用force
:
还可传参数,如:
fastlane pem -a com.krausefx.app -u username
生成开发证书:
fastlane pem --development
给p12文件设置密码:
可以指定输出名字:
列出可用命令选项:
注意事项
pem
命令生成的p12文件可以没有密码或者空字符串当密码。这样尽管生成的文件是有效的,但mac的Keychain Access不会允许你打开没指定密码的p12。
这时候,可以用OpenSSL验证文件:
openssl pkcs12 -info -in my.p12
如果要用keychain中的p12,比如说推送测试软件Knuff或NWPusher,您可以使用openssl将p12导出到pem并返回到p12(设置密码)。
% openssl pkcs12 -in my.p12 -out my.pem
Enter Import Password:
<hit enter: the p12 has no password>
MAC verified OK
Enter PEM pass phrase:
<enter a temporary password to encrypt the pem file>
% openssl pkcs12 -export -in my.pem -out my-with-passphrase.p12
Enter pass phrase for temp.pem:
<enter the temporary password to decrypt the pem file>
Enter Export Password:
<enter a password for encrypting the new p12 file>
参考链接
https://github.com/fastlane/fastlane/tree/master/pem