State restoration 状态重建时遇到的问题Warning: Unable to create restoration in progress marker file

之前用MMDrawerController这个第三方库,运行的时候会有个警告Warning: Unable to create restoration in progress marker file。

解决方法:

首先看看用于状态重建(State restoration)的设置是不是正确的:

1、在AppDelegate中,重写application:willFinishLaunching 方法,并return YES。重写shouldSaveApplicationState 和 shouldRestoreApplicationState方法,都return YES;

2、每一个ViewController(也包括NavigationController和TabBarController)和他们的父视图控制器都必须设置 restorationIdentifier属性;

完成后,运行程序,如果警告还是会出现,就按照下面的顺序操作来触发状态保持:

1、在Xcode模拟器上运行程序;

2、在Xcode模拟器上,点击Home键,让应用进入后台。这时应用会调用encodeRestorableStateWithCoder方法;

3、在Xcode上,点击stop键终止程序;

4、在Xcode上,双击Home键,在后台移除应用程序;

5、返回Xcode,再次运行程序;

按照这个顺序,就没有警告了。

对于这个警告,我的理解:

不能在进程标记文件中创建这个重构模型(restoration)。我觉得,如果要这个重构模型构建成功,程序就要正常的运行一次(包括终止),这样在以后的运行中,才能够重用这个重构模型。Xcode的stop并不是正常的终止了程序。参考:

http://stackoverflow.com/questions/19424670/state-restoration-in-ios?rq=1

http://stackoverflow.com/questions/18932156/cryptic-warning-without-any-google-results-in-simulator

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

推荐阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,068评论 3 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,508评论 0 12
  • 本文是对 MagicalRecord github上的翻译 正文:注意: MagicalRecord 在 ARC...
    騂跃神话阅读 2,043评论 1 5
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,210评论 30 471