State restoration 狀態(tài)重建時遇到的問題Warning: Unable to create restoration in progress marker file

之前用MMDrawerController這個第三方庫,運行的時候會有個警告Warning: Unable to create restoration in progress marker file。

解決方法:

首先看看用于狀態(tài)重建(State restoration)的設(shè)置是不是正確的:

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

2、每一個ViewController(也包括NavigationController和TabBarController)和他們的父視圖控制器都必須設(shè)置 restorationIdentifier屬性;

完成后,運行程序,如果警告還是會出現(xiàn),就按照下面的順序操作來觸發(fā)狀態(tài)保持:

1、在Xcode模擬器上運行程序;

2、在Xcode模擬器上,點擊Home鍵,讓應(yīng)用進入后臺。這時應(yīng)用會調(diào)用encodeRestorableStateWithCoder方法;

3、在Xcode上,點擊stop鍵終止程序;

4、在Xcode上,雙擊Home鍵,在后臺移除應(yīng)用程序;

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

按照這個順序,就沒有警告了。

對于這個警告,我的理解:

不能在進程標(biāo)記文件中創(chuàng)建這個重構(gòu)模型(restoration)。我覺得,如果要這個重構(gòu)模型構(gòu)建成功,程序就要正常的運行一次(包括終止),這樣在以后的運行中,才能夠重用這個重構(gòu)模型。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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 靜態(tài)庫與動態(tài)庫的區(qū)別 首先來看什么是庫,庫(Library)說白了就是一段編譯好的二進制代碼,加上頭文件就可以供別...
    吃瓜群眾呀閱讀 12,039評論 3 42
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 因為要結(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細...
    uniapp閱讀 4,467評論 0 12
  • 本文是對 MagicalRecord github上的翻譯 正文:注意: MagicalRecord 在 ARC...
    騂躍神話閱讀 2,031評論 1 5
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,199評論 30 471