IPhone Ad-hoc distribution sync error - iphone

I am working on an iPhone application for a customer. After the development will be finished the application will be on the Apple Store, but meanwhile during its development, on a regular basis the customer wants to see and install the application on his own phone to check the current status of the development.
-I went to the provisioning portal registered my customer's device udid and added to my application's provisioning profile.
-I downloaded the provisioning profile and installed it.
-I then built the ipa and sent it to my customer.
SHouldn't this be enough?
The customer is experimenting a sync error. He can import the ipa inside itunes but at the end of the sync he receive this error alert on his iphone.I tested this ipa file on two other iphones and is working (both registered and one is ios 5.1 and the other 5.0.1)..Where should I check for misconfigurations?
I'm running the latest xcode version 4.3.1

Make sure you build with the distribution provision. I use a new Xcode build configuration for this (called Ad Hoc) and I make sure my archive build uses this new build configuration. The customer will need a copy of this distribution provision (which he double clicks), and you send him the ipa file. He drags this into his iTunes library and he is then able to install the app to his device.

Sometimes the provisioning profile needs to be installed on the device separately. I encountered this problem once with my team member who had Windows.
Just send your customer the profile and ask to install it on the device.
You may need iPhone Configuration Utility to install the profile on the device.

Related

iTunes sync apps failed to install using Phonegap

