Search code examples
iphoneobjective-ciosuipasteboardpasteboard

iOS - UIPasteboard not working outside app


I think this is more of an SDK flaw than my apps' but recently I've been trying to use UIPasteboard to copy strings from my app and it works fine to pasting somewhere when I'm inside the app.

When I jump to another app by either pressing the home button or anything like that, I simply don't have the option to paste the copied content.

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setString: @"blah" ];
NSLog(@"%@", pasteboard.string);

It will print "blah" in this case, and whenever I quick touch a textfield, it will show the paste option. But if I go to Safari, Notes or Mail It doesn't show me that option.

Also, If I copy something from mail and go to my app, I won't see the paste option aswell...


Solution

  • I have similar problem. That might be some conflicts with some third party library. I found that when I remove Flurry Analytics , everything is fine. I guess the lib does something on "EnterBackground" event.

    You could try to "clean up" your application. remove function call on AppDelgate's enterbackground delegate.

    I mean your code or third part code might do sth during "DidEnterBackground" that mass up your clipboard. try do not code anything on this:

    • (void)applicationDidEnterBackground:(UIApplication *)application{}

    Also try to remove third party code which need you to invoke in : -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions –