美文网首页iOS开发之常用技术点
iOS 集成阿里云推送步骤详解(UTDID冲突的解决)

iOS 集成阿里云推送步骤详解(UTDID冲突的解决)

作者: 我就是马选之人 | 来源:发表于2019-01-09 11:27 被阅读101次

              昨天收到领导提出的需求,要集成阿里云推送(原因是收费便宜<小声BB>), 以前都是用的极光,感觉推送很简单呀,就开始做了,然而过程却没有我想的简单,下面就是我集成的步骤和遇到的报错:


    第一步:推送证书的配置

    不管用哪个推送平台都要进行的步骤,阿里云官方文档介绍的很详细了

    iOS推送证书设置_iOS SDK手册_终端SDK手册_开发指南_移动推送-阿里云 

    对着步骤一步步生成推送证书的.P12文件上传到阿里云,并配置boudleId

    图1

    第二步:下载SDK

    在阿里云官网下载SDK如下图做好准备工作。

    图2

    第三步:集成阿里云推送的过程

    1.UTDID冲突的解决

    因为之前集成了支付宝SDK,阿里云官网有支付宝SDK和阿里云推送的UTDID冲突预警,跟着官方文档步骤,去到下面的网址下载剥离了UTDID的支付宝开放平台文档中心,把之前的alipay删除,添加新的alipaySDK

    图3

    报错如下图:这是一个坑点

    图4

        问题来了,之前跑的好好的支付宝换个咋就出了问题 ?一顿试探之后找到了问题所在----添加依赖库:libresolv.9.tbd

    图5

    不报错了,测试支付宝功能正常后,再导入阿里云推送SDK。

    2.把下载的阿里云推送的四个framework拖进项目中

    图6

    注意要点copy items if needed

    3.添加依赖库

    libz.tbd

    libresolv.tbd

    CoreTelephony.framework

    SystemConfiguration.framework

    libsqlite3.tbd

    不报错了,集成完成


    第四步:应用SDK并推送测试

    1.在appdelegate.m中导入头文件

    #import <CloudPushSDK/CloudPushSDK.h>

    2.按照官网在appdelegate.m粘贴代码

    iOS SDK配置_iOS SDK手册_终端SDK手册_开发指南_移动推送-阿里云 最下面的代码全复制好,注意(图7)的APPID和密文要和控制台(图8)的一致

    图7 图8

    3.然后在didFinishLaunchingWithOptions中调用上面的方法:

    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

       [self  initCloudPush];

       [self  registerAPNS:application];

        [CloudPushSDK  sendNotificationAck:launchOptions];

        [self  registerMessageReceive];

        return YES;

    }

    4.别忘了打开APP的推送开关

    在TARGETS - Capabilities里打开如图9

    图9

    5.发送第一条提送消息

    图10

    来到控制台(图10),需要deviceToken才能测试推送,那么我们就需要拿到deviceToken的字符串类型,但是默认是NSData类型,修改获取deviceToken成功的回调方法中的代码如下图11:


    图11

    复制打印出的deviceToken到阿里云推送控制台(图10)中;点击测试推送;推送成功!

    图12



    相关文章

      网友评论

        本文标题:iOS 集成阿里云推送步骤详解(UTDID冲突的解决)

        本文链接:https://www.haomeiwen.com/subject/zqkwrqtx.html