iOS 9粘贴板:在后台无法在粘贴板中写入

iOS 9粘贴板:在后台无法在粘贴板中写入,ios,ios9,uipasteboard,ios9.1,Ios,Ios9,Uipasteboard,Ios9.1,当我的应用程序在iOS 9的后台时,我想在粘贴板上写字。它在iOS 8之前运行良好。在iOS 9中,有东西阻止了在后台写入。我认为粘贴板要么被锁定,要么被删除,但我不确定。在iOS 9中,在再次创建粘贴板之前,我无法在后台写字 我知道在iOS 9中我们不能在后台阅读,但为什么我们不能同时写呢 我正处于警告之下 <Warning>: Could not write pasteboard database. Error: Error Domain=NSCocoaErrorDomain

当我的应用程序在iOS 9的后台时,我想在粘贴板上写字。它在iOS 8之前运行良好。在iOS 9中,有东西阻止了在后台写入。我认为粘贴板要么被锁定,要么被删除,但我不确定。在iOS 9中,在再次创建粘贴板之前,我无法在后台写字

我知道在iOS 9中我们不能在后台阅读,但为什么我们不能同时写呢

我正处于警告之下

 <Warning>: Could not write pasteboard database. Error: Error
 Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save
 the file “pasteboardDB” in the folder “com.apple.UIKit.pboard”."
 UserInfo={NSFilePath=/var/mobile/Library/Caches/com.apple.UIKit.pboard/pasteboardDB,
 NSUserStringVariant=Folder, NSUnderlyingError=0x124e066f0 {Error
 Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
:无法写入粘贴板数据库。错误:错误
Domain=nscocaerorrordomain Code=513“您没有保存的权限
文件夹“com.apple.UIKit.pboard”中的文件“pasteboardDB”
UserInfo={NSFilePath=/var/mobile/Library/Caches/com.apple.UIKit.pboard/pasteboardDB,
NSUserStringVariant=文件夹,NSUnderlyingError=0x124e066f0{错误
Domain=NSPOSIXErrorDomain Code=1“不允许操作”}

当应用程序未处于iOS9中的
UIApplicationStateActive
状态时,无法访问UIPasteboard。这很可能修复了一个安全问题,应用程序可以在后台观察粘贴板并刮取复制到粘贴板上的任何数据

我需要在进入后台时清除粘贴板,因此我决定在
[AppDelegate applicationWillResignActive:
中执行此操作,当应用程序从
UIApplicationStateActive
转换到
UIApplicationStateActive
时调用此操作。但是,当电话到达或出现推送通知警报窗口时,也会调用此方法


注意:当测试从
[AppDelegate applicationWillResignActive:
到UIPasteboard的更改时,如果在方法中放置断点,则在方法完成之前,它将继续转换到
UIApplicationStateInactive
。这会导致在单步执行代码时再次锁定UIPasteboard。如果您在修改UIPasteboard后设置断点,应该可以。

我正在尝试解决相同的问题。我需要能够清除背景上的粘贴板,以阻止用户在应用程序外复制/粘贴。@p皮尔森您找到任何解决方法了吗?