2022/01/07

古いiMacでiOSアプリをbuildしたいんだけど?

 


経緯

 わしのiMac2012さんは10年選手。比較的あたらしめなmac book airは、ちょっと重めのことをやらせるとファンがブオンブオン回ってすごいことになるので自宅で何かするときはまだまだiMac2012さんの出番があったりする。ストレージをSSDにメモリとeGPU増設でわりと愉快に使い潰そうとしているわけだ。

 で、もう一度swift弄りたいなぁと思ってXcodeを起動してiPhoneぶっさして適当にbuildしてみたら、実機でアプリが動かねー。これは困った、ということでbuildして実機で動かすまでは出来たので忘れないようにメモっておこうという主旨だ。これが今年一発目のゲーム系Blogですか?そうですか。

1. そもそも DeviceSupport に新しいVersionがないので足しておく

 iMac2012 で利用できる Xcode のバージョンが 12.4 で、iOS14.4 までのデバイスにアプリを投入することができるようだ。手持ちのデバイスは全部15系になるので、unsupported iOS versionとなってしまう。なのでXcodeを騙そう。騙し方は超簡単で、超イカしたイケメンがこんなリポジトリ(https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport)を作ってくれている。ここから15.0のファイルをゲット。ちなみに、ただこりさんはこれを選んだです。

 zipを展開すると、「15.0」ってディレクトリが出来るので、Xcodeを閉じておいてから、そいつを /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport に叩き込む。手持ちのデバイスをよくよく確認すると、15.1になっているので、しれっと15.1としてコピーする。コンソールから適当にこんな感じにすればよろし。

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 
sudo cp -r ~/Downloads/15.0 ./
sudo chown -r root:wheel ./15.0
sudo cp -r ./15.0 ./15.1

2. Build Configuration をいじっておく

  • Xcodeを起動してプロジェクトを開くと左側にナビゲーターペイン?があるので、プロジェクト名をクリック。
  • なにやらプロジェクトの設定に遷移するので「Build Settings」をクリックする。
  • ちょこざいにもデフォルトでは全部の項目を見せやがらないので「Basic」が選択されている場合は「All」に切り替える。
  • 「Signing」ってカテゴリがあるので、そこの「Other Code Signing Flags」の値が表示されそうな部分でダブルクリック。
  • 「--generate-entitlement-der」を追記する。

3. iPhoneやiPadの実機で信頼しておく


 「信頼ですか、、美しい響きの言葉です。しかし、都合のよいように乱用されているようです。」ってコンラート・リンザーさんが言っていた気がするけど多分気のせいです。
 2までの設定をしておいてbuildすると「実機にバイナリは転送できたけど実行出来ない」って状態まで持ってくることができる。で、実機には信頼出来ないデベロッパ云々というメッセージが表示されてるはず。iOS15系の場合だと
  • 「設定」→「一般」→「VPNとデバイス管理」を開くと中央付近に信頼する?的な項目が表示されているはずなのでそこで信頼しておく

そんなこんなで、実機でbuildできるまですすめられたはず。めんどくせーよな。

0 件のコメント:

コメントを投稿

スクレイプAppプラン失敗の巻

やりたかったこと  プレミアムバンダイのサイトにスクレイピングをかけて、ガンプラの在庫をチェックし増減したらツイッターに投稿する。 できなかったこと  JavaでJsoup使ったサンプルコードを作ってみたんだけど、プレバンでGETするときにtimeoutになってしまってた。cUR...