私のアプリではagvtool
、ビルド番号を更新するためにを使用しています。この番号を表示して自動的に更新するように、設定に表示されるアプリのバージョンを取得したいと思います。
いくつかのアプリがスクリプトを記述して値を準備し、値を入力することでこれを回避するのを見てきましたroot.plist
。これを行うためのよりエレガントな方法があるかどうか疑問に思いました。
私のアプリではagvtool
、ビルド番号を更新するためにを使用しています。この番号を表示して自動的に更新するように、設定に表示されるアプリのバージョンを取得したいと思います。
いくつかのアプリがスクリプトを記述して値を準備し、値を入力することでこれを回避するのを見てきましたroot.plist
。これを行うためのよりエレガントな方法があるかどうか疑問に思いました。
あなたのagvtoolはわかりませんが、コードからアプリケーションのバージョンを取得する方法は次のとおりです。
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
これは、アプリをiTunesConnectにアップロードする前に定義する必要があるinfo.plistからバージョン番号を取得するため、これで問題ありません。とにかく定義する必要のある値に依存します。
番号を抽出してplistファイルを更新するスクリプトを作成するのが唯一の方法のようです。次のサイトは、スクリプトに何を含める必要があるかについての適切な説明を提供します
http://davedelong.tumblr.com/post/110448898058/incrementing-build-numbers-in-xcode
あなたはこれを探しています。マーケティングバージョンとビルド番号情報を設定および管理する方法に関する情報が含まれています。次に、ビルド文字列が必要な場合は、次のような操作を行います。
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];