У меня есть приложение, которое использует ABAdressBook
API & NSFileManager
.
Когда я запускаю приложение из командной строки - API, похоже, не получает AddressBook/NSFileManager
информация - но когда я запускаю его с трамплина - он показывает мне необходимую информацию.
Это потому, что мое приложение не имеет пользовательского интерфейса при запуске из командной строки?
int main(int argc, char *argv[])
{
@autoreleasepool
{
printf("HELLO TEST\n");
NSLog(@"---------");
NSMutableArray* dbList = [[NSMutableArray alloc] init];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"file manager address is %@",fileManager);
NSDirectoryEnumerator *dirnum = [fileManager enumeratorAtPath: @"/private/"];
NSLog(@"dirNum is %@",dirnum);
NSString *nextItem = [NSString string];
while( (nextItem = [dirnum nextObject])) {
if ([[nextItem pathExtension] isEqualToString: @"db"] ||
[[nextItem pathExtension] isEqualToString: @"sqlitedb"]) {
if ([fileManager isReadableFileAtPath:nextItem]) {
[dbList addObject:nextItem];
NSLog(@"%@", nextItem);
}
}
}
}
}
Редактировать: Я зафиксировал проблему следующим селектором: [fileManager isReadableFileAtPath: nextItem], когда я запускаю эту функцию из SpringBoard - она возвращает true - для нескольких файлов ...
когда я запускаю его в командной строке - он возвращает false всем файлам - хотя я запускаю приложение с привилегиями root.
есть идеи, что может вызвать это изменение в поведении?
Спасибо, Итай