I have created an .ipa file using Phonegap. For testing I uploaded the developer certificates and device UDID. Its working fine. Now, I want to distribute this apps using Application Loader. For this I uploaded the apple distributor certificate and distribute mobile provision file on the phonegap cloud and generated the .ipa file. When I tried this apps with iPhone 6.3.1, its giving me error: iTunes sync apps failed to install
Please help me to get out of this problem..
Are you trying to submit the app (you mentioned Application Loader which is used for submitting apps) or install it on devices for testing? I am assuming you are trying to install it on devices for testing.
If the app fails to install, check for one of these
The mobileprovision you are using has your device's UDID. Test apps can only be installed on devices whose UDID is included in the mobileprovision (unless you are distributing for enterprises)
The mobileprovision is installed on your device (try using a service like Testflight - you'll know whether your device has the necessary setup)

How to distribute iPad app as in-house app?

I developed some 3 apps for my organization and we want to distribute it to some 30 iPads in the office. I am tying to find a step by step process to do it. But didn't find any so far. The methods I tried and failed are the following,
I took the app (with .app extension which can be found in ~/Library/Developer/../IOs_Release) and provisional certificate and dropped them in iTunes library. After that I connected a new iPad (not a registered as development device) to my mac book. Through itunes, I tried to sync the app. But an alert appeared on the ipad showing "xyz app is failed to install"
I tried the ad hoc distribution. First I archived app in the xcode archive and clicked distribute button. A wizard appeared asking for what kind of distribution do I want. I selected ad-hoc distribution and it automatically selected my iPhone distribution certificate and processed and gave me .ipa file. I tried installing it in the iPad by itunes sync and it gave me same error.
It would be great to get steps for in-house app distribution since they are nowhere to be found.
Check out my answer to another person's SO question HERE
This assumes that your organization is setup with an Enterprise developer account.
There is a project called iOS Beta Builder, check the below links:
Introducing iOS Beta Builder
iOS Beta Builder GitHub page
iOS Beta Builder Mac AppStore
The provisioning profile used for the adhoc build must have a reference to the 30 devices.
Go to the Provisioning Portal and add all 30 devices under the Devices section.
Then add those devices to the adhoc provisioning profile (Provisioning, Distribution).
Once added, download the updated provisioning profile and install it in Xcode. Delete any previous profile.
Build and Archive the app. Make sure the archive build is properly setup to use your adhoc provisioning profile.
Use the Organizer to save the ipa file from the archive build.
Drop the ipa file into iTunes. Now sync each of the 30 devices to include the app.
Xcode - Product -> Archive
Distribute -> (Select) Save for enterprise or Ad-Hoc Development (Next)-> Code sign identity (select your profile)-> save File on disk -> distribute project.ipa file.

iPad app fails to install in new device added to Ad Hoc provisioning profile

I am using an enterprise account for deploying an internal iPad app. The app is signed with an adhoc provisioning profile, so far I never used the entitlements file. The app is deployed in a web server and installed via OTA.
The customer has some 80 devices added in the provisioning portal. The app is installing fine in every device except for one recently added and the only difference I can see is that all the devices have iOS Team Provisioning Profile installed (not sure why because AFAIK they are not development devices).
When the customer tried to install the app in the latest added device (which was included in the adhoc profile and the app built again), it downloads but fails to install. However, he downloaded the ipa file and could install it using the cable.
I also tried with one of my development iPads which is also present on the customer's adhoc profile. I deleted all the profiles, then install the app via OTA. The app installs and runs fine, however when I go to check the installed profiles on the devices (under settings/general) there is not a single profile installed.
My questions are as follows:
Is the entitlements file a requirement?
If it's required, why the app is working fine with the rest of devices (could be due to the team
profile?)?
Why isn't the profile installed when I install the app on my development device? The profile was installed on the rest of devices when installing the app.
I just cannot understand why this is workig with with the other devices but failing with this one.
It turned out to be a stupid problem.
After adding the new device to the profile, downloading, importing it to xCode and rebuilding the app, the profile embeded inside the ipa file still was the old one. I just cleaned the project and everything was fine (probably xCode didn't update because it was the same edited profile)

how do I give a provisioning app to another person?

I have a developed an iphone application. The web service was developed by someone who is remote and does not have a developer account / xcode etc. He does have iTunes though.
Is there a way for me to allow his iphone to install the application without him having to create a developer account, have xcode etc? A way to make the application available to his iTunes would be ideal.
Is this possible?
Many thanks,
Fidel
Get his iPhone device UDID. Then create a distribution profile for ad-hoc distribution and add his UDID to the profile. Create a distribution build of your app and sign with that distribution profile. Send over the build .app and the .mobileprovision (provisioning profile) to him. He will have to install the profile first via iTunes (drag and drop to Library section and then sync) and then similarly he can install the app once the profile is successfully installed.

Why not use development provisioning instead of ad hoc?

I was under the impression that when you use a development provisioning profile for a build of an app, only the specified developers can deploy that build to a phone.
But I just deployed a build that uses a development profile to a phone using Xcode Organizer, even though I'm not one of the valid developers for that profile. One of my colleagues, who doesn't even have Xcode installed, did the same with his phone using iTunes.
In that case, why not use a development provisioning profile for distributing your app to e.g. your QA team, instead of ad hoc distribution?
EDIT: Please read the part in bold carefully before answering. I'm not asking a basic "how does this work" question. I've made a lot of development, ad hoc, and app store builds, and now I find that I seem to have made some wrong assumptions.
There's one situation in which you need an Ad Hoc profile, and that's when you want to test Push Notifications.
If you test Push Notifications on a Development Provisioning Profile, your push notifications need to be sent using the Development Push Notification Certificate for your SSL connections to Apple's sandbox APNS server.
If you want to test Push Notifications using your Production Push Notification Certificate and the live APNS servers, you'll have to deploy your app to a device using a Distribution Certificate and Ad Hoc Provisioning Profile (which includes doing the Entitlement.plist steps, which you can ordinarily skip if you were only using Developer Provisioning Profiles).
Also note that when you deploy using an Ad Hoc profile, your device token will be different from the one you use when you're using the development profile. This the recommended way to test APN because there's no back end changes that need to be made between the Ad Hoc build and the final live deployment on the AppStore.
Ad-Hoc is not for developers, but for testers. Who do not have iPhone SDK / XCode, iTunes only.
(The answer is: you can install ad-hoc app without developer certificate, and can't do it with development app)
Method 1: Install from XCode
The Development Provisioning Profile requires you to run the app (initially) from within XCode.
This has the side-effect of marking the device as being used for development, but also requires you to connect the iPhone/iPod Touch to the machine running XCode. Once you run the app from XCode, the app is installed on the device and you no longer need to be connected to the machine to run it. (Until you want to update the app.)
Method 2: Install from iTunes
An Ad-Hoc provisioning profile allows you to give the app to anyone and let them install it themselves using iTunes. You send them:
the app, and
the Ad-Hoc Provisioning Profile
They select these two and drag them onto iTunes. Then sync.
Later, you can give them an updated version of the app only (without the Ad-Hoc Provisioning Profile, since they've already installed that on their device) and they can drag the new app onto the iTunes icon to install the new version.
One limitation to Ad-Hoc distribution, is that it requires you to enter each Device ID into the iPhone Development Portal. And there is a limit to 100 device IDs per year (you cannot erase any IDs, until your next year begins -- only add them). The 100-ID limit will not be a hindrance for most developers, just keep in mind that you need to get the device ID ahead of time, before you create the Ad-Hoc Provisioning Profile to send to the person you want to install your app.