alpha Lounge

20%の技術記事とオタクネタ

古いXcodeで新しいiOSを対応させる方法【Tips】

今開発を行っているアプリが様々な要因で新しいXcodeを使えなかった時、古いXcodeが対応していないiOSが入ったiPhoneは使えないのか?と思うかもしれませんが、実は対処方法があります。

iOS16以下

IOS16以下ではDeveloperDiskImageというのをXcode内に配置することで可能です。ファイルと配置方法は以下のリポジトリを参照してください。iOS16.6まで取得できます。(iOS16.7はまだ用意されていません。)

github.com

iOS17

iOS17以上ではDeveloperDiskImagesは使われず、「CoreDevice」という仕組みが使われています、これはプラットフォーム毎に管理され、新しいXcodeをインストールすることで更新されるようになっています。

CoreDeviceを有効にするには以下のコマンドを叩きます。

defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

これで、Xcodeの最新版をインストールすると、古いXcodeでもサポートが追加されます。

また、CoreDeviceのサポートはXcode 14.3以上となっているようですので、Xcode 14.2以下でしか動かない場合は頑張ってアップデートしましょう。

参考資料:
https://developer.apple.com/forums/thread/730947 https://stackoverflow.com/questions/76412754/how-to-run-on-ios-17-device-using-xcode-14