Skip to content

React-RCTAppDelegate unstable checksum in Podfile.lock (new architecture) #39971

@heath-clink

Description

@heath-clink

Description

We observed that the checksum for React-RCTAppDelegate in Podfile.lock was unstable, in that it changes from one developer to another. This causes a problem with our CI which uses the --deployment flag to pod install, causing it to fail because the checksum for React-RCTAppDelegate appears to have changed.

Tracked it down to ios/Pods/Local Podspecs/React-RCTAppDelegate.podspec.json which contains a fully-qualified path like /Users/redacted-username/depots/myapp/etc which will be different for different users/environments, and so the checksum of that file will be different for those different users.

React Native Version

0.72.5

Output of npx react-native info

info Fetching system and libraries information...
System:
OS: macOS 13.5.2
CPU: (10) arm64 Apple M1 Max
Memory: 114.30 MB / 32.00 GB
Shell:
version: 3.2.57
path: /bin/bash
Binaries:
Node:
version: 18.17.0
path: ~/.nvm/versions/node/v18.17.0/bin/node
Yarn:
version: 1.22.19
path: ~/.nvm/versions/node/v18.17.0/bin/yarn
npm:
version: 9.6.7
path: ~/.nvm/versions/node/v18.17.0/bin/npm
Watchman:
version: 2023.08.28.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /Users/username-redacted/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.2
- iOS 16.2
- macOS 13.1
- tvOS 16.1
- watchOS 9.1
Android SDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10406996
Xcode:
version: 14.2/14C18
path: /usr/bin/xcodebuild
Languages:
Java:
version: 11.0.20
path: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/javac
Ruby:
version: 2.6.10
path: /Users/username-redacted/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.5
wanted: 0.72.5
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: true

Steps to reproduce

  1. mkdir example1 example2
  2. (cd example1 && npx react-native@latest init AwesomeProject)
  3. (cd example2 && npx react-native@latest init AwesomeProject)
  4. (cd example1/AwesomeProject/ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install)
  5. (cd example2/AwesomeProject/ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install)
  6. diff example?/AwesomeProject/ios/Podfile.lock
  7. Observe different checksums for React-RCTAppDelegate, should be the same.
  8. diff example?/AwesomeProject/ios/Pods/Local\ Podspecs/React-RCTAppDelegate.podspec.json
  9. Observe differing paths, which is the cause of differing checksums

Snack, screenshot, or link to a repository

no reproducer needed, just follow the steps to reproduce

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions