Is it possible to deploy the App to the client permanently? - iphone

I have developed an App for my client and now I need to deploy it to him within his company, I have learned that, we need to make mobile provisions on Apple's developer portal,include the devices in it, so the App can be run on that particular device.
Also, if the period of our developer account expires we have to renew it.. in order to let the App work normally on the device.
But i want to know if there is any way the App can be deployed to the client permanently.. ? i.e once we handover the App to the client, he need not to come to us again.. and use it for as much time as he wants .. ?
Also, please note that the device that the client is using in NOT jailbroken ..!

You can create Distribution provisioning profile which currently have validity of one year, that means your application will run on clients device for one year without your effort.
After one year, you need to reattach by creating new profile. This can be done very easily from console.
Visit this question.

App that users download from App Store will continue working even if the developer of that app doesn't renew his subscription.
See this So the solution for you is. Upload the app on app store. Let your client download it. Once he download it even if your apple certificate expired he can continue to use the app.
However, once your apple distribution profile is over then your client won't be able to download the app from app store.

The only way to do this is using Apples Business-to-Business App Store. This allows you to specify which clients can download the app. The app is otherwise handled just like a normal app store app and does not expire.
The ad-hoc distribution you referred to is not suitable for distributing apps to clients. Anytime a device changes or is added you'll have to re-provision it and re-issue it.
One other alternative is to have your clients get an Enterprise developer license. The app would still have to be renewed every year but they could install it on any device and better yet, you would not have to have it reviewed by Apple.

Related

making personal app for iPhone

I want to make an app and use it for myself only....
I don't want to submit it to apple..
I know about provision profile ......
i also know that it expires after 3 months....
Is there any way so that i can continuously use the app without renewing that provision profile ?
If not then please tell me how to renew that provision profile without deleting my application's data.(I know how to renew the provision but i know about only one method that is delete and reinstall the app..... but delete my apps data..).
Help Please...
Well, there are two possibilities:
1) Jailbreak you device(s). Then you can deploy all day long without profiles.
2) Get a developer cert, put all of the app data into the application Documents directory, and turn on the app flag to let iTunes see it. Then you can copy it out an back in.
If you are signed up as an apple developer, you can just package the application for ad-hoc distribution, then you can just put it in iTunes or Xcode and sync it onto your phone/iPod. However I do not know what would happen if/when your subscription ran out.
Connect you iPhone to your Mac
XCode -> Window -> Organizer
click on your device and manage your provisioning profiles (add, delete, ...)
there are many third party sites where you can develop iphone app and submit them which in turn they will submit to the app store.
...or just send to the store with a 10,000,000 $ price, then use a redeem code for yourself, then get it and take it off from the store (or leave it there... you may be lucky...)

Starting iPhone development

I have just started to work as a freelance iPhone developer. Earlier I used to work under an organization so I dont know what exactly things are required for iPhone development. I have knowledge about the things but all things are scattered in my mind.
So I am having some questions regarding iPhone development .
Is it necessary for me to have a developer certificate before starting developing for iPhone?
If I am developing an application for some client , then is it necessary for the client to register as developer so as to post app to the app store? What If post the app using my developer certificate?
What I get in return after I pay 99$ to Apple to run the app on my phone?
My question may seem wierd but I am so much confused over all these things. Kindly bear with me.
Yes, if you want to test on the device and not just the simulator
If you post it using your developer certificate, it will go under your name/business.
If your talking about money, nothing, you get 70% of the profits made by your app. The 99$ is a membership fee not a security deposit. If your talking about benefits, the ability to run your app on device, ad distribution profiles, submitting to the app store, loads of WWDC content, ability to use iAds, and access to iOS beta's and developer forums.
1) No, but you can only use simulator. You need dev cert for tesing with an actual iPhone.
2) It's up to you and your client, it will only change the publisher name on iTunes. Note that each year, subscription has to be updated, otherwise the app is taken from AppStore automatically.
3) You can test your apps in actual devices. You can publish apps in App Store. And also have access to some developer resources.
I suggest you read developer.apple.com for all the details.

Is it possible to test an app on a device (ipad/iphone) without having the device connected?

