私のアプリでは、Carbon ファイル マネージャー API を使用してフォルダーのサイズを取得する必要があります (NSEnumerator は遅く、シェル コマンドで NSTask を使用するのはさらに悪いことです)。Carbon フレームワークをインポートし、このメソッドを使用してフォルダーのサイズを取得しています。
http://www.cocoabuilder.com/archive/message/cocoa/2005/5/20/136503
FSRef を引数として使用し、パス文字列は現在 NSString です。これを使って NSString を FSRef に変換してみました:
FSRef f;
OSStatus os_status = FSPathMakeRef((const UInt8 *)[filePath fileSystemRepresentation], &f, NULL);
if (os_status != noErr) {
NSLog(@"fsref creation failed");
}
そして、フォルダー サイズ メソッドを呼び出しました。
[self fastFolderSizeAtFSRef:f];
ただし、ビルドしようとすると、上記の行に関して次のエラーが発生します。
エラー: 'fastFolderSizeAtFSRef:' の引数 1 の型に互換性がありません
どんな助けでも大歓迎です。ありがとう