I installed the beta version of Xcode (Xcode 16) to be able to install and use an iOS 26 simulator. The simulator is running with iOS 26 but has no effects when opening a React Native w/ Expo app. I am not using Expo Go to view the app so I am not sure where exactly the problem is. When I open an app I built and ran I cannot even see the basic status bar gradient/blur effect that is shown when scrolling down which should work natively without configuration. When opening any of the preinstalled apps such as settings I do see the effects along with the liquid glass widgets and home dock on the simulator so I know the simulator is running on iOS 26.
To clarify, React Native w/ Expo apps build and run just fine. The issue is that any app I build and run does not get the native status bar gradient/blur effects or the liquid glass tab bar at the bottom which leads me to believe I made a mistake somewhere along the way with my setup/configuration.
Here's a list of the things I've tried but did not work:
- Made sure reduce transparency is off in the settings
- Cleaned the root directory and reinstalled everything by running
rm -rf .expo && rm -rf node_modules/.cache - Cleaned out the iOS/ build directory and rebuilt using both
pod installandexpo run:ios - Installed a fresh sample project provided by the docs using
npx create-expo-app@latest NativeTabs --template @bottom-tabs/expo-templatethat properly displayed the status bar gradient/blur and native liquid glass tab bar on another persons machine and simulator.
Here are my dependencies:
"dependencies": {
"@bottom-tabs/react-navigation": "^0.11.0",
"@expo/vector-icons": "^14.0.4",
"@react-navigation/native": "^7.1.17",
"@tanstack/react-query": "^5.84.1",
"date-fns": "^4.1.0",
"expo": "~53.0.22",
"expo-build-properties": "~0.14.8",
"expo-constants": "~17.1.7",
"expo-dev-client": "~5.2.4",
"expo-font": "^13.3.2",
"expo-linking": "~7.1.7",
"expo-router": "~5.1.5",
"expo-splash-screen": "^0.30.10",
"expo-status-bar": "~2.2.3",
"react": "19.0.0",
"react-hook-form": "^7.60.0",
"react-native": "~0.79.5",
"react-native-bottom-tabs": "^0.11.0",
"react-native-gesture-handler": "~2.24.0",
"react-native-safe-area-context": "5.4.0",
"react-native-screens": "4.11.1",
"zod": "^3.25.76"
}
Here is the podfile:
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
require 'json'
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
ENV['RCT_NEW_ARCH_ENABLED'] = '0' if podfile_properties['newArchEnabled'] == 'false'
ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']
platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1'
install! 'cocoapods',
:deterministic_uuids => false
prepare_react_native_project!
target 'SoundscapeFlow' do
use_expo_modules!
if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1'
config_command = ['node', '-e', "process.argv=['', '', 'config'];require('@react-native-community/cli').run()"];
else
config_command = [
'npx',
'expo-modules-autolinking',
'react-native-config',
'--json',
'--platform',
'ios'
]
end
config = use_native_modules!(config_command)
use_frameworks! :linkage => :static
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
:privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] != 'false',
)
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false,
:ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true',
)
# This is necessary for Xcode 14, because it signs resource bundles by default
# when building for devices.
installer.target_installation_results.pod_target_installation_results
.each do |pod_name, target_installation_result|
target_installation_result.resource_bundle_targets.each do |resource_bundle_target|
resource_bundle_target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end
end
And these are some warnings I get after running pod install:
Analyzing dependencies
Downloading dependencies
Generating Pods project
Setting USE_HERMES build settings
Setting REACT_NATIVE_PATH build settings
Setting SWIFT_ACTIVE_COMPILATION_CONDITIONS build settings
[Ccache]: Removing Ccache from CC, LD, CXX & LDPLUSPLUS build settings
[SPM] Cleaning old SPM dependencies from Pods project
[SPM] Adding SPM dependencies to Pods project
[Privacy Manifest Aggregation] Appending aggregated reasons to existing PrivacyInfo.xcprivacy file.
[Privacy Manifest Aggregation] Reading .xcprivacy files to aggregate all used Required Reason APIs.
Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /Users/juansaldana/Projects/soundscape-flow-web/apps/mobile/ios/SoundscapeFlow.xcodeproj
==================== DEPRECATION NOTICE =====================
Calling `pod install` directly is deprecated in React Native
because we are moving away from Cocoapods toward alternative
solutions to build the project.
* If you are using Expo, please run:
`npx expo run:ios`
* If you are using the Community CLI, please run:
`yarn ios`
=============================================================
Pod install took 9 [s] to run
Integrating client project
Pod installation complete! There are 93 dependencies from the Podfile and 95 total pods installed.
[!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.
[!] Can't merge pod_target_xcconfig for pod targets: ["expo-dev-menu", "Main", "ReactNativeCompatibles", "SafeAreaView", "Vendored"]. Singular build setting DEFINES_MODULE has different values.