【问题标题】:update UILabel with current time continuosly when the app is in background当应用程序处于后台时,使用当前时间持续更新 UILabel
【发布时间】:2013-12-02 13:07:55
【问题描述】:

当我在后台应用程序期间尝试将UILabel 更新为当前时间时,标签未更新。它在 xCode 4.6.2 上运行良好,但在 xCode 5 iOS 7 上它没有更新。

NSTimer *preventSleepTimer = [[NSTimer alloc] initWithFireDate:[NSDate date] interval:5.0 target:self selector:@selector(mmp_playPreventSleepSound) userInfo:nil repeats:YES];

我每 5 秒调用一次“mmp_playPreventSleepSound”这个方法,但它不调用这个方法,并且应用程序在 5 分钟后终止。

请给我一个解决方案,以便我可以在后台更新UILabel 文本并且应用程序应该连续运行?

【问题讨论】:

  • 如果标签不可见,为什么需要更新标签?为什么不在应用激活时设置它?
  • 我需要我的应用程序在 mpmovieplayer 暂停时继续运行。当 MPMoviePlayerControler 暂停并且应用程序进入后台时,它会在 5 分钟后终止

标签: ios7 uilabel xcode5 nstimer background-process


【解决方案1】:

这不是一个好主意。你应该实现方法

- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application

当应用程序进入前台时,您可以更新您的标签

如果您想在后台播放音频,请使用 AV Foundation https://developer.apple.com/library/ios/qa/qa1668/_index.html

【讨论】:

  • 我正在使用 MPMoviePlayerController 从服务器播放音频/视频文件。当我暂停播放器并单击主页按钮时,应用程序进入后台,5 分钟后应用程序终止,我想阻止它终止。 PANDORA 应用程序在暂停音频文件并进入后台时,应用程序不会终止。但是我的应用程序被 iOS 终止了。有什么办法可以防止终止吗?
  • 我更新了我的答案,你可以使用AV Foundation来实现音频的后台播放
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 2017-11-06
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-11
相关资源
最近更新 更多