2014-11-21 41 views
2

我開發了一個使用Core Data框架的iOS應用程序,並將持久存儲保存在應用程序文檔目錄中。 進入terget我可以使用下面的方法來獲取持久性存儲路徑中的應用:如何獲取WatchKit擴展目標中的核心數據持久存儲路徑

- (NSString *)applicationDocumentsDirectory { 
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
} 

然後,我創建了一個新WatchKit擴展的目標,我想檢索由iOS應用中保存的持久性存儲,但是當我嘗試在手錶擴展的接口控制器中使用上述方法,它將返回不同的路徑

如何在watchkit extesion目標中找到iOS應用程序的持久存儲路徑?

回答

10

您的WatchKit擴展程序將無權訪問應用程序的Documents目錄中的Core Data存儲區,因爲它位於擴展程序的沙箱之外。

如果您希望您的擴展能夠訪問數據存儲,那麼您需要將它放在應用程序和擴展可以訪問的位置。 I recommend reading up on App Group Containers(「與您的包含應用程序共享數據」部分),這是爲了在相關應用程序和擴展程序之間共享文件的目的而添加的。

+0

非常感謝Dave,我會閱讀那頁! – Magurizio 2014-11-24 17:55:11

相關問題