2013-04-03 78 views
0

在一个iPhone应用程序(的iOS 4.2版或更高版本):IOS:如何区分应用程序的自动启动或用户启动?

我需要区分(通过点击应用程序图标从桌面电话),或在自动执行应用程序是否被用户从电话开通系统启动。

我已阅读并彻底搜索,但没有找到答案。

谢谢!

+1

当应用程序曾经在启动时自动执行? – bdesham

+0

“系统启动时自动执行”是什么意思?当有人打开他们的电话? –

+0

嗨理查德。是的,当手机开机时。 –

回答

1

您可以通过查询传递到willFinishLaunchingWithOptions的启动选项确定这一点。从documentation

如果您的应用程序系统为一个具体的理由推出的launchOptions字典有数据表明,用于发射的原因。您的应用程序应该在这本词典中查找与您的应用程序支持的功能相对应的任何键。如果给定的密钥存在,则应提供适当的响应。

如果您的应用程序启动后打开一个URL,您应该检查UIApplicationLaunchOptionsURLKey键的值并返回一个布尔值,指示您的应用程序是否可以真正打开该URL。你不应该尝试在这个方法中打开URL。相反,在应用程序委托中实现应用程序:openURL:sourceApplication:annotation:方法并使用该方法打开URL。

+0

好吧,我用didFinishLaunchingWithOptions的IOS 4.3和launchOptions是在两种情况下(自动启动或用户启动)零 - –