[解決済み] iOSアプリでターゲットのバージョン/ビルド番号をプログラム的に表示するには?
質問
の値をプログラムで取得するにはどうしたらよいでしょうか?
target version
の値をプログラムで取得するにはどうしたらよいでしょうか?
私のXcodeプロジェクトのターゲットのプロパティウィンドウに見られるように。私は、人々が現在使用しているバージョンを知るために、私のアプリのスプラッシュ画面にこれを表示したいですか?
どのように解決するのですか?
あるのは 2 数です!
マーケティング・リリース・ナンバーは、顧客向けの バージョン番号 . これは 1.0 で始まり、メジャーアップデートの場合は 2.0 , 3.0 へのマイナーアップデートのため 1.1 , 1.2 へのバグフィックスのため、および 1.0.1 , 1.0.2 . この数字は、リリースと新機能を指向しています。9 で止める必要はありません。 1.11.23 が妥当なバージョン番号です。
は ビルド番号 は、ほとんどが ビルドの内部番号 の内部的な数です。しかし、中にはリポジトリのブランチ番号やコミット番号のような他の番号を使うものもあります。この番号は ユニーク であるべきで、わずかな増分変更しかない異なるビルドを区別することができます。
を取得するために バージョン 番号を取得します。
Objective-Cです。
NSString * appVersionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
Swift < 3.0です。
let appVersionString: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
Swift 3.0+ (5.0でテスト)。
let appVersionString: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
を取得するために ビルド の番号を取得します。
Objective-Cです。
NSString * appBuildString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
Swift < 3.0です。
let buildNumber: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleVersion") as! String
Swift 3.0+ (5.0までテスト済み)。
let buildNumber: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String
もし、あなたが と を1つにしてください。
まず上の行を使い、次に次の行を使います。
Objective-Cを使用します。
NSString * versionBuildString = [NSString stringWithFormat:@"Version: %@ (%@)", appVersionString, appBuildString];
Swift (5.0までテスト済み)。
let versionAndBuildNumber: String = "\(appVersionString) (\(buildNumber))"
注意事項
メインバンドル内の値は常に存在するわけではありません。例えば、コマンドラインアプリケーションでは
CFBundleShortVersionString
または
CFBundleVersion
を返すので、メソッドは
nil
を返すことになり、コード内で不正なダウンキャストを行うため、クラッシュします。
しかし、通常の Cocoa iOS および Mac アプリでは、これらの値は定義されており、削除されることはありません。
これは Xcode バージョン 7.3 (7D175) でテストされました。 . ビルド番号は、多くの場合、括弧/中括弧で記述されます。ビルド番号は、16進数または10進数で表記されます。
で
Xcode
を自動インクリメントすることができます。
ビルド番号
として
10進数
にすることで
Run script
ビルドフェーズに以下を記述します。
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
について 16進数 ビルド番号はこのスクリプトを使用します。
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber))
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
のために
Xcode
は以下のようにします。
ステップ1
ステップ2
ステップ3
関連
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] UINavigationBarの1px下の行を非表示にする方法
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。
-
[解決済み] iOSアプリを投稿するためにアーカイブしようとすると、プロビジョニング設定の競合エラーが発生する
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Xcodeを起動せずにiPhoneエミュレータを実行するには?
-
[解決済み] iOSプロジェクトの現在のバージョンをコードで取得するにはどうしたらいいですか?
-
[解決済み] UIViewControllerの上にclearColor UIViewControllerを表示する
-
[解決済み] ObjectiveCの変数位置の宣言・定義?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UILongPressGestureRecognizerが押し下げ時に2回呼び出される
-
[解決済み] Objective-CでENUMを定義して使用するにはどうすればよいですか?
-
[解決済み] iPhoneのシミュレータに.ipaファイルをインストールする方法は?
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み] 指定されたエンタイトルメント...プロファイルです。(0xE8008016)と表示されました。エラー iOS 4.2
-
[解決済み] 再署名 IPA (iPhone)
-
[解決済み] iOSアプリでターゲットのバージョン/ビルド番号をプログラム的に表示するには?
-
[解決済み] UITextFieldの高さを設定するには?
-
[解決済み] UILabelがラベルサイズに合うようにテキストを自動縮小しない
-
[解決済み] iPhoneでテキスト入力のポップアップダイアログボックスを表示する簡単な方法は?