2014-03-05 79 views
2

場景:如何在不切換應用程序的情況下在iOS應用程序之間傳遞數據?

  • 我已經開發了兩個應用程序,應用程序A和應用程序B,這兩個用戶安裝
  • 應用A正在運行
  • 應用A需要獲得存儲在應用B
  • 的字符串
  • 獲取字符串後,應用程序A仍將運行
  • 用戶應該看不到「切換動畫」。也就是說,用戶不應該收到任何反饋(例如切換到應用程序B,然後返回到應用程序A)此通信正在發生。

在Android上,這是微不足道的,但我無法弄清楚如何做到這一點的IOS 7

+0

那你試試?爲什麼這些應用是分開的?是需要計算還是數據已被應用程序B知道? – Wain

+0

這隻能在App B已經提供數據的情況下完成。如果B位於後臺,則應用程序A無法向B發出請求(至少在沒有將用戶切換至B的情況下)。 – rmaddy

+1

我在新的問題上更好地闡述了約束條件和情況:http://stackoverflow.com/questions/22215092/how-can-one-app-provide-data-to-another-without-swiching-apps – UsAaR33

回答

4

您有幾種可能性:

  • 讓應用B發送的字符串服務器和檢索它在App一個
  • 讓應用乙類貯存串鑰匙串上,讓應用程式閱讀(使用相同的鑰匙串訪問集團作爲解釋here
  • 創建私人UIPasteboard分享信息(如解釋here)。

PS:應用程序A和B必須來自同一供應商,或沒有這些可能性將在iOS 7.

編輯工作:作爲@rmaddy指出的那樣,這些只會工作如果App B在App A要求之前提供數據。

+1

當然沒有除非App B在App A提出要求之前已經提供了數據。 – rmaddy

+0

哦,應用程序A和應用程序B來自不同的供應商。這個信息雖然有幫助,我會提出一個新問題。 – UsAaR33

0

類似於http://Parse.comhttp://openkeyval.org/可以讓您輕鬆地將簡單數據快速存儲到「雲端」&。根據一個系統將它從一個應用程序存儲起來,該系統可讓您在另一個應用程序中推演出該密鑰。然後通過網絡從第二個應用程序中檢索它。

顯然你需要一個網絡連接,但是鑑於你只是在談論字符串,即使在一個狡猾的E或3G連接上也應該沒問題。

(我決不會與解析或openkeyval無關。我已經使用解析爲一個開發,我認爲他們是很好的。)

+0

如果我不想讓應用程序A向用戶請求憑據,我該如何安全地執行此操作? (第三方無法訪問雲中的數據應用程序B商店) – UsAaR33

+0

如果您想要真正的安全性,那就更難了,但是如果您想要一個正常的隱私級別,只需以難以輕鬆的方式選擇您的密鑰猜到了。作爲另一種選擇,您可以讓這兩個應用僅通過應用切換ONCE共享密鑰,之後他們都可以將該密鑰用作雲URL的一部分 – buildsucceeded

+0

我不想進行任何應用切換。我怎麼能安全地選擇鑰匙,因爲A和B都需要知道它們? – UsAaR33

相關問題