7

Mac OS X でフレームワークと cocoa アプリケーションを作成しました。フレームワークはアプリケーションに動的にリンクされています。フレームワークのクラスで、このフレームワークのリソース フォルダー内のリソース ファイルを読み取る必要があります。以下のコード

NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *characterCodeTable = [resourcePath stringByAppendingPathComponent:@"pymb.txt"];

「resourcePath」は、フレームワークではなく、アプリケーションのリソース フォルダーへのパスであるため、機能しません。

では、このフレームワーク自体のコードでフレームワークのリソース フォルダーにアクセスするにはどうすればよいでしょうか。

ところで: フレームワーク/アプリケーション バンドルでその他のファイルを整理するためのベスト プラクティスはありますか?

4

2 に答える 2

14

を呼び出す代わりに、または+[NSBundle mainBundle]を呼び出します。前者は、フレームワークの識別子の引数を取ります。後者は、フレームワークによって提供されるクラスの引数を取ります。その後、必要に応じて通常のパスを呼び出すことができます。+[NSBundle bundleWithIdentifier:]+[NSBundle bundleForClass:]NSStringClassNSBundle

完全なドキュメントはここにあります。

于 2013-07-06T18:32:34.050 に答える