iOS开发推送环境和打包类型

一、问题描述

在做友盟推送时,选择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

image.png

注意:当要上传AppSore之前,或者进行生产环境推送时,必须把这项改回来,改成Release

推荐阅读更多精彩内容