Expo app is working fine on iOS real device so I built IPA and submitted to App store. They replied with “We were unable to review your app as it crashed on launch”. I went through the logs that they provided but couldn’t really extract much info about the reason of the crash. Attached is the logfile.
{"app_name":"ComRaziSnsfitness","timestamp":"2020-08-18 09:13:18.00 -0700","app_version":"1.0.0","slice_uuid":"b77b98be-bc0d-36dd-a1ca-ac6b97fd3e4c","adam_id":1527827259,"build_version":"2.0.0","bundleID":"com.razi.snsfitness","share_with_app_devs":0,"is_first_party":0,"bug_type":"109","os_version":"iPhone OS 13.5.1 (17F80)","incident_id":"9EF13627-A0E0-449C-A9AA-53682CA68DFB","name":"ComRaziSnsfitness"}Incident Identifier: 9EF13627-A0E0-449C-A9AA-53682CA68DFBCrashReporter Key: be5bf217cd77f22a30cac60daf16aa15a9f6d2bcHardware Model: xxxProcess: ComRaziSnsfitness [6503]Path: /private/var/containers/Bundle/Application/BDF3BD1C-C04F-40B9-81A1-008E9847755F/ExpoKitApp.app/ComRaziSnsfitnessIdentifier: com.razi.snsfitnessVersion: 2.0.0 (1.0.0)AppStoreTools: 11E707Code Type: ARM-64 (Native)Role: ForegroundParent Process: launchd [1]Coalition: com.razi.snsfitness [2154]Date/Time: 2020-08-18 09:13:18.1344 -0700Launch Time: 2020-08-18 09:13:17.5412 -0700OS Version: iPhone OS 13.5.1 (17F80)Release Type: UserBaseband Version: n/aReport Version: 104Exception Type: EXC_CRASH (SIGABRT)Exception Codes: 0x0000000000000000, 0x0000000000000000Exception Note: EXC_CORPSE_NOTIFYTriggered by Thread: 0Last Exception Backtrace:(0x1bda6f794 0x1bd791bcc 0x100fd2084 0x100ff129c 0x1bd735524 0x1bd6e8180 0x1bd735524 0x1bd6e75b4 0x1bd9ed7fc 0x1bd9e86d0 0x1bd9e7ce8 0x1c7b3238c 0x1c1b16444 0x100e09358 0x1bd86f8f0)Thread 0 name: Dispatch queue: com.apple.main-threadThread 0 Crashed:0 libsystem_kernel.dylib 0x00000001bd864d88 0x1bd83f000 + 1550161 libsystem_pthread.dylib 0x00000001bd77d1e8 0x1bd77b000 + 86802 libsystem_c.dylib 0x00000001bd6d09b0 0x1bd65e000 + 4694243 libsystem_c.dylib 0x00000001bd6d0940 0x1bd65e000 + 4693124 libc++abi.dylib 0x00000001bd838cc0 0x1bd826000 + 769925 libc++abi.dylib 0x00000001bd82ae10 0x1bd826000 + 199846 libobjc.A.dylib 0x00000001bd791e80 0x1bd78c000 + 241927 libc++abi.dylib 0x00000001bd83814c 0x1bd826000 + 740608 libc++abi.dylib 0x00000001bd8380e4 0x1bd826000 + 739569 libdispatch.dylib 0x00000001bd735538 0x1bd6da000 + 37407210 libdispatch.dylib 0x00000001bd6e8180 0x1bd6da000 + 5772811 libdispatch.dylib 0x00000001bd735524 0x1bd6da000 + 37405212 libdispatch.dylib 0x00000001bd6e75b4 0x1bd6da000 + 5470813 CoreFoundation 0x00000001bd9ed7fc 0x1bd945000 + 69017214 CoreFoundation 0x00000001bd9e86d0 0x1bd945000 + 66939215 CoreFoundation 0x00000001bd9e7ce8 0x1bd945000 + 66685616 GraphicsServices 0x00000001c7b3238c 0x1c7b2f000 + 1319617 UIKitCore 0x00000001c1b16444 0x1c10e8000 + 1067526818 ComRaziSnsfitness 0x0000000100e09358 0x100e04000 + 2133619 libdyld.dylib 0x00000001bd86f8f0 0x1bd86e000 + 6384Thread 1:0 libsystem_pthread.dylib 0x00000001bd789738 0x1bd77b000 + 59192Thread 2:0 libsystem_pthread.dylib 0x00000001bd789738 0x1bd77b000 + 59192Thread 3 name: Dispatch queue: com.facebook.react.ExceptionsManagerQueueThread 3:0 libsystem_kernel.dylib 0x00000001bd86577c 0x1bd83f000 + 1575641 libdispatch.dylib 0x00000001bd6dc0a8 0x1bd6da000 + 83602 libdispatch.dylib 0x00000001bd6dbe84 0x1bd6da000 + 78123 libdispatch.dylib 0x00000001bd6e834c 0x1bd6da000 + 581884 libdispatch.dylib 0x00000001bd6e7f6c 0x1bd6da000 + 571965 ComRaziSnsfitness 0x0000000101005b98 0x100e04000 + 21042166 ComRaziSnsfitness 0x0000000100ff1070 0x100e04000 + 20194407 ComRaziSnsfitness 0x00000001011cd6d8 0x100e04000 + 39707768 ComRaziSnsfitness 0x000000010125acb8 0x100e04000 + 45498169 ComRaziSnsfitness 0x000000010125b6bc 0x100e04000 + 455238010 CoreFoundation 0x00000001bda75970 0x1bd945000 + 124760011 CoreFoundation 0x00000001bd946bb0 0x1bd945000 + 708812 CoreFoundation 0x00000001bd947788 0x1bd945000 + 1012013 ComRaziSnsfitness 0x0000000101203fe8 0x100e04000 + 419428014 ComRaziSnsfitness 0x00000001012061d4 0x100e04000 + 420296415 ComRaziSnsfitness 0x0000000101205f38 0x100e04000 + 420229616 libdispatch.dylib 0x00000001bd7349a8 0x1bd6da000 + 37111217 libdispatch.dylib 0x00000001bd735524 0x1bd6da000 + 37405218 libdispatch.dylib 0x00000001bd6e18a4 0x1bd6da000 + 3088419 libdispatch.dylib 0x00000001bd6e2294 0x1bd6da000 + 3342820 libdispatch.dylib 0x00000001bd6eb78c 0x1bd6da000 + 7156421 libsystem_pthread.dylib 0x00000001bd786b74 0x1bd77b000 + 4798822 libsystem_pthread.dylib 0x00000001bd789740 0x1bd77b000 + 59200............
I tried running this command inside a folder containing ExpoKitApp.app and crash_report.crash :
atos -arch arm64 -o ExpoKitApp.app/ComRaziSnsfitness 0x1bda6f794
but it just printed out 0x1bda6f794 back to me.
My app.js is trying to make use of expo push notifications and I believe the error has something to do with that. Attaching my app.js as well.
import AppContainer from “./src/navigations/AppNavigation”;import * as Notifications from “expo-notifications”;import Constants from “expo-constants”;import * as Permissions from “expo-permissions”;import React from “react”;import * as firebase from “firebase”;// Initialize Firebasevar firebaseConfig = {apiKey: “my_key”,authDomain: “domain”,databaseURL: “DB”,projectId: “ID”,storageBucket: “bucket”,messagingSenderId: “id”,appId: “id”,measurementId: “G-JYNKX65MGK”,};if (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}Notifications.setNotificationHandler({handleNotification: async () => ({shouldShowAlert: true,shouldPlaySound: true,shouldSetBadge: true,}),});const rootRef = firebase.database().ref(“expoTokens/”+ Constants.deviceId);export default class App extends React.Component {componentDidMount() {this.registerForPushNotificationsAsync().then((token) => { if (typeof token === "undefined" || token == null) return; try { rootRef.set(token); } catch (error) { alert(error); }});Notifications.addNotificationReceivedListener(this._handleNotification);Notifications.addNotificationResponseReceivedListener( this._handleNotificationResponse);}_handleNotification = (notification) => {this.setState({ notification: notification });this.props.navigation.navigate("Notices");};_handleNotificationResponse = (response) => {this.props.navigation.navigate("Notices");};async registerForPushNotificationsAsync() {let token;if (Constants.isDevice) { const { status: existingStatus } = await Permissions.getAsync( Permissions.NOTIFICATIONS ); let finalStatus = existingStatus; console.log(finalStatus); if (existingStatus !== "granted") { const { status } = await Permissions.askAsync( Permissions.NOTIFICATIONS ); finalStatus = status; } if (finalStatus !== "granted") { alert("You won't receive any notifications about the SnS Fitness"); return; } token = (await Notifications.getExpoPushTokenAsync()).data;} else { alert("Must use physical device for Push Notifications");}if (Platform.OS === "android") { Notifications.setNotificationChannelAsync("default", { name: "default", importance: Notifications.AndroidImportance.MAX, vibrationPattern: [0, 250, 250, 250], lightColor: "#FF231F7C", });}return token;}render() {return <AppContainer />;}}