首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Swift

实机测试时 NSKeyedArchiver 保存数据失败

  •  
  •   machinemxy · 2015-09-29 15:41:13 +08:00 · 2199 次点击
    这是一个创建于 1529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的保存代码如下
    ```
    let filePath =NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask, true)[0] + "gameBrain.dat"

    let successful = NSKeyedArchiver.archiveRootObject(gameBrain, toFile: filePath)

    if successful {
    print("success")
    } else {
    print("fail")
    }
    ```
    我在模拟器测试时,顺利保存成功,并显示"success",而连接实机测试时,保存失败并显示"fail",但是也没有中断退出。难道说实机无法访问这个用户路径吗?

    1 回复  |  直到 2015-09-30 14:23:45 +08:00
        1
    machinemxy   2015-09-30 14:23:45 +08:00
    自己解决了。"gameBrain.dat"应为"/gameBrain.dat"。如果不加分隔符,则会在应用目录下建立 DocumentsgameBrain.dat 文件,而不是 Documents 文件夹下建立 gameBrain.dat 。之所以模拟器可以而实机不可以是因为实机的读写权限控制比较严格导致的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   895 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    ♥ Do have faith in what you're doing.