如果UIPasteboard对象设置为'persistent',则UIPasteboard的项似乎存储在数据库中或类似的东西中。那么有什么提示可以找到数据存储在系统中的位置吗? 越狱。 提前谢谢。
答案 0 :(得分:4)
粘贴板由位于com.apple.UIKit.pasteboardd
的{{1}}守护程序管理。它不会一直运行,只有当有人真正需要它时才使用它,即使用复制/粘贴。
它确实使用了持久存储 - /System/Library/Frameworks/UIKit.framework/Support/pasteboardd
二进制属性列表。即使您使用SIGKILL守护程序,它也会从数据库中恢复粘贴板内容。
/var/mobile/Library/Caches/com.apple.UIKit.pboard/pasteboardDB
根对象为pasteboardDB
。每个元素都是一个NSArray
对象,它绑定到特定的包ID和名称。例如,常规复制/粘贴使用共享存储 - 字典具有NSDictionary
和bundle->com.apple.UIKit.pboard
个键。在name->com.apple.UIKit.pboard.general
键下有一系列粘贴板项。 Yoy可以尝试复制一些文本,你可以在那里找到存储为items
对象的未加密的UTF8字符串。