I followed a set of instructions from multiple sources about how to deploy apps ad hoc without the need for itunes; however, I ran into a discrepancy. I got the necessary distribution certificate, made an ad hoc provisioning profile, used the profile to build and archive, shared the app, filled out the necessary fields, uploaded the .ipa and .plist files to my server, and tested. I couldn't install the app because there was no provisioning profile on the device. I uploaded the provisioning profile, tried downloading it from the device, and it worked. Now I can download and install the apps without connecting to my computer.
However, when testing on a different device, the app refused to run. I found out that it was because the mobile provisioning file was refusing to install, and that was because developer mode was not turned on on the device. I then found out that in order to turn on developer mode I have to connect to a computer.
Is there a way around this issue, to either turn on developer mode without connecting to a computer, or to not need the provisioning profile installation installed, or to somehow install the provisioning profile on the device without developer mode on?
I don't see a mention of developer mode or the provisioning profile on this page: http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
What am I missing here? Thanks.
Archive your app with the profile having all the device UDID's that you want to support. This should solve your problem.
TestFlightApp.com
You can distribute ad hoc (limited to 100 devices) or enterprise (deploying custom apps company-wide > 100 devices). Plus, Apple just acquired them so either their service will get even better or they'll integrate it with Xcode 6.
Using TestFlight at work and it's amazing! Track who downloads you builds, gather feedback, import the TestFlight SDK and it will even report crashes.
Related
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)
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 have an iPhone app that was handed to me. I deleted all of the existing certificates & provisioning profiles and created them from scratch. I believe I have set everything in the Provisioning Portal correctly:
Distribution Certificate created
Devices with correct UDID's added
Ad-Hoc Provisioning file created with associated devices
I was able to successfully build & Archive my application. When I save it as a *.ipa and drag that and the *.mobileprovision file into iTunes everything is good, until my phone is syncing.
At that point I get an iTunes Sync: Failed to Install error. Other testers get the error: The app was not installed because the signer is not valid
I am not sure how to resolve this?
I have received that error because I had created my .ipa file with the ad hoc provisioning profile BEFORE I added the devices. Are you sure that you are using the most recent provisioning profile when you create the ipa? You may need to check which scheme you are using and verify its right
Everything was correct, except for the final stage where I am given the save options. The profile matched my Distribution profile, but for the wrong app. It just defaulted to one of them. I had to manually change it to the Ad Hoc Distribution I was building for. Silly mistake.
This question was not resolved by the above suggestions, however we were able to fix it by removing the entitlements from the build.
This problem happened while working on an old app we were updating. No jailbreaking, just an ad hoc .ipa sent over email between team members. All provisions were correct.
We were able to figure out the issue was entitlements by trying to install using "iPhone Configuration Utility" instead of iTunes. That gave us the actual error message which was easy to fix.
Debugging this issue was easier than with iTunes. It also has better UI for installing ad hoc builds. I recommend you try it here:
http://www.macupdate.com/app/mac/27986/apple-iphone-configuration-utility
i already face this , finnaly i found,.
If Your Certificates, Provisoning Profiles then & the ipa is generated,,
so there is no problem in your ipa File,
But Problem in Specific Device in which you are try to insalled,,
If Your Device is JailBroken Then Easily iTunes cab Install ipa,,
But If Not Then You Have To Register/Add device to
https://developer.apple.com/devcenter/ios/index.action
->Procsoning Profile -> Devices
Then & Then Ipa File Is Installed
I have an iPhone app I have developed that I want to have some Ad Hoc testers use. I have a file "xx.ipa" and a "xx.mobileprovision" in a directory on my iMac, which has been uploaded to a private website.
It was built with Xcode, I have all of the provisioning profiles downloaded (Dev, Dist and Ad Hoc).
My tester tells me that it won't load, so I want to load it on my iPhone (it is one of the "devices", his iPhone is the other), so I can see what is wrong and fix it.
How do I do this?
Drop both of those files onto iTunes and sync. As long as the device syncing is listed in the provisioning profile, there should be no issues.
If you are trying to test the Ad Hoc installation, just do the same. I would remove any build installed by Xcode during development though.
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.