Since iOS 16 makes it very difficult to test unless you have a Mac with XCode (which is required to enable developer mode)
How do I set my project up so I can still use EAS Update for those who have their devices set to development mode and expo publish so those who don’t can still use Expo Go?
Hi @trajano, you can create a development build and after installing it on your device, the setting to enable developer mode will get available on devices that use iOS 16+.
My guess is you probably enabled development mode on the device before, removed it and did your process so it gave you the option again, but on a pristine iPhone it does not appear to work as expected.
I don’t have access to a device with iOS 16, but this is the information I’ve been given:
Can confirm that “Developer mode” does not appear on its own on iOS 16.1.
I reproduced the steps by resetting the device, since after enabling the “Developer mode” once, the option always remains in the settings whether it is turned on or off.
After installing the new build, when one clicks it to open it, the system throws a warning/modal that says the developer needs to enable “Developer mode” on their device.
Can confirm that Xcode is not required in this process to enable dev mode on an iOS device that runs version 16.
It sounds like they had enabled Developer mode at one point on the device. That may be the reason why it worked. The device I am using hasn’t even been plugged into a mac before either.
Maybe, maybe not or the device may have called home to Apple saying it was enabled at one point. Hard to say but so far two devices I know that have never touched a Mac have this issue so far.
Unfortunately this is expensive to verify, you have to go to the Apple store and buy a new device to verify the claim.
I’m afraid I don’t have any solution to the error message you shared (thanks for sharing!). Last time I checked with iOS version 16.1.1, it was working on my end.
Yes, I did enable the developer mode option when iOS 16 came out but did not connect or plug to a mac for that. Out of curiosity, did you try plugging into a Mac to get the option on the device?
Meanwhile, I’ll bring this up with the team internally to see what could be the underlying cause for this and get back here.
I’m thinking it’s just a policy on the iOS devices and there’s nothing anyone outside of Apple can do to change it.
I’m intentionally not letting it touch the Mac as from the fact it’s my wife’s phone, the only people in the org that has Macs are mobile app devs the rest are on Windows.
I wasn’t implying that if anything can be done to modify this behavior from our end. I meant that if someone’s aware of this or they might have seen something similar.
Your point is good, thanks! If it’s an Apple policy, I’m sure they must have it somewhere as a guideline. Will have to find it so that it can be pointed out as a resource.
Looking back at this error message (sorry I missed this earlier), can you confirm that this is not an issue related to how you are creating development builds for internal distribution and make sure that the UDID of the device is correct that you are installing the development build on?
I have seen some similar issues (not saying that the same reason applies in your case but confirming that this isn’t the case will be a lot helpful) here:
For an iOS device to have an identifier associated, you’ll need to run eas build:create command to register the device you want to run the build. Once the device is registered, you’ll have to create a new build for it to be installable.
To associate a device with an Apple developer account, you don’t need a Mac.
I got the device and do the Provisioning profile again. This time it changed something as now because it didn’t do it for me before.
Now when I do expo build manually I can see the new device. This wasn’t there before and the other device that was added the same way wasn’t there either.
Anyway doing a build now with the updated provisioning profile. The development mode option isn’t there yet. I’ll check that once the build is done.