简体   繁体   中英

UIPasteboard is stubbornly persistent, no matter what I do

I am creating a application UIPasteboard with my app's identifier as a name (eg com.example.app.pboard) as suggested in the docs.

All the copying and pasting works, but the damn thing never goes away. I set its persistent property explicitly to NO every time I access it to copy something onto it, and I even call UIPasteboard's +removePasteboardWithName: every time my app starts.

But every time I look at it, the most recent thing I copied onto it is always there, despite app restarts.

What gives?

No idea why what you are trying isn't working, here are two guesses and a possible solution:

  • Removing the paste board may be expected to be executed on exit from the app, so it doesn't execute until the app is terminated or backgrounded?
  • Calling remove and then asking for the items may be recreating it again in the same "place" so the items still remain.

You could perhaps solve this by setting the pasteboard's items to nil when leaving or entering the app.

You can set UIPasteboard to persistent. Accord to Apple's document ,

setPersistent: A Boolean value that indicates whether the pasteboard is persistent. When a pasteboard is persistent, it continues to exist past app terminations and across system reboots. App pasteboards that are not persistent only last until the owning (creating) app quits. The system wide general pasteboard is persistent. Named, app-specific pasteboards are not persistent.

Update: For iOS 10, UIPasteboard set persistence automatically.

Note Starting in iOS 10, the system sets pasteboard persistence automatically. If you try to set the setPersistent: property on a pasteboard, Xcode issues a deprecation warning. Instead of named persistent pasteboards, use shared containers, as described in the Overview section of this document.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM