Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 每隔x分钟在后台检查一个条件,如果为真,则发送通知_Iphone_Ios_Objective C_Notifications_Uilocalnotification - Fatal编程技术网

Iphone 每隔x分钟在后台检查一个条件,如果为真,则发送通知

Iphone 每隔x分钟在后台检查一个条件,如果为真,则发送通知,iphone,ios,objective-c,notifications,uilocalnotification,Iphone,Ios,Objective C,Notifications,Uilocalnotification,我已经找了几个小时的解决方案了。我知道如何使用本地通知。我发现本地通知可以重复显示,但通知正文和图标标识号应该始终相同。我想做的是:即使应用程序未运行,也要反复检查条件,如果条件为真,向通知中心发送通知,在应用程序的图标徽章上显示数字。要显示的数字是从数据库中获取的 有人知道怎么处理吗?任何帮助都将不胜感激。您可以这样做,使用nstimer,然后每分钟运行一次,在内部计时器选择器中写入您的条件,然后根据post通知进行检查 [NSTimer scheduledTimerWithTimeIn

我已经找了几个小时的解决方案了。我知道如何使用本地通知。我发现本地通知可以重复显示,但通知正文和图标标识号应该始终相同。我想做的是:即使应用程序未运行,也要反复检查条件,如果条件为真,向通知中心发送通知,在应用程序的图标徽章上显示数字。要显示的数字是从数据库中获取的


有人知道怎么处理吗?任何帮助都将不胜感激。

您可以这样做,使用nstimer,然后每分钟运行一次,在内部计时器选择器中写入您的条件,然后根据post通知进行检查

   [NSTimer scheduledTimerWithTimeInterval:1
  target:self select:@selector(sendnotification:)    userInfo:nil repeats:YES];

   -(void)sendnotification:(Nstimer*)timer
   {
   //post notification here
    }

谢谢你的回答。你能告诉我更多的细节吗。想把这个计时器放在哪里?即使在应用程序未打开的情况下也能正常工作吗?谢谢!这你必须在你的应用程序上看你想要的地方。我想在启动应用程序时在方法内部提出建议。如果必须从HTTP服务器加载条件,您可以使用后台获取,但您指定的间隔只是一个建议,iOS不会让您每隔几个小时运行一次。否则,你不能。必须有一台服务器通过Apple notification service发送通知。我不想使用服务器,因为要显示的内容存储在本地数据库中。间隔时间只是一个建议,每天运行一次也可以。你可以使用后台获取,但这是为了从Internet获取内容而设计的。描述是“该应用程序定期从网络下载和处理少量内容。”。如果你作弊并将其用于其他用途,你的申请可能无法获得批准。你可以从服务器上下载一些东西来模拟有意义的网络活动。相关的苹果文档是。我还没有尝试过,所以hussain Shabbir的答案可以解决这个问题吗?