首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 9粘贴板:在后台时无法在粘贴板中写入

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

Stack Overflow用户
提问于 2015-10-29 15:17:18
回答 1查看 717关注 0票数 2

当我的应用程序在iOS 9的后台时,我想在粘贴板上写东西。在iOS 8之前,它运行得很好。在iOS 9中,有一些东西阻止了在后台写东西。我想粘贴板要么被锁定了,要么被删除了,但我不确定。在iOS 9中,我不能在后台写东西,直到我重新创建粘贴板。

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

我正处于警告之下。

代码语言:javascript
复制
 <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"}}
EN

回答 1

Stack Overflow用户

发布于 2015-11-24 04:04:04

当应用程序在iOS9中不处于UIApplicationStateActive状态时,无法访问UIPasteboard。这最有可能解决一个安全问题,即应用程序可以在后台观察粘贴板,并刮掉复制到其中的任何数据。

我需要在进入后台时清除粘贴板,所以我决定在[AppDelegate applicationWillResignActive:]中完成,当应用程序从UIApplicationStateActive过渡到UIApplicationStateInactive时会调用它。但是,当电话呼叫到达或显示推送通知警报窗口时,也会调用此方法。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33408048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档