Skip to content

Commit c83345e

Browse files
authored
chore: upgrade to Expo SDK 55 (#185)
* Upgrade Expo/RN to v55/0.83 and adjust configs Bump Expo and React/React Native versions across demo apps (app-clip-demo, kitchen, live-activities-demo, widget-demo) to expo ^55, expo-splash-screen ~55.0.17, react 19.2.0 and react-native 0.83.4. Remove legacy newArchEnabled flags from several app.json files. Update package metadata and bun.lock to reflect upgraded Expo packages and related dependency updates (config-plugins, metro, devtools, codegen, and other Expo / RN tooling). * iOS: update Podfiles and native dependencies Podfile tweaks and dependency updates for multiple iOS targets (app-clip, kitchen, live-activities, widget-demo). Key changes: - Added ccache detection helper and set several ENV defaults (RN dep/prebuilt RN core, Hermes V1 flag, EX_DEV_CLIENT_NETWORK_INSPECTOR). - Switched autolinking invocation to a direct node call (node --no-warnings --eval require('expo/bin/autolinking')). - Removed Xcode resource bundle code-signing workaround. - Updated Podfile.lock entries (Expo/React Native/Hermes and related pods) to newer prebuilt RN/core packages and refreshed many native pods. - Updated/added iOS assets and privacy files (app icons, splash assets, PrivacyInfo.xcprivacy) across apps and targets. These changes align native iOS build config with newer RN/Expo releases and streamline build-time options (ccache, prebuilt RN core, Hermes).
1 parent 913a0f1 commit c83345e

110 files changed

Lines changed: 8434 additions & 2907 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/app-clip-demo/app.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@
55
"bundleIdentifier": "com.bacon.clipdemo"
66
},
77
"plugins": ["@bacons/apple-targets"],
8-
"platforms": ["ios"],
9-
"newArchEnabled": true
8+
"platforms": ["ios"]
109
}

apps/app-clip-demo/ios/Podfile

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,19 @@ require File.join(File.dirname(`node --print "require.resolve('react-native/pack
44
require 'json'
55
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
66

7-
ENV['RCT_NEW_ARCH_ENABLED'] = '0' if podfile_properties['newArchEnabled'] == 'false'
8-
ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']
7+
def ccache_enabled?(podfile_properties)
8+
# Environment variable takes precedence
9+
return ENV['USE_CCACHE'] == '1' if ENV['USE_CCACHE']
910

11+
# Fall back to Podfile properties
12+
podfile_properties['apple.ccacheEnabled'] == 'true'
13+
end
14+
15+
ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] ||= podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']
16+
ENV['RCT_USE_RN_DEP'] ||= '1' if podfile_properties['ios.buildReactNativeFromSource'] != 'true'
17+
ENV['RCT_USE_PREBUILT_RNCORE'] ||= '1' if podfile_properties['ios.buildReactNativeFromSource'] != 'true'
18+
ENV['RCT_HERMES_V1_ENABLED'] ||= '1' if podfile_properties['expo.useHermesV1'] == 'true'
1019
platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1'
11-
install! 'cocoapods',
12-
:deterministic_uuids => false
1320

1421
prepare_react_native_project!
1522

@@ -20,7 +27,10 @@ target 'baconsappclip' do
2027
config_command = ['node', '-e', "process.argv=['', '', 'config'];require('@react-native-community/cli').run()"];
2128
else
2229
config_command = [
23-
'npx',
30+
'node',
31+
'--no-warnings',
32+
'--eval',
33+
'require(\'expo/bin/autolinking\')',
2434
'expo-modules-autolinking',
2535
'react-native-config',
2636
'--json',
@@ -47,19 +57,8 @@ target 'baconsappclip' do
4757
installer,
4858
config[:reactNativePath],
4959
:mac_catalyst_enabled => false,
50-
:ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true',
60+
:ccache_enabled => ccache_enabled?(podfile_properties),
5161
)
52-
53-
# This is necessary for Xcode 14, because it signs resource bundles by default
54-
# when building for devices.
55-
installer.target_installation_results.pod_target_installation_results
56-
.each do |pod_name, target_installation_result|
57-
target_installation_result.resource_bundle_targets.each do |resource_bundle_target|
58-
resource_bundle_target.build_configurations.each do |config|
59-
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
60-
end
61-
end
62-
end
6362
end
6463
end
6564

0 commit comments

Comments
 (0)