Summary: Going through the `Getting Started` tutorial with `"react-native": "0.61.5"` makes the app crash when you build it, in order to get it working you must add a `.swift` file to the project. ## Changelog Add troubleshooting content about swift errors in React Native build Pull Request resolved: https://github.com/facebook/flipper/pull/794 Reviewed By: passy Differential Revision: D19852986 Pulled By: mweststrate fbshipit-source-id: 16bc44ad573dc20b90f57777ea1c9cfca7c7c4c9
5.4 KiB
id, title, sidebar_label
| id | title | sidebar_label |
|---|---|---|
| troubleshooting | Troubleshooting Issues | Troubleshooting Issues |
We hope that flipper works well out of the box, but the software is a work in progress and problems will occur. Below are some known issues and steps you can take to try to resolve them.
Mac Desktop app
Flipper won't launch on Mac
- If the window is appearing, try opening the Chrome DevTools within Flipper. To do so, from the View menu select Toggle Developer Tools or press CMD+Option+I and check if there are any errors on the console.
- Launch Flipper from the command line using
/Applications/Flipper.app/Contents/MacOS/Flipper. This should give you some logs, that might be helpful when debugging. - Delete
~/.flipperand try relaunching Flipper. - Delete Flipper from your applications folder and redownload Flipper.
- If you're using
yarn startto run from source, make sure all dependencies are installed correctly by running yarn install.
iOS Simulator missing from devices dropdown
- Check that
xcode-select -pshows the same XCode version that you're using. If not, see xcode-select for how to select the correct version.
No plugins showing up for your device
- Check your device isn't on the list of known incompatibilities.
- Make sure your version of Flipper is up to date.
- Make sure the mobile SDK you are using is relatively recent (<1 month old).
- Open Chrome dev tools within Flipper. To do so, from the View menu select Toggle Developer Tools or press CMD+Option+I and check if there are any errors on the console.
- Delete
~/.flipper. - Uninstall and reinstall the mobile app.
- Make sure the time and date are set correctly on your mobile device and desktop computer.
- If no app plugins are showing up, there may be a connectivity issue between Flipper and your app. Check connection issues to see if anything is failing.
Connection Issues
The Flipper SDK includes an in-app connection diagnostics screen to help you diagnose problems.
Android
Replace <APP_PACKAGE> below with the package name of your app, e.g. com.facebook.flipper.sample.
On a terminal, run the following:
adb shell am start -n <APP_PACKAGE>/com.facebook.flipper.android.diagnostics.FlipperDiagnosticActivity
This will only work if you added FlipperDiagnosticActivity to your AndroidManifest.xml. See getting started for help.
iOS
You'll need to manually add this ViewController to your app to see the in-app diagnostics.
Known Incompatibilities
The following devices are known to be incompatible or face issues with flipper:
- Physical iOS devices. Currently on iOS, only simulators are supported (Tracking Issue).
- Some Samsung devices (Tracking Issue).
- Genymotion emulators on Android 8+ are reported to have issues.
File an Issue
Still not working? File an issue on GitHub with the chrome DevTools logs and the output from the diagnostics screen, if relevant.
Android
Build error after including the Flipper dependency:
Exception from call site #4 bootstrap method
This can happen because we include OkHttp3 as dependency which makes use of Java 8 features. There are two ways of dealing with this:
Enable Java 8 support
Add this to your Gradle config:
android {
compileOptions {
targetCompatibility = "8"
sourceCompatibility = "8"
}
}
Exclude the OkHttp3 dependency
Alternatively, if you don't plan on making use of OkHttp, you can exclude the dependency from the build entirely:
debugImplementation('com.facebook.flipper:flipper:*') {
exclude group: 'com.squareup.okhttp3'
}
iOS
Build errors in React Native
If you experience errors such as Undefined symbol: associated type descriptor for FloatLiteralType or Undefined symbol: __swift_FORCE_LOAD_$_swiftCompatibility50 after going through the Getting Started tutorial you must do as follows:
-
Open your project in Xcode;
-
Click in your project's name on the left side;
-
Make sure that you choose your project under
PROJECTon the screen that has been opened; -
Go to the tab
Build Settings; -
Search for
LD_RUNPATH_SEARCH_PATHS(make sure thatAllis selected); -
Double-click
Runpath Search Pathsand, in the dialog that opens, click on the plus button at the bottom-left corner and paste/usr/lib/swift $(inherited)there;
-
Now search for
LIBRARY_SEARCH_PATHS; -
Double-click
Library Search Pathsand, in the dialog that opens, add the following items:"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)" "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)" "$(inherited)"Note: all of them should be added as
non-recursive(the default). -
Now you can run your build normally.
