WatchKit 2.0扩展应用程序中的沙盒是如何工作的?

WatchKit 2.0扩展应用程序中的沙盒是如何工作的?,watchkit,Watchkit,我正在使用WatchKit 2.0和新的WCSession类在手表和手机应用程序之间来回发送消息。我需要生成一些在手机上处理的图形,然后通过回调返回图像数据。我知道WatchKit可以访问NSFileManager我只是不确定数据存储在哪里 澄清一下:我想知道WatchKit扩展上沙盒的目录结构是否与iPhone应用程序相同。使用NSDocumentDirectory是否是存储图像的推荐位置?这些是否有特殊规定/限制/指南?我在文档中找不到太多关于这方面的信息。我正在Apple Watch应用程

我正在使用WatchKit 2.0和新的
WCSession
类在手表和手机应用程序之间来回发送消息。我需要生成一些在手机上处理的图形,然后通过回调返回图像数据。我知道WatchKit可以访问
NSFileManager
我只是不确定数据存储在哪里


澄清一下:我想知道WatchKit扩展上沙盒的目录结构是否与iPhone应用程序相同。使用
NSDocumentDirectory
是否是存储图像的推荐位置?这些是否有特殊规定/限制/指南?我在文档中找不到太多关于这方面的信息。

我正在Apple Watch应用程序上使用
.DocumentDirectory
,它工作正常。以下是为简洁起见简化的相关代码:

func session(session: WCSession, didReceiveFile file: WCSessionFile) {

    let documents_path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
    let path = String(documentsPath) + "/my_new_file.png"
    let dest_url = NSURL(string: "file://" + path)

    do {
        try NSFileManager.defaultManager().moveItemAtURL(file.fileURL, toURL: dest_url!)
        print("New file located at: \(path)")
    }
    catch let err as NSError {
        print(err)
        return
    }

}
网站上有一些相关文档,即:

数据放置。WatchKit扩展必须在管理文件中扮演更积极的角色。WatchKit扩展的容器目录与iOS应用的容器具有相同的基本结构。将用户数据和其他关键信息放在Documents目录中。尽可能将文件放在缓存目录中,以便在可用磁盘空间不足时系统可以删除这些文件


嗨,我已经在传输/接收数据了,我想知道WatchKit扩展的沙盒。更新了问题以使其更清晰。谢谢,这是我一直在寻找的答案!因此,对于可以重新创建的资源来说,缓存目录是一个更好的选择。