我希望能在两个iPhone应用程序之间共享文本数据。我该如何使用粘贴板来实现这一目的?能否提供一个示例代码帮助我解决问题。谢谢您的帮助。如果有比粘贴板更好的方法来完成此任务,请给我建议。
我希望能在两个iPhone应用程序之间共享文本数据。我该如何使用粘贴板来实现这一目的?能否提供一个示例代码帮助我解决问题。谢谢您的帮助。如果有比粘贴板更好的方法来完成此任务,请给我建议。
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"theOtherApp://dataToShare"]];
要发送并使用-application:handleOpenURL:
进行接收,请使用此方法。
如需通过剪贴板共享字符串,请使用此方法。
UIPasteboard* board = [UIPasteboard generalPasteboard];
board.string = @"Some string to share";
为了保存和使用数据,可以使用board.string
作为getter来检索要共享的字符串。但是,如果用户复制了共享数据之间的任何内容,则会丢失您的共享数据。
另外,您还可以通过以下方式共享:
/var/mobile/Library/AddressBook
以及Keyboard
和Preferences
即使您的应用程序被沙盒化也可以访问。但这可能违反SDK规则。你可以使用自定义URL schemes在应用之间进行通信。
除非用户明确想要将某些内容复制到剪贴板,否则我不会污染用户的剪贴板。想象一下,将文本片段存储在剪贴板中,然后有些应用程序为了向另一个应用程序发送数据而覆盖它...这不是一个良好的用户体验。
更新:
正如@ohhorob所评论的,可以创建自定义粘贴板。如果要通过粘贴板共享数据,请确保创建自己的(持久性)应用程序粘贴板并使用它,而不是主粘贴板。欲了解更多信息,请参阅这里。