2015-12-27 85 views
0

我的應用程序的每一分鐘都是有關檢查,然後每分鐘做出通知,如果我的數據庫進行更新。如何在後臺運行的任務作出通知,迅速

我已經完成我的應用程序中,有一個簡單的流程,比如使用廣播接收器能夠對設備啓動時開始重複AlarmManager一個Android版本,然後讓它做任務的每一分鐘。

使得iOS的版本時,我的煩惱是如何開始在設備啓動以及如何讓它做任務背景的每一分鐘。

回答

1

幸運的是iOS中是不可能的。設備啓動後沒有可能以編程方式運行,並且在後臺工作的應用程序非常有限。

+0

那麼如何社交媒體應用程序,如線,信使的工作? –

+1

@PoramateHomprakob他們使用推送通知等。每分鐘輪詢的概念效率非常低,並且會不必要地浪費用戶的電池。有關後臺功能的完整討論,請參閱[後臺執行](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/) TP40007072-CH4-SW1)_iOS應用程序編程指南的一章._ – Rob

0

編輯 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使用這種快速啓動的爲您排憂解難。

  1. 你將不得不編寫一些javascript邏輯,用於你在教程/文檔解釋時要執行的內容。

例如,在該代碼中,我想是超過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邏輯檢查數據庫是否更新,轉到您的項目,然後單擊核心,然後單擊作業

  • 然後,安排一份工作。

  • 你會得到這樣的事情:

    enter image description here

    它說: 「分鐘」,你可以選擇1分鐘。

    希望有所幫助。

    PS,這是一個類似的問題,我在幾個星期前回答,可以幫助:Swift2 push when app is closed