前振り
先任から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から特定する手順
1. hoge.ipa
の拡張子をhoge.zip
に変える
2. hoge.zip
を解凍する
3. Payloadフォルダの中にあるhoge.app
を右クリックでメニューを開き、「パッケージの内容を表示」を選択する
4. 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が通るどうかで判断します。