阿里云 移动推送 iOS 端 SDK 配置

阿里云 SDK 配置 请依官方为主 毕竟已经很详细了
https://help.aliyun.com/document_detail/30072.html


SDK 配置流程 :
1、导入下载好的 OneSDK

引入 Framework 在 Xcode 中,直接把下载 SDK 目录中的 framework 拖入对应 Target 下即可,在弹出框勾选 Copy items if needed。

oneSDK 目录结构:
  • CloudPushSDK.framework
  • AlicloudUtils.framework
  • UTDID.framework
  • UTMini.framework
  • AlicloudSender.framework
  • EMASRest.framework
2、添加公共包依赖 在 Build Phases -> Link Binary With Libraries 中,引入下列的公共包:
  • libz.tbd
  • libresolv.tbd
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • UserNotifications.framework(iOS 10+)
  • ibsqlite3.tbd
3、特殊要求
  • 应用的 targets -> Build Settings -> Linking -> Other Linker Flags,请加上 -ObjC 这个属性,否则推送服务无法正常使用。
  • 移动推送 iOS SDK 已经完成 ATS 适配,请求都以 HTTPS 发出,无需在 Info.plist 中进行 ATS 配置。
4、在AppDelegate.m 里面完成配置
  • 工程引入头文件

# import <CloudPushSDK/CloudPushSDK.h>

5、Xcode 设置
  • 在 TARGET 下 Capabilities 勾选 Backgroud Modes -> Remote notifications,
  • 主要是 iOS7 之后,苹果支持后台运行,如果这里打开后,当接收到远程推送后,程序在后台也可以做一些处理。
6、常遇见的问题:
  • 在项目 target 中,打开 Capabilitie —> Push Notifications,并会自动在项目中生成 .entitlement(ɪn'taɪt(ə)lmənt 权利 )文件。(很多同学升级后,获取不到 deviceToken,大概率是由于没开这个选项)
    Capabilitie —> Push Notifications 自动生成 .entitlement 文件
  • 确保添加了 UserNotifications.framework,并 import 到 AppDelegate,记得实现 UNUserNotificationCenterDelegate 。

# import <UserNotifications/UserNotifications.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate,UNUserNotificationCenterDelegate>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容