Swift 3:在模拟器iPhone 5s和6s,6s Plus

时间:2016-09-18 22:52:45

标签: ios xcode7 swift3

我正在使用

在文件中保存用户注册数据
NSKeyedArchiver.archiveRootObject

在模拟器中选择了iPhone 5S,当注册会员登录时,我正在使用

验证用户
NSKeyedUnarchiver.unarchiveObjectWithFile

验证成功,用户可以登录。

但是,如果我切换到iPhone 6s或6S Plus模拟器,并使用相同的凭据,验证将失败,用户无法登录

我希望模拟器之间的切换不会影响数据存储或检索功能,任何人都遇到与Swift 3(Xcode 7.3)类似的问题?

2 个答案:

答案 0 :(得分:2)

这是预期的行为,它一直是这样的。不同的模拟器就像不同的物理设备一样。

如果您有两部手机并且您在一台手机上运行了应用程序,那么在没有某些数据同步的情况下(例如iCloud),您不会期望两台设备上都有相同的数据。它与模拟器相同。

答案 1 :(得分:2)

这就是它的工作原理。每个模拟设备都有自己的模拟沙箱,用于存储文件。如果你查看~/Library/Developer/CoreSimulator/Devices/,你会看到每个模拟设备的条目。