1

plitファイルからアプリケーションのバージョン情報を読みたいと思いました。

このために、私は以下に示すようなコードを使用しています。

NSString *myFilePath = [[NSBundle mainBundle]
                                pathForResource:@"MyApp-Info"
                                ofType:@"plist"];

        // Format output

        NSLog(@"%@",myFilePath);

出力

 2010-08-31 17:14:10.095 MyApp[8759:20b] (null)

タイプの既存のファイルをインポートしようとしても、常にnilが返されますが、text.txtはnilを返します。ここで、text.txtはアプリケーションにインポートされます。

事前にインポートされたファイルを読み取るためにNSBundelを使用することをすべての人が推奨しているわけではありませんが、使用しないという問題に悩まされています。

任意のヘルプ、またはアプリケーションのバージョンを読むためのより良い方法。

4

2 に答える 2

2

これが機能しない理由は、pathForResourceが「MyApp.app/Contents/Resources」内のものを検索するためです。Info.plistファイルはresourcesフォルダー内に存在しないため、そこで検索するとnilが返されます。それを取得する正しい方法は、NSBundleで「infoDictionary」メソッドを使用することです。

于 2010-08-31T13:16:35.337 に答える
2

ここでスタックオーバーフローの別のリンクを介してソリューションを取得しました。

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];


        NSLog(@"%@",version);
于 2010-08-31T12:55:54.390 に答える