前振り
先任からprojectを引き継いだものの、どのXcodeのversionで開いたらいいか悩んだ経験ありませんか?
私はあります!!💢
projectによって、どのversionのXcodeで開発していたかを、引継書とかREADMEとかコミットメッセージ…最悪口頭で知ることもあるでしょう。
しかし、それすらない時、どうしたらいいでしょうか?
私の知る限りでは3パターンあります。
- xcodeprojの
LastUpgradeCheckを確認する - ipaからinfo.plistの
DTXcodeを確認する - 総当たりでXcodeで開いてbuildする
パターン1. xcodeprojのLastUpgradeCheckを確認する
XcodeのVersion editor(
)でプロジェクトの内部構成を見れます。
その中でLastUpgradeCheckを探すと、 LastUpgradeCheck = 0920 のように記述されています。
下1桁だけは、PatchVersionかと思いましたがXcode7.3.1の時はLastUpgradeCheck = 0730で記載されているためよくわかりません。
注意点
まともなprojectであれば、LastUpgradeCheckで最後に開発していたXcodeのversionを知ることができますが、1つ注意点があります。
LastUpgradeCheckが更新されるのは、warning「Update to recommended settings」を解消した時のみです。
↓を見てもらえればわかるかと思います。
-
「1.」のprojectをXcode 9.2で開き、warning「Update to recommended settings」を解消した後、
LastUpgradeCheck = 0920と表示されている

パターン2. ipaからInfo.plistのDTXcodeを確認する
ipaがあれば、以下の手順でbuildされたXcodeを特定できます。
hoge.ipaから特定する手順
-
hoge.ipaの拡張子をhoge.zipに変える -
hoge.zipを解凍する - Payloadフォルダの中にある
hoge.appを右クリックでメニューを開き、「パッケージの内容を表示」を選択する -
Info.plistを開き、DTXcodeの値を確認する
Xcode 7.3.1でbuildしたipa内に含まれるInfo.plist

Xcode 9.2.0でbuildしたipaに含まれるInfo.plist

Info.plistで確認する場合は、PatchVersionまで記載されているのが良いですね。
パターン3. 総当たりでXcodeで開いてbuildする
文字通り、あらゆるversionのXcodeで開き、buildが通るどうかで判断します。


