在iPhone应用程序(iOS v4.2或更高版本)中:
我需要区分用户是否通过电话打开应用程序(通过点击桌面电话中的应用程序图标),或者是否在系统启动时自动执行。
我已经详尽地阅读和搜索,但没有找到这个案例的答案。
谢谢!
答案 0 :(得分:1)
您可以通过询问传入willFinishLaunchingWithOptions的启动选项来确定这一点。来自documentation:
如果您的应用程序是由系统出于特定原因启动的,则launchOptions字典包含指示启动原因的数据。您的应用应该在此词典中查找与您的应用支持的功能相对应的任何键。如果给定的密钥存在,您应该提供适当的响应。
如果您的应用程序已启动以打开URL,则应检查UIApplicationLaunchOptionsURLKey键的值,并返回一个布尔值,指示您的应用是否可以实际打开该URL。您不应该尝试在此方法中打开URL。而是在应用程序委托中实现应用程序:openURL:sourceApplication:annotation:method,并使用该方法打开URL。