appDelegate 中监听启动页、广告页、新版本更新等弹出顺序问题

66 阅读1分钟

需求:

程序启动后,弹出顺序启动页(不是 launchimage)-> 新版本提示 -> 广告活动,前一个界面关闭之后,弹出下一个界面。

当前配置

appDelegate.window.rootViewCtrl = tabbarCtrl
tabbarCtrl.subviews = @[HomeCtrl,...]

弹出方式:presentViewCtrl:

显示

  • 启动页,didFinishLaunch 中,只在第一次进入程序时显示;
  • 新版本提示,HomeCtrl中,获取 itunes 版本号;
  • 广告活动, HomeCtrl中,平台端设置;
sequenceDiagram
didFinishLaunch->>启动页: 第一次登录
didFinishLaunch-->>HomeCtrl:checkVersionNoti ? userDefault

启动页->>HomeCtrl: checkVersionNoti 
HomeCtrl ->> 新版本弹窗:checkVersionNoti

新版本弹窗->>广告活动:checkAdNoti

bug

在包含启动页的情况下,HomeCtrl 中注册的checkVersionNoti 在启动页创建之后才添加上,关闭启动页触发不了通知

修改

用 UserDefault 保存常量判断,是否进行checkVersion。