2017-08-01 92 views
4

我創建了多個應用程序在Android與單個數據庫(內容提供商),單一登錄(這意味着如果我登錄在一個應用程序它應該適用於所有,如果我從一個應用程序應該從所有其他應用程序註銷),我必須從另一個應用程序中打開一個應用程序,並且每天都必須將所有離線數據更新到服務器(它應該每天發生在特定時間)。現在我要將這個系統(所有應用程序)移植到iOS,iPhone中可能嗎?我不打算將這個應用程序提交到應用程序商店。多個iOS應用程序與單個數據庫和單一登錄

+0

你爲什麼用'android'標籤標記你的問題? –

+0

因爲我已經在Android中實現了相同的功能,所以Android和iOS的常見開發人員可以輕鬆地給我一個建議 – Prathap

回答

3

是的,這是可能的。您將需要在容器URL保存您的數據庫,你可以使用:

- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier; 

groupIdentifier PARAM需要是同爲所有應用程序和需要內靶> Capabilities->應用組進行配置。

爲每個應用程序配置了相同的appGroup後,可以使用上述方法將數據庫保存到該方法提供的位置。這樣,所有的應用程序都可以訪問同一個數據庫。

有NSUserDefaults初始化方法需要使用套接字(appGroup),並創建一個共享的UserDefaults,它可以用於您的單一登錄目的。

- (instancetype)initWithSuiteName:(NSString *)suitename; 

參見:

containerURLForSecurityApplication

NSUserDefaults

+0

謝謝Puneet sharma爲您的快速響應,您能給一些詳細的示例 – Prathap

1

您可以使用AppGroups到您的應用程序之間共享文件。使用AppGroups,您可以通過在您的數據庫中存儲一個Bool功能來實現Single Sing-On功能,即您的每個應用都可以訪問該應用,以指示用戶當前是否登錄,並在打開其中一個應用時採取相應措施。

+0

謝謝David Pasztor,如何打開一個來自另一個應用程序的應用程序,以及如何在同一時間每天將所有數據上傳到服務器(爲此,我使用的是Android服務),iOS中的替代方法是什麼? – Prathap

+0

您無法從任何其他應用程序自動打開您的應用程序,「iOS」需要用戶進行交互。您必須提供一個鏈接,指向您的其他應用程序,用戶可以點擊啓動您的應用程序。但是,如果您使用共享數據庫,則無需打開其他應用程序即可將其數據上載到服務器。您只需確保數據在您的任何應用程序關閉之前寫入數據庫,然後您只需每日從其中一個應用程序上載數據庫的內容即可。 –

+0

設備連接到互聯網幾小時後,用戶正在離線進行一些工作,因此在將設備聯機前,有可能將所有應用程序都設置爲暫停狀態。 – Prathap

相關問題