指定用户数据的有效方法

时间:2012-02-21 21:45:10

标签: ios xcode

我正在尝试创建一个可以处理多个用户的程序,每个用户都应该可以访问独立和私有数据。使特定用户只能看到他们创建或保存的数据的最佳方法是什么?

例如,如果我想要一个

数组
myData = [NSMutableArray arrayWithObjects: @"A", @"B", @"C", @"D", nil];

对于每个用户,我是否需要使用核心数据来保存数组,并以某种方式将该数组标记给该特定用户?

3 个答案:

答案 0 :(得分:1)

在不给用户带来不便的情况下,您无法安全地执行此操作。

应用程序文件夹中存储在设备上的任何数据都可以由能够访问手机的用户获取。(iTunes备份等)。因此,根据用户名/用户ID将数据存储在文件夹中或将内容存储在由userid分区的sqllite数据库(核心数据)中对任何事情都无济于事。

可以尝试加密数据并在钥匙串中保留用户密码哈希值 - 但你真的要开始跳过箍。解密任何大量数据肯定会使您的应用程序变慢(如果这对您很重要)。

事实上,iOS目前不支持多个用户 - 而这正是您真正需要的 - 操作系统级别的多用户支持。

答案 1 :(得分:0)

如果您要使用核心数据,请添加新实体,将其称为用户,并让其拥有ID。然后在用户登录后将该ID保存在您的应用中,或使用该应用进行身份验证。然后,无论何时发出数据请求,都要将userID添加到呼叫中。

特定于用户的每个实体都应该有一个userID字段,并且每个数据调用都应该由userID过滤。

答案 2 :(得分:0)

远程存储数据似乎是您的方案的最佳选择。我的公司有一个支持多用户的iPad应用程序,我们有一个简单的“登录”服务,可以对用户进行身份验证并将数据下载到设备。我想问题是你的数据集有多大,是否会因为必须下载而造成糟糕的用户体验?