命名UIPasteboard之间的应用程序?

是否有可能使用一个名为UIPasteboard(即不是全球的)在两个应用程序之间传输数据?

  • 这些应用程序是完全独立的,所以有不同厂商的不同软件包ID
  • 我想使用一个命名的粘贴板,所以全局粘贴板中的用户自己的内容不会被覆盖

苹果的文档说:

粘贴板可以是公共的或私人的。 公共粘贴板被称为系统粘贴板; 私人粘贴板由应用程序创build,因此被称为应用程序粘贴板。

其含义是,纸板可以是“全球和公共”或“命名和私人”。

我创build了两个具有不同包ID的应用程序,似乎可以使用私有的命名粘贴板将内容从一个应用程序传递到另一个应用程序。 但是,这只是iOS模拟器的一个function,或者真正支持但没有很好logging的东西?

感谢任何见解!

您可以为自己的粘贴板值设置一个自定义string,并在整个应用中使用该string,以便您的应用必须使用唯一string访问该值:

UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"youruniquestring" create:YES]; [pasteboard setPersistent:YES]; //save the unique identifier string that we created earlier [pasteboard setString:@"your message"]; 

它被支持。 请记住,如果两个安装了它的应用程序都被删除,那么命名的粘贴板就会消失,所以不要用它来存储任何你没有备份的东西。