2010-01-19 136 views
5

我想要在兩個iphone應用程序之間共享文本數據。我如何使用粘貼板來達到這個目的。任何人都可以幫我一個示例代碼。提前致謝。建議我是否有比紙板更好的方式來完成我的任務。兩個iphone應用程序之間的數據共享

回答

7

如果你只是想使用IPC,讓你的兩個應用程序識別一些URL方案。然後撥打

[[UIApplication sharedApplication] openURL: 
    [NSURL URLWithString:@"theOtherApp://dataToShare"]]; 

發送,並使用-application:handleOpenURL:來接收。


要通過剪貼板共享字符串,請使用

UIPasteboard* board = [UIPasteboard generalPasteboard]; 
board.string = @"Some string to share"; 

保存,並使用board.string是獲取檢索串共享。但是如果用戶在共享數據之間複製任何內容將會丟失。

  • 通訊錄


    或者,您也可以通過共享的東西。創建一個虛擬聯繫人並將其用於共享。

  • 鑰匙扣。製作共享鑰匙串項目。只有3.x。
  • 從共享文件夾中讀取/寫入。即使您的應用是沙盒,也可以訪問/var/mobile/Library/AddressBookKeyboardPreferences。儘管這可能違反了SDK規則。
0

您可以使用custom URL schemes在您的應用程序之間進行通信。

我不會污染用戶的剪貼板中,除非他們特別想要的東西複製到剪貼板想象在剪貼板中存放的一段文字,然後有一些應用程序覆蓋它只是將數據發送到另一個應用程序的無奈。 ..不是一個好的用戶體驗。

更新:

由於@ohhorob評論,也可以創建自定義pasteboards。如果要通過粘貼板共享數據,請確保創建自己的(持久性)應用程序粘貼板並使用此代替主要粘貼板。有關更多信息,請參閱here

+2

Steve,不需要像KennyTM建議的那樣使用通用粘貼板。粘貼板可以具有特定的固定名稱,並且對於其他應用程序可以使用。 – ohhorob 2010-01-28 01:50:38

+0

@ohhorob:啊,對!我沒有意識到這一點。謝謝! – 2010-01-28 08:03:55

相關問題