【问题标题】:Relaunching the app with splash screen issue when running app from background从后台运行应用程序时重新启动应用程序时出现闪屏问题
【发布时间】:2013-05-27 13:12:48
【问题描述】:

我制作了一个通用应用程序。我的应用中有 3 个视图。

应用中有启动画面。

我遇到 1 个问题,即当我通过从第一个视图按主页按钮进入后台并从后台返回时,应用程序会以启动画面重新启动。

但是当我从第二个视图按主页按钮进入后台并从后台返回时,应用程序会以与我离开时相同的屏幕启动。

逐步产生;

  • 启动应用程序,启动屏幕显示大约3 秒后应用启动。
  • 按下主页按钮,应用程序进入后台。
  • 从后台恢复应用程序

在设备中运行时,它给出的崩溃日志为 ;

InstanceNotExists

Terminating app due to uncaught exception 'InstanceNotExists', reason: 'Attempted to access instance before initializaion. Please call takeOff: first.'

我想从一开始就停止整个应用程序的重新启动,而不是从最后的恢复状态。

我该怎么做?

谢谢。

【问题讨论】:

  • AFAIK 这是 iOS 处理的行为,它不会重新启动应用程序。通过在视图控制器生命周期方法中添加调试点来检查。如果它正在重新启动应用程序,则意味着您的应用程序在从 view1 进入后台时被杀死。在这种情况下,您会看到任何崩溃日志吗?
  • @Amar- 感谢您的回复。不,没有任何崩溃日志。它只是从头开始重新启动整个应用程序。
  • 这是发生在设备还是模拟器中?
  • @Amar- 它在设备中。
  • @Amar-no 我没有设置任何这样的键。并且还尝试使用没有值的键,但没有解决问题

标签: iphone ios objective-c xcode


【解决方案1】:

1) 您是否检查过 Debugging on Device ?

  • 它将在设备上完美运行。问题与模拟器有关。尝试在设备本身上进行调试,它肯定会按预期工作。

2) 检查您的info.plist 文件。如果您发现 "UIStatusBarHidden""UIStatusBarStyle" 的任何条目,则只需删除它们即可。

通过: Prevent Splash Screen from showing after returning from background

【讨论】:

  • @Rohan : 检查添加的链接。
  • “UIStatusBarHidden”和“UIStatusBarStyle”没有任何条目
  • @Rohan:你通过那个链接了吗?如果您从中得到什么,请尝试阅读该链接上的评论和答案。
  • 谢谢。我已经浏览了那个链接,它已经解决了我的问题
【解决方案2】:

如果您添加了启动画面,那么您可以在用户默认值中设置一个值。布尔值。在第一次运行时,让它是的。然后检查该值以决定是否显示启动画面。在 appdelegate.m

 if(![[NSUserDefaults standardUserDefaults] boolForKey:@"splash"])
    {
        [[NSUserDefaults standardUserDefaults] setObject:NO forKey:@"splash"];
    }
 if(    [NSUserDefaults standardUserDefaults]boolForKey:@"splash" == NO)
{
  //launch splash screen
}

【讨论】:

  • 感谢您的回复。其实不仅仅是闪屏的问题。但整个应用程序从一开始就重新启动。即整个应用程序重新启动而不是从上一个状态(屏幕)恢复
猜你喜欢
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多