一、问题描述
在做友盟推送时,选择development
模式打出来一个包,上传到蒲公英然后安装到手机上。接着获取到对应的device token,把device token添加到友盟的后台上,到此准备工作结束。
一切看似合理,然而用友盟后台的测试模式
进行推送时,发现刚安装的包收不到推送,而直接真机调试安装的包能收到推送。
二、经验分析
去友盟后台上比对device token
,发现device token
已经有了,所以排除device token
的原因,那会不会跟导出来包是development
有关系呢?
有经验的iOS开发者知道:
- 打包时可以选择appstore、adhoc、development三种模式
- 上面三种模式决定了安装包的推送环境
- 一般导出类型为adhoc、appstore包对应着生产环境的推送;而development对应着开发环境的推送。
这样就排除了导出时选择模式的原因。
既然直接真机调试能收到,而打出来的包收不到,那就检查项目配置,特别是打包相关的。
三、找到问题
经检查,如果想让打出来的包是测试环境的,必须在Edit Scheme -> Archive ->Build Configuration
选择Debug。
注意
:当要上传AppSore之前,或者进行生产环境推送时,必须把这项改回来,改成Release。