anon
anon

Reputation:

Named UIPasteboard between apps?

Is it possible to use a named UIPasteboard (ie, not the global one) to transfer data between two apps?

Apple's docs say:

Pasteboards may be public or private. Public pasteboards are called system pasteboards; private pasteboards are created by applications, and hence are called application pasteboards.

The implication is that a pasteboard can be either "global and public" or "named and private".

I created two apps, with different bundle IDs, and seem to be able to pass stuff from one app to the other using a private named pasteboard. But is that just a feature of the iOS Simulator, or something which really supported but not well documented?

Thanks for any insight!

Upvotes: 6

Views: 5642

Answers (3)

SUMIT NIHALANI
SUMIT NIHALANI

Reputation: 417

If you use named pasteboard then the data can be transferred from your app to other app with same team IDs. I haven't tested yet but I don't think so you can do the same for apps of different vendors!

Apple doc says:

You can create named pasteboards with the class methods init(name:create:) and withUniqueName() for sharing data within your app and from your app to other apps that have the same Team ID.

Upvotes: 0

Noah Witherspoon
Noah Witherspoon

Reputation: 57149

It’s supported. Keep in mind, though, that the named pasteboard will disappear if both apps that set it up are deleted, so don’t use it to store anything you don’t have a backup of.

Upvotes: 1

rooster117
rooster117

Reputation: 5552

You can set a custom string for your pasteboard value and use that across your apps so your apps have to access the value with your unique string:

UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"youruniquestring" create:YES];

[pasteboard setPersistent:YES];

//save the unique identifier string that we created earlier
[pasteboard setString:@"your message"];

Upvotes: 10

Related Questions