This is NOT a question about avoiding to pay apple, my boss has no problem paying the $99 enrolling fee to do the signing certificate stuff. Jailbreaking is not an option.
I have a customer that I am developing an app for, and they want to test/preview the app on their device, before traveling to the office to have a meeting about what to do with the app next.
Q 1. After doing research and finding guides on how to test on a device (http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices) they all seem to say that the device has to be connected in order to be tested on is this the only way?
Q 2. Also, if I do get them to come into the office and set the device up to be tested on, will i be able to test it in the future without it being connect? Will I be able to somehow send them it?
Q 3. How exactly does distributing work, do you make a private app or something so only the customer that is having the app developed can use it, and not have it on the app store?
Thanks in advance for any help/advice you can give or a link to point me in the right direction.
Here's the short of it.
You get their UDID for their device and get a certificate from Apple (after paying the subscription).
Then you build the app with the certificate for the device (not simulator) target.
The user then installs the certificate. (they can just drag-drop on itunes).
I believe the app should be zipped (like during submission to the store) but it's pretty much the same process as the certificate.
If you need links, I can provide them, but this is how it works.
In the future, if you build with that certificate, the user only has to re-install the application. If the user is not connected to a Computer, you won't get Debug information, but they can run it to their hearts content.
Certificates expire after a while, so you'll have to get a new one every once and a while. But it's not that much of an issue.

What's the point of the provisioning process Apple makes you complete in order to test your apps on an iOS device?

Today I walked to through the process of getting my iOS device connected to my computer and running my app. To do that, I had to...
Obtain a developer certificate
Assign the device to my team
Obtain my app ID
and create a provisioning profile
While I understand the process and was able to successfully get my device connected, I don't at all understand the point of all this. Can anyone explain the point of each step in that process and why Apple has us do this?
Thanks so much in advance for your help! It's important to me to understand this stuff at least at a high level.
Apple just wants to torture the developers :)
Joking aside, I don't know why. There's no official explanation why you need those steps, here's my speculation.
Apple wants to make sure that
only the developer registered to Apple can freely install
onto his or her i-Devices
applications of his or her own applications .
This is presumably to forbid the distribution of apps outside of Apple's own App Store. If any of these three steps is not required,
it's easy to imagine how you can "abuse" the developer status to install lots of apps without going through App Store.
This explains why you need to do 1, 2 and 3. In order for XCode and the i-Device itself to check it, you need a provisioning profile. This explains the point 4.
As a rough explanation.. the device only runs signed apps. Your developer certificate (along with your private key) signs your app so it can run on your device. (or other development devices of your nomination)
If you beta test, your Ad Hoc certificate + provisioning profile will allow all devices with their UDID in the profile to run that app. The beta testers don't need your developer certificate, just their device UDID embedded in the profile.
When you distribute to the app store, you use a Distribution profile (along with the team agent key), and that needs additional signing (co-signing?) from Apple before that code can run on the device. Because Apple signed it, the device doesn't care what UDIDs are allowed.
Apple has made a business decision to maintain tight control over developers and apps both during and after their app development. This means that at any given point in time, they have a tight connection between a developer, app, devices, and the app's users, be it through the adhoc distribution mechanism, or through purchases that users make in iTunes Store. We may only speculate what they internally thought that the goals and benefits here are, but as the market has shown, the outcome is beneficial to all parties, as they have shot from oblivion to one of the most popular smartphone platforms in a few years.
One quite straightforward goal is that they intend to maintain control of the distribution channel and make sure the app cannot be officially distributed through any side channels and they have control over all the money that moves, hence the 100-deviceIDs-per-developeraccount limit (so you couldn't distribute your app outside Apple's channel, yet the 100 devices should be sufficient for closed testing).

Can I put my own app on just my iphone?

I want to create an iphone app for personal use.
Can I just put it on my phone and use it or do I have to go through the iphone store process to get it on my phone?
Thanks.
As long as you have a valid developer certificate to sign the app and you have a development provisioning profile and your device is registered as a test device. For that you need to be registered as an iPhone Developer Program member.
In other words, you have to pay Apple $99 to be able to put your own app on your own phone.
Yes, you can run your own apps on your phone. You need a paid iPhone developer account though.
Purchase a developer account for $99 from Apple. Create a developer provisioning file and build to your device. The annoyance will be the provisioning file is good for a limited time, requiring you to update it periodically and rebuild.
To run an app on an un-jailbroken iDevice, it needs to be signed. Registered developers get personal signing keys (and also have to register the device) which lets them test their apps. They also can do ad-hoc distribution, meaning compiling and signing an app so that other people can use it without being registered. This is limited in the number of users who can use it though.
Enterprise developers can sign apps for internal distribution, sorta like unlimited ad-hoc, but that program is expensive and unnecessary for what most people do.
As pointed out by others here, you can sign up as a developer to temporarily install apps on your device for testing purposes, but you would constantly need to renew your phone's installed provisioning profile to keep using it over time.
The only way to permanently put your own application on an un-jailbroken phone is to publish it to the app-store and download it through iTunes. Of course, Apple would need to accept the app so you would need to face the same regulations as other apps sold via iTunes, and your app would be public to everyone.