可以在 iPad 上看到 Core Data 而不运行使用它的应用程序吗?
Posted
技术标签:
【中文标题】可以在 iPad 上看到 Core Data 而不运行使用它的应用程序吗?【英文标题】:Can Core Data be seen on an iPad without running the app that uses it? 【发布时间】:2013-02-23 20:31:33 【问题描述】:我正在创建一个使用 Core Data 的应用程序。我想知道,一旦应用程序在 iPad 上加载,应用程序内的数据是否安全,或者是否可以在运行应用程序之外查看数据?
【问题讨论】:
【参考方案1】:默认情况下,可以使用 PhoneView 或一些类似的桌面应用程序,结合命令行 SQLite 或任何其他 SQLite 前端应用程序轻松查看 SQLite 持久存储。
现在,ios 使用锁码进行加密等其他功能可能会为设备数据的所有者提供一些安全性,但 Core Data 不会提供额外的保护。如果这不是您关心的问题,而是阻止用户理解数据模型,那么您必须意识到,要解密设备上的文件,您必须在某个时候拥有设备内存中的密钥 - 任何确定的个人都能够通过越狱或许多其他技术获取该密钥。
【讨论】:
如此处所述,除非您集成自己的狡猾隐藏和加密方法,否则您将依赖 iOS 的加密和沙盒应用程序文件的想法。 @TheGamingArt 我喜欢这样的措辞,谢谢你的评论。我还要补充一点,在我看来,至少在理论上,您不能真正将您的应用程序和用户视为单独的各方来进行加密。 感谢您的快速答复。我问的原因是我必须在第一次运行应用程序时存储一个代码(如果你愿意,一个用户代码)。然后我希望它被修复并且不再被访问。我正在寻找做到这一点的最佳方法,并认为核心数据中的实体可能是解决方案。 @RichardGriffiths 如果您希望防止用户篡改该代码,那么混淆是您最好的选择,但它并不是真正的“安全”,而是一个障碍。 有人建议将用户名存储在 plist 中。这有意义吗?以上是关于可以在 iPad 上看到 Core Data 而不运行使用它的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将 iCloud 中的 Core Data 用作服务器,将 iPad 用作客户端?
为啥应用程序可以在 iPhone 上运行,而不是在 iPad 上运行?
iOS 开发:我可以在 Core Data 对象中存储整数数组而不创建新表来表示数组吗?