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

(:fire:) ARCHIVE FAILED The following build commands failed: PhaseScriptExecution [CP-User]\ [RNFB]\ Crashlytics\ Configuration #5789

Closed
1 of 9 tasks
rimzici opened this issue Oct 14, 2021 · 5 comments
Labels
help: needs-triage Issue needs additional investigation/triaging. type: bug New bug report

Comments

@rimzici
Copy link

rimzici commented Oct 14, 2021

Issue

iOS Archive fails with error

    /bin/sh -c /Users/orahi/Library/Developer/Xcode/DerivedData/TelldusLiveApp-cnfmuuwkmdhwyoegjsbhyuevjrbw/Build/Intermediates.noindex/ArchiveIntermediates/TelldusLiveApp/IntermediateBuildFilesPath/TelldusLiveApp.build/Release-iphoneos/TelldusLiveApp.build/Script-AFBB578133011C889A6047E7.sh
info: Exec FirebaseCrashlytics Run from Pods
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/FirebaseCrashlytics/run: line 57: /Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/FirebaseCrashlytics/upload-symbols: Bad CPU type in executable
Command PhaseScriptExecution failed with a nonzero exit code

/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'GoogleSignIn' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'boost-for-react-native' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-accessibility' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'Toast' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'AppAuth' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-maps' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-orientation-locker' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-background-timer' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'RNBackgroundFetch' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-sqlite-storage' from project 'Pods')
/Users/orahi/builds/kimhvpU6/0/telldus/live-app-v3/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 15.0.99. (in target 'react-native-splash-screen' from project 'Pods')

TelldusLiveApp-TelldusLiveApp.log

This issue happens only in the CI, in my local machine it works fine.
We use fastlane to build and release the app in the CI.
It is the fastlane gym phase that fails.

CI Machine:
System:
OS: macOS 11.4
CPU: (8) arm64 Apple M1
Memory: 989.61 MB / 8.00 GB
Shell: 5.8 - /bin/zsh


Project Files

Javascript

Click To Expand

package.json:

