Xcode 11.1 から Xcode 11.2 にアップグレードした後、アプリがクラッシュします。
*** キャッチされない例外 'NSInvalidUnarchiveOperationException' のためアプリを終了します。理由: '_UITextLayoutView という名前のクラスが見つからなかったため、_UITextLayoutView という名前のクラスをインスタンス化できませんでした。クラスはソース コードで定義するか、ライブラリからリンクする必要があります (クラスが正しいターゲットの一部であることを確認してください)'
なぜこのようなことが起こるのでしょうか? このクラッシュを防ぐにはどうすればよいですか?
ベストアンサー1
更新: 修正されました!
唯一の解決策はアップデートすることです
これバグは修理済みXcode 11.2.1では、ここからダウンロードしてご利用ください。
UITextView を含むストーリーボードによって、iOS 13.2、tvOS 13.2、または macOS 10.15.2 より前のバージョンのオペレーティング システムでアプリがクラッシュしなくなりました。(56808566、56873523)
Xcode 11.2 は 2019 年 11 月 5 日に Apple によって廃止されました。
Xcode 11.2 でビルドしたアプリを AppStore に送信しようとすると、拒否されます。
App Store Connect 操作に関する警告
警告 ITMS-90703 : 「Xcode ビルドは非推奨です。アプリ アーカイブの問題が解決されたため、2019 年 11 月 5 日に Xcode 11.2 は非推奨になりました。Xcode 11.2.1 以降をダウンロードし、アプリを再構築して再送信してください。」
したがって、Xcode 11.2で実行されたすべての回避策は役に立たない
これは Xcode 11.2 のバグであり、Xcode 11.2.1 で修正されました。
解決策
以前の Xcodeリリース
バージョン にロールバック :
ロールバックはもうオプションではなく、AppStore は 11.2.1 未満の Xcode を使用したビルドを拒否します。これをみて
ダウンロードにはSafariを使用する必要があり、まずApple開発者ポータルにログイン。
他のすべてのXcodeバージョンとその他のリソースリンク(リリース版とベータ版を含む)は、こちらでご覧いただけます。
https://developer.apple.com/download/more
回避策
これは非常に困難ですが、機能する回避策です。storyboardとXibUITextView
内のすべての を純粋なコードバージョンに置き換えます。
また、先ほど不具合によって確認されたAppleスタッフエドフォード
iOS 13.2 をご利用で、Xcode 11.1 が使用できなくなった場合:
- macOSを10.15.1以降にアップデートする
- Xcode 11.2.1以降をインストールします
- 更新されたデバイスでは動作するはずです。
ストーリーボードをお持ちの方:
- サブクラス
UITextView
UITextView
すべてのオブジェクトに割り当てる- サブクラス化で失われる可能性のあるプロパティの変更を忘れずに更新してください。
メソッドスウィズリング(オブジェクトと動的動作)に慣れている人向け
@aftab muhammed khan へ向かう
Objective-Cの回答
と
@MikRo
Swift 適応版の回答
もうそんなことはしないでください。
最後の2つのswizzling回避策はAppleのプライベートAPIを使用していない場合でも、AppStoreで拒否されます。AppleはXcodeバージョン11.2.1以下のビルドを受け入れない!
そしてもう一度: