CatHand Blog

アプリ開発やMac弄り

IllustailがiOS14で起動しない(解決)

画像収集アプリ Illustail の動画対応を行いました。

apps.apple.com

それ以降TwitterでIllustailが起動しないという報告をいくつか見かけたのですが、再現できず困っていました。ありがたいことに環境など詳しく教えていただくことができ、ローカル環境でも再現することができました。

現象としては

  • iOS14実機で起きる
  • Xcodeから起動するとReleaseビルドでも起きない
  • TestFlightとAppStoreビルドでだけ起きる
  • クラッシュログは残らない
  • Console繋げてるとWidgetExtensionの起動に失敗しているぽいログが見える

というかんじで、Crashlytics等にログも上がらない上にTestFlightで配信しないと再現しないというとても厄介なものでした。

唯一Consoleを繋いでいるとそれっぽいログが出ます。

エラー    22:17:48.374952+0900    chronod [org.cathand.illustail.Widget] Unable to create new WidgetExtensionSession because begin request failed: Couldn’t communicate with a helper application.
エラー   22:17:48.375164+0900    chronod [org.cathand.illustail.Widget] query failed - retrying in 3 seconds (1 attempts remaining): Error Domain=ChronoCoreErrorDomain Code=5 "unable to obtain widget extension session" UserInfo={NSLocalizedDescription=Remote context unavailable, NSDebugDescription=unable to obtain widget extension session}

なんかWidgetExtensionの起動に失敗してるっぽいけどよくわかんないなーと思ってその日は寝ました。

寝てる間に@k_katsumiさんからリプいただいていました(ありがとうございます)。

なんかそういうバグらしいですね…。とりあえずBitcodeオフで直るようなので

  • Illustail 4.2.2 で Widget Extension の Bitcode をオフにする
  • Illustail 4.2.3 以降では Bitcode をオンにしてサポートOSをiOS15以降にする

という対応にします。既に修正された Illustail 4.2.2 はリリースされていますので、そちらをお使いください。

コードの変更だけでビルド環境等は変更していないはずなんですが、この現象が何故急に発生するようになったのかだけが不思議です。