XCode 15 - iOS 17 - Expo 49: Can't Deploy.

  1. SDK Version: 49
  2. Platforms(Android/iOS/web/all): iOS

So I’ve been working on a React Native App recently using Expo. Before the official release of XCode 15 and iOS 17, I had a janky workaround where I would archive the app in XCode 15 and then deploy it in XCode 14. Or maybe it was the other way around.

But now I can’t find any way to deploy my IPA to my iPhone for local testing. The app runs just fine when running locally. The steps that I’m currently going through are as follows:

  1. npx expo prebuild --platform ios --clean
  2. npx pod-install
  3. Open the [App].xcworkspace (XCode 15)
  4. Choose my signing team (Why do I have to do this every time?)
  5. Menu > Product > Archive (Succeeds!)
  6. Open the Organizer (Windows > Organizer)
  7. Run Validate (Just because I’d expect this to catch any errors) (Succeeds!)
  8. Distribute App > Debugging (I’ve tried Release Testing too)
  9. Open Devices
  10. My iPhone > Installed Apps > + > (The new build’s IPA)

And the output is always some variant pretty close to what’s copied below. I’m sort of at my wits end here. Anyone got any insight or advice? Thanks!

Error installing  '/Users/[path]/app.ipa', ERROR: Error Domain=com.apple.dt.CoreDeviceError Code=3002 "Failed to install the app on the device." UserInfo={NSURL=file:///Users/[path]/[App].ipa, NSLocalizedDescription=Failed to install the app on the device., NSUnderlyingError=0x60000e28aaf0 {Error Domain=com.apple.dt.CoreDeviceError Code=3000 "The item at [App].ipa is not a valid bundle." UserInfo={NSURL=file:///[Path]/[App].ipa, NSLocalizedFailureReason=Failed to read the bundle., NSLocalizedDescription=The item at [App].ipa is not a valid bundle.}}}

Hi @mrmattbarr

What happens if you delete your ios directory and run eas build -p ios --profile preview --local?

Or by adding "image": "latest" to your EAS build profiles (something like this):

  "build": {
    "base": {
      "ios": {
        "image": "latest"
    "development": {
      "extends": "base",
      "developmentClient": true,
      "distribution": "internal"
    "preview": {
      "extends": "base",
      "distribution": "internal"
    "production": {
      "extends": "base"

and then build using eas build -p ios --profile preview?

You might also want to run npx expo install --fix to make sure you’re using the version of React Native with the Xcode 15 fixes, etc.

Thanks Wodin!

Using EAS build did get my app working. I had previously switched from using EAS to building it myself locally (using the commands above) largely because I couldn’t afford the EAS monthly subscription. The EAS build worked, but when I downloaded the IPA and tried to deploy it locally, I ran into the same issue. So the broken step is in deploying (Macbook M2, iOS 17, XCode 15). No idea why that step is broken, but that is the broken step.

I really appreciate the help.

OK, well at least you’ve narrowed down the problematic part. I’m afraid I don’t have any experience with that, though.

No worries! You gave me plenty.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.