Ad-hoc and In-House publishing

Thread is closed for posting
7 posts, 0 answers
  1. softwarea
    softwarea avatar
    77 posts
    Member since:
    Feb 2007

    Posted 25 Oct 2012 Link to this post

    Hello guys,

    thanks so much for providing us web developers with such a great toolset for creating hybrid apps. 

    With my HTML and jQuery/Kendo knowledge I can finally create "real" apps for iOS now.
    Unfortunately I still don't really understand Apple's distribution model. The whole signing and provisioning stuff is a mess ;-) So, if my next questions don't make sense it's probably due to all my misunderstandings of Apple's concepts.

    I want to create an app for a certain group of customers (all in all about 10-15 people). Those people are all over the country and none of them has IT knowledge or a Mac.

    Before I start developing my app with Icenium/Kendo I would like to know about my options on how to distribute my app to my customers' devices (iPhones and iPads). I know you guys developed "Ion" which is easy enough to install and update. However, as far as I understood, Ion is good for testing purposes only (let other people share your current project stage), but not for production (no customized Icon, no Splashscreen etc.). And believe it or not: this is important to my customers ;-)

    I know that Apple offers Adhoc distribution and/or Inhouse Enterprise distribution for native apps. I still don't really understand how this works and how the relevant users actually get such apps (surely not over the AppStore ;-)).

    Although this might not be a dedicated Icenium topic, I was wondering if you guys could provide me with some helpful information, like 

    - Can I "adhoc distribute" or "in-house distribute" Icenium apps as well?
    - If yes: How would such an app get to my customers devices?

    Thanks so much for your help!

  2. Yavor Georgiev
    Yavor Georgiev avatar
    982 posts

    Posted 25 Oct 2012 Link to this post

    Hi Ingmar,

     Thank you very much for your interest in Icenium. We're happy that you find our tool useful :)

     Now on to your questions: in order to distribute your iOS apps (either on the App Store, or ad-hoc), you need to be registered in Apple's iOS Developer Program.

     For v1 of Icenium we've concentrated on App Store distribution since that was the most requested feature, but there is a way to get an Ad-hoc distributable version of your app as well.

     If you create a Distribution Certificate and a Distribution Provisioning Profile for your app, you can import those in Icenium, build your app with them and distribute the binary to your customers. They, in turn, can install the binary through iTunes. There is a small caveat, though: when you create your Ad-Hoc provisioning profile you will need to list the identifiers of all the devices (100 maximum) that are going to run the application. Also, this profile will be valid for a year. Before it expires, you will need to renew it, re-sign your app and distribute it to your customers again.

     If you sign up for the iOS Enterprise developer program, you can create a provisioning profile that can be deployed on an unlimited number of devices (no need to list them in advance) and it is valid for three years, instead of one.

     Provided you have an Ad-Hoc profile and a matching certificate, you can use Icenium Mist to package and download the Ad-Hoc version of your app. Then you can distribute this package to your customers. Right now our Publishing mechanisms target only App Store distribution, but we will expand this to Ad-Hoc distribution in a future version.

     I will be glad to walk you through any issues you might encounter in setting up your provisioning profile and using it in Icenium, should you choose to build your app with Icenium.

    Kind regards,
    Yavor Georgiev
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  3. softwarea
    softwarea avatar
    77 posts
    Member since:
    Feb 2007

    Posted 25 Oct 2012 Link to this post

    Hi Yavor,

    I am very grateful for your long and detailed answer. 

    There is a lot of information that I didn't know and wasn't really able to find in the Apple Membership area. I'm sure it is all there though... ;-)

    I would like to come back to your really nice offer to help me setting everything up. I hope you don't mind, and maybe somebody else finds this post helpful too.

    I already managed to generate a development certificate and a development provision profile a couple days ago. I uploaded both files to Icenium Graphite, hooked up my iPhone and do now see the little green icon in Graphite that tells me that everything is fine now. In fact I can run the current stage of my application on both the simulator and my iPhone. That's awesome!!! Ion works great too, by the way. 

    But now I would like to go on and try the Ad-Hoc distribution. But for some reason I got stuck. I just couldn't remember what I did a few days ago anymore. ;-)

    So, once again I tried to go with your documentation on
    It seems though there is something missing after the paragraph "For now, do not click "Continue". Leave this Assistant and return to Icenium, you will come back to the Assistant after generating a certificate request." ?

    So, I tried to figure it out myself. This is what I did and maybe this is helpful for somebody else:

    1. I started the Keychain application on my Mac and created a certificate request with the Certificate Assistant as explained in your document.The result is a *.certSigningRequest file (CSR).
    2. I logged in to the Apple iOS Provisioning Portal. But this time I did not launch the Assistant, since he is probably only for development, bot not for distribution.
    3. I went to the Certificate section and selected the Distribution tab. Here I clicked on the button "Request Certificate". (I believe this button does not appear anymore once you have a distribution certificate?). 
    4. I chose the CSR which I created in step 1 and clicked on the Submit button.
    5. After the file has been uploaded it takes a while until the request has been confirmed (I just refreshed the page a couple times).
    6. I could then download my distribution certificate file (ios_distribution.cer).
    7. I double-clicked this file in order to add the certificate to my KeyChain application.
    8. In the KeyChain application I located the new entry in the "My Certificates section". I expanded the entry, selected the included private key, and exported this key as a *.p12 file.
    9. Back to Icenium Graphite.
    10. I clicked on my user name in the upper right corner and went to "Options".
    11. In the "User Options" dialog I went to General -> Certification Management.
    12. In the Cryptographic Identities section I imported my *.p12 file from step 8.
    13. After entering my password Graphite then showed a new entry. Great!
    14. Back to Apple's iOS Provisioning Portal.
    15. I went to Provisioning and selected the "Distribution" tab and clicked on the "New Profile" button.
    16. In the next dialog I selected "Ad Hoc" as distribution method, entered a profile name, picked my App ID, and chose all relevant  devices (I had already created an App ID and all the devices a few days ago).
    17. After submitting the page, it took a few seconds until my distribution provisioning profile became active (just refreshed the page a couple times).
    18.  I downloaded the profile file to my computer (*.mobileprovision).
    19. Back to Graphite -> Options -> Mobile.
    20. In the "Provision List" section I imported my file from step 18.
    21. And now I had a new "Ad hoc" entry in the provision list. Super!
    22.  Now I started Icenium Mist as suggested by Yavor.
    23. After selecting my application I went to "Run -> On Device" and selected "I want to use provisions".
    24. And what's really, really cool now: The provision profile I created in Graphite (step 20) already shows up here. This Sync mechanism works just great!
    25. I clicked on the "Build" button (not sure if this is necessary) and then on the "Click here" button in order to download the whole iOS application to my computer (the file is called app.ipa).
    26. All I had to do now was to double-click the app.ipa in the Finder. iTunes opened up and added my app to the Apps Library.
    27. After syncing my iPhone with iTunes I couldn't believe it...I just installed my very first and own app on my device.

    Telerik, THIS is absolutely COOL! Thank you so  much. I know I still have to learn a bunch of things. But this is FUN!

    Thanks for pointing me in the right direction, Yavor.


  4. Yavor Georgiev
    Yavor Georgiev avatar
    982 posts

    Posted 25 Oct 2012 Link to this post

    Hi Ingmar,

     Congrats on defeating the evil Apple Provisioning beast! :)

     Just a quick note for any folks out there that may not have Macs - you can use Icenium to generate the Certificate Signing Request you need to create a Distribution certificate. Just repeat the steps Ingmar performed, only instead of using Mac's Keychain Assistant:
    1. Go to Icenium's User Options > General > Certification Management > Create New > Certificate Request. Fill out the form and click Ok.
    2. Save the .csr file and upload it in "Request Certificate" in the iOS Provisioning Portal.
    3. Wait for Apple to create the certificate (around a minute) and then download the .cer file with the certificate from the Portal.
    4. Go back to Icenium's Certification Management, click Import and choose the .cer file. Your Distribution Certificate should show up in the list. Bang, no Mac required ;)

    Yavor Georgiev
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  5. softwarea
    softwarea avatar
    77 posts
    Member since:
    Feb 2007

    Posted 25 Oct 2012 Link to this post

    Even better. Thanks Yavor :-)
  6. Pierre Chew
    Pierre Chew avatar
    22 posts
    Member since:
    Aug 2012

    Posted 12 Apr 2013 Link to this post


    I need some help doing an ad hoc distribution.  I have successfully gone the "submit to the apple store route" but now I need to perform an ad hoc distribution.

    I have gone and generated an ad hoc distribution profile for my app and successfully imported it into Icenium.  The problem is that when I go to publish the app it refused to recognize it.  It only sees the one I created for an apple store submission.  If I delete that provisioning profile, then I get the message that no profile for my application identifier was found.

  7. Steve
    Steve avatar
    10941 posts

    Posted 15 Apr 2013 Link to this post


    In general the Publish option is meant to be used only for publishing to App Store. According to your description, you want to use Ad Hoc as distribution method i.e. you won't be publishing to the App Store.

    The Publish wizard in Graphite currently supports publishing to App Store only and that is why your Ad Hoc provision is not recognized. The easiest way to resolve this is to use Mist Publish instead, which would allow you to "publish" for Ad Hoc as well and you would be able to download the .ipa file.

    Use the following steps:
    1. Open and log-in with your associated credentials.
    2. Click on Run menu -> select "On Device".
    3. Click on Provision.
    4. You should see your Ad Hoc provision there, click on Build.
    5. Download your .ipa file.

    Let us know if you still need help.

    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Kendo UI Dojo.
Back to Top