2016-04-26 3 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 от Apple:

Каждое приложение является остров

взаимодействия ИОС приложения с файловой системой ограничены в основном к каталогам в песочнице приложения. Во время установки нового приложения установщик создает несколько контейнеров для приложения. Каждый контейнер имеет определенную роль. Контейнер пакета содержит пакет приложения, тогда как контейнер данных хранит данные как для приложения, так и для пользователя. Контейнер данных далее делится на несколько каталогов, которые приложение может использовать для сортировки и организации своих данных. Приложение может также запрашивать доступ к дополнительным контейнерам, например, к контейнеру iCloud во время выполнения.

Эти контейнеры представляют собой основной вид приложения для файловой системы.

Поскольку в песочнице приложение обычно запрещено для доступа или создания файлов вне его контейнеров. Единственное исключение из этого правила возникает, когда приложение использует общедоступные системные интерфейсы для доступа к таким вещам, как контакты пользователя или музыка. В этих случаях системные структуры обрабатывают любые связанные с файлом операции, необходимые для чтения или изменения соответствующих хранилищ данных.

+0

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

+0

Я хочу сделать приложение вроде Hightail. –

+0

Похоже, это приложение может просто получить доступ к файлам в собственной папке ils (и изображения, но это возможно с помощью API iOS) –

0

Каждое приложение является остров

взаимодействия ИОС приложения с файловой системой ограничены в основном к каталогам в песочнице приложения. Во время установки установки нового приложения установщик создает для контейнера количество контейнеров . Каждый контейнер имеет определенную роль. Контейнер содержит пакет приложения, тогда как контейнер данных содержит данные как для приложения, так и для пользователя. Контейнер данных далее разделен на несколько каталогов, которые приложение может использовать для сортировать и упорядочивать свои данные. Приложение также может запросить доступ к дополнительным контейнерам, например, к контейнеру 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

Смежные вопросы