question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Using locale for System Dialog prompts crashes EAS build at FastLane step

See original GitHub issue

Summary

When using files to implement Locale for System Dialog prompts, by setting the locale field in app.json, EAS build crashes while classic expo build still works.

Environment

EAS CLI 0.29.1 environment info: System: OS: macOS 11.5.2 Shell: 5.8 - /bin/zsh Binaries: Node: 12.16.1 - /usr/local/bin/node Yarn: 1.22.5 - /usr/local/bin/yarn npm: 6.13.4 - /usr/local/bin/npm Utilities: Git: 2.30.1 - /usr/bin/git npmPackages: expo: ~42.0.1 => 42.0.4 react: 16.13.1 => 16.13.1 react-dom: 16.13.1 => 16.13.1 react-native: ~0.63.4 => 0.63.4 react-native-web: ~0.13.12 => 0.13.18 npmGlobalPackages: eas-cli: 0.29.1 expo-cli: 4.12.1

Error output

› Copying ../../../xxx/Documents/xxx/playground/example/ios/example/Supporting/ar.lproj/InfoPlist.strings ➜ ar.lproj/InfoPlist.strings

❌  error: Build input file cannot be found: '/Users/xxx/Documents/xxx/playground/example/ios/example/Supporting/ar.lproj/InfoPlist.strings' (in target 'example' from project 'example')

› Compiling example » LaunchScreen.xib
▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ 	CopyStringsFile /Users/expo/Library/Developer/Xcode/DerivedData/example-aoifdmkcrqrofsguvgnrcnqyppbd/Build/Intermediates.noindex/ArchiveIntermediates/example/InstallationBuildProductsLocation/Applications/example.app/ar.lproj/InfoPlist.strings /Users/xxx/Documents/xxx/playground/example/ios/example/Supporting/ar.lproj/InfoPlist.strings
▸ (1 failure)
** ARCHIVE FAILED **
The following build commands failed:
	CopyStringsFile /Users/expo/Library/Developer/Xcode/DerivedData/example-aoifdmkcrqrofsguvgnrcnqyppbd/Build/Intermediates.noindex/ArchiveIntermediates/example/InstallationBuildProductsLocation/Applications/example.app/ar.lproj/InfoPlist.strings /Users/xxx/Documents/xxx/playground/example/ios/example/Supporting/ar.lproj/InfoPlist.strings
(1 failure)
Exit status: 65
+-------------+-------------------------+
|           Build environment           |
+-------------+-------------------------+
| xcode_path  | /Applications/Xcode.app |
| gym_version | 2.185.1                 |
| sdk         | iPhoneOS14.5.sdk        |
+-------------+-------------------------+

steps to reproduce from a blank project and minimal example project

  1. create you own minimal example by following the steps or use mine
  2. create a project with expo init (select blank)
  3. add locale json file to root directory with NSPhotoLibraryUsageDescription and NSCameraUsageDescription in any language (you can use ios-permission-descriptions-ar.json file from my minimal example)
  4. run expo prebuild
  5. edit app.json to have:
"ios": {
      "infoPlist": {
        "CFBundleAllowMixedLocalizations": true,
        "NSPhotoLibraryUsageDescription": "This app needs access to your photos or camera in order to etc etc",
        "NSCameraUsageDescription": "This app needs access to your camera in order for you to etc etc"
      },
      "bundleIdentifier": "xxxxxxxxx"
    },
    "locales": {
      "ar": "./ios-permission-descriptions-ar.json"
    },
  1. run expo prebuild --clean
  2. run eas build:configure
  3. run eas build --profile development --platform ios

observe crash in fastlane step

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
amrhassabcommented, Oct 7, 2021

Ok great, thank you. Closing this issue because it is resolved.

0reactions
wkozyra95commented, Oct 6, 2021

yes, if directories are already committed or staged adding them to gitignore is not enough, you need to explicitly remove them from git state (either by deleting them or using git rm), this just how the git works. But now if you create those directories back it should still work and android/ios dirs won’t be committed into repository.

Read more comments on GitHub >

github_iconTop Results From Across the Web

EAS iOS build fails in fastlane where as expo build is working.
I'm facing issues with the native expo build of my app and it's crashing on testflight while working perfectly fine in development.
Read more >
iOS build process - Expo Documentation
Let's take a closer look at the steps for building iOS projects with EAS Build. We'll first run some steps on your local...
Read more >
Expo SDK 46 iOS build failed in fastlane step - Stack Overflow
I am trying to build iOS app from expo managed project. The build fails At fastlane step. In Expo SDK 44, 45 everything...
Read more >
Build and test your Android App Bundle
Deploy using app bundles with Android Studio · Select Run > Edit Configurations from the menu bar. · Select a run/debug configuration from...
Read more >
pdf - Department of Transportation
took over building the Panama Canal, completed the Interstate Highway System, and set the world standard in freight transport and aviation.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found