{
  "name": "TelldusLiveApp",
  "version": "3.18.14",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "clean": "react-native-clean-project",
    "lint": "eslint js",
    "lint_autofix": "eslint js --fix",
    "flow": "node_modules/.bin/flow",
    "release": "babel-node js/Utils/release.js",
    "sourcemap": "babel-node js/Utils/sourcemap.js",
    "test": "jest",
    "test-overwrite-snapshot": "jest -u",
    "postinstall": "npx jetify",
    "manage:translations-widget-android": "node node_modules/live-shared-data/lib/manageStringsWidgetAndroid.js"
  },
  "browser": {
    "dgram": "react-native-udp"
  },
  "dependencies": {
    "@formatjs/intl-getcanonicallocales": "^1.6.0",
    "@formatjs/intl-locale": "^2.4.26",
    "@formatjs/intl-pluralrules": "^4.0.20",
    "@formatjs/intl-relativetimeformat": "^9.1.0",
    "@invertase/react-native-apple-authentication": "^2.1.2",
    "@react-native-async-storage/async-storage": "^1.15.4",
    "@react-native-community/datetimepicker": "^3.5.0",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-community/netinfo": "^6.0.0",
    "@react-native-community/push-notification-ios": "^1.8.0",
    "@react-native-firebase/analytics": "^11.5.0",
    "@react-native-firebase/app": "^11.5.0",
    "@react-native-firebase/crashlytics": "^11.5.0",
    "@react-native-firebase/messaging": "^11.5.0",
    "@react-native-firebase/remote-config": "^11.5.0",
    "@react-native-google-signin/google-signin": "^6.0.0",
    "@react-navigation/bottom-tabs": "^5.11.11",
    "@react-navigation/compat": "^5.3.15",
    "@react-navigation/material-top-tabs": "^5.3.15",
    "@react-navigation/native": "^5.9.4",
    "@react-navigation/stack": "^5.14.5",
    "axios": "^0.21.1",
    "blueimp-md5": "~2.17.0",
    "color": "~3.1.3",
    "colorsys": "~1.0.22",
    "dayjs": "^1.10.4",
    "external-editor": "~3.1.0",
    "global": "~4.4.0",
    "gravatar-api": "^1.5.0",
    "intl": "~1.2.5",
    "jsc-android": "npm:@kudo-ci/jsc-android",
    "jwt-decode": "^3.1.2",
    "live-shared-data": "git+https://code.telldus.com/telldus/live-shared-data.git#88611c3cd591e741c9e5ceaf57bc1c248ef2e9c1",
    "lodash": "~4.17.21",
    "node-forge": "~0.10.0",
    "react": "17.0.1",
    "react-dom": "^17.0.2",
    "react-fast-compare": "~3.2.0",
    "react-intl": "^5.17.7",
    "react-native": "0.64.1",
    "react-native-accessibility": "git+https://github.com/MaxToyberman/react-native-accessibility.git#319008ffbfd9115cf520a718f3dfc88381161313",
    "react-native-background-fetch": "^4.0.2",
    "react-native-background-geolocation": "^4.0.3",
    "react-native-background-timer": "^2.4.1",
    "react-native-cached-image": "https://github.com/telldus/react-native-cached-image.git",
    "react-native-calendars": "~1.302.0",
    "react-native-circular-slider": "git+https://github.com/telldus/react-native-circular-slider.git",
    "react-native-color-wheel": "https://github.com/telldus/react-native-color-wheel.git",
    "react-native-device-info": "^8.1.3",
    "react-native-drag-and-drop-scroll-view": "git+https://github.com/telldus/react-native-drag-and-drop-scroll-view.git",
    "react-native-extra-dimensions-android": "~1.2.5",
    "react-native-gesture-handler": "^1.10.3",
    "react-native-google-places-autocomplete": "^2.2.0",
    "react-native-iap": "^6.0.6",
    "react-native-iphone-x-helper": "~1.3.1",
    "react-native-localize": "^2.0.3",
    "react-native-maps": "0.28.0",
    "react-native-markdown-renderer": "~3.2.8",
    "react-native-material-dropdown": "https://github.com/rimzici/react-native-material-dropdown.git",
    "react-native-material-ripple": "~0.9.1",
    "react-native-material-textfield": "https://github.com/mahipalsingh7/react-native-material-textfield.git",
    "react-native-modal": "^11.10.0",
    "react-native-orientation-locker": "^1.3.1",
    "react-native-pager-view": "^5.1.8",
    "react-native-reanimated": "^2.1.0",
    "react-native-rsa-native": "https://github.com/rimzici/react-native-rsa-native.git",
    "react-native-safe-area-context": "^3.2.0",
    "react-native-screens": "^3.2.0",
    "react-native-section-list-get-item-layout": "~2.2.3",
    "react-native-sensitive-info": "https://github.com/telldus/react-native-sensitive-info.git",
    "react-native-simple-radio-button": "^2.7.4",
    "react-native-simple-toast": "1.1.3",
    "react-native-slider": "https://github.com/telldus/react-native-slider#v1.1",
    "react-native-snackbar": "^2.4.0",
    "react-native-splash-screen": "^3.2.0",
    "react-native-sqlite-storage": "^5.0.0",
    "react-native-svg": "^12.1.1",
    "react-native-swipe-list-view": "^3.2.7",
    "react-native-swiper": "https://github.com/telldus/react-native-swiper.git",
    "react-native-switch": "^2.0.0",
    "react-native-tab-view": "^3.0.1",
    "react-native-tab-view-viewpager-adapter": "^1.1.0",
    "react-native-text-ticker": "^1.12.0",
    "react-native-udp": "git+https://github.com/telldus/react-native-udp",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^8.1.0",
    "react-native-webview": "~10.3.3",
    "react-redux": "~7.2.4",
    "reconnecting-websocket": "^4.4.0",
    "redux": "~4.1.0",
    "redux-logger": "~3.0.6",
    "redux-persist": "^6.0.0",
    "redux-thunk": "^2.3.0",
    "reduxsauce": "^1.2.0",
    "reselect": "~4.0.0",
    "rn-fetch-blob": "git+https://github.com/joltup/rn-fetch-blob.git#9110ef295c42139407607f425ac2d46a5866e872",
    "seamless-immutable": "^7.1.4",
    "sp-react-native-in-app-updates": "^1.1.0",
    "svgs": "~4.1.1",
    "url": "~0.11.0",
    "victory-native": "^35.3.3"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "babel-cli": "^6.26.0",
    "babel-eslint": "^10.1.0",
    "babel-jest": "^26.6.3",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "babel-polyfill": "^6.26.0",
    "babel-preset-stage-3": "^6.24.1",
    "buffer": "^6.0.3",
    "child-process-promise": "^2.2.1",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.6",
    "eslint": "7.14.0",
    "eslint-plugin-flowtype": "^5.7.2",
    "eslint-plugin-react": "^7.23.2",
    "eslint-plugin-react-hooks": "^4.2.0",
    "fetch-mock": "^9.11.0",
    "flow-bin": "^0.137.0",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^26.6.3",
    "jetifier": "^2.0.0",
    "metro-react-native-babel-preset": "^0.64.0",
    "prompt": "^1.1.0",
    "react-intl-translations-manager": "^5.0.3",
    "react-native-clean-project": "^3.6.3",
    "react-native-svg-transformer": "^0.14.3",
    "react-test-renderer": "17.0.1",
    "redux-mock-store": "^1.5.4"
  },
  "resolutions": {
    "react-native-svg": "^12.1.1"
  },
  "engines": {
    "node": ">=10.14.2",
    "npm": ">=6.4.1"
  },
  "jest": {
    "preset": "react-native",
    "globals": {
      "__DEV__": true,
      "window": {
        "navigator": {}
      }
    },
    "moduleNameMapper": {
      "\\.(svg)$": "<rootDir>/js/Utils/__mocks__/svgMock.js",
      ".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$": "identity-obj-proxy"
    },
    "setupFiles": [
      "<rootDir>/js/Utils/jest.js"
    ],
    "testEnvironment": "node",
    "transform": {
      "^.+\\.jsx$": "babel-jest",
      "^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
    },
    "transformIgnorePatterns": [
      "node_modules/(?!((jest-)?react-native|@react-native|rn-fetch-blob|victory-/*|react-navigation|@react-native-firebase/|@react-native-community/push-notification-ios|@invertase/react-native-apple-authentication|@react-navigation/.*|@react-native-async-storage/async-storage/(?!(lib))))"
    ]
  },
  "@comment": {
    "dependencies": {
      "react-native-material-dropdown": "Update dep link of react-native-material-textfield",
      "react-native-material-textfield": "Check if main repo has merged the pull request from the fork"
    }
  }
}

