gpt4 book ai didi

iOS 状态恢复日志警告而不是在模拟器中运行

转载 作者:行者123 更新时间:2023-12-01 18:16:01 26 4
gpt4 key购买 nike

我在状态恢复的 iOS 模拟器中有一些奇怪的行为。我最近才意识到它只发生在模拟器中。我想知道我是否做错了什么。但我也想分享一下我的经验。

我在 Xcode 5.0.2 中创建了一个单屏项目。在我的应用程序委托(delegate)中,我只添加了两种方法:

- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder
{
NSLog(@"I am restore.");
return YES;
} // */


- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder
{
NSLog(@"I am save.");
return YES;
} // */

没有其他变化。

在实际的 iPhone 上调试时,我得到了两条日志消息;启动时“我正在恢复”,按下主页按钮停止应用程序时“我正在保存”。如果我注释掉其中一个或两个,我不会收到任何日志消息。似乎您需要这两种方法才能工作。他们甚至不会在没有对方在场的情况下被叫到。

在 iOS 模拟器中调试时,(我不知道如何判断我在模拟器中使用的操作系统版本)我从来没有收到任何日志消息。如果两种方法都存在,并且只有两种方法都存在,我的日志中会显示“警告:无法创建正在进行的恢复标记文件”,但我仍然没有收到我所做的日志消息。因此,仅两者的存在就会引起警告,但地球上没有任何力量可以召唤它们。在模拟器中。我尝试在 Storyboard 中添加恢复 ID,但它没有改变任何东西。

我意识到 Apple 建议在实际设备上运行,并且他们不保证在模拟器上会有类似的行为。但是我需要在某个地方设置一些设置才能在模拟器中恢复状态吗?有一次我让它工作了,我认为我的 Storyboard更改破坏了它。但是对于这样一个最小的应用程序,我想知道是否有更基本的东西。

最佳答案

这不是错误。调用这些方法是为您的应用程序准备状态序列化。状态序列化永远不会在模拟器中发生,因为应用程序不会被终止。

最终,这是模拟器和实际设备之间的许多差异之一。始终在设备上进行测试以确保实际功能。

编辑:通过按下模拟的“home”键,可以在模拟器中进行状态序列化。 ⌘⇧H

关于iOS 状态恢复日志警告而不是在模拟器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21862323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com