XcodeでアプリとApp Extensionのバージョン番号を外部ファイルで一元管理する理由

QuickLook Extensionなどの、App Extensionを含むアプリ開発では、地味だけど地味じゃない「バージョン番号管理」。最初は気をつけていても、気づけばExtensionだけ古いまま。なんてことありませんか?私はその対策として、バージョン番号を外部ファイルで一元管理しています。

目次

変わらない部分は忘れがち

App Extensionを実装した直後は忘れずにバージョン番号を設定できるかもしれません。しかし、アプリのバージョンアップが続き、App Extensionは変更が発生しないことの方が多くなることでしょう。すると、アプリ本体のバージョンは更新しても、App Extensionは手を入れないことが多く、更新を忘れてしまいがちです。

ミスを防ぐには、更新を仕組みに任せるのが一番です。更新を仕組み化させるには、次のような方法があります。

  • Xcodeのビルドスクリプトで自動的に書き換える。
  • 外部の設定ファイルでバージョン番号を設定する。

外部の設定ファイルで設定する

外部の設定ファイルで設定するには、以下のようにします。

STEP
プロジェクトの設定ファイルで、バージョン番号を定義する独自の変数を作成する。
// Current Project Version, CFBundleVersion
APP_VERSION = 1.0.0

// Marketing Version, CFBundleShortVersionString
APP_BUILD = 1.0.0

Xcodeの設定ファイルについては、以下の記事を参考してください。

STEP
ターゲットの設定で変数を参照する。

      手動で行うことを減らす工夫が重要

      手順書などを用意して、「必ず、バージョン番号を一致させること」などと書いておくということを採用しているプロジェクトもあることでしょう。

      しかし、手動で行うことは何度も繰り返す間にミスが起きます。可能ならば自動化するべきです。自動化まで行う必要がないときでも、手順はできるだけ少なくなるように工夫します。今回の設定ファイルを使う方法は、一箇所変更すれば、変更するべき場所が全部変わるようにできます。

      Extensionを含むプロジェクトでは、「バージョン番号のずれ」は地味だけどやっかいな問題です。外部ファイルによる管理は、シンプルな工夫でこの問題を防げる良い方法です。

      著書紹介

      よかったらシェアしてね!
      • URLをコピーしました!
      • URLをコピーしました!

      この記事を書いた人

      Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

      アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
      -
      Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

      目次