🐟

Xcodeで古いビルドが実行されている事に早めに気がつく

2023/09/15に公開

Xcode 14あたりから、ビルドが通らないはずのプロジェクトでビルドが成功したり、実行しているビルドが古いビルドだったりすることがあります。

そこで、ビルドした時刻をSwiftから扱えるBuildAtPluginを開発しました。
https://github.com/noppefoxwolf/BuildAtPlugin

このプラグインをSwiftPackageに導入すると、次のようなファイルがビルド時に生成されます。

import Foundation

public extension Date {
    static let buildAt: Date = Date(timeIntervalSinceReferenceDate: 716474167.783894)
}

このファイルは毎回ビルドするたびに更新されるので、AppDelegateなどで

logger.info("Build at \(Date.buildAt.formatted())")

とLoggerを呼び出すだけで、実行時にコンソールに実行バイナリのビルド時刻を表示することができます。

これによって、実行直後にバイナリがおかしいかどうか気がつくことができます。
もちろん生成されたDateを使ってUIを構築して、実機の画面上でビルドの鮮度を確認することもできます。

Discussion