Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone IOS:如何区分应用程序的自动启动或用户启动?_Iphone_Ios_Startup - Fatal编程技术网

Iphone IOS:如何区分应用程序的自动启动或用户启动?

Iphone IOS:如何区分应用程序的自动启动或用户启动?,iphone,ios,startup,Iphone,Ios,Startup,在iPhone应用程序(iOS v4.2或更高版本)中: 我需要区分应用程序是由用户通过手机打开的(通过单击桌面手机上的应用程序图标),还是在系统启动时自动执行的 我读了很多书,找了很多遍,但是没有找到这个案子的答案 谢谢大家! 您可以通过查询传入willFinishLaunchingWithOptions的启动选项来确定这一点。从: 如果系统出于特定原因启动应用程序,则launchOptions字典包含指示启动原因的数据。你的应用程序应该在此词典中查找与你的应用程序支持的功能相对应的任何键。如

在iPhone应用程序(iOS v4.2或更高版本)中:

我需要区分应用程序是由用户通过手机打开的(通过单击桌面手机上的应用程序图标),还是在系统启动时自动执行的

我读了很多书,找了很多遍,但是没有找到这个案子的答案


谢谢大家!

您可以通过查询传入willFinishLaunchingWithOptions的启动选项来确定这一点。从:

如果系统出于特定原因启动应用程序,则launchOptions字典包含指示启动原因的数据。你的应用程序应该在此词典中查找与你的应用程序支持的功能相对应的任何键。如果给定的密钥存在,则应提供适当的响应

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


应用程序何时在启动时自动执行?您所说的“在系统启动时自动执行”是什么意思?当有人打开手机时?嗨,Richard。是的,当手机开机时。手机开机时不会自动启动任何第三方应用程序以允许您的应用程序在后台运行,但这并不意味着它会在系统启动时自动启动。好的,我在IOS 4.3中使用didFinishLaunchingWithOptions,而launchOptions在这两种情况下均为零(自动启动或用户启动)-