2012-06-15 41 views
0

我正在爲IOS做一個程序,這是第一次。我從來沒有一個iPhone,所以我真的不知道它是如何工作的...iOS通知和服務器檢測

我想使我的系統能夠在後臺調用Web服務,並根據答案顯示通知。

我該怎麼做? 我在互聯網上閱讀,我可以推送通知到手機,但是這不會解決我的問題,因爲我想我的服務器跟蹤用戶的位置,所以它需要用戶默默地告訴服務器它的GPS座標。

謝謝 GustDD

+0

通知中心的通知? –

+0

任何類型的通知=)彈出或聲音... – Gust

回答

0

我會建議首先構建應用在前臺運行。我會假設你已經瞭解如何使用GPS,所以不會詳細說明。

首先,您需要幾乎同時編寫服務器後端和應用程序。在編寫服務器後端語言方面有很多選擇。我更喜歡python,其他人在rails上使用ruby。您想爲iDevice可以使用簡單的HTTP協議與之通話的服務器構建一個REST API

您必須決定API。您必須考慮要發送和接收的數據類型以及如何包裝數據。您還可以使用什麼HTTP協議來處理特定請求,例如GET POST等。此外,根據您要發送或接收的數據,您將必須決定服務器上的哪些URL對GET或POST有用。我建議你使用JSON來包裝你的數據。它非常直觀,易於編碼和解碼。

接下來,您將必須決定如何與iOS中的服務器通話。有許多偉大的第三方庫打扮NSURLConnection或者你可以使用NSURLConnection本身(有時有點乏味)。我個人喜歡使用AFNetworking。它會爲你做JSON解碼和編碼,這是一個很大的好處。最後,一旦你有了兩個你想要的數據和你想要的數據進行通信,現在有時間打扮了。您可以允許您的應用在後臺運行並收集GPS數據併發送。您還可以使用通知中心在後臺顯示從服務器獲取的信息。

更新評論

This will be extremely helpful你有背景的編程。從Android的角度來看,iOS有點不同,因爲iOS中的Android服務並沒有真正的直接關聯。把你的項目放在一起的每一個細節都在這個環節。

+0

謝謝你的輸入,我照顧了所有的事情,直到前景/背景部分。我已經完成了Android等其他項目。問題是,當設備打開並在未關閉的情況下在後臺運行時,是否可以啓動應用程序?我該怎麼做? – Gust

+0

@必須檢查我的更新,該鏈接應該是相當有幫助的。 –

+0

我已經研究過那個網頁......但是沒有一個解決方案對我有好處......我需要在每30分鐘內與服務器交換信息,我怎樣才能喚醒我的應用程序,而不必將它帶到前臺更新服務器? – Gust