liyoujia1988
2023-08-07 20:08:00 +08:00
您好,关于您反馈的问题,解答如下:
TUIOfflinePush 开源组件,是为了方便离线推送的接入而开发的。
为了获取到比较丰富的系统回调,TUIOfflinePush 会接管 APP 层自有的 AppDelegate ,并将 UIApplication 的 delegate 替换成自己,也即 TUIOfflinePush 会在中间做透明转发,让 APP 上层无感知。
因为以下几个方面的原因,TUIOfflinePush 还暂时不支持 swift 的接入,接下来会陆续在 swift 上做友好支持。
1 )这里利用了比较多的动态特性,上层业务在使用 UIApplication.shared.delegate 的时候,无法直接 as AppDelegate ,从而会影响 swift 环境下 AppDelegate 的获取
2) 为了方便配置证书 ID ,提供了比较多的宏定义,这里 swift 暂时还不支持
目前由于 APNs 离线推送本身的集成并不困难,swift 的集成可以参考 TUIOfflinePushManager+APNS 文件,自己申请 token 和 上报 token 。
另外,TUIOfflinePush 内部监听了 TUICore 组件中的 TUILogin 登录事件,初衷是简化集成。这也是为什么 TUIOfflinePush 仅仅 pod 进工程而不调用就接管系统回调的原因。
如果您是 swift 环境,直接在 podfile 中移除掉 TUIOfflinePush 即可。