来週末の展示準備のため、Sphero SDKのサンプルをちょっと改造して作ったiOSアプリを、Xcode10.1(Mojave)でビルドしようとしたら「Swift2は対応してないからダメよ」というエラーが。
このプロジェクトを最後に触ったのは2015年。iOS9までは対応させていたらしい。。。
Fixボタンをひたすら押して、それでも直らない箇所はぐぐって調べて直したり。。。2,3時間やってました。
その途中で、Xcodeをダウングレードするしかないな。。。と思ってXcode8.3.3をダウンロードしたもののMojaveでは以下のエラーが出て起動しないorz
その後、いろいろあったのですが省略して、ゼミ室に退職された先生から譲り受けた古いMacbook Proがあって、それはHigh Sierraまでしかアップデートできずにいました(ファイルサーバー&プリンタサーバーとして利用)。
それを思い出してXcode8.3.3を入れてみると無事起動できました😁
起動して自作プロジェクトを開いてみると、自動的に以下のダイアログが表示されて自動移行処理(Swift2⇒Swift3)が始まりました。Fixボタンを連打する必要がありませんでした😁
変換後、タイマー処理の記述にエラーが残りましたが、ぐぐって修正できました。めでたしめでたし。
さらに、このプロジェクトをXcode10.1に持っていくとそのまま読み込めて、iPod Touchへアプリ転送もできました。ラッキー。。。ついでに欲を出してSwift4.2への変換を試みてみましたが、残念ながらエラーでした。Swift3もそのうち対応しなくなるでしょうから。。。いつか直さないといけないですね。。。
とりあえず、これで展示には間に合いそうです。よかったぁ〜。
こう考えると古いマシンを捨てずに残しておく意義はありますね。