难得 iOS 客户端上架成功,赶紧记录下这个过程,作为自己的一个经验~
ruby-china-ios 默认配置是对应 ruby-china 的,需要先改为 testerhome 的配置才能获取到 testerhome 的相关信息。
修改方法:
点击右上角用户头像->【个人资料设置】,选择右侧的【管理我的应用】
点击右上角【注册新应用】,输入应用相关信息(回调地址具体填法后续再确定),点击提交
记录下 应用 ID 和 私钥 的值,待会配置客户端要用到。
Constants.swift
文件把 ROOT_URL 改为 https://testerhome.com
,OAUTH_CLIENT_ID 改为上一步获取到的 应用 ID,OAUTH_SECRET 改为上一步获取到的 私钥。
其它一些内容带有 ruby-china 的地方也对应改为 testerhome ,主题、图标等也根据需要进行调整。具体修改内容可查看 https://github.com/testerhome/ruby-china-ios/commits/master 对应的提交:
推送证书需要在 iOS 开发者后台中配置,同时也需要在 testerhome 后台配置 apns_pem
步骤基本和 iOS 推送证书设置指南 里面一致。大致步骤:
1、 修改 APP ID ,启用推送(特别留意 development 和 distribution 的都要 enable ,否则自己本地测试收不到推送)
2、 在开发者后台生成 Apple Push Notification service SSL (Sandbox & Production) 证书
3、 下载证书(一个 .cer 文件),双击导入到钥匙串
4、 打开钥匙串,找到这个证书(正常是 Apple Push Service 开头),右键导出成 p12 文件,后续假设文件名为 cert.p12
5、使用下面的命令生成一个 pem 文件
$ openssl pkcs12 -in cert.p12 -out website.pem -nodes -clcerts
6、把 website.pem 的内容(cat website.pem
)配置到后台->全局配置-> apns_pem 中。
在本机架设一个 testerhome 网站,按照上面的步骤添加新的应用并配置到 iOS 客户端中:
正常来说,当前客户端登录的用户收到一个通知(如帖子被回复或者被 @)就会有推送出现。
步骤基本和 iOS App 上架流程 (2016 详细版)一致。大致步骤:
上传完应用,应用信息也配置好后,点击 itunes connect 里面的 send for review 就开始进入审核队列了。
这过程中,因为不熟练,遇到了一个坑,卡了一天:
原因有两个:
OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key: nested asn1 error
。如果有,那基本上就是 pem 配置不正确导致和苹果推送服务器通讯失败了。解决方法:用上面正文里的那个命令生成 pem 内容即可。