Error: "xcodebuild redefinition of 'sqlite3_xxx'" when building fresh expo project #70
-
ProblemCan't build expo app, get a bunch of errors like
Also get a warning when I run expo-doctor about this package being 'Untested on New Architecture' Steps to reproduce
|
Beta Was this translation helpful? Give feedback.
Replies: 8 comments
-
Having this problem as well when using eas build |
Beta Was this translation helpful? Give feedback.
-
Hey @felixsebastian and @histefhere {
"expo.updates.useThirdPartySQLitePod": "true"
} For more details, you can refer to the discussion in Expo issue #30546. Let us know if this works for you. |
Beta Was this translation helpful? Give feedback.
-
I'm confused because I see the original developer list the fix as:
Is the correct syntax what you have provided @mugikhan ? My issue pertains to an error starting with ` 37 | #include <regex.h>
Platform: ios Target OS: 15.1 I reinstalled pods, changed configs, took out any db interactions I had, etc. however, I still come to the same problem. It's actually a problem with |
Beta Was this translation helpful? Give feedback.
-
@DeliveranceTechSolutions My statement is correct, I have tested it personally and it works. It also aligns with what is currently in the Expo package See here. Is there any other packages you are using that could be providing sqlite3 maybe |
Beta Was this translation helpful? Give feedback.
-
After running prebuild I added { Build failed: The "Run fastlane" step failed because of an error in the Xcode build process. We automatically detected following errors in your Xcode build logs: |
Beta Was this translation helpful? Give feedback.
-
I tested this locally and on EAS build. Adding my findings here for context. I ran the following to create a fresh app.
For me this did not give any errors. The app launched after building. Since this issue is related to multiple definitions of SQLite, I manually added I followed the steps recommended by Mugi of adding the settings to my For some background: It seems like @histefhere I'd start by verifying the |
Beta Was this translation helpful? Give feedback.
-
Here's what I had to do to get powersync working with expo 52:
{
- "ios.deploymentTarget": "15.5"
+ "ios.deploymentTarget": "15.5",
+ "expo.updates.useThirdPartySQLitePod": "true"
}
puts "config_command: #{config_command}"
+ pre_install do |installer|
+ installer.pod_targets.each do |pod|
+ next unless pod.name.eql?('react-native-quick-sqlite')
+
+ def pod.build_type
+ Pod::BuildType.static_library
+ end
+ end
+ end
+
config = use_native_modules!(config_command)
- "@journeyapps/react-native-quick-sqlite": "^1.4.0",
+ "@journeyapps/react-native-quick-sqlite": "^2.2.1", |
Beta Was this translation helpful? Give feedback.
-
I created a config plugin for this:
and then in your app.json
put it in a plugins/ directory in you app root ... Works like a dream (-: /Stephen. |
Beta Was this translation helpful? Give feedback.
Here's what I had to do to get powersync working with expo 52:
Podfile.properties.json
Podfile
with apre_install
step:@journeyapps/react-native-quick-sqlite
inpackage.json