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

IOS Build works on iphone but fails to open on ipad #1806

Closed
alexander01202 opened this issue Apr 21, 2023 · 16 comments
Closed

IOS Build works on iphone but fails to open on ipad #1806

alexander01202 opened this issue Apr 21, 2023 · 16 comments

Comments

@alexander01202
Copy link

Build/Submit details page URL

https://expo.dev/accounts/alex261816/projects/blipmoore/builds/f34f464d-c512-4d49-93d6-dfc183c8f252

Summary

I am able to run my build on my iphone (ios 16) but my ipad (ios 12) doesn't even open the app or show the icon. When I click the on the icon on my ipad it doesn't even open at all. Nothing happens.

Before it was telling me "unable to install 'app name'" even though it had fully installed, but now nothing ever shows. And the size of the app is just 25kb. Something is def not right. But I don't know what to look for or fix.

My app.config.js:

// import 'dotenv/config';

export default () => ({
  expo: {
    name: "app",
    slug: "app",
    version: "1.1.1",
    scheme:"app",
    orientation: "portrait",
    icon: "./assets/ic_launcher/1024.png",
    splash: {
      image: "https://f004.backblazeb2.com/file/app/app+images/splash.png",
      resizeMode: "contain",
      backgroundColor: "#ffffff"
    },
    androidStatusBar:{
      translucent:true
    },
    updates: {
      "fallbackToCacheTimeout": 0
    },
    assetBundlePatterns: [
      "assets/*"
    ],
    ios: {
      supportsTablet: true,
      bundleIdentifier: "com.app.app",
      googleServicesFile: "./GoogleService-Info.plist",
      buildNumber: "1.0.0"
    },
    android: {
      versionCode:12,
      useNextNotificationsApi: true,
      adaptiveIcon: {
        foregroundImage: "./assets/ic_launcher/1024.png",
        backgroundColor: "#000"
      },
      googleServicesFile: "./google-services.json",
      package: "com.app.app"
    },
    plugins: [
      "@react-native-firebase/app",
      "@notifee/react-native",
      "sentry-expo",
      [
        "expo-image-picker",
        {
          photosPermission: "The app accesses your photos to serve you better."
        }
      ],
      [
        "onesignal-expo-plugin",
        {
          mode: "development",
          iPhoneDeploymentTarget: '13.0',
        }
      ],
      [
        "expo-build-properties",
        {
          "android": {
            "compileSdkVersion": 31,
            "targetSdkVersion": 31,
            "buildToolsVersion": "31.0.0",
            "enableProguardInReleaseBuilds":false
          },
          "ios": {
            "deploymentTarget": "13.0",
            "useFrameworks": "static"
          }
        }
      ]
    ]
  }
})

I checked online and I was told to add supportsTablet:true, but on checking, it was already added. I don't know what else is wrong

Managed or bare?

bare

Environment

expo-env-info 1.0.5 environment info:
System:
OS: Windows 10 10.0.19045
Binaries:
Node: 16.18.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: AI-221.6008.13.2211.9619390
npmPackages:
expo: ^45.0.0 => 45.0.8
react: 17.0.2 => 17.0.2
react-dom: 17.0.2 => 17.0.2
react-native: 0.68.2 => 0.68.2
react-native-web: 0.17.7 => 0.17.7
Expo Workflow: bare

Error output

No response

Reproducible demo or steps to reproduce from a blank project

Create new react native app
Run expo prebuild
Then eas build -p ios --profile development
copy my app.config.js and paste
Try launching it on an ipad with ios 12

@alexander01202 alexander01202 added the needs review Issue is ready to be reviewed by a maintainer label Apr 21, 2023
@alexander01202
Copy link
Author

Hello?? ANyone?

@wkozyra95
Copy link
Contributor

wkozyra95 commented Apr 24, 2023

I checked online and I was told to add supportsTablet:true, but on checking, it was already added. I don't know what else is wrong

This and most values in app.json matter only for managed projects, when you are on bare you need to configure everything in native projects.

I checked the provisioning profile on the project you linked and it looks like there is only one device listed there. When you are building for internal distribution for iOS all devices that it will run on need to be listed in the provisioning profile.

https://docs.expo.dev/build/internal-distribution/

@wkozyra95 wkozyra95 removed the needs review Issue is ready to be reviewed by a maintainer label Apr 24, 2023
@alexander01202
Copy link
Author

alexander01202 commented Apr 24, 2023

@wkozyra95 Thanks for the response but it's still not working.

I have tried to create a new device using eas create:device but when I scan the qr code with my ipad, it just show

Set up your device for internal distribution

And below it, the loading icon just keeps spinning. It never completely loads. For more than 2 hours now.

Is there any other way to add my device to the provisioning profile?

Also, I am not too sure if it's bare or not because I do not have any ios folder only android. It tells me bare but no ios folder.

@alexander01202
Copy link
Author

