せっかく久しぶりにiOSアプリを実装したのにビルドできない
いつもはSAP Fioriの実装に忙しいあなたも、たまにはiOSアプリ実装の必要に迫られるときがあるはずです。
JavaScriptからSwiftへと頭を切り替えてやっとのことで実装したアプリをいざiPhoneの実機でビルドしようとすると、iOSのバージョンとXcodeのバージョンが合わないために、Xcodeのバージョンアップを求められることがあります(iOSもSwiftもXcodeも、SAPに比べると容赦ないスピードでアップデートします)。
XcodeをアップデートするためにはMac OSのアップデートが必要だったりするのでなかなか時間はかかるものの、忍耐強く待ってさえいればアップデートは終わるのでゆったり構えてDVDでも見ながら待てば良いのですが、やっとアップデートが終わったあとでわくわくしながらもう一度ビルドしてみると別のエラーが出てしまうかもしれません。
Module compiled with Swift 4.2.1 cannot be imported by the Swift 5.0 compiler...
だっふんだアプリのお披露目は明日に迫っているのに……!
エラー詳細
SAP Cloud Platform iOS Assistantからエクスポートして使っているframeworkがインポートできなくなっているようです。
import UIKit
import SAPFiori //このへんでエラーが出る
import SAPOData //このへんでエラーが出る
import AVFoundation
import Speech
解決法: SAP CP SDK for iOS Assistantの最新版を手に入れる
あっけないですが、ダウンロードサイトから最新版のSDKを落とし、最新版のSDKから改めてframeworkをエクスポートすればOKです。
適当なディレクトリに新しいframeworkをExportしたら、
Xcode Projectのディレクトリにはいっている古いframeworkを削除して新しいものをコピペし、Clean Build Folderした上でBuildするとあっさり解決しました。
だっふんだと言わなくても
久しぶりのビルドなんて怖くない最強の日曜Swiftプログラマになりましょう。