ipad/iphone, Secure app Distribution - ios

i have developed a ipad static presentation application, here i doesnt want to submit it to the app store.
this app users not even exceed 100.
here my requirement is if user is connected to the internet means app should hit the apple developer site and it should check whether the connected device id is added to current provisioning profile. if device id is there means it should execute the application further else it should not execute.
is there any way to implement this...
is apple is providing any API's to perform these things...?..
any suggestion pls..?

The method you propose is not possible, but close.
When you sign the application for ad-hoc distribution, you sign it with a provisioning profile. This profile contains the ID:s of the devices that the application will run on. It will not even install on other devices.
Take a look at how to do ad-hoc distribution. For less than 100 devices, it is possible to accomplish exactly what you need. The app can then be distributed wirelessly (from a web page) to the authorized devices.

Related

How to demo an iphone app without uploading it to the app store

I have a system which I want to present to potential investors. It is a client / server system and the client runs on mobile devices.
The client can only be used when certain people are connected to the server via another app, so I currently don't want to upload it to the app store for public use.
When I present the system to investors I can make sure that the correct people are logged in and run the demo.
I read online and didn't find a suitable distribution mechanism. I don't want to bother my potential investors with details about finding their device ids so I don't think I can use ad-hoc distribution. I can't upload it to the app store because the service isn't available 99% of the time. Any other options"?
Thanks.
Well you options are limited, you can open a new Apple Developers Account for Enterprise distribution. But the license for these distribution does restrict the distribution to company employees only.
You can use the iOS 8 SDK and Xcode 6 to distribute your app to 25 beta tester, wihtout going thru review. And later Apple will allow you to beta test, with app review, for a 100 users.
But for now AdHoC will be your best option, and use something like HockeyApp or TestFlight for the distribution. But using AdHoc does require you to have the device UDID before hand as they need to added to the AdHoc Profile.
Best way to distribute iOS app for testing or demo is to use Testflight. It is much easier then distributing IPA file and letting anyone install it on their iOS device.
I would suggest using TestFlight as it is simple and reliable. The only thing is, you need to register with the device ID. You can send the testFlight build to your selected clients with this.
www.testflightapp.com
Make an enterprise adhoc of your application. Apple allows you to create adhoc of your applciation with 100 users allowed at max.
And then you can demo your application to 100 people.
If you "don't want to trouble the investors with finding their device ids", then test flight is your best options. Your investors just need to install test flight make there account(with really easy steps) on test flight. And accept your invite. After they are are in your team you can easily get there device id by clicking info button next to there name on screen, under people tab of website.
Check this image for detail:

Private App Distribution for my iOS App - Only for specific clients

I am aware that this question has been rattled like an empty can in a trunk for a long time yet I still am not sure how to approach this problem.
Intention
Allowing my client to download my app by providing a code. So my client can go to a webpage through his iPad, enter in a code, and the downloading of the App starts.
Solution/Problem
I can do it through AdHoc Distribution, where I can make a webpage that can only show a link to download the App, only after a specific code is authenticated. The only problem here is that I need UDID of the device nonetheless. So here is the problem, how can I let the user download the app, when he just enters a correct code on some webpage, without having his/her UDID?
I'd really appreciate if you could help me in anyway.
Best.
You'll have to create a web based authentication mechanism yourself for allowing a user to download the ipa. Because you wish to be UDID independant, you'll have to enroll to the enterprise program - a simple iOS developer program will not suit your needs (limited to 100 specific devices).
This is what the iOS Enterprise Developer Program is for.
Get tools and resources for developing proprietary, in-house iOS apps that you can distribute to your employees.
No UDID needed. No 100 device limit.
This is possible now using redemption links with private app distribution. You still need to go through App Review, but users will be able to download your app without you needing to know their device UDID and without the app publicly being available on the App Store.

Making an app for a single iPad

