Подтвердить что ты не робот

Является ли разработчик iOS для просмотра файловой системы?

Интересно, имеет ли разработчик какие-то способы просмотра файловой системы на устройстве iOS, например iFile, но без джейлбрейка устройства? Это нужно для цели devlopement.

ИЗМЕНИТЬ Спасибо за ваши ответы! Я знаю, что есть место внутри папки приложения и может быть прочитано и записано. Но я искал способ быстро просматривать данные без кодирования, например iFile. Поэтому я могу проверить, не работают ли мои функции записи.

4b9b3361

Ответ 1

Можно просматривать файлы на устройстве iOS, но только в том, что ваша песочница приложений. Каждое приложение имеет папки Documents, Cache и temp. Я думаю, что первые два автоматически поддерживаются iTunes при подключении вашего устройства, последнее не резервируется.

Пример, чтобы получить путь к каталогу кэша -

- (NSString *)getCacheDirPath
{
    NSString *path = nil;
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    if([myPathList count])
    {
        NSString *bundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
        path = [[myPathList objectAtIndex:0] stringByAppendingPathComponent:bundleName];
    }
    return path;
}

Чтобы просмотреть все файлы в каталоге caches -

- (NSMutableArray *)showFiles
{
    NSError *err        = nil;
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *myPath    = [myPathList  objectAtIndex:0];
    NSArray *dirContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myPath error:&err];
    if(err) NSLog(@"showFiles() - ERROR: %@",[err localizedDescription]);
    NSMutableArray *filePaths  = nil;

    int count = (int)[dirContent count];
    for(int i=0; i<count; i++)
    {
        [filePaths addObject:[dirContent objectAtIndex:i]];
    }
    return filePaths;
}

Ответ 2

Пока файловая система iDevice изолирована от песочницы, в iPhone Simulator нет. Вы можете запустить приложение с помощью симулятора и проверить содержимое с помощью:

~/Library/Application Support/iPhone Simulator/5.0/Applications

Он должен работать для ваших нужд.

Ответ 3

Для устройства: используйте desktop-приложение iPhone-Explorer он считывает файловую систему через USB (он может читать и записывать весь пользовательский интерфейс, (приложения, музыка, фотографии, видео, заметки и т.д.), но не всю систему, если вы не джейлбрейк и не установите afc2add)

для iPhoneSimulator (как упоминал Лиз): ~/Library/Application Support/iPhone Simulator/5.0/Applications

Ответ 4

Да, вы можете получить доступ к файловой системе. Однако вы ограничены только своей песочницей приложений. И вы не можете вносить изменения в пакет приложений, все, что вы загружаете как часть приложения, это не может быть изменено (по соображениям безопасности, потому что каждое приложение подписано). Но вы можете хранить файлы в папке "Приложения Документы".

Взгляните на эту лекцию, объясните все, что вам нужно знать:

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/lectures/09_Data.pdf

Ответ 5

Если вы установили ключ UIFileSharingEnabled в вашем plist как true, вы сможете использовать iTunes на своем Mac, чтобы просмотреть файловую систему внутри вашего изолированного документа Documents без дополнительного кодирования. Это не поможет, если вы хотите просмотреть каталог Caches или посмотреть вне изолированной программной среды приложения.

Ответ 6

Может, есть образец. вы можете посмотреть.

Ответ 7

Когда ваше устройство iOS подключено к вашему компьютеру и правильно подготовлено для разработки, вы можете использовать Xcode 4 для загрузки файлов для своих собственных проектов, а не только файлов в каталоге Documents.

Обратитесь к этому другому ответу: Как загрузить данные приложения в Xcode 4.2

Ответ 8

Да lms правильно. Apple ограничила доступ к файлу только самому приложению (каталог документов). Таким образом, нет другого способа доступа к нему. Я столкнулся с этой проблемой в одном из своих проектов, и я начал разрабатывать полную систему доступа к файлам. Все операции поддерживаются как iFile. Вы можете делать все так же, как приложение iFile визуально.

https://github.com/CianApple/FileSystem

Я опубликовал проект для github для публики. Не стесняйтесь использовать его. Это может помочь вам с вашей проблемой.

Ответ 9

itools - небольшой инструмент, который работает над яблочными усилиями по защите iPhone. это может нарушить некоторые политики яблок, но делает работу