私はABAdressBook
API & NSFileManager
を使用しているアプリを持っています。iphone jailbrokenの公開APIによる開発
私はコマンドラインからアプリケーションを実行していますが、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] 私は踏み台からこの機能を実行するとき - それはtrueを返します - ファイルのいくつかのために...
私はコマンドラインでそれを実行します - すべてのファイルにfalseを返します - 私はroot権限でアプリケーションを実行していますが。
何がこの動作の変更を引き起こす可能性がありますか?
おかげで、 イタイ
[ABAddressBook addressBook]はデバイスのアドレス帳を返しますか?アドレス帳の連絡先がいっぱいですか?それは空のものでしょうか? –
私は[ABAddressBook addressBook]を呼び出すことができないようですが、コンパイラはこの機能を見つけられません。 –
'[ABAddressBook addressBook]'はクラスメソッドです。これはクラス自体から呼び出すことを意味します。すなわち、あなたのコードは正確なリテラル文字列 '[ABAddressBook addressBook]'を使うべきです。 '[myInstanceVariable addressBook]'は動作しません。 '[ABAddressBook addressBook]'によって返されたアドレス帳が既存のレコードを検索するために使用できるかどうかについてのドキュメントは少し曖昧です。あなたがそのアドレス帳に書き込んで保存すると、その結果はユーザーのアドレス帳 –