I'm looking for some clarification on developing for a single iPad. I have an app in the app store, however I want to make my own app for personal use that won't be submitted to the app store.
Is it possible for me to develop the app and get a certificate to "test" the app on my iPad, and just keep it on? I don't want to have to pay $299 for an enterprise account to publish private apps for a single iPad to use the app!
I've had a read about and I'm probably more confused now than I was before!
Any help appreciated.
Thanks,
Gary
If you enter the iOS Developer Program (99$ a year), you will be able to do what you mention: you will be able to generate a certificate and a provisioning profile and install the app on your device (actually, up to 100 devices).
The only thing is that you will need to create a new certificate/provisioning profile and rebuild/reinstall your app when the certificate expries.
No matter how you do it, you will always have to sign your app to be able to run it on a device.
All Provisioning Profiles expire, except the ones for the App Store (which you can't use without publishing your App in the App Store). So paying $299 for an Enterprise Account wouldn't even help you in this case.
However, if you want to run the App only on this single device, you could consider jailbreaking it. This would allow unsigned apps to run.

iPad App - Deployment without needing the UDID

I have a doubt. Please guide me. I am planning to create an iPad app, but I want to install this app on the iPad without using the UDID in my profile. I have checked the "Enterpraise Account", but without this approach (like sideloading apps on android) is there any possible way to do this? Are there any problem that may arise?
Kindly guide me.
No, Your options are either AppStore or Enterprise account. With the enterprise account way having meny restrictions.
The enterprise account will allow you to distributie the app to the register company only, if you do distribute the app to non employees of the company Apple will close down you account.
You could look at jailbreaking, but you won't reach as many user as you will when distributing your app via the AppStore.
Because of the closed nature of the distribution of apps within iOS, you don't have a choice.
The only way to load an application onto a device, without caring what the device ID is, is via the Enterprise programme or App Store. The Enterprise programme is like a controlled, secure, sideloading process (if we want to to have an analogy with Android), but is limited to distribution within an Enterprise only. The App Store means you have to publish the app to Apple, and follow their rules.
To get the app on the device, without using those two methods, you need to create an Ad-Hoc build, but this requires the device ID, as it'll cross-reference it with the provisioning profile provided. If the device ID is not linked with a provisioning profile for the application, the device will not let it run.
The unofficial way to load an app on a device without needing it's device ID is via a jailbroken device, but that's unreliable and requires the user to be tech savvy.
NO, there is no way to distribute app via ad-hoc for any device(not having UDID) without Enterprise license.

iPad enterprise distribution options

We have an iPad app that we would like to distribute internally. We're looking into "Enterprise Distribution". The set of requirements I have been given include that the method for distribution is to be that a user goes to a secure website from an iPad, logs in, and downloads the app. The app then works for them.
Users who do not have access to the website should not have access to the application. We can easily prevent them from downloading the app by forcing them to log in. However, it is not obvious to me that after they download the app (via an .ipa file?), that they couldn't just give it to someone else, something that is not allowed.
It looks like a way around this is to have Distribution Provision Profiles, which determine whether a given app will run on the device. However, it's not obvious to me that those couldn't just be copied as well.
http://manuals.info.apple.com/en_US/Enterprise_Deployment_Guide.pdf
Once you create the enterprise distribution provisioning profile, download the
.mobileprovision file, and then securely distribute it and your application.
Sadly, I don't know enough to know exactly what I should be asking, but here goes:
Can ipa files just be copied from one Ipad to another, allowing anyone to use any given app? (assuming there is no other protection on the app)
If the answer to 1 is yes, is there any reason to believe that .mobileprovision files will help me?
Every device has a UDID, a unique identifier. This is how Apple enforces the 100 development devices rule for individual developers. You collect UDIDs as part of the download process, issuing the provisioning profiles to registered users.
To answer your questions:
Yes, theoretically, without DRM or provisioning, an ipa can be synced to iTunes (or manually copied with third party tools) and then moved to another dewvice.
Yes, .mobileprovision files include UDIDs in them which are pretty much unique to a given device. (The exception may be on jailbroken devices, which, if I recall correctly, can spoof a UDID.)
EDIT:
Just to clarify, in response to your requirements:
The set of requirements I have been given include that the method for distribution is to be that a user goes to a secure website from an iPad, logs in, and downloads the app. The app then works for them.
I would add a middle step.
User logs in.
User submits device info
You create a provision for the device
The user then downloads the app and the provision.
This does not stop the user from giving out the app to others, but it's the best you've got. You can also require the user to log in inside the app, with the same email as the one used to register the UDID, theoretically.
It's now July 2012. Apple's documentation on how to create and distribute an Ad-Hoc iOS application remains stuck at iOS 3, is over-complicated, overwhelming, and often wrong.
With an Developer Enterprise Program license (and a fair bit of patience), you can create an .ipa file, which you can stick on your website.
Your users can then navigate to this webpage on their iPad's Safari, click on a download link to download and install your app onto their device. No iTunes required.
Your app will need (amongst other things) to be signed with a distribution certificate, which you create on the Apple Developer website, but my point is that once you have jumped through all of these badly documented hoops, you can just stick an .ipa and .plist file on a webpage, and ANY user can install your app with it.
Even your Aunt Gladis, who lives 200 miles away and doesn't work for your company.
Mind you, if Apple finds out that you have distributed your app to anyone who doesn't work in your company, they will pull your license.
Getting the Enterprise Account takes a lot of work. Apple will want your DUNS and possibly other proof that you're who you say you are (and that you're an enterprise).
Going the other route (individual developer) will allow you to post your app (make it free so your users will not have to pay!) in the store. Your app can require an account on your local service that no one outside your company will be able to acquire, which will prevent people outside the company from using it. The risk here is that Apple will reject your app for this reason.

Resources