5

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

4

2 回答 2

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/AddressBook并且即使您的应用程序被沙盒化,也可以访问KeyboardPreferences不过,这可能会违反 SDK 规则。
于 2010-01-19T08:16:38.283 回答
0

您可以使用自定义 URL 方案在您的应用程序之间进行通信。

我不会污染用户的剪贴板,除非他们特别想将某些内容复制到剪贴板——想象一下在剪贴板中存储一段文本然后让某个应用程序覆盖它只是为了将数据发送到另一个应用程序的挫败感......不是良好的用户体验。

更新:

正如@ohhorob评论的那样,可以创建自定义粘贴板。如果您要通过粘贴板共享数据,请确保创建自己的(永久)应用程序粘贴板并使用它而不是主粘贴板。请参阅此处了解更多信息。

于 2010-01-19T08:13:07.080 回答