#ReactNative開発環境構築時メモ
経緯
- 仕事でKintoneばっかり触ってるので、何か他のことやりたいな〜と漠然に思っていたところ、ReactNativeでアプリを作る本を見つけたので衝動買い。
- 日本一の本屋じゃないか?と思っているオアゾの丸善で買ったのですが、ReactNativeの本は3冊しかありませんでした。(しかも古い。)Swiftばっかりでした。ReactNativeは流行ってないのかあと思いつつ、昔Reactで開発経験があったのでこちらを選びましたが、開発環境構築で悩んだので、悩んだとこだけとりあえずメモを残しておきます。
XCode 12.5.1のダウンロードとインストール
- 本にはAppStoreからXCodeダウンロードしろと書いてありましたが、無理でした。終わりませんでした。
- ググって、こちらからダウンロード
- ダウンロードだけで1時間、インストールはほったらかしにして寝ましたがけっこう時間かかったんだと思います。
npx react-native run-ios
build error 解決法
- 以下の2つのエラーに悩みに悩みまくりました。
Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path ‘~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin’ not present in DVTPlugInCompatibilityUUIDs
-
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
の中身をすべて削除(Unity4XCとAlcatraz)
- 12.5ではもう使っていないプラグインらしい
- ぐぐったらUUIDをファイルに追加して〜とかありましたが、解決しませんでした。消したらあっさりでした。
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening MyApp.xcworkspace. Run CLI with --verbose flag for more details.
yarn add -D patch-package
- Go to
node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm
and replace_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules
to_initializeModules:(NSArray<Class> *)modules
- Go to
node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm
and replaceRCTBridgeModuleNameForClass(module))
toRCTBridgeModuleNameForClass(Class(module)))
yarn patch-package react-native
- Then a patch file will be created. (Checkout the patch-package)
- これでとりあえずビルドはできました。こちらにたどり着かなかったら無理だった。感謝です。