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.
Related
im having a big doubt here, and i couldn't find any answer over the internet.
We develop multiple ios apps, under phonegap build, apps are similiar, just logo image change and some internal parameters.
In the process of publish one app, we generate an ios certificate for distribution, then generate the mp , and register the app on pushwoosh.
Now we get adviced than no more certificates are avaible to distribution for ios, so the only way to continue doing this is to use a same distribution certificate for multiple apps.
Is this possible, considering we are using pushwoosh for pushes?
Thanks in advance
A push certificate cannot be used for more than one app.
Every app has a unique app id and push certificates are for one specific app id only.
Distribution certificates are not linked to an app, there is one per Apple account, why are you even trying to generate and use more than one?
Maybe you are confusing a distribution certificate with a distribution profile, a distribution profile is linked to a specific app.You should defiantly have multiple distribution profiles.
I am depending on push notification services in my iPhone app, and tested with development and ad-hoc production certificates it is working fine. But when I submit the app to the App Store, I have to create Appstore production certificate, is there any way to test APNS with this certificate before publishing the application to Apple.
I have been able to Package an Ad Hoc distribution which provides an .ipa for iOS devices that I have specified in the Apple Developer Center.
I then send the .ipa to the specified devices using Diawi.com (which is an awesome service like test flight), but can be used prior to submitting to the app store (like the old test flight)
Here is the actual problem. Using the Appstore production profile, we can create an .ipa file but we cannot install it on the device directly, it has to come from Appstore. It can only be uploaded to the App Store. So, the problem is as we cannot install the package on iPhone we cannot send the push notifications to test it before submitting the package to Appstore. So, technically it is not possible to test the set-up. I was just curious to know if somebody cracked it.
The APNs production certificate is universal, so it does work in both development and distribution, see Apple documentation here.
For the AppStore distribution certificate:
Before uploading your app to iTunes Connect, optionally distribute it for testing on registered devices using an ad hoc provisioning profile or team provisioning profile.
Here's the whole run-through on how to achieve this: App Distribution Guide.
Another option is using TestFlight, details can be found under the previous link.
I work in an organization which have an Apple enterprise provisioning profile.
We are developing an iOS application that makes use of Apple Push Notifications, and would like to use TestFlight to distribute it to many users in the organizations without having to register their device ids in TestFlight.
Can we use an enterprise wildcard provisioning profile to distribute via TestFlight an application that uses Apple Push Notifications?
Or can we use an explicit provisioning profile to distribute the app via TestFlight without having to register those employees devices in TestFlight beforehand?
Thanks in advance,
Ido
It should work!
What about Enterprise Apps?
If you are registered with Apple's Enterprise Program and are making Enterprise Apps, no worries...TestFlight works with those too. TestFlight fully supports Enterprise Apps and it works much like Ad Hoc apps for distribution. Just upload an Enterprise signed app and distribute to your team and only approved members of your team will have access to the application for installation.
Source: http://help.testflightapp.com/customer/portal/articles/402851-testflight-faq
If you have an Enterprise Distribution profile, there is no need to use testflight any more. You can just put it anywhere on the internet and let users download it.
Registering devices is needed only for development profiles. There are no distribution wildcard 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.
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.