ABAdressBook
API & NSFileManager
을 사용하는 앱이 있습니다.공개 API를 사용하여 iphone jailbroken 개발
내가 명령 줄에서 응용 프로그램을 실행할 때 - API가 AddressBook/NSFileManager
정보를 검색하는 것으로 보이지 않지만 스프링판에서 실행할 때 필요한 정보가 표시됩니다.
내 앱이 명령 줄에서 실행될 때 UI가 없기 때문에 그렇습니까?
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);
}
}
}
}
}
편집
: 나는 다음과 같은 선택에 이르기까지 문제를 고정 : [파일 관리자 isReadableFileAtPath : nextItem] 내가 발판에서이 기능을 실행할 때 - 그것이 사실 반환 - 파일의 몇 가지에 대한 ...내가 명령 줄에서 실행할 때 - 루트 권한으로 앱을 실행하고 있지만 false를 모든 파일에 반환합니다.
이 동작이 변경 될 수있는 원인은 무엇입니까?
감사합니다,
Itay
[ABAddressBook addressBook]이 (가) 장치의 주소록을 반환합니까? 주소록 연락처가 가득 찼습니까? 아니면 빈 것일까요? –
[ABAddressBook addressBook]을 호출 할 수 없다. 컴파일러가이 함수를 찾지 못한다. –
'[ABAddressBook addressBook]'은 클래스 메소드입니다. 즉, 클래스 자체에서 호출하는 것입니다. 즉, 코드는 정확한 리터럴 문자열'[ABAddressBook addressBook]'을 사용해야합니다. '[myInstanceVariable addressBook]'이 작동하지 않습니다. 이 문서는'[ABAddressBook addressBook]'에 의해 반환 된 주소록이 기존 레코드를 검색하는 데 사용될 수 있는지 여부에 대해서는 조금 희미합니다. 주소록에 쓰고 저장하면 그 결과가 사용자의 주소록. –