firebase.json for react-native-firebase v6:

{
    "react-native": {
        "messaging_android_notification_channel_id": "high-priority",
        "crashlytics_debug_enabled": true,
        "crashlytics_disable_auto_disabler": true,
        "crashlytics_auto_collection_enabled": true
    }
}

iOS

Click To Expand

ios/Podfile:

  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '10.0'
target 'TelldusLiveApp' do
  # Pods for TelldusLiveApp
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :hermes_enabled => false
  )

  pod 'GoogleSignIn', '~> 5.0.2'

  post_install do |installer|
    react_native_post_install(installer)
  end
end

AppDelegate.m:

/**
 * Copyright 2016-present Telldus Technologies AB.
 *
 * This file is part of the Telldus Live! app.
 *
 * Telldus Live! app is free : you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Telldus Live! app is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Telldus Live! app.  If not, see <http://www.gnu.org/licenses/>.
 */

#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <Firebase.h>

#import "React/RCTBundleURLProvider.h"
#import "React/RCTRootView.h"
#import <RNCPushNotificationIOS.h>
#import <RNGoogleSignin/RNGoogleSignin.h>

#import "Orientation.h"
#import "RNSplashScreen.h"

#import <React/RCTLinkingManager.h>

// IMPORTANT:  Paste import ABOVE the DEBUG macro
#import <TSBackgroundFetch/TSBackgroundFetch.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  
  if ([FIRApp defaultApp] == nil) {
    [FIRApp configure];
  }
  
  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                   moduleName:@"TelldusLiveApp"
                                            initialProperties:nil];
  
  if (@available(iOS 13.0, *)) {
      rootView.backgroundColor = [UIColor systemBackgroundColor];
  } else {
      rootView.backgroundColor = [UIColor whiteColor];
  }
  
  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];
  
  [RNSplashScreen showSplash:@"LaunchView" inRootView:rootView];
  
  
  // NOTE: Deprecated iOS Background Fetch API for devices running < iOS 13
  // part is not enabled.
  // [REQUIRED] Register BackgroundFetch
  [[TSBackgroundFetch sharedInstance] didFinishLaunching];
  
  // PUSH NOTIFICATION iOS
  // Define UNUserNotificationCenter
  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
  center.delegate = self;

  return YES;
}

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
  return [Orientation getOrientation];
}

// PUSH NOTIFICATION iOS
// Required for the register event.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
 [RNCPushNotificationIOS didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
// Required for the notification event. You must call the completion handler after handling the remote notification.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
  [RNCPushNotificationIOS didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}
// Required for the registrationError event.
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
 [RNCPushNotificationIOS didFailToRegisterForRemoteNotificationsWithError:error];
}
// Required for localNotification event
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
         withCompletionHandler:(void (^)(void))completionHandler
{
  [RNCPushNotificationIOS didReceiveNotificationResponse:response];
}

