• 23-Jan-2023
Lightrun Team
Author Lightrun Team
Share
This article is about fixing error when 0.61.5 - data-lazy-src= 0.62 - Xcode error: Undefined symbol: _OBJC_CLASS_$_FlipperKitNetworkPlugin in React Native Community Upgrade Support">

Error when 0.61.5 -> 0.62 – Xcode error: Undefined symbol: _OBJC_CLASS_$_FlipperKitNetworkPlugin in React Native Community Upgrade Support

Lightrun Team
Lightrun Team
23-Jan-2023

Explanation of the problem

The problem is related to upgrading react-native version from 0.61.5 to 0.62 on macOS 10.15.4. After following upgrade-helper and #13, there is an error in Xcode. The error message is “Undefined symbol: OBJC_CLASS$_FlipperKitNetworkPlugin Undefined symbol: OBJC_CLASS$_SKIOSNetworkAdapter Undefined symbol: OBJC_CLASS$_FlipperKitReactPlugin Undefined symbol: OBJC_CLASS$_FKUserDefaultsPlugin Undefined symbol: OBJC_CLASS$_FlipperKitLayoutPlugin Undefined symbol: OBJC_CLASS$_SKDescriptorMapper Undefined symbol: OBJC_CLASS$_FlipperClient”. This error message is related to using flipper in the project and possibly caused by a compatibility issue between the new version of react-native and the flipper library. A similar issue has been reported in the flipper repo, and the solution suggested there did not help in this case.

Troubleshooting with the Lightrun Developer Observability Platform

Getting a sense of what’s actually happening inside a live application is a frustrating experience, one that relies mostly on querying and observing whatever logs were written during development.
Lightrun is a Developer Observability Platform, allowing developers to add telemetry to live applications in real-time, on-demand, and right from the IDE.

  • Instantly add logs to, set metrics in, and take snapshots of live applications
  • Insights delivered straight to your IDE or CLI
  • Works where you do: dev, QA, staging, CI/CD, and production

Start for free today

Problem solution for error when 0.61.5 -> 0.62 – Xcode error: Undefined symbol: _OBJC_CLASS_$_FlipperKitNetworkPlugin in React Native Community Upgrade Support

The issue with getting an error in Xcode when upgrading React Native version 0.61.5 to 0.62 can be resolved by ensuring the proper configuration of the Podfile. One solution is to make sure that the targets and flipper pods are correctly defined in the Podfile, including the correct configuration for each pod. Additionally, it is important to check and update the runpath search path in Xcode’s BuildSettings to ensure that the app builds and starts correctly. Another solution is to make sure that the use_flipper! function is correctly configured for your multiple schemes and version of React Native. This can be done by specifying the configurations for the flipper pods in the Podfile. It is important to note that this error can also be caused by other factors such as outdated versions of swift and libswiftCore.dylib. Thus, it is recommended to check for these factors and update them as necessary.

Other popular problems with React Native Community Upgrade Support

Problem: Error when building the app with undefined symbol for FlipperKit plugins

When upgrading React Native from version 0.61.5 to 0.62, an error may occur when building the app with undefined symbol for FlipperKit plugins. This error can be caused by a mismatch in the configuration of the target and the FlipperKit pods in the Podfile.

Solution:

To fix this issue, make sure that the targets in the Podfile match the configurations for the FlipperKit pods. For example, in the Podfile, the targets should be defined as project ‘gotobridge’, ‘Debug-dev’ => :debug, ‘Release-dev’ => :release, ‘Debug’ => :debug, ‘Release’ => :release. And the FlipperKit pods should be added with the configuration option, like this: pod ‘FlipperKit’, version, :configuration => [‘Debug-dev’, ‘Release-dev’].

Problem: Error when launching the app with Thread 1: signal SIGABRT

After building the app, it may crash on launch with Thread 1: signal SIGABRT error. This error can be caused by a mismatch in the version of the system library and the version required by the app.

Solution:

To fix this issue, you can add a File.swift in your project, or you can change the runpath search path in xCode BuildSettings -> Linking -> runpath search path. Change each build line to: /usr/lib/swift $(inherited) and that should resolve the issue.

Problem: Error when upgrading React Native with multiple schemes

When upgrading React Native, an error may occur when using multiple schemes.

Solution:

To fix this issue, you can make the following change in your Podfile. Change the use_flipper! to use_flipper!(configurations: [‘Debug’, ‘Local.Debug’, ‘Staging.Debug’]). This will configure the flipper pods to work with the specified schemes.

A brief introduction to React Native Community Upgrade Support

React Native Community Upgrade Support is a set of tools and resources that help developers to upgrade their React Native applications to the latest version. The community-driven project aims to make the upgrade process as smooth as possible by providing detailed instructions and solutions to common problems that developers may encounter during the upgrade process. This includes providing guidance on how to handle breaking changes, troubleshoot build issues, and update dependencies.

In addition to the upgrade support, the React Native Community also provides a variety of other resources such as guides, tutorials, and best practices for developing React Native applications. The community is composed of developers from all over the world who contribute to the project by sharing their knowledge and experience. This makes it a valuable resource for developers looking to learn more about React Native and stay up to date with the latest developments in the ecosystem.

Most popular use cases for React Native Community Upgrade Support

  1. Upgrading React Native versions: React Native Community Upgrade Support provides a set of tools and guidelines for upgrading React Native versions in a safe and efficient manner. This includes the use of the upgrade-helper tool, which can automatically apply changes to your application code and dependencies, minimizing the risk of breaking changes.
  2. Debugging and troubleshooting issues: React Native Community Upgrade Support also provides a wealth of resources for debugging and troubleshooting issues that may arise during the upgrade process. This includes detailed documentation on common issues and their solutions, as well as a community forum for discussing and sharing solutions with other developers.
  3. Enhancing application performance: Upgrading to the latest version of React Native can also provide performance enhancements and new features for your application. Code snippets and examples are provided to help developers take advantage of these enhancements, such as improved memory management, improved startup time, and new APIs.
Share

It’s Really not that Complicated.

You can actually understand what’s going on inside your live applications. It’s a registration form away.

Get Lightrun

Lets Talk!

Looking for more information about Lightrun and debugging?
We’d love to hear from you!
Drop us a line and we’ll get back to you shortly.

By submitting this form, I agree to Lightrun’s Privacy Policy and Terms of Use.