【React Native】「Typedef redefinition with different types (‘uint8_t’ (aka ‘unsigned char’) vs ‘enum clockid_t’)」エラーの対処法

React Native で iOS アプリを開発中、Git のブランチを切り替えたり、ライブラリを追加/削除していたら、「Typedef redefinition with different types (‘uint8_t’ (aka ‘unsigned char’) vs ‘enum clockid_t’)」というエラーが発生し、アプリのビルドに失敗するようになってしまいました…。
なお、こちらのエラーは Xcode で実行した時に確認できたエラーです。
普段はコマンドラインツール上で実行しているのですが、エラーが長すぎて上の方が見れなかった…。

 

で、色々調べたところ、一番参考になった記事がこちら。

Catalyst + ReactNative: Typedef redefinition with different types (‘uint8_t’ (aka ‘unsigned char’) vs ‘enum clockid_t’) error when building for mac target · Issue #28810 · facebook/react-native · GitHub
https://github.com/facebook/react-native/issues/28810

こちらの投稿で「Facebook Flipperとそれに関連する他のすべてを削除する」とあり、そちらを試したところ、ビルドできるようになりました!

詳しい手順は、まず Podfile を開き、下記の 2行を削除もしくはコメントアウトします。

use_flipper!  <- この行を削除 or コメントアウト
post_install do |installer|
  flipper_post_install(installer)  <- この行を削除 or コメントアウト
end

その後、Pods ディレクトリと Podfile.lock を削除してから下記コマンドを実行します。

pod cache clean --all
pod install

こちらを実行後、react-native run-ios を実行したところ、あの苦労は何だったのだろう…と思うくらいすんなりとビルドに成功しました。

 

以上、React Native で開発中の iOS アプリで「Typedef redefinition with different types (‘uint8_t’ (aka ‘unsigned char’) vs ‘enum clockid_t’)」エラーが発生した時の対処法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG