Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAS Build does not check for ios.config.usesNonExemptEncryption #2848

Closed
janwiebe-jump opened this issue Jan 30, 2025 · 5 comments
Closed

EAS Build does not check for ios.config.usesNonExemptEncryption #2848

janwiebe-jump opened this issue Jan 30, 2025 · 5 comments
Labels
needs review Issue is ready to be reviewed by a maintainer

Comments

@janwiebe-jump
Copy link

Build/Submit details page URL

No response

Summary

In #2843 the nonExemptEncryption value is being checked. However it seems that the expo config field ios.config. usesNonExemptEncryption is not taken into account.
We have set that to false in our app.json, but get the interactive prompt during the build.

Managed or bare?

managerd

Environment

expo-env-info 1.2.2 environment info:
    System:
      OS: macOS 15.2
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
      Yarn: 1.22.22 - ~/.yarn/bin/yarn
      npm: 10.2.5 - ~/.nvm/versions/node/v20.9.0/bin/npm
      Watchman: 2024.12.02.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.15.2 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 24.2, iOS 18.2, macOS 15.2, tvOS 18.2, visionOS 2.2, watchOS 11.2
      Android SDK:
        API Levels: 33, 34, 35
        Build Tools: 30.0.3, 31.0.0, 32.0.0, 33.0.3, 34.0.0, 35.0.0
        System Images: android-26 | Google APIs ARM 64 v8a, android-28 | Google APIs ARM 64 v8a, android-30 | Google Play ARM 64 v8a, android-31 | Google Play ARM 64 v8a, android-32 | Google Play ARM 64 v8a, android-33 | Google Play ARM 64 v8a, android-34 | Google Play ARM 64 v8a, android-35 | Google Play ARM 64 v8a
    IDEs:
      Android Studio: 2024.2 AI-242.21829.142.2421.12409432
      Xcode: 16.2/16C5032a - /usr/bin/xcodebuild
    npmPackages:
      expo: ~52.0.26 => 52.0.26 
      react: 18.3.1 => 18.3.1 
      react-dom: 18.3.1 => 18.3.1 
      react-native: 0.76.6 => 0.76.6 
    npmGlobalPackages:
      eas-cli: 14.5.0
    Expo Workflow: managed
Enabled experimental React Native Directory checks. Unset the EXPO_DOCTOR_ENABLE_DIRECTORY_CHECK environment variable to disable this check.
✔ Check package.json for common issues
✔ Check Expo config for common issues
✔ Check native tooling versions
✔ Check if the project meets version requirements for submission to app stores
✔ Check for common project setup issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for app config fields that may not be synced in a non-CNG project
✔ Check for issues with Metro config
✔ Check npm/ yarn versions
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✖ Validate packages against React Native Directory package metadata
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check that native modules use compatible support package versions for installed Expo SDK
✖ Check that packages match versions required by installed Expo SDK

Detailed check results:

The following issues were found when validating your dependencies against React Native Directory:
Untested on New Architecture: react-native-element-dropdown, react-native-keyboard-aware-scroll-view
Unmaintained: react-native-keyboard-aware-scroll-view, redux-persist
No metadata available: @expo-google-fonts/montserrat, @expo/metro-runtime, date-fns
Advice: 
- Use libraries that are actively maintained and support the New Architecture. Find alternative libraries with https://reactnative.directory.
- Add packages to expo.doctor.reactNativeDirectoryCheck.exclude in package.json to selectively skip validations, if the warning is not relevant.
- Update React Native Directory to include metadata for unknown packages. Alternatively, set expo.doctor.reactNativeDirectoryCheck.listUnknownPackages in package.json to false to skip warnings about packages with no metadata, if the warning is not relevant.

The following packages should be updated for best compatibility with the installed expo version:
  [email protected] - expected version: ~5.0.10
  [email protected] - expected version: ~7.0.5
Your project may not work correctly until you install the expected versions of the packages.
Found outdated dependencies
Advice: Use 'npx expo install --check' to review and upgrade your dependencies.

One or more checks failed, indicating possible issues with the project.

Error output

Input is required, but stdin is not readable. Failed to display prompt: iOS app only uses standard/exempt encryption? Learn more: https://developer.apple.com/documentation/Security/complying-with-encryption-export-regulations
Error: build command failed.

Reproducible demo or steps to reproduce from a blank project

app.json (excerpt):

"ios": {
    "icon": "./assets/images/app-icon-ios.png",
    "supportsTablet": true,
    "bundleIdentifier": "nl.jump.app",
    "buildNumber": "1",    
    "associatedDomains": [
      "[redacted]",
    ],
    "infoPlist": {
      "UIBackgroundModes": ["remote-notification"]
    },
    "privacyManifests": {
      "NSPrivacyCollectedDataTypes": [
        {
          "NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeCrashData",
          "NSPrivacyCollectedDataTypeLinked": false,
          "NSPrivacyCollectedDataTypeTracking": false,
          "NSPrivacyCollectedDataTypePurposes": [
            "NSPrivacyCollectedDataTypePurposeAppFunctionality"
          ]
        },
        
      ],
     
    },
    "config": {
      "usesNonExemptEncryption": false
    },
    "entitlements": {
      "aps-environment": "production"
    },
    "googleServicesFile": "./GoogleService-Info.plist"
  },
@janwiebe-jump janwiebe-jump added the needs review Issue is ready to be reviewed by a maintainer label Jan 30, 2025
@zakgogiBH
Copy link

We're getting the same issue in our pipeline, same set up was working in the last few days

@gesturetaj
Copy link

gesturetaj commented Jan 30, 2025

+1 This is breaking our CI/CD pipeline.

@zakgogiBH
Copy link

We're getting the same issue in our pipeline, same set up was working in the last few days

Confirmed using cli version 14.5.0 instead of latest unblocked us for now

@sjchmiela
Copy link
Contributor

Hi, thanks for flagging this. We've just released 14.7.0. It does not yet take ios.config.usesNonExemptEncryption into account, but it should not fail in CI anymore.

We're going to fix the ios.config behavior soon.

@sjchmiela
Copy link
Contributor

Hey, just released 14.7.1 which should fix this. Sorry for the inconveniences.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

4 participants