今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

使用WidgetKitでパッケージ化されたアプリの低いバージョンがクラッシュする

背景#

APP に WidgetKit 機能が追加され、最低バージョンは 10.0 です。ユーザーからのフィードバックによると、インストール後に開くとクラッシュするとのことです。ここではその原因を記録します:

解決方法#

調査の結果、ユーザーの携帯電話のシステムバージョンが古く、iOS 14 よりも低いことがわかりました。低いバージョンのデバイスが手元になかったため、Xcode 12.x で iOS 10.x シミュレータを追加することで iOS 12.0 のシミュレータを追加しました。デバッグモードでは問題ありませんが、リリースモードでは問題が発生し、コンソールには次のようなエラーが報告されます:

dyld: Library not loaded: /System/Library/Frameworks/WidgetKit.framework/WidgetKit Referenced from: /private/var/containers/Bundle/Application

検索した結果、次のような解決策が見つかりました:

  • ターゲットを選択します
  • ビルドフェーズ
  • ライブラリとのバイナリリンク
  • WidgetKit を追加し、そのステータスを「Optional」に設定します

示意図

参考#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。