jjzjj

ios - 后台的 NSTimer 行为(addTimer :, beginBackgroundTaskWithExpirationHandler :)

Xcode6.3.1ARC启用,适用于iOS8.3我需要帮助理解我在应用程序进入后台后尝试维护单例共享计时器时遇到的奇怪行为。以前我不关心这个NSTimer,因为它是使用后台位置服务在后台更新用户位置的。但是,我想解决用户在后台或位置更新时拒绝位置更新的情况。位置和计时器对于我的应用来说是齐头并进的。我在以下主题和网站帖子中浏览了相当多的信息.​​..Apple's-BackgroundExecutionhttp://www.devfright.com/ios-7-background-app-refresh-tutorial/http://www.infragistics.com/c

ios - dispatch_after 还是 NSTimer?

我开发了一种方法,每3秒显示一个移动的图像。我使用dispatch_after进行制作,但在应用程序的每次执行中,显示图像的距离或时间都是不同的。将NSTimer与Schedule一起使用更有效吗?? 最佳答案 是的,NSTimer是高级API,易于实现和控制,如果您想暂停或停止该动画,您可以这样做。但据我所知,GCD的性能更好。 关于ios-dispatch_after还是NSTimer?,我们在StackOverflow上找到一个类似的问题: https:

ios - 应用程序返回前台后 NSTimer 崩溃

这个错误已经存在我的代码中好几天了-我一直在尝试解决它但无济于事。我已经在模拟器和设备上进行了大量调试、日志记录、Crashlytics抛出崩溃日志,这与我的NSTimer在解除分配后发送消息有关。我会进一步解释。这个NSTimer控制我在一些ViewController上的UIToolbar标签,它不断更新标签以显示从用户刷新UITableView。加载后,每次刷新时,它都会显示Updatedjustnow,然后如果用户不刷新/转到另一个VC,它会每60秒更新一次。因此,一分钟后,它会显示Updated1minuteago。NSTimer触发执行UILabel更新的方法。在用户刷新时

ios - 是否可以使用NSTimer将越狱的iPhone从深度 sleep 中唤醒?

注意:在编辑的更下方,有简单的代码可以生成问题,而没有我的原始程序的全部复杂性。我正在尝试为越狱的iOS编写一个闹钟应用程序。我已将UI设置为用于调度警报的独立应用程序,然后将警报信息保存到磁盘。保存文件由始终运行的启动守护程序读取,该守护程序实际处理警报。我这样安排警报(在守护程序中编辑:)(NSDate*fireDate较早计算):NSTimer*singleTimer=[[NSTimeralloc]initWithFireDate:fireDateinterval:0target:selfselector:@selector(soundAlarm:)userInfo:alarmr

objective-c - 使用 NSTimer 的秒表错误地在显示中包含暂停时间

这是我的iPhone秒表代码。它按预期工作,并在单击按钮时停止和恢复。但是,当我点击“停止”时,计时器不会停止在后台运行,而当我点击“开始”恢复它时,它会更新时间并跳到当前位置而不是从那里恢复停止的时间。如何停止NSTimer?发生这种情况的原因是什么?@implementationFirstViewController;@synthesizestopWatchLabel;NSDate*startDate;NSTimer*stopWatchTimer;inttouchCount;-(void)showActivity{NSDate*currentDate=[NSDatedate];NS

ios - 如何在后台运行 NSTimer 并在 iOS 中休眠?

我在stackoverflow中发现了很多关于NSTimer在后台运行的帖子。但是我没有找到任何解决方案。在我的应用程序中,我在后台播放声音,并设置定时器在到达该时间时停止播放音乐。所以我需要运行我的NSTimer后台(意思是当点击主页按钮并让iPhone休眠时)。我该怎么做? 最佳答案 //NSTimerrunwhenappinbackground[[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:nil];loop=[NSTimers

ios - 在后台运行 NSTimer 或 UILocalNotification

如何在iOS上执行倒计时?首先,我尝试了NSTimer。然后我发现当应用程序进入后台时NSTimer无法工作。其次,我用过counterTask=[[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:^{}];让NSTimer在后台工作。但后来我发现iOS只允许应用程序在后台运行不超过600秒(10分钟)。我不知道如何让NSTimer在后台运行超过10分钟。第三,我厌倦了使用NSLocalNotification,但它运行良好。但我想做的是通过调用一个方法来暂停播放音乐。我发现UILocalN

ios - 背景/前景上的 NSTimer 行为

场景是:应用程序有一个主运行循环,每5分钟运行一次。当应用程序后台运行时,计时器不会失效。在前台稍等(比如10分钟)后,计时器会立即触发两次。我不清楚这里定义的行为应该是什么(如果有的话),除了在后台,计时器与应用程序一起暂停/暂停。在我看来,当应用程序处于前台时,计时器实际上会查看自后台以来耗时,确定它应该在两者之间触发的次数,然后将它们全部触发。我观察到这种情况在iOS7模拟器和iOS7iphone上都发生了。Google搜索没有找到太多关于此主题的信息。有什么想法/建议吗?更新:澄清-我的问题是当应用程序在后台然后再次前台时NSTimer的行为是什么,假设计时器在后台没有失效/无

iphone - 键值观察和 NSTimer

我正在尝试观察一个类(StopWatch)中的一个int属性(totalSeconds),其中总秒数每次触发时增加一秒(一秒间隔)我的自定义类(DynamicLabel)UILabel的一个子类应该接收每次totalSeconds更改时都会收到一条observeValueForKeyPath消息,但从未调用过。相关代码如下:#import"StopWatch.h"@interfaceStopWatch()@property(nonatomic,strong)NSTimer*timer;@end@implementationStopWatch@synthesizetimer;@synth

ios - Today Extension (Widget) 中可以使用 NSTimer 吗?

我想在TodayExtension中使用NSTimer来刷新小部件,但我不知道这种行为是否合法?我做了一个演示,使用NSTimer每1秒计数和刷新一次小部件UI,看起来好像可以,但问题是当用户退出通知中心时,计时器仍在运行,我应该何时何地停止计时器? 最佳答案 我也可以确认这种方法对我很有效。overridefuncviewDidDisappear(animated:Bool){//stopthetimerherewhennotificationcenterisclosed}有趣的是,当您开始向上滑动关闭通知中心时,viewWill