Я не уверен, почему люди говорят, что ваше приложение может видеть только определенные файлы в вашей песочнице.Начиная с iOS 2.x (последний раз, когда я пытался что-то подобное), вы можете использовать NSFileManager для просмотра файлов практически в любом каталоге.Вот небольшой код для получения всех имен всех файлов в определенном каталоге.
- (NSArray *)allFiles:(NSString *)aPath
NSMutableArray * listing = [NSMutableArray array];
NSArray * fileNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:aPath error:nil];
if (!fileNames) return listing;
for (NSString * file in fileNames) {
NSString * absPath = [aPath stringByAppendingPathComponent:file];
BOOL isDir = NO;
if ([[NSFileManager defaultManager] fileExistsAtPath:absPath isDirectory:&isDir]) {
if (isDir) {
[listing addObject:absPath];
[listing addObjectsFromArray:[self allFiles:absPath]];
} else {
[listing addObject:absPath];
}
}
}
return listing;
}
Это пример очень простой рекурсивной функции.Конечно, его можно модифицировать для более эффективной работы с блоками в качестве обратных вызовов или даже включать NSOperation
.