JMSGDBMigrateDelegate.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * | | | | \ \ / / | | | | / _______|
  3. * | |____| | \ \/ / | |____| | / /
  4. * | |____| | \ / | |____| | | | _____
  5. * | | | | / \ | | | | | | |____ |
  6. * | | | | / /\ \ | | | | \ \______| |
  7. * | | | | /_/ \_\ | | | | \_________|
  8. *
  9. * Copyright (c) 2011 ~ 2015 Shenzhen HXHG. All rights reserved.
  10. */
  11. #import <Foundation/Foundation.h>
  12. /*!
  13. * 数据库升级通知
  14. *
  15. * 当一个新版本的 SDK 第一次启动时, 如果发现新版本所使用的 DB 需要升级, 则会暂停启动过程, 进行升级操作.
  16. * 数据库升级操作可能需要花费较长的时间.
  17. *
  18. * 在数据库升级操作进行期间, SDK 未启动正常工作, 所有 API 禁止访问. 简单地说, SDK 在不可用状态.
  19. *
  20. * 为了让 App 能够处理 SDK 的这个状态, 数据库升级期间, SDK 会发出升级开始, 与升级完成的通知.
  21. *
  22. * 建议 App 应处理这个数据库升级的通知, 以让 App 交互看起来是可以接受的.
  23. *
  24. * 典型的作法是: 收到升级开始通知时, App 弹出全屏进度状态, 提示用户正在升级数据. 在这个状态下用户不可以操作 App.
  25. * 收到升级完成通知时, 结束升级提示, 并且继续执行 SDK 准备好后需要做的事情.
  26. */
  27. @protocol JMSGDBMigrateDelegate <NSObject>
  28. /*!
  29. * @abstract 数据库升级开始
  30. */
  31. @optional
  32. - (void)onDBMigrateStart;
  33. /*!
  34. * @abstract 数据库升级完成
  35. *
  36. * @param error 如果升级失败, 则 error 不为 nil. 反之 error 为 nil 时升级成功.
  37. *
  38. * @discussion SDK会有自动重试, 竭力避免失败. 如果实在返回失败, 建议提示用户重新安装 App.
  39. */
  40. @optional
  41. - (void)onDBMigrateFinishedWithError:(NSError *)error;
  42. @end