What happens to existing installed Apps if I edit InHouse Distribution profile? - ios

I have made an iPad In-House Distribution App which is installed in 2000 iPads of my company. Now, I want to enable App group to share few data between my Apps of same developer account. For that, I will have to enable App Groups for my App id and re-generate Development and Distribution profiles.
If I do that, will it affect existing installed Apps? Will it affect upcoming releases?

Simple answer to your query:
Change in provisioning profile won't effect on existing enterprise app, installed in user devices.
An enterprise app gets affected only, if you make any change (revoke/renew/regenerate) in your distribution certificate.

Related

What is the purpose of the App Store provisioning profile?

I know the obvious answer : it's for distributing apps on the app store. But I have an app approved for release on iTunes Connect with no App Store profile. I just have an Ad Hoc distribution profile installed. What purpose does an App Store distribution profile serve ? I submit my apps through the Test flight program, is it not a problem as long as the build was verified and approved ? I don't want to risk the app somehow not working once it's on the app store.
To understand what is the purpose of App store provisioning profile we need to check the difference between them first.
Ad-Hoc Distribution :
By using this, App can be installed on 100 devices designated by the developer on his provisioning portal. We can prepare build using this only for beta testing or demos.
App-store Distribution :
By using this we can prepare build of the App to deploy to App store submission.
Your case:
As you mentioned that you submitted app with using ad-hoc distribution profile & its approved & ready for sale now.
Try to install that live app on the device, for which UDID is not added to Ad-hoc distribution profile. It will not allow to install.
That is the only difference.
I hope it will help you.
If your app made it this far and was approved for release, you're fine. In all probability if you go to the Member Center you'll find that an app store distribution profile was generated for you.
This should be helpful:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
Code signing is used in combination with your App ID, provisioning profile, and entitlements to ensure that:
Your app is built and signed by you or a trusted team member.
Apps signed by you or your team run only on designated development devices.
Apps run only on the test devices you specify.
Your app isn’t using app services you didn’t add to your app.
Only you can upload builds of your app to iTunes Connect.
If you choose to distribute outside of the store (Mac only), the app can’t be modified and distributed by someone else.

iOS - APNS With InHouse Distribution

A common problem that is being faced by many developers, I'm posting it again as I couldn't get any right solution.
For distribution of apps using InHouse account (by OTA), how is it possible to send push notifications to the apps installed on devices. With development profile, everything works good during. The problem is when distribution only.
How will Apple recognize that the bundle identifier is being used in house distributed application?
How will Apple recognize that the bundle identifier is being used in house distributed application?
Apple will recognize the app ID because you added (or should have) the app ID in the developer portal and created a provision profile that allows push notifications. If your problem is only with the distribution version, compare your development provision settings to the distribution provision settings in the portal.
APNS has nothing to do with the App Store or iTunesConnect; it works fine with enterprise distribution.

What are the differences between Provisioning Profiles?

What is the difference between a development provisioning profile and an ad hoc provisioning profile?
Couldn't we always use the ad hoc profile for everything but the store?
An ad-hoc provisioning profile is used later in the development process, particularly when you want to distribute your app to a small or medium size group of testers that are not included in the iOS developer program for your organization. An app deployed with an ad-hoc provisioning profile will be almost identical to the version you submit to the App Store (ie. it will need a distribution certificate for push notifications to work, etc.)
Of course you could add your QA team and betatesters to the organization and use a development provisioning profile, but this approach has many disadvantages:
You may end up with many development certificates, making it difficult to manage them.
You are giving your betatesters the right to compile and run the app on a device. (This is a extremely bad policy.)
You want to test your app in the closest possible environment to the App Store environment. Development environments, like running the app from Xcode, can masquerade some bugs that will show up when you publish your app.
All Types of Provisioning Profiles explained in summary
Provisioning Profile simple definition/use
Provisioning profiles are used to authorizes a set of known iOS devices to run and install a given iOS app. If a target device have a profile installed matching it's own device Unique Device ID (UDID) and that of the app it is about to install then the device will be able to install the app otherwise the device won't be able to install the app.
Types Provisioning profiles and their use
There are 4 types: -
1. Development: - Used in development phase of the app to run the app on simulator and developer devices. (If a developer device is not in this list the in-development app can not be installed).
2. Ad Hoc: - Is provided to distribute the app to a known finite set of iOS devices outside the AppStore. These are very commonly used to distribute an app to testers via a third part testing service.
3 Enterprise:- Enable large enterprises to distribute inhouse applications to enterprise approved devices in a manner which is independent of the AppStore.
4 App Store:- Used for AppStore or for TestFlight.

For Testflight, must devices be registered with the Apple portal even for Enterprise distribution?

I have an Apple Enterprise account and have created an enterprise build and am assessing whether to host the build myself on a web server or use Testflight.
I'm currently playing around with Testflight and have uploaded a build and am trying to install into onto devices.
It seems it will not let me install a build onto a device unless that device has been registered with the Apple provisioning portal and the device's UUID included into the provisioning profile.
But isn't this contrary to the point of enterprise builds, where its not necessary for the apps to be registered with the portal?
And it makes it useless for Enterprise apps because even with my enterprise account the portal still says there is a limit of 100 devices that can be registered.
Therefore I must not putting all the pieces together conceptually. I don't understand what's the point of using Testflight for Enterprise apps if the app udid must be registered with the portal?
You need to make sure you're code signing the application with a Distribution provisioning profile, and have your Distribution certificate installed in your keychain.
It sounds like you're accidentally code signing with a standard Development profile/certificate, which is why your app will only run on that profile's listed devices.

query on iOS app deployment methods

Googling this topic I get a sense there are three ways apple allows to distribute the app to end user. However it's still quite vague how exactly each one of these methods actually work and differ.
Ad Hoc Distribution - how does this really work. does this method not require the app to be submitted on app store ? If Yes , then where will the user download the app from and how the installation procedure works.
In-House Distribution - how does this work ? some text i came across suggests we can host the app on a private enterprise server and allow users install from there. If this is true apple would have no way to regulate the app.. not so clear.
App Store deployment - this one i understand how it works as a consumer of some apps i have purchased from app store. In this case the app will have to be submitted to app store first and then available for any number of users to install.
The other question I had on the same context is to be able to deploy the app via one of the ways what type of dev license is required to be procured from apple ?
Ad Hoc Distribution - This is most commonly used for sending the applications to beta testers, you register their UDID in your Developer Portal and then send them the app bundle and a provisioning profile. They drag these into iTunes and can install the application.
In-House Distribution - If I recall correctly this is only available if you have Enterprise license, you can deploy this app to all devices associated with that account (so all of your companies phone for example)
App Store Distribution - This is when your app ends up in the App Store, you submit it to Apple after code signing it, then they review and it gets accepted.
Hopefully that clears things up a bit for you.
For distribution methods 1 & 3 you must have paid the $99 developer fee, number 2 you must have paid $299 (I think that's the right price) for the enterprise developer license.
For the Ad-Hoc thing: You can add up to 100 devices per year to your dev portal. Those 100 devices are then able to install specially signed Apps from you.
To add a device to your portal you need it's UDID. To distribute an App via Ad-Hoc you need to create a special Ad-Hoc distribution profile for the App, sign it with this profile and then send the compiled .app file bundled with the profile to your users. They will then be able to install the app via iTunes, just like they've downloaded it from the App Store.
Note: Removing a previously added device from the list does not increase the device count by.
That's pretty much it, am not familiar with in-house distribution.
Apple's definition of "in-house" distribution basically means: buy an enterprise developer account.
http://www.apple.com/iphone/business/apps/in-house/resources.html

Resources