iOS开发之常用技术点

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

2019-01-09  本文已影响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



上一篇 下一篇

猜你喜欢

热点阅读