以前リリースしていたアプリがAppleのXcodeのバージョンアップでObjective-CのClassが非推奨となり使えなくなってしまったので作り変えることになってしまいました。
作り変えるにあたって、主流がswiftとなってきているので、私のアプリもswiftで全面的に作り変えることにしました。
Apple Developerからsampleをダウンロードして、それをベースに作り変えていきました。
いろいろハマったところがありましたので、みなさんの参考になる点があればと思って恥を忍んで掲載します。
使用したバージョン
Xcode version 12.5.1
swift version 5.0
< let products = [Product(キー項目10項目)]は1233種類作成できなかったこと >
AppDelegate.swiftファイルに定義して読み込むのですが、テストデータで20種類くらい作成した時には順調だったのに、本番データを読み込ませようとすると、indexing.....と固まってしまって再起動になります。仕方がないので5項目に減らしてCSVファイルを別に作成して必要な個所で読み込ませて使うようにしました。パソコンのメモリーのサイズの問題なのか、システムの制限なのか不明です。
< Storyboardでは機種別に画像とLavelの配置が指定できなかったこと >
機種別にvary for Traitsで指定できると思っていろんなところに制約を入れたり外したりして設定するのですが、縦から横にしたり、機種を変えたりするとうまくできません。しかたがないので、機種別の画面サイズやツールバー、メニューバーの高さなどを考えて swiftファイルで細かく指定しました。Storyboardでなぜレイアウトが崩れるのか謎です。