1
votes

I successfuly built on codename one my app and tried it on Android and it works well (good work guys !).

But then I tried on my iPhone 4's :

  • I created the certificate, a team, added my iPhone with UDID
  • Use the certificate wizard (very useful) and overwrite all
  • I can build a dev version, no problems.

But when I scanned the QR code on the codename's one dashboard and tried to install the app, my phone just tell me the installation failed.

I tried to drag'n'drop on iTunes : same error.

I double checked my App id (prefix.package), the UDID, tried to add ios.debug.archs=armv7 ...

I don't know if I forget something, but I already lost a couple of hours :/

Please, help me !

Thanks a lot !

2

2 Answers

1
votes

Pretty much all vendors (Apple/Google & MS) are annoying with the lack of error messages for cases like these.

If you have access to a Mac you can connect a cable and open xcode where you can use the device explorer console to look at messages which sometimes give a clue about what went wrong. If not here is a laundry list of a few things that might fail:

  • Make sure you built the debug version and not the appstore version. The appstore version won't install on the device and can only be distributed via Apple's store or testflight

  • Check the UDID is correct - if you got the UDID from an app then it's probably wrong as apps don't have access to the device UDID anymore. The way to get the UDID is either thru settings or itunes

  • Make sure the device isn't locked for installing 3rd party apps. I've had this when trying to install on my kids tablet which I configured to be child friendly. This is configured in the settings as parental controls

  • Check that you "own" the package name. E.g. if you previously installed an app with the same package name but a different certificate a new install will fail (this is true for Android too). So if you installed the kitchen sink from the store then built one of your own and installed it there will be a collision. Notice that this might be problematic if you use overly generic package names as someone else might have used them

  • You verified that you are sending a 32 bit build in the build hints using the build hint ios.debug.archs=armv7 (listing it here for completeness). It's only necessary if you have an older 32 bit device, see this

  • Make sure the device has a modern enough version of iOS for the dependencies. I think the current minimum for hello world is 6.0.1 but some apps might require a newer version e.g. Intercom requires OS 8 or newer

  • Verify that you are using Safari when installing (if you tried via cable that's not a problem)

  • Check that the build hint ios.includePush is set in a way that matches your iOS provisioning. So it must be false if you don't have push within the provisioning profile

0
votes

Thank you for all your tips !

Make sure you built the debug version and not the appstore version. The appstore version won't install on the device and can only be distributed via Apple's store or testflight

I used the Send iOS debug build button

Check the UDID is correct - if you got the UDID from an app then it's probably wrong as apps don't have access to the device UDID anymore. The way to get the UDID is either thru settings or itunes

I found it on iTunes

Make sure the device isn't locked for installing 3rd party apps. I've had this when trying to install on my kids tablet which I configured to be child friendly. This is configured in the settings as parental controls

I don't either have parental controls

Check that you "own" the package name. E.g. if you previously installed an app with the same package name but a different certificate a new install will fail (this is true for Android too). So if you installed the kitchen sink from the store then built one of your own and installed it there will be a collision. Notice that this might be problematic if you use overly generic package names as someone else might have used them

I reset my iPhone and it keeps failing

You verified that you are sending a 32 bit build in the build hints using the build hint ios.debug.archs=armv7 (listing it here for completeness). It's only necessary if you have an older 32 bit device, see this

It doesn't work with or without it

Make sure the device has a modern enough version of iOS for the dependencies. I think the current minimum for hello world is 6.0.1 but some apps might require a newer version e.g. Intercom requires OS 8 or newer Verify that you are using Safari when installing (if you tried via cable that's not a problem)

I'm using iOS 9.3.5