2014-07-12 26 views
1

我在尋找有關該作業的最佳工具是用於在同一設備上的兩個iOS應用程序之間共享相對複雜的數據對象的建議。在兩個本地iOS應用程序之間共享數據對象的最佳方法

我有一個房地產投資應用程序,我們將稱之爲應用程序A,它允許用戶輸入有關潛在投資財產的數據並計算重要的財務指標,如投資回報率。所有的屬性數據都使用核心數據在我們稱之爲Property的對象中持久化。

我正在開發從應用程序A導入屬性對象的應用程序B,並創建用戶可以發送給其他投資者的PDF報告。 Property對象不需要被保存在應用程序B中,只是暫時用來創建PDF文件。我希望用戶能夠從應用B打開應用A並選擇一個屬性,類似於照片選擇器。

我最初的直覺是使用URL方案來解決這個問題。這是我需求的最佳解決方案嗎?

+0

'UIDocumentInteractionController'會根據您的需要在App A中生成PDF並將其傳遞給App B而不是App B生成PDF?只是拋出這個,因爲它的工作和實施相對簡單。您甚至可以在App A中的UIDocumentInteractionController內通過電子郵件發送PDF,這可能意味着您根本不需要應用程序B!如果我誤解了你的用例,我可能是錯的。 – klcjr89

回答

0

沒有太多的選擇,很少有確實需要這兩個應用程序由同一個開發人員開發的(這裏看起來就是這種情況)。

最簡單的方法是使用共享的私有名稱粘貼板(UIPasteboard)與自定義URL方案結合使用。

應用程序A可以將數據放入粘貼板,然後使用其自定義URL方案啓動應用程序B.當然,這兩個應用程序都必須進行編碼,以瞭解數據如何寫入粘貼板和粘貼板的名稱。雖然粘貼板的名稱可以作爲自定義URL的一部分傳遞。

一旦應用程序B生成PDF,逆向過程就會發生。應用程序B可以將PDF放入粘貼板,然後使用其自定義URL方案啓動應用程序A.然後應用程序A可以從粘貼板獲取PDF並將其呈現給用戶。

或者,如果有意義的話,應用B可以使用UIDocumentInteractionController來讓用戶選擇如何處理PDF。這當然取決於你的需求。

+0

這似乎是最好的解決方案。我在這裏http://enharmonichq.com/sharing-data-locally-between-ios-apps/找到了一個很好的教程。謝謝。 – ChemDev

+0

要說清楚,我指的是使用URL方案的自定義粘貼板 – ChemDev

相關問題