I have created an ad-hoc distribution profile. I am trying to load the app to the app store for beta testing only. However, when I run the xcode (using xcode 7) archive it ignores the build settings and switches to the non-ad-hoc distribution profile.
I have read many threads and I am still not clear if
I should care that it is doing that
If I should care then why is it happening? The ad-hoc profile is active.
Since you're uploading to the AppStore, you need to use AppStore distribution provisioning profile. You can still use your ad-hoc profile when exporting for ad-hoc deployment. (TestFlight is an integral part of the AppStore now, and is not considered ad-hoc distribution platform anymore...)
From Test Flight Beta Testing:
You should take the following steps to set up prerelease versions of
your app for testing in iTunes Connect:
...
Generate a new
App Store Distribution profile containing the beta entitlement to
distribute builds via TestFlight.
...
Related
Is it possible to install and run a build on iPhone through Xcode by manually signing it with a distribution certificate? I tried doing the same, but it says:
A valid provisioning profile for this executable was not found
Is this some error that can be taken care of, like is there something problematic with the provisioning profile itself or it isn't possible at all?
Also, just in case it is possible, would that allow me to test the app as if I am doing it in production, like using IAP etc in real production environment?
If you want to install Application with Distribution certificate than there are 2 options available
1. With Xcode :
There are 2 different types of Provisioning Profiles available in Distribution (AdHoc & AppStore)
If you are going to install directly with Xcode than you can make AdHoc Distribution Profile & add your Device Id in It & install it via Xcode
Make sure you won't be able to debug with this Provisioning
2. With TestFlight :
Second option is you can use Apples TestFlight beta program to install App through App Store Distribution App
For that you need to upload application on App Store same as we are uploading live apps.
Than go to the Beta testing section & Invite the beta testers
Hope this helps to everyone.
I would like to know what is the "real" difference between an IPA exported with a development or an ad hoc profile, in a case I want to beta test an app with some user. Indeed according to what I already read ans test they seems to work exactly the same way :
The provisioning profile is linked to a list of identified devices
The provisioning profile have a 1 year expiration date
The generated IPA can be deployed via OTA, Apple configurator or iTunes
When archive, the app is build in release mode (regarding the scheme management)
The provisioning profile have a developer certificate for development or a distribution certificate for ad hoc : but it's change nothing isn't it ?
Thank you for your help :)
Adhoc Distribution is generally used for testing purpose, you can send build for testing using Adhoc profile, user can download build those having iPhone UDID present in Adhoc provisioning profile.
Development certificate used to take build on you device for testing and parallel for debugging. You can't send build to other people using Development certificate.
App Store Distribution certificate used to upload build on iTunes/App Store.
I have never used development certificate, Just create Adhoc distribution certificate for both testing and App Store uploading and also for debugging purpose.
I am confused with profiles and certificates for the build I am trying to put on the Appstore.
In developer.apple.com/ I have properly created both a developer and distribution certificate. they are both linked to the single app I have created.
I have registered my device (iphone)
I also have properly created 1 development provisioning profile and 1 distribution provisioning profile.
When I build with dev certificate + dev provisioning profile: app works fine on my device
But I know the build needs a distribution certif and provisioning profile in order to get approved on the appstore.
However when I build with distribution certificate + distribution provisioning profile, the build is succesful, but I can't launch the app on my iphone, other iphone (with http://www.diawi.com/ or iTunes). It immediately crashes with the infamous error popup: "unable to download. "XXX" could not be installed at this time".
When I look at the device's log from Xcode, it clearly states the crash comes from a profile issue.
Is the distribution build supposed to work on my iPhone?
You can check you Beta release build to your developer device using 'Apple Ad Hoc Distribution profile/certificat'. Here are Apple Dev link Beta Testing Your iOS App
No. A distribution build will not just be installable on your device. You are meant to submit it to iTunes Connect from Xcode, where you build it from an archive, or from Application Launcher where you would submit it as an IPA.
you should have created adhoc distributed provisioning profile and add your device to that profile.
But you need iTunes Connect to submit the app to App Store. This time you can create provisioning profile for app store.
Advantages of iTunesConnect.
1. You need not to add new device to the provisioning profile every
time you want to test the app in new device.
2. You can add as many as new test users to the app and can mark them as internal and external users.
3. You can upload as many builds as you want and test those builds.
I am trying to distribute an iPhone app for beta testing using an ad hoc provisioning profile.
I am getting what appears to be a typical issue in Xcode when you attempt to validate an archive that uses an ad hoc provisioning profile. It is the same code signing issue that several other Stackoverflow users have sought advice about. A couple (out of many) of the threads I've read:
Xcode 5 - Can no longer validate archives
Signing identity problems in XCode 5
I have tried "all" of the recommendations I've seen on SO to resolve this issue (there are many other threads beyond the two I've referenced above that I've walked through step by step), but when I read through all of the replies on this specific thread (Xcode 5 - Can no longer validate archives) there's a reply by "Ade" that resonates with my experience.
To quote Ade:
"It looks like Apple disabled the ability to validate with just an ad hoc provisioning profile in XCode 5.
"If you wish to validate an app that is intended only for Ad Hoc distribution, you must also have an App Store provisioning profile for the app too, against which to validate it."
Abe communicates my exact experience: I cannot validate the archive with the ad hoc provisioning profile, but CAN validate the archive as soon as I create an archive with the App Store Distribution Provisioning Profile.
So my question is: contrary to what Apple suggests here (https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html) is it true that in Xcode 5 you cannot validate an archive using an ad hoc provisioning profile because of code signing issues? I'd like to know if this is true is so that I can go ahead and distribute the ad hoc version of the app for beta testing WITHOUT validating the archive. And once I'm done beta testing, as long as the archive created with the App Store Distribution Provisioning Profile validates, I can confidently submit the app to the App Store.
No. You can always validate the archive as long as you have the Right version of the app with the Right bundle ID on iTunes connect after the app is in Waiting For Upload status.
I dont know about other developers. I always have 3 provisioning profiles for all the apps that I developed. Under the release, I always toggle between Ad-Hoc or Distribution. I use ad-Hoc most of the time, including validating, send the IPA to testflight for Beta Testers and etc. After all the satisfies testings, then only I will change the final version to distribution profile and compile a new archive. Then I will validate again and submit to app store.
In XCode5, is it still the case that if you want to profile a release build of your app, then archive it for distribution, you have to manually change the provisioning profiles in build settings? That's how I remember it being in XCode4 - building with a distribution provisioning profile means XCode can't hook the process on the device.
If you archive an application it is signed with the provision profile that you have indicated to use under its build configuration.
An archived app can be resigned with a different provision profile at a later time (though the organizer or command line), so in a way, they are independent of provision profile.
building with a distribution provisioning profile means XCode can't hook the process on the device.
If you build for distribution through the App Store, the program won't run at all until it has been signed by Apple. So yes, you'd still need to change the provision profile in order to run the app so that you can profile it.