我的应用程序的每一分钟都是有关检查,然后每分钟做出通知,如果我的数据库进行更新。如何在后台运行的任务作出通知,迅速
我已经完成我的应用程序中,有一个简单的流程,比如使用广播接收器能够对设备启动时开始重复AlarmManager一个Android版本,然后让它做任务的每一分钟。
使得iOS的版本时,我的烦恼是如何开始在设备启动以及如何让它做任务背景的每一分钟。
我的应用程序的每一分钟都是有关检查,然后每分钟做出通知,如果我的数据库进行更新。如何在后台运行的任务作出通知,迅速
我已经完成我的应用程序中,有一个简单的流程,比如使用广播接收器能够对设备启动时开始重复AlarmManager一个Android版本,然后让它做任务的每一分钟。
使得iOS的版本时,我的烦恼是如何开始在设备启动以及如何让它做任务背景的每一分钟。
幸运的是iOS中是不可能的。设备启动后没有可能以编程方式运行,并且在后台工作的应用程序非常有限。
编辑 Parse.com已经死了。下面的答案在写回时有效。
解析关闭提醒托管解析服务现在已关闭。要 所有的开发商在那里,我也很高兴能帮助您建立 应用。再见,祝你好运!
如果您使用的是Parse,您可以每分钟查看是否通过Cloud Code更新了数据库,然后根据该数据设置推送通知。
要尽快得到答案:
首先,你必须设置解析云代码然而做到这一点。 https://parse.com/docs/cloudcode/guide这里是Cloud Code的文档。
这里是推送通知文档:https://www.parse.com/docs/ios/guide#push-notifications
较长的答案:
这是我做的:
https://parse.com/apps/quickstart#cloud_code/unix使用这种快速启动的为您排忧解难。
例如,在该代码中,我想是超过24小时,以删除所述柱:
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function(request, response) {
response.success("Hello world!");
});
Parse.Cloud.job('deleteOldPosts', function(request, status) {
// All access
Parse.Cloud.useMasterKey();
var today = new Date();
var days = 1;
var time = (days * 24 * 3600 * 1000);
var expirationDate = new Date(today.getTime() - (time));
var query = new Parse.Query("ProductInfo");
query.lessThan('createdAt', expirationDate);
query.find().then(function (ProductInfo) {
Parse.Object.destroyAll(ProductInfo, {
success: function() {
status.success('All posts are removed.');
},
error: function(error) {
status.error('Error, posts are not removed.');
}
});
}, function (error) {});
});
一旦有了的JavaScript逻辑检查数据库是否更新,转到您的项目,然后单击核心,然后单击作业。
然后,安排一份工作。
你会得到这样的事情:
它说: “分钟”,你可以选择1分钟。
希望有所帮助。
PS,这是一个类似的问题,我在几个星期前回答,可以帮助:Swift2 push when app is closed
那么如何社交媒体应用程序,如线,信使的工作? –
@PoramateHomprakob他们使用推送通知等。每分钟轮询的概念效率非常低,并且会不必要地浪费用户的电池。有关后台功能的完整讨论,请参阅[后台执行](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/) TP40007072-CH4-SW1)_iOS应用程序编程指南的一章._ – Rob