两个iphone应用程序之间的数据共享

两个iphone应用程序之间的数据共享

问题描述:

我想要在两个iphone应用程序之间共享文本数据。我如何使用粘贴板来达到这个目的。任何人都可以帮我一个示例代码。提前致谢。建议我是否有比纸板更好的方式来完成我的任务。两个iphone应用程序之间的数据共享

如果你只是想使用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规则。

您可以使用custom URL schemes在您的应用程序之间进行通信。

我不会污染用户的剪贴板中,除非他们特别想要的东西复制到剪贴板想象在剪贴板中存放的一段文字,然后有一些应用程序覆盖它只是将数据发送到另一个应用程序的无奈。 ..不是一个好的用户体验。

更新:

由于@ohhorob评论,也可以创建自定义pasteboards。如果要通过粘贴板共享数据,请确保创建自己的(持久性)应用程序粘贴板并使用此代替主要粘贴板。有关更多信息,请参阅here

+2

Steve,不需要像KennyTM建议的那样使用通用粘贴板。粘贴板可以具有特定的固定名称,并且对于其他应用程序可以使用。 – ohhorob 2010-01-28 01:50:38

+0

@ohhorob:啊,对!我没有意识到这一点。谢谢! – 2010-01-28 08:03:55