Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

こんにちは!
古いXcodeプロジェクトをBuildしたらエラーが出たので、備忘として残しておきます。あんましAR関係ないです。
※記載間違い等あれば教えてください。

エラー内容について

err1.png

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を使っていました。
err2.png

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までしかサポートしていません。
err3.png

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

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

まとめ

いよいよSwift3を対応してくれなくなってきたので、大変ですが更新しなければいけない...
尚、Swift4.xからSwift5への更新はそこまで苦ではありませんでした。

1901drama
某ARサービスのプロダクトマネージャー。 趣味でエンジニア。 ARとDepthとKerasを勉強中。
https://www.resume.id/1901drama
startialab
スターティアラボ株式会社は、デジタルマーケティング領域に特化した事業者向けツールやサービスを開発・展開するMarTech(マーケティング×テクノロジー)カンパニーです。「世界標準のマーケティングエコシステムをデザインし、マーケティングのあり方そのものを変革する」というビジョンの実現へ向け、前進を続けております。
https://dev.startialab.blog/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away