前振り
先任から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が通るどうかで判断します。