Edited at

Xcode10.1でiOS12.2以降の検証が出来ない場合


はじめに

こんにちは!

古いXcodeプロジェクトをBuildしたらエラーが出たので、備忘として残しておきます。あんましAR関係ないです。

※記載間違い等あれば教えてください。


エラー内容について


Could not locate device support files.

This iPhone ~~ (Model AXXXX, AXXXX, AXXXX) is running iOS 12.2 (16E227), which may not be supported by this version of Xcode.

<訳>

デバイスサポートファイルが見つかりませんでした。

このiPhone ~~(モデルAXXXX、AXXXX、AXXXX)はiOS 12.2(16E227)を実行しています。これは、このバージョンのXcodeではサポートされていない可能性があります。



対策

このエラーが出た場合の対応は、以下いづれかです。

1.Xcode 10.2用に対応する為、Swiftのバージョンを4.2以上にアップデートする。

[Target]→[Build Setting]内に記載されている[SWIFT_VERSION = 3.x]を4.2以上に更新してください。

大半の場合は、Swift4.2以降で廃止になった文法やライブラリの更新も必要です。

2.Xcode 10.1に、Xode10.2のデバイスサポートファイルをコピーする

裏技感ありますが、とりあえず通したいのであればこれが一番良さそうです。

以下等のサポートファイルを纏めてくれているリンクから対象ファイルをダウンロードして

 参考①:iOS-DeviceSupport

 参考②:iPhoneOSDeviceSupport

↓のディレクトリに配置してください。

Xcodeアプリのディレクトリ(Application/Xcode)/Contents(Xcodeアプリ-パッケージの内容を表示)/Developer/Platforms/iPhoneOS.platform/DeviceSupport

3.Xcode 10.1で頑張る。(iOS12.2用の更新を諦める。)

尚、既にAppStoreにリリースされているアプリは、今の所iOS12.2の端末でもダウンロード出来ました。

逆にXcodeのバージョンを下げたい方は、Downloads for Apple Develpoers (Xcode)からどうぞ

以降は、原因などの詳細について記載します。


環境

・Xcode Version 10.1 (10B61)

・iOS 12.2 (16E227)

・Development Target iOS 11.0

・Swift Version 3


原因

最新版であるXocde 10.2はSwift 3をサポートしていない為、

一つ前のバージョンであるXcode10.1を使っていました。


Unsupported Swift Version

The project “~~” contains source code developed with Swift 3.x. This version of Xcode does not support building or migrating Swift 3.x targets.

Use Xcode 10.1 to migrate the code to Swift 4.

<訳>

サポートされていないSwiftのバージョン

プロジェクト“~~”はSwift 3.xで開発されたソースコードを含みます。 このバージョンのXcodeはSwift 3.xターゲットのビルドまたは移行をサポートしません。

Xcode 10.1を使用してコードをSwift 4に移行します。


ただしXcode10.1は、Development Target iOS 12.1までしかサポートしていません。

その為、iOS 12.2以降のiOSにビルドするとエラーとなります。

※Build Successにはなります。


参考記事:Xcode,Swiftのバイナリ互換性



まとめ

いよいよSwift3を対応してくれなくなってきたので、大変ですが更新しなければいけない...

尚、Swift4.xからSwift5への更新はそこまで苦ではありませんでした。