【问题标题】:How to launch an iOS app into the background in simulator?如何在模拟器中将 iOS 应用程序启动到后台?
【发布时间】:2014-11-11 01:04:06
【问题描述】:

在 Apple 提供的 documentation (App States and Multitasking) 中:

如果您的应用程序改为在后台启动(通常是为了处理某种类型的后台事件),则启动周期会略微更改为图 3-3 中所示的周期。主要区别在于,它不是让您的应用程序处于活动状态,而是进入后台状态来处理事件,然后很快就会暂停。启动到后台时,系统仍会加载您应用的用户界面文件,但不会显示应用的窗口。

如何在 iOS 模拟器中模拟将应用程序启动到后台?

如果应用启动到后台,会调用UIApplicationDelegate方法-applicationDidEnterBackground:吗?

【问题讨论】:

  • -applicationDidEnterBackground: 下一个断点你就会知道了。

标签: ios objective-c iphone launch


【解决方案1】:

您只需要启动您的应用程序,然后在模拟器中进入主屏幕 - 按cmd + shift + H,应用程序处于后台状态并调用 appDelegate 中的- (void)applicationDidEnterBackground:(UIApplication *)application

【讨论】:

    【解决方案2】:

    不,applicationDidEnterBackground: 在这种情况下不会被调用。 如果Xcode is attached,您无法模拟真正的启动到后台 行为。 (但您可以使用location simulation 使用UIApplicationLaunchOptionsLocationKey 键模拟启动)

    我在真实设备上测试了重要的位置更改 API,并在测试后收集了日志。结果: application:willFinishLaunchingWithOptions: 使用 UIApplicationLaunchOptionsLocationKey 键调用。 但是applicationDidEnterBackground: 没有被调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-06
      • 2012-04-14
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      相关资源
      最近更新 更多