I’m trying to put some plain text in the iPhone Pasteboard. The following code doesn’t seem to work:
UIPasteboard *pboard = [UIPasteboard generalPasteboard];
NSString *value = @"test";
[pboard setValue: value forPasteboardType: @"public.plain-text"];
I’m guessing the problem is in the PasteBoard type argument. Passing @"public.plain-text" nothing happens. Passing kUTTypePlainText the compiler complains about incompatible pointer type, but doesn’t crash, and nothing happens either. Using kUTTypePlainText also seems to require linking with MobileCoreServices, which is not mentioned in the docs.
Responding to the comments and my own question:
pasteboardstring property works.setValue:forPasteboardType:also works if I usekUTTypeUTF8PlainTextinstead ofkUTTypePlainTextfor the pasteboard type.I had not noticed the string property because I went directly to the “Getting and Setting Single Pasteboard Items” tasks section.
The way I was testing was by clicking in a text field and see if the paste pop-up would appear.
I still am not sure where in the docs the UTT types are explained for the iPhone, including where to get them (Framework,
#includefiles), it seems that the “Uniform Type Identifiers Overview” doc is still geared toward Mac OS. Since the constants gave me a type mismatch warning I thought I was doing something wrong, that’s why I first tried using anNSStringliteral.