//Called when a notification is delivered to a foreground app.
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
{
  completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge);
}

// method to respond to the google auth URL scheme
- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options {
  NSURL *url2 = [NSURL URLWithString:@"widget-deeplink://purchase-premium"]; // NOTE: IMP: Do not change
  BOOL equalty = [[url absoluteString] isEqualToString:[url2 absoluteString]];
  if (equalty) {
    return [RCTLinkingManager application:application openURL:url options:options];
  }
  return [RNGoogleSignin application:application openURL:url options:options];
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

@end


Android

Click To Expand

Have you converted to AndroidX?

  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?

android/build.gradle:

// N/A

android/app/build.gradle:

// N/A

android/settings.gradle:

// N/A

MainApplication.java:

// N/A

AndroidManifest.xml:

<!-- N/A -->


Environment

Click To Expand

react-native info output:(CI Machine)

System:
    OS: macOS 11.4
    CPU: (8) arm64 Apple M1
    Memory: 989.61 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.11.0 - /opt/homebrew/bin/node
    Yarn: 1.22.15 - /opt/homebrew/bin/yarn
    npm: 8.0.0 - /opt/homebrew/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.11.2 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 15.0, DriverKit 20.4, macOS 11.3, tvOS 15.0, watchOS 8.0
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 13.0/13A233 - /usr/bin/xcodebuild
  Languages:
    Java: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1 
    react-native: 0.64.1 => 0.64.1 
    react-native-macos: Not Found
  npmGlobalPackages:
    react-native: Not Found
  • Platform that you're experiencing the issue on:
    • [x ] iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
    • "@react-native-firebase/app": "^11.5.0"
  • Firebase module(s) you're using that has the issue:
    • "@react-native-firebase/crashlytics": "^11.5.0"
  • Are you using TypeScript?
    • N


@rimzici rimzici added help: needs-triage Issue needs additional investigation/triaging. type: bug New bug report labels Oct 14, 2021
@rimzici
Copy link
Author

rimzici commented Oct 14, 2021

The issue has been solved!

Apple M1 was the culprit. Fixed by installing rosetta.

Thanks!

@rimzici rimzici closed this as completed Oct 14, 2021
@mikehardy
Copy link
Collaborator

Hi there! Building on M1 is difficult, but it definitely works now.

You don't need rosetta, I worked with the core team here facebook/react-native#31941 and finally resulting in facebook/react-native@ac4ddec#diff-adcf572f001c2b710d14f409c14763f1a50b08369b3034548f1602685d21f67fR219-R248 - you can ingest those in your Podfile and it will work - or upgrade to react-native 0.66 (via upgrade_helper) and include the Podfile call to that workaround they added for now

Rosetta has it's own problems and since it's kind of a dead-end solution I wouldn't recommend going there, if you do have rosetta-related problems there will be zero interest in fixing them vs fixing actual M1 native issues

@Yonom
Copy link
Contributor

Yonom commented Nov 15, 2021

@mikehardy I just bumped into this issue. Got a new M1 laptop and was trying to get as far as I can get without installing Rosetta 2 at all.

You don't need rosetta

You do!

arm64 builds for apps with Crashlytics fail if Rosetta 2 is not installed on the machine, because /FirebaseCrashlytics/upload-symbols is not an arm64 executable and part of the build process.

It would be great if this could be documented somewhere :)

@mikehardy
Copy link
Collaborator

Oh interesting. I've never tried actually uninstalling Rosetta2 completely, that seems counterproductive.

I guess I should be more specific: You do not need your shell / cocoapods / Xcode all that (your toolchain) running under Rosetta2. And in fact there was a fair bit of collaboration to specifically warn people off it - first on Discord amongst myself and some others trying to get M1s to work well, then concretely in:

facebook/react-native#32296
facebook/react-native#32498

There's also microsoft/vscode#116763 which was fun ;-)

I do expect Rosetta2 to be installed though, I can't imagine trying to run without it, yet.

I just checked firebase-ios-sdk and I did not see any issues logged upstream about this. you might try logging this there to see if they can make it a universal binary

I do believe Rosetta2 is not required for any part of the actual app build though, if you'll go with me and draw a fine line between "app build" and "tangential things like symbol upload"

@Yonom
Copy link
Contributor

Yonom commented Nov 15, 2021

Thanks! I've created this issue: firebase/firebase-ios-sdk#8965

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help: needs-triage Issue needs additional investigation/triaging. type: bug New bug report
Projects
None yet
Development

No branches or pull requests

3 participants