首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在闪屏时崩溃,iPhone

在闪屏时崩溃,iPhone
EN

Stack Overflow用户
提问于 2009-11-23 07:08:08
回答 7查看 1.2K关注 0票数 0

我有一个应用程序,当打开时,显示一个启动/加载屏幕。在应用程序继续运行之前,我将其设置为2.5秒。

代码语言:javascript
运行
复制
- (void)applicationDidFinishLaunching:(UIApplication *)application 
{

sleep(2.5);


[window addSubview:viewController.view];
[window makeKeyAndVisible];

}

我现在想让应用程序在闪屏上暂停一分钟(这是有很好的理由的),所以我想:

代码语言:javascript
运行
复制
sleep(60.0);

可能会被使用。然而,当我使用它时,我的应用程序会打开并停留在闪屏大约20秒,然后退出/崩溃回到跳板。

你知道为什么会这样吗?

我该怎么做呢?

编辑//值得注意的是:

代码语言:javascript
运行
复制
sleep(15.0);

代码语言:javascript
运行
复制
sleep(19.0);

工作。

代码语言:javascript
运行
复制
sleep(20.0);

不会。

解决方案//不使用睡眠,使用计时器。我在这里遵循了tutorial:

http://adeem.me/blog/2009/06/22/creating-splash-screen-tutorial-for-iphone/

非常感谢,

Stu

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-11-23 07:18:32

我在这里纯粹是猜测,但可能是因为您阻塞了主线程(使用睡眠而不是计时器),iPhone OS将其视为“无响应的应用程序”并终止它。

查看NSTimer。

票数 5
EN

Stack Overflow用户

发布于 2009-11-23 08:25:19

我同意Joshua Nozzi的观点,操作系统“认为”你的应用程序已经崩溃了。

我将删除sleep()并执行以下操作:

代码语言:javascript
运行
复制
[window performSelector:@selector(addSubview:) withObject:viewController.view afterDelay:60.0f];
[window performSelector:@selector(makeKeyAndVisible) withObject:nil afterDelay:60.0f];
票数 4
EN

Stack Overflow用户

发布于 2009-11-23 07:29:35

如果你查看你的控制台,你可能会看到类似下面这样的东西…

警告:您的应用程序名称未能及时启动

警告:正在强制应用程序名称的崩溃报告...

警告:已完成崩溃报告。

基本上,因为您让主线程休眠了太长时间,所以操作系统决定应用程序无法启动,并强制应用程序退出。您最好使用计时器来执行延迟,以便主线程保持活动状态。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1780358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档