2016-04-26 61 views
-1

我用下面的代碼來獲取文件如何獲取保存在iPhone中的所有文件?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
if([paths count] > 0) 
{ 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSLog(@"%@",documentsDirectory); 
    NSError *error = nil; 
    NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error]; 
    if(error) 
    { 
     NSLog(@"Could not get list of documents in directory, error = %@",error); 
    } 
    else 
    { 
     NSLog(@"Hello %@",documentArray); 
     arrdocument = documentArray; 
    } 
} 

但它只能說明我的應用程序中的文件,而不是在應用程序之外。

+0

你想訪問哪些文件? – rmaddy

+0

這是沙盒的工作原理。 iOS應用程序僅限於沙盒以及用戶提供的任何其他資源(例如,通過iCloud文檔糾察)。 – yaakov

回答

1

您無法訪問其他應用程序中的文件:每個應用程序都是沙盒。

我建議你閱讀從蘋果File System Basics

每一個應用程序是一個島國

iOS應用程式與文件系統的交互限制主要是爲了應用程序的沙箱中的目錄。在安裝新應用程序的過程中,安裝程序會爲應用程序創建多個容器。每個容器都有特定的角色。包容器容納應用程序的包,而數據容器容納應用程序和用戶的數據。數據容器進一步分爲許多目錄,應用程序可以使用這些目錄對數據進行分類和組織。該應用程序還可能在運行時請求訪問其他容器(例如,iCloud容器)。

這些容器構成了應用程序對文件系統的主要視圖。

因爲它位於沙盒中,所以通常禁止應用程序在其容器外部訪問或創建文件。當應用程序使用公共系統接口訪問用戶的聯繫人或音樂等事件時,會出現此規則的一個例外。在這些情況下,系統框架處理讀取或修改適當數據存儲所需的任何文件相關操作。

+0

https://itunes.apple.com/in/app/hightail-secure-file-sharing/id442140135?mt=8 –

+0

我想製作一個類似Hightail的應用程序。 –

+0

它看起來像這個應用程序可以簡單地訪問文件在自己的文件夾(和圖片,但它可能使用iOS API) –

0

每一個應用程序是一個島國

iOS應用程式與文件系統 相互作用主要限於應用程序的沙箱中的目錄。在安裝新應用程序的 期間,安裝程序會爲該應用程序創建多個 容器。每個容器都有特定的角色。包 容器包含應用程序的包,而數據容器包含應用程序和用戶的 數據。數據容器是 進一步分爲許多目錄,應用程序可以使用 排序和組織其數據。該應用程序還可能在運行時請求訪問 附加容器(例如,iCloud容器)。

https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

1

無法訪問其他應用程序的文件:YES。

但是蘋果提供了一種方法來設計基於NSDocument的應用程序來共享沙箱外的文件,這是所有具有根通用包標識符的應用程序的普通共享文件夾。

除此之外,您還可以使用iCloud公共商店在其他應用程序(如Flicker,Dropbox)之間共享數據。下面是一些教程鏈接:

https://www.raywenderlich.com/12779/icloud-and-uidocument-beyond-the-basics-part-1

https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/DocumentArchitectureiniOS/DocumentArchitectureiniOS.html

相關問題