I do not have a mac and therefore can't get the UDID for the Ipad.

@wkozyra95
Copy link
Contributor

I have tried to create a new device using eas create:device but when I scan the qr code with my ipad, it just show

  • It does not work retroactively, you need to build new ipa signed with new provisioning profile.
  • expo device:create registers new device, but as far as I remember it does not add it to provisioning profile. When you run a next build, you have to logging to the apple account and when prompted select which devices should be used for build.

Also, I am not too sure if it's bare or not because I do not have any ios folder only android. It tells me bare but no ios folder.

project seems to managed (there is a prebuild phase on eas build), not sure why are you getting bare there.

@alexander01202
Copy link
Author

alexander01202 commented Apr 24, 2023

  • expo device:create registers new device, but as far as I remember it does not add it to provisioning profile. When you run a next build, you have to logging to the apple account and when prompted select which devices should be used for build.

But to add that device, I need to manually add it in my developer account using UDID and I do not have a mac to connect my Ipad, in order to get that information.

When I'm building it, eas doesn't give me the option to add a new device, only to select a device.

Should I delete the current device provisioning profile, in order for eas to ask me to add a new device?
Would that work?

@wkozyra95
Copy link
Contributor

But to add that device, I need to manually add it in my developer account using UDID and I do not have a mac to connect my Ipad, in order to get that information.

Why you need to manually add it? Run eas device:create, select option to do that via website, scan qr code with device that you want to use. After that when you run build it should ask you to select a devices you want to use, so make sure all the devices you want are selected. If device is registered in expo but not in apple cli should add it to apple dev portal too.

If above does not work for some reason provide full output of the commands you are running, otherwise it's just guessing.

@alexander01202
Copy link
Author

That's what I said before.

@wkozyra95 Thanks for the response but it's still not working.

I have tried to create a new device using eas create:device but when I scan the qr code with my ipad, it just show

Set up your device for internal distribution

And below it, the loading icon just keeps spinning. It never completely loads. For more than 2 hours now.

This is what happens when I run eas device:create and scan using my iPad.
It just keeps loading. Nothing else shows. I do not know if the issue is from my iPad or eas.

I get asked these questions when running eas device:create

? How would you like to register your devices? » - Use arrow-keys. Return to submit.
>   Website - generates a registration URL to be opened on your devices
    Developer Portal - import devices already registered on Apple Developer Portal
    Input - allows you to type in UDIDs (advanced option)
    Exit

I have to choose website because I didn't manually add it and neither do I have access to the UDID.

@alexander01202
Copy link
Author

The buttons (hamburger, expo icon, "what's this?" button) on the webpage that show doesn't perform any action. I do not know if the javascript isn't loading or something is stopping it from loading, maybe that's what's not allowing the webpage to fully load

@wkozyra95
Copy link
Contributor

It just keeps loading. Nothing else shows. I do not know if the issue is from my iPad or eas.

What do you mean keeps loading? Is it expo website, with spinner or does the website itself never loads?

Are you opening that link in safari?

@alexander01202
Copy link
Author

Yes the expo website with spinner.

I wish I could attach a screen shot but I can't transfer images from ios to windows laptop.

Sometimes , the expo website(https://expo.dev/register-device/....) doesn't even load at all. It tells me could not connect to server.

I do not know whether it's that my iPad software is outdated or something and expo is rejecting my device lol. I don't know what to even think

@wkozyra95
Copy link
Contributor

I was able to reproduce it only on older versions of iOS. I'm not super familiar with logic that is responsible for registering devices, but if it's failing only for older ones, I suspect it's related to some apple changes/deprecation.

Also, iOS 12 is not supported in the current Expo SDKs anymore (technically SDK 46 requires at least iOS 12.4, but that SDK will also be dropped soon). I might look into that issue latter on, but I can't promise anything, sorry.

@alexander01202
Copy link
Author

I use SDK 45 and iOS 12.6

So what this means is that I'm doomed right? There's no immediate fix for this currently or any alternative method to explore?

@wkozyra95
Copy link
Contributor

There are some results for googling "How to Find UDID of iPhone without a mac", I personally wouldn't trust those, because it requires downloading configuration profiles from those sites, but if you don't have a choice it might be fine.

Also, you will need to update your SDK, because SDK 45 will not be accepted in the app store anymore https://developer.apple.com/news/?id=jd9wcyov

@alexander01202
Copy link
Author

Hello.
I've been able to install it on my ipad but whenever I open the app it automatically closes. I believe it crashes. Could it be from my code or the build?

And is there anyway to debug this?

@VNDRN
Copy link

VNDRN commented Dec 1, 2023

Any updates on this? I also notice this on an iPhone XR, iOS 13.1.3.

https://expo.dev/register-device/...

loader spins infinitely and makes it unable to install the correct files. Adding the UDID with the other options don't seem to work as we can't install the files on the phone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants