【发布时间】:2011-12-05 14:45:34
【问题描述】:
这是我在这里的第一个问题,因为我在开发我的第一个 iOS 应用程序时遇到了问题。它是数以千计的手电筒应用程序之一,但我正在尝试为它添加尽可能多的功能。其中之一是在应用程序进入后台或终止时保存应用程序的状态。转到前台(iOS 4 或更高版本)或重新启动后,我正在从文件加载设置并重新应用它们。显然,其中一个设置是AVCaptureDevice.torchMode。但是,我遇到了这个问题。我正在applicationDidBecomeActive 方法中重新应用这些设置。这一切似乎都有效,但是当我很快点击主页按钮然后重新启动应用程序时,应用程序将执行以下操作(我延迟了 applicationDidBecomeActive 方法来观察它):
1。显示黑屏(加载中)
2。执行applicationDidBecomeActive 并打开 LED(我把延迟放在这里)
3。显示我当前的 UIViewController 并同时关闭 LED
它仅在将应用程序发送到那里后立即从后台调用应用程序后才会发生。我知道这不是现实的用例场景,但我喜欢认为错误经常“堆积”,并且由于这种(可能)糟糕的设计,我将来可能会遇到其他问题。我绝对确定这不是我关闭 LED 的代码,因为每当我的代码修改 AVCaptureDevice.torchMode 属性时,我 NSLog。所以,确切地说,我的问题是:
在applicationDidBecomeActive 之后调用什么方法,可能与UIViewController 有关,可以关闭我的手电筒?是否有任何可能的解决方案或解决方法?
【问题讨论】:
标签: objective-c ios ios4 multitasking flashlight