3

I'm building my app for iOS using ionic package.

https://docs.ionic.io/services/package/

I created certificates for both development and production, including push.

https://docs.ionic.io/services/profiles/

development - built successfully using ionic package, installed on iOS with no problem.

production - built successfully using ionic package, when I try installing it on iOS it starts installing the app normally, then when almost finished the app disappears and it ends up not being installed, no errors appear.

Why does it happen?

In order to test the production .ipa on my device, I'm installing it via the iTunes software. (I'm not publishing it in the App Store yet)

The same goes for the development .ipa, though for this one it's a given.

I found this old issue which suggests it might be due to bundles ids that don't match:

In-House App Disappears After Install

The widget id in my app's config.xml is identical to the App ID on Apple Developer.

Are there more places that are supposed to be identical which I'm not aware of? Perhaps info I'm inputting when creating the certificates?

My final goal is to publish this app in the App Store, it's not an In-House app - I'm stating this to avoid confusions.

Royi Bernthal
  • 882
  • 4
  • 17
  • 45
  • 1
    did you spot any crash logs? – Aman Jul 24 '17 at 10:24
  • None. I'm not publishing to the app store but rather I'm installing the production app directly on via the iTunes software. Perhaps that's the problem? Or is it supposed to work? – Royi Bernthal Jul 24 '17 at 20:13
  • Also - crash logs appear when the app crashes while it's running, in this case the app is not opened and run in the first place because the installation is never completed properly. Are you sure crash logs are relevant? – Royi Bernthal Jul 24 '17 at 20:20
  • the only time ive noticed behaviour similar to this it was due to some issue with the provisioning profile we were using, maybe something in this link will help? https://www.diawi.com/knowledge-base/iOS/Cant-install-an-app-on-a-device-things-to-check – Gary O' Donoghue Jul 30 '17 at 23:39
  • "...If you have uploaded an app to Diawi and can't install it on some of your devices...you are building a Release version of your app" I am trying to build a release version (production) for the App Store, not development / in-house for Diawi - I don't think that article covers that, correct me if I'm wrong. – Royi Bernthal Jul 31 '17 at 01:02
  • Maybe this answer will help: https://stackoverflow.com/a/21058295/6184203 – David Jul 31 '17 at 19:46
  • Can you post the output of this command: `ionic cordova build ios --prod --release` – Ari Jul 31 '17 at 23:46

3 Answers3

2

I have faced the same issue when i was building my iOS apps , after a couple of research i came with this fact :

  1. When you prepared the Production build (Store App ) it will not be able to install in the development devices . if you need to test that production app in your development device you need to build the app with ADHoc Provisioning Profile . then only it is able to allow you to install in the Development devices.

    AdHOC provision profile is a distribution provisioning profile that allows your app to be installed on designated devices and to use app services without the assistance of Xcode. It’s one of the two types of distribution provisioning profiles that you can create for apps. (You use the other type of distribution provisioning profile later to submit your app to the store.) An ad hoc provisioning profile ensures that test versions of your app aren’t copied and distributed without your knowledge.

When you’re ready to distribute your app to testers, you create an ad hoc provisioning profile specifying an App ID that matches one or more of your apps, a set of test devices, and a single distribution certificate.

The App Store version app is, as its name implies, for use only when distributing via the App Store. It exists for signing your app for distribution via the App Store and can't be used for any other purpose. Unless you install an app that has been signed by it via the App Store it will obviously fail.

If you want to distribute an app for internal use to a few devices and for a relatively short period, you should use an Ad Hoc profile (which i explained in above ); if to a lot if users for an extended period, you need to register as a corporate developer and follow a different process.

For More Details regarding Adhoc refer the following link:

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html

Community
  • 1
  • 1
Krsna Kishore
  • 8,233
  • 4
  • 32
  • 48
1

You can't just directly install production build onto your test device, its against apple's policy.

So in order to do that you can export an Ad-hoc build and then you can install in your device, provided that device is already included inside your provisioning profile.

Ad-hoc builds works same as production builds, only difference is you can only install on those devices which are included in your provisioning profile for that app.

Paras Gorasiya
  • 1,295
  • 2
  • 13
  • 33
0

It is not possible to directly install Production iOS App on the mobile device. This can only be done via TestFlight. Step by step tutorial below.

Prerequisites

  1. You have your Mobile App Prod build ready and signed
  2. You have iOS mobile test device with TestFligh app on it

Step by step

  1. On MAC open XCode -> Open DEveloper Tool -> Application Loader
  2. Click 'Choose' file to pick up your build file from local machine and continue to upload
  3. Once app is uploaded it will be visible from iTunes Connect console (wait until Processing is finished before submitting to TestFlight)
  4. Once that's done, open TestFlight App on the iOS mobile device and download your new app.
marika.daboja
  • 881
  • 13
  • 27