Is there a way to test the App Store Distribution bundle that's to be submitted to iTunes Connect, on a device, e.g. iPod Touch?
Also, for the distribution bundle is it important to remove the file "Entitlemenets.plist"?
You can run a Distribution build on a device with your Ad Hoc provisioning profile.
(You can't launch it with the debugger though.)
Also, you can submit an Ad Hoc build to the App Store.
This is because both Ad Hoc and Distribution builds are signed with the same distribution certificate. (There is no separate "Ad Hoc certificate".)
Do not remove Entitlements.plist. It must be present.
Yes it is possible. All you have to do is first install your app with the Ad Hoc provisioning profile on your device. Then, when you have removed your app again, you can install it with a build signed with your App Store provisioning profile.
This works because when you install the Ad Hoc build, the Ad Hoc provisioning profile is installed on your phone, which adds your distribution certificate, which is the same used by the App Store provisioning profile. This is sufficient for your distribution build to run.
The provisioning profile is merely a set of rules explaining which devices are allowed to install your certificate. The Ad Hoc profile allows your registered devices to install your distribution certificate. The App Store profile allows App Store users to install it. Once the device has the certificate, they do not need to install it again and can use your app regardless of which profile is bundled in the app.
Step by step for Xcode to test your distribution bundle:
(Note: this does NOT require a jailbroken phone)
First time you want to test your app with a distribution build:
Create provisioning profiles for app store and ad hoc in provisioning portal and install them on your mac.
Archive your project
Press distribute and choose ad hoc / enterprise
Choose the ad hoc provisiong profile
Install the package on your iPhone (via iTunes or whatever way you prefer). Verify that the Ad Hoc profile is installed in your phone
settings
Remove app, but keep the installed profile on your phone
Now, every time you want to release your app and pre-test it with your
release build, you can do this:
Archive your project
Press distribute and choose ad hoc / enterprise
Choose the App Store provisioning profile
Install on your phone and test it (using iTunes, for example)
Upload the exported .ipa to App Store (via Application Loader)
You can test the equivalent of the App Store distribution bundle by creating a target identical to the App Store target except signed with an Ad Hoc provisioning profile.
check this out, you can actually test a distribution build :
http://nikhilkerala.blogspot.com/2010/12/how-to-test-app-store-distribution.html
Related
Following the instructions at MusicalGeometry.com, I've archived and created the .ipa file. However, whenever I try to install it to my iPhone through iTunes, it gets about 3/4ths of the way done before it stops and tells me the app failed to install. How can I go about finding out why it failed to install?
I'm using xCode 4.2
Thanks~
EDIT
I am trying to install an app that I currently have on the market. I do have a valid developer account, and the app is code signed.
The first thing to check is whether the device you are trying to install to is added to a list of development devices in the Provisioning Portal.
Then please check if your device is in a list of devices your provisioning profile supports (Review your Ad Hoc profile in Provisioning Portal).
Here's how you can do it:
Go to Provisioning Portal, navigate to Provisioning -> Distribution
Edit your Ad Hoc profile and make sure your target devices are selected:
Do you have a paid developer account and is the app codesigned?
I want to generate a .ipa file, so that I can install it with iTunes without a provisioning profile.
You cannot do this on an un-jailbroken device the app will simply not install if it does not contain a registered provisioning profile.
The best way if you don't want to create one provisioning profile for one particular app is to use a Team Provisioning Profile wildcard and build out straight from Xcode your connected device.
I have a problem
There is one iphone software product of our company
and this product can recieve push_notification messages from our push_notification server
this product is going to be on live(namely it is going to be in the APPSTORE)
so recently we are doing some testing work,(the product use developer provision profile,and the server use the development certificate),it works well
but we want to test the product in the REAL Environment
the server should use production certificate ,
the iphone side product should use DISTRIBUTION PROVITION PROFILE
Now the problem is
1.how to install the product in the device using the DISTRIBUTION PROVITION PROFILE
instead of developer provision profile.
2.if I use the DISTRIBUTION PROVITION PROFILE,can i recieve the push notification message
I am now online waiting for your anwser
thank you all
You can only install builds that have been built for ad-hoc distribution on your device. Builds for app store distribution will not run on any device, unless approved and installed through the store, as their only purpose is being submitted to the app store.
1: Just build your app using an ad hoc provisioning profile. Delete previous versions of the app on the device. Install the ad hoc build and the ad hoc provisioning profile.
2: I have not tried that, but I think this should work, provided you're using the push enabled app-id for your ad hoc provisioning profile and the ssl key and certificate have been installed on your notification server.
I can't understand from Apple's docs if I need a production certificate or a development certificate...
You need to create a Distribution Certificate. The Distribution Certificate are used for creating Distribution Provisioning Profiles. Which will allow you to do the following:
Create an Ad-Hoc version of your app (this is used if you want to distribute to beta-users, testers, etc (this is what you want))
Create an App Store version of your app (You'll do this once you're ready to submit it to the App Store)
Below are the Apple steps on how to create an Ad-Hoc version of an app
Ad Hoc distribution allows you to share your application with up to 100 iPhone or iPod touch users, and to distribute your application through email or by posting it to a web site or server. To prepare your application, the following steps will need to be completed.
Create and Download an iPhone Distribution Certificate
Create and Download an Ad Hoc Distribution Provisioning Profile
Build your application with Xcode
Share your application file and the Ad Hoc Distribution Provisioning Profile with the owner of each device
Recipients of the application will need to drag the application file and Ad Hoc Distribution Provisioning Profile into iTunes, then sync their iPhone to iTunes to install
Hope this information points you in the right direction. If you need additional details or walkthroughs just let me know.
The SSL certificate you need is for production when you're building with a distribution provisioning profile. As far as push (apns) is concerned, ad hoc == app store. This is quite helpful, as you can test how push will work in the app store build by building an ad hoc app and using the production certificate.
I'm planning to distribute an application ad hoc for beta testing. I have created a provisioning profile for the distribution but it doesn't contain all the devices.
My question is if I need to rebuild the application in XCode if add more devices to the provisioning profile?
Or could I build the app once with the original provisioning profile and when more devices turn up just update and download the new profile file to distribute with the app?
I've done this in the past, and no-one has complained of an adhoc app not working.
It seems that iTunes checks the provisioning profile's ID against the one signed into the app, and if they match, then it's a green light. It doesn't appear to check whether or not the provisioning profiles are actually identical.
So you should be able to build with the current provisioning profile, and then when new devices are added, send them the app bundled with the new provisioning profile.