問題タブ [agvtool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iPhoneアプリの設定で「現在のプロジェクトバージョン」を読み取ることは可能ですか?
私のアプリではagvtool
、ビルド番号を更新するためにを使用しています。この番号を表示して自動的に更新するように、設定に表示されるアプリのバージョンを取得したいと思います。
いくつかのアプリがスクリプトを記述して値を準備し、値を入力することでこれを回避するのを見てきましたroot.plist
。これを行うためのよりエレガントな方法があるかどうか疑問に思いました。
iphone - agvtool バージョン変数で $non_lazy_ptr リンク エラーが発生しましたか?
一般的な原則として、iPhone アプリの 1 つに使用してきましたがagvtool
、最近、バージョン変数を確認できるようにしたい理由を見つけました (ヘルプ コンテンツがドキュメント ディレクトリにある場合は、ドキュメント ディレクトリに再コピーできるようにするため)。の日付)。MyAppVersionNumber
MyApp_vers.c で定義されている変数は、ビルド中に自動生成されます。.o ファイルで生成され、リンクされたアプリ自体の (以前のバージョン?) に表示されます。これまでのところ、とても良いようです。
だから今、私はこれを使用する必要がextern double MyAppVersionNumber
ある.m
ファイルで を宣言しました (そして、後でNSLog
開始するためのステートメントでそれを使用しようとしました)。iPhone シミュレーター用にビルドしようとすると、リンク エラーが発生します。
では、これをリンクさせるには、別の方法で何をする必要がありますか?
私は $non_lazy_ptr と agvtool をグーグル検索しましたが、何も得られませんでした。$non_lazy_ptr だけで、いくつかのことが得られましたが、ほとんどがライブラリに適用されましたが、これは実際にはそうではありません (そうですか?)。そして、これまでの掘り下げでは、変数の使用について実際に詳細に説明している agvtool に関するページをまだ見つけていません。 .
これに精通している人、および/またはその他の方法で助けを提供できる人はいますか?
ありがとう!
xcode - agvtoolはXcode4で動作しますか?
を使用してマーケティングバージョンを更新しようとしていagvtool
ます。
プロジェクトニュースグループのCFBundleShortVersionStringを1.0.2に設定します。
Info.plist(s)のCFBundleShortVersionStringを更新しています...
「Newsgroup.xcodeproj/../Newsgroup-Info.plist」のCFBundleShortVersionStringを1.0.2に更新「Newsgroup.xcodeproj/../TestClasses/Tests-Info.plist」のCFBundleShortVersionStringを1.0.2に更新
Jambaseターゲットのマーケティングバージョン番号(CFBundleShortVersionString)が見つかりません。
ネイティブターゲットでマーケティングバージョンを探しています...ネイティブターゲットでマーケティングバージョン(CFBundleShortVersionString)を探しています...
「Newsgroup.xcodeproj/../Newsgroup-Info.plist」で「」のCFBundleShortVersionStringが見つかりました「Newsgroup.xcodeproj/../TestClasses/Tests-Info.plist」で「」のCFBundleShortVersionStringが見つかりました
これらのコマンドを実行しているときにXcodeが開いていません…Xcode4で間違っている、またはagvtool
壊れている可能性のあるものは他にありますか?
ios - (iOS、XCode 4.2)Gitのコミット後フックを使用してバンドルバージョンを設定すると、プロジェクトがMacプロジェクトに変わります
プロジェクトの「マーケティングバージョン」(つまり2.0.1
)に「Bundleversions string、short」を使用し、ビルド番号(eg 42
)に「Bundleversion」を使用して、プロジェクトのバージョン管理を「Appleway」で開始することにしました。
そのために、を呼び出すためのGitpost-commit
フックを追加しましたagvtool next-version -all
。これは実際Info.plist
には機能します-バージョン番号を増やして適切に更新されています。
ただし、iOSプロジェクトをMacプロジェクトに変換するという不幸な副作用もあります- iOS device
、iPhone 5.0 simulator
などがメニューから消えてScheme
、単一のエントリに置き換えられますMy Mac 64-bit
。幸い、Xcodeを終了して再起動すると、欠落しているiOSスキームエントリが元に戻るため、この変更は一時的なもののようです。
私はこれを間違っていますか?私の目標を達成するためのより良い方法はありますか?または、Xcodeの奇妙なバグに遭遇しましたか?
xcode - ビルド番号をインクリメントするより良い方法は?
Xcode ビルド プロセスの一部としてシェル スクリプトを使用して、plistファイル内のビルド番号をインクリメントしていますが、Xcode 4.2.1 が頻繁にクラッシュします (ターゲットがプロジェクトに属していないというエラーが発生します。推測しています)。plistファイルを変更すると、何らかの形で Xcode が混乱します)。
シェル スクリプトはこれを行い、ファイルがplistagvtool
ファイルよりも新しい場合にのみビルド番号がインクリメントされるようにしました(したがって、ビルドだけでは値がインクリメントされませんでした)。
Xcode を壊さずに( plistファイルやその他の場所で)ビルド番号をインクリメントする方法はありますか?
最終編集: 私は今、githubで公開したばかりの python スクリプトを使用して、この種のことを行います。十分に文書化されていませんが、解決するのは難しくありません。おまけとして、このリポジトリには、サードパーティのライブラリをアプリ バンドルに自動的にバンドルするための便利なスクリプトも含まれています。
node.js - nodejs のバージョン管理ツール
別のアプリケーションでバージョン番号をインクリメントするソリューションがあります。Cocoa アプリには agvtool があり、maven にはリリース時 にバージョン番号をインクリメントするmaven-release-pluginがあります。nodejs 用の同様のツールはありますか?
iphone - AGVTool new-version と what-version が一致しない
私がする時:
Info.plist ファイルを更新します。ただし、これを行うと:
また
次のエラーが表示されます。
なぜこれは対応していません。アプリの現在のバージョンを取得するには、plist コマンド ライン ツールを使用する必要がありますか。不思議なことagvtool what-marketing-version
にうまくいきます。皮肉なことに、agvtool 自体にはバージョンがないようです ;-)
iphone - `CURRENT_PROJECT_VERSION` を使用せずにビルド番号をバンプする
agvtoolを使用してビルド番号を上げることができないため、コマンド ラインを使用してプロジェクトのビルド番号を上げる簡単な方法があるかどうか疑問に思っています。
可能であれば、plist の XML を解析する必要はありません。
ios - ビルド フェーズ中にバンドルの .plist にカスタム値を自動的に書き込む方法はありますか?
Jenkins を使用して CI システムをセットアップしており、ビルド時に agvtool を使用してマーケティングおよび技術バージョンをバンプおよび設定しています。
ビルド時にバージョン管理を設定することに加えて、.plist にいくつかのカスタム値を設定すると非常に便利です。
これは可能ですか?
ios - フレームワークの Xcode バージョニング ビルド設定
次のテンプレートに基づく iOS フレームワークに取り組んでいます: https://github.com/jverkoey/iOS-Framework
ここで、少し磨きをかけて、適切なビルド/マーケティング番号を使用してバージョン管理システムをセットアップする必要があります。
このフレームワーク プロジェクトには 3 つのターゲットがあります。1 つ目は静的ライブラリを生成するターゲット、2 つ目はリソース バンドルを生成するターゲット、3 つ目は静的ライブラリとリソース バンドルの集合ターゲットです。したがって、私の最初の問題は、バージョン管理ビルド設定を構成する必要があるターゲット (またはすべてのターゲットを構成する必要があるかどうか) を決定することです。
私の 2 番目の質問は、構成する必要がある設定とその意味です。
現在のプロジェクト バージョン => ビルド バージョンですか、それともマーケティング バージョンですか? 1.2.3.4 のようなバージョンのアプリをリリースする場合、4 を設定する必要がありますか? または1.2.3?または1.2.3.4?
生成されたバージョニング ソース ファイル名 => 生成された .c ファイルの名前で、整数のビルド番号が含まれていると思いますか?
生成されたバージョニング変数 => それは何ですか?
バージョニング名プレフィックス => ビルド番号を含む変数の名前のプレフィックス
バージョニング名サフィックス => ビルド番号を含む変数の名前のサフィックス
バージョン管理システム: 誰もが Apple Generic を使用しているので、利用できるのは Apple Generic だけだと思います。
バージョン管理ユーザー名: それは何ですか?
iOSでは常に「A」を使用する必要がある「パッケージング」セクションの「フレームワークバージョン」のような他の設定があります(実際には静的フレームワークであるため、バージョンは関係ありません)?また、「リンク」セクションの「互換バージョン」/「現在のライブラリ バージョン」設定については、スタティック ライブラリ ターゲットのみで設定する必要がありますか? または、ライブラリをリンクするアプリケーションで使用されていますか?