Delphi11で古いiOS端末を使ってデバッグする
これはAdvent Calendar2021 Delphiの3日目の投稿です。
qiita.com
さて、どんなシステム開発でもリリース前にしなきゃいけないのは、「デバッグ作業」ですね。
DelphiでiOS開発する上では以前はXcodeのiOSシミュレータが使用できましたが、Delphi11ではiOSシミュレータが使用できなくなっています。ですので、実機デバッグという作業が必要になります。
実機デバッグの方法はいくつか記事があるのですが、古いiOS端末だとスムーズに行かなかったので、今回まとめることにしました。
リリースサイクルの速いモバイルOSに対応していくためには、macOSもXcodeもDelphiもできるだけ新しいものが好ましい、とは建前で、やっぱり古いiPadを安く手に入れてアプリ開発、というのもアリだと思うのです。(直ちにリリースするのでなければ)
必要なもの
・mac(今回はMacbook Air 2015、BigSur)
・iOS端末(今回はiPad mini2、iOSのバージョンは12.5.5)
・WindowsPC(Delphi11がインストールされている)
まず、WindowsにはDelphi11を、macにはXCode(この記事ではVersion13.0を使用)、PAServerをインストールしておきます。
デバッグするアプリ名は「test」、
自身の所属は「com.japelin」としておきます。
1. Xcodeの作業
1-3. Product Nameにアプリ名「test」、Organication Identifierに所属である「com.japelin」と指定してNext
1-.4 プロジェクトの保存先を指定して「Create」
1-6. プロジェクトを2回クリックし、TARGETのオプション画面を表示
1-8. Xでオプション画面を閉じる。
1-9. コード画面に戻ると、多数のエラー、警告が表示されている
1-11. Add @available attirbute to enclosing propertyのFixをクリック
1-12. 2秒ほど待つと関連するエラーが消える。
1-13. 続いて、残ったエラーも同様にしてFixする
1-14. エラーメッセージが消えたのを確認し、プロジェクトツリーからtestAppを選択する
1-15. 同様にエラーを修正する
main()>WindowGroupの順で処理するとよさげ。
(WindowGroupでFixした後に別のエラーが出る場合、⌘+Zで元に戻すと、エラーが消えたりする。このあたりは深く追求しない…)
1-16. エラーがなくなったらProduct>Run
3. Delphiでの作業
3-2.プロジェクトをオプションを開き、CFBundleIdentifierにアプリの固有名を指定する。
固有名は「所属ドメイン逆順+アプリ名」というのが一般的ですので「com.japelin.test」とします。
3-4. Xcodeで作成したアプリを置き換える形で、Delphiで作成したアプリがインストールされているのがわかります。
これで、古いデバイスでもデバッグ実行ができるようになりました!
なお、本投稿における情報はDelphi Discordにてjunさん(https://qiita.com/pik)に教えていただいたり、山本さんのウェブサイト(https://www.gesource.jp/weblog/?p=7212)の情報を参考にさせていただきました。
この場を借りて御礼申し上げます。