I am unable to deploy OTA iPhone apps via my webserver but services like Diawi can install the app on my device just fine - ios

I have built an iPhone application in Xcode and have generated all of the required certificates and provisioning profiles on Apple's developer website. I have installed the certificates on my computer and the test phone I am using has my OTA distribution profile installed on it.
I have built and exported the application using my distribution profile and certificates and put the xml/plist and ipa files on an SSL secured web server and whenever I try to download the app, it asks if I want to install it and then the installation immediately fails and it tells me the app could not be downloaded. However, I have uploaded the ipa file to Diawi.com and using their website I can install the same app on the phone without any issues.
I do not want to have to rely on a 3rd party service for hosting my application.

Things to check:
Make sure your devices UDID is part of the AdHoc provisioning profile you are using
Make sure you are signing the archive with this profile
Make sure the manifest is correct, all URLs (especially any references to images)
Make sure your web-server is setup to recognize .ipa and .plist as the proper MIME types (this has got me a couple of times)

Related

IOSApp unable to install

I try to deploy an app for my company use. So I do Product->Archive, select the good distribution cert/profil. I upload the file on the web, make the link to the manifest.plist to .ipa and then I try to install it on my ipad but ... unable to intall:
UPDATE: I don't want to install it directly on a Ipad, but download it from an url with the ipad and I'm using entreprise developper program and it work if I directly build it for the ipad
Here the ios console Log :
I find strange that in the log after
INVALID >> { 642AFE.... this number is not the same there is in my
ipa filename.
I also find strange to get many plist file (distribution, export ...) .
Here the folder i drop to the server :
Does anyone have some idea ?
thanks by adavance
If you are using the normal developer account then to install the application in device(either directly or from any third party sites) you have to sign the archive file either with development profile of AdHoc distribution profile. Here if you have selected the Appstore distribution certificate and profile then the application will not be able to install in any device.
If the device's UDID is added to the profile(development or AdHoc distribution) then you can install the app directly using Xcode or via an URL.
If you are using the enterprise program and the application is signed with the distribution certificate and profile then the application can be install in any device regardless of the existence of UDID in the profile.
Please check the profile when you are archiving the ipa.
Hope this helps you in some way.

AIR iOS enterprise application fails to install from a remote location, but works fine locally

I'm building an iPad app (Adobe AIR 28.0) for a corporate client, and I'm struggling to get it working when signing it using their enterprise certificate.
What works:
The IPA builds correctly and is successfully signed with their enterprise certificate and provisioning profile. The app is set to Ad Hoc, doesn't use a wildcard bundle ID (although their certs do: my app is com.companyname.thing, and their provisioning profiles/certs are com.companyname.*).
If I use iTunes to install the application while connected via USB, it works correctly. Additionally if I select to install to a connected device during compilation in Adobe Animate it also works fine.
Once installed, on the first run of the app it complains about not trusting the certificate (this is expected), and if I then go to Settings on the device and manually trust the cert, the application runs as expected. All fine and in line with what I'd expect with an enterprise application.
What doesn't work:
However: when uploading the same IPA to a remote location, the application will download but fails to install completely, giving me the "[appname] could not be installed" message. This occurs on my test devices, but also on the corporate devices which have the required certificate installed. This happens when I upload the build to HockeyApp, and also the client's corporate distribution system (I'm unsure what system this is, but the end result is the same when users download the app)
Can anyone shed any light on why this might be occurring?
EDIT:
I tried to pull the app down from a remote location while observing the XCode console, and found this error:
This is a start but isn't descriptive, what could be causing this? The profile is a valid Distribution one.
I thought I'd post the solution I found, in case any future folk encounter this. My issue was caused by a script that was modifying the IPA and not re-signing it.
The app went into a build system that strips out certain files for certain versions of the application, and then should re-sign it. The system was doing things in the wrong order - if you modifying the internals of a compiled IPA and then fail to re-sign it, it'll fail to install. This also explained why it worked locally. Whew.

Run ipa on device without cable and not with TestFlight?

Is it possible to distribute IPA to device without TestFlight, and not via cable? I have a new MacBook Pro with usb-c and an iPhone. Hard to get company set up TestFlight. Any idea how to test on device?
Yes. Ad-Hoc OTA is the way to go.
On developer.apple.com:
navigate to your account & login
click Certificates, IDs & Profiles in the side menu on the left
on the left, find Devices & click +
register multiple devices by uploading a spreadsheet including the UDIDs and names of the devices
follow the steps to finalize the registration process
You might need to wait 24 hours; I found, it sometimes takes really long for the changes to take effect.
Inside Xcode:
prep: open Xcode settings, accounts, your account and then re-download all the profiles and certificates
archive the product
open the Organizer window and find the archive you've just created
click Distribute App
choose Ad-Hoc
make sure to have include manifest for OTA installation enabled
follow the steps
finally, click export and choose a location to save the files
Upload all the files (icons, .plist & .ipa) to your server. Note that the server needs to be https, this is mandatory. If your's isn't, upload it to Dropbox or some other cloud service. If you're using Dropbox, make sure to replace www.dropbox.com with dl.dropboxusercontent.com.
Manifest
open the manifest.plist file and insert all the new urls
again, for dropbox: replace www.dropbox.com with dl.dropboxusercontent.com
upload the manifest plist to a secure server.
Link:
itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/YourURLHere/manifest.plist
You can try Diawi for Development & In-house Apps Wireless Installations
It will require the target devices to be registered into the signed provisioning profile that will be distributed with
For me Fabric is an excellent tool. You can check it out here. I often distribute ad-hoc builds using this. It simply sends the app install link in an email and you can open the email from your iOS device and install the build right away.

Change mobile provision of IPA file

I have an IPA file generated with XCode with 3 devices embedded in his mobile provision file. I've added 2 additional devices on the mobile provision on apple developer web. Is there any way to install the IPA file on these new devices without regenerating the IPA file on XCode?(or at least, without using a Mac).
The devices has iOS 9.2. It seems with iOS 7 the mobile provision file installs easily, but with 9.2 devices it can't be possible to install the mobile provision file, even with diawi service.
I'm using Standard program Ad-hoc distribution. With this program i can distribute until 100 devices.
There is no possibility to run the app without add the devices to your developer account. You need to add first and then generate another IPA . This is the possibility by my experience. Thanks!
One standard way could be you can upload your IPA file to iTunes connect and Test it using Test flight app (Create internal user for that) the will receive email through which the can install IPA and you will not required to add new device id's hope this will help.

Having issues distributing third party iOS app

I am very new to iOS development and am in a bit of a bind. Another company has made an app for us and we are to deploy it. I have an enterprise development account and have successfully deployed one of my own apps to my own secured app store.
I have received a .ipa and a .plist file from company B and tried to put it up on my app store as I did with my app using the special href tag.
a href="itms-services://?action=download-manifest&url=http://www.myurl.com/app/company_b.plist">link</a>
The app downloads about 90% then fails. I have ensured that it is a valid plist file pointing to the .ipa.
Company-B had to add my iOS device to their device list at https://developer.apple.com/account/ios/device/deviceList.action. After they did this the app would download correctly.
I need to deploy this app to a number of people and Company B cannot add all the devices to their device list.
What can I do to deploy this app properly?
Any and all help is greatly appreciated!
Use a script like https://gist.github.com/RichardBronosky/2878446 to re-sign the ipa with your enterprise certificate. This way you don't need to give the 3rd party developer your signing identity.
You should never give out the private key for your enterprise certificate or give developer.apple.com access to anyone outside of your company.
The company has not properly signed the application. Get them to rebundle the ipa with the proper enterprise certificate

Resources