iOS crash - build issues using EAS

  • managed workflow
  • eas-cli/0.55.1
  • SDK 45

The Android release build is working fine without issue however the iOS is crashing when trying to run on a device.
Looking through the build logs, I’ve found a few issues.

[stderr] 2022-08-23 03:21:24.269 xcodebuild[4233:12395] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
[stderr] 2022-08-23 03:21:24.269 xcodebuild[4233:12395] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
[stderr] 2022-08-23 03:21:24.325 xcodebuild[4233:12395] XType: failed to connect - Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process.}
[stderr] 2022-08-23 03:21:24.325 xcodebuild[4233:12395] Font server protocol version mismatch (expected:5 got:0), falling back to local fonts
[stderr] 2022-08-23 03:21:24.325 xcodebuild[4233:12395] XType: unable to make a connection to the font daemon!
[stderr] 2022-08-23 03:21:24.325 xcodebuild[4233:12395] XType: XTFontStaticRegistry is enabled as fontd is not available.
  • I’ve renewed the provisioning profile
  • Cleared the build cache

eas build --platform ios --profile production --clear-cache

I’m a little stuck on how to progress. Any information would be great

These errors are often false positives put out by the Xcode compiler just before or after the actual error. If you provide us a link to your build, we may be able to suggest where to look.

1 Like

Hi @keith-kurak

The first link in the post is a build link :slight_smile:

Maybe the metadata on the build pages could be improved to make this more obvious when build links are posted to the forums.

1 Like

Well, seeing that I missed a) the link to your build, and b) the fact that it wasn’t even a build failure, let’s start over here :sweat_smile:

I assume you’re not getting the error when running locally in development mode. One thing you can try to make your development environment simulate production a little more closely is to pass the --no-dev flag to expo start. This might catch if there’s an issue with the production build of the JavaScript that’s not present in the development build.

Adding things like Sentry error logging may catch an error like this, but another way without adding any code would be try plugging your phone in to view native logs in the console.

1 Like

Hi @keith-kurak, thanks for looking into this.

  • Android is building and working fine… No crash.
  • Running in Expo Go with the --no-dev flag on iOS is working fine
  • I’ve removed Sentry and expo-updates - no luck

I will try and find an iOS physical device to test on, most of my word is done via Android or the simulator.

Crash logs from TestFlight show :-

EXUpdatesAppController throwException:

I recognize this. I had problems with the combination of Xcode prior to 13.3 (I believe) and iOS 12.5, might that be related? No crashes once I used Xcode 13.3 for the build (not sure which version expo 45 uses).

1 Like

You can adjust what version of Xcode is used by specifying the "image" in the eas.json build profile.

e.g.:

eas.json:

{
  "build": {
    "common": {
      "ios": {
        "image": "macos-monterey-12.4-xcode-13.4"
      }
    },
    "development": {
      "extends": "common",
      "developmentClient": true,
      "distribution": "internal"
    }
[...]
  }
}