React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。

'NSArray<id<RCTBridgeModule>> *' 型のパラメータを初期化できません
'NSArray<Class> *__strong' 型の左辺値を持つ
'NSArray<Class> *' 型のパラメータを初期化できません
'NSArray<id<RCTBridgeModule>> *__strong' 型の左辺値を持つ
'NSArray<id<RCTBridgeModule>> *' 型のパラメータを初期化できません
'NSArray<Class> *' 型の右辺値を持つ

これは、XCode 12.5 にアップグレードした後に発生する問題です。ios/Podfile ファイルに次のスクリプトを追加するだけです。

post_install を実行します |インストーラー|
## XCode 12.5 の修正
  検索と置換(
  "../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
  "_initializeModules:(NSArray<id<RCTBridgeModule>> *)モジュール", 
  "_initializeModules:(NSArray<Class> *)モジュール")
  
  検索と置換(
  "../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
  "RCTBridgeModuleNameForClass(モジュール))", 
  「RCTBridgeModuleNameForClass(クラス(モジュール)))」
  )
終わり

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      テキスト = File.read(名前)
      置換 = text.gsub(検索文字列、置換文字列)
      テキストが置換されない場合
          「修正: 」+名前を入力します
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.フラッシュ
      終わり
  終わり
  Dir[dir + '*/'].each(&method(:find_and_replace))
終わり

次に、 pod installコマンドを再度実行してインストールします。

React Native の Cannot initial a parameter of type'NSArray<id<RCTBridgeModule>> エラーの報告に関するこの記事はこれで終わりです (解決方法)。React Native エラーに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactの基本のまとめ
  • Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明
  • Reactにおけるキーの役割の詳細な説明
  • React 入門レベルの詳細なメモ

<<:  MySQL におけるデフォルトの使用法の詳細な説明

>>:  Linuxのtopコマンド出力の詳細な説明

推薦する

Ubuntuはポート22を開きます

シナリオssh 経由で Ubuntu サーバーに接続するには、xshell ツールを使用する必要があ...

MySQLソートにおけるCASE WHENの使用例

序文以前のプロジェクトでは、SQL の CASE WHEN ソート関数が使用されました。ではブログメ...

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

MySQL 挿入時間の 8 時間の違いの問題の解決方法

MySQL挿入時の8時間の時差の問題を解決する通常、jdbc の URL にはいくつかのパラメータを...

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

CSSマウスを画像の上に置いたときにマスクレイヤー効果を追加する実装

まず効果を見てみましょう: マウスを画像の上に移動すると、影の効果とテキスト/アイコンが追加されます...

MySQL データ挿入効率の比較

データを挿入するとき、以前オフィス システムに取り組んでいたときにはデータベースのパフォーマンスにつ...

HTML マーキータグの使用例

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルのみをサポートしています。そのため、...

CSS3を使用してプログレスバー効果を実現し、動的にパーセンテージを追加する

プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...

初心者のための HTML コーディングガイドライン 30 選

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル

1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...

MySQL データベース設計 3 つのパラダイム例分析

3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...

花火効果を実現するJavaScript(オブジェクト指向)

この記事では、花火効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具...

CSS3を使って歌詞進行テキストカラー塗りつぶし変更の動的効果を実装するアイデアの詳細な説明

音楽を再生すると、曲が進むにつれて歌詞が徐々に色づきます。色は単語ごとに変わるのではなく、左から右へ...