I am attempting to distribute an iPad application wirelessly over an IP address using a CentOS 6 server. I've done this on a GoDaddy web hosting account and it worked just fine. I have the plist and ipa file in there, and I linked to the plist as so:
itms-services://?action=download-manifest&url=http://(ipAddress)/apps/theapp.plist
However when I click on the link, absolutely nothing happens. I already added the MIME lists for ipa and plist to the mime.type file, and restarted the server.
application/octet-stream ipa
text/xml plist
Still nothing. What is going on?
With enterprise / in house distribution, the release version has to be signed with the same profile as is used in the archive / distribution process
Related
I'm trying to install the iOS application via Safari.
When archiving the IPA file I have checked in Over Air installation and entered the right URL for ipa, 57x57, 512x512 images. Then created Manifest Plist file.
And I'm calling the Manifest file using the below URL
itms-services://?action=download-manifest&url=MANIFEST_SERVER_URL
While trying to open the link, It shows Open in iTunes correctly, but nothing happens for some time.
Then I get this alert "Cannot connect to URL".
Why is this happening? Is this because we are using self signed certificate in our server. If yes how to resolve it without buying the certificate.
You need a valid HTTPS cert to use this.
You can
get a free cert at letsencrypt.org
upload your app to DropBox or other file sharing service that provides an HTTPS URL
distribute build via distribution service like hockeyapp or TestFlight
I had the same issue on iOS 11 with a self-signed certificate. But it works fine on iOS 13.
After searching around, I finally got a workaround:
Go to Settings > General > About > Certificate Trust Settings. Under "Enable full trust for root certificates", turn on trust for the certificate.
Official document
Is there a concise guide to signing and distributing apps over the air for iOS? We have an extremely simple app to be distributed in-house to five or six users. Not going to get a $10000 MDM solution.
Apple's documentation is absolutely incomprehensible.
Sorry, been futzing with this for two days.
We have an iOS app. I can install it on my phone for debugging using xcode. Runs perfectly.
We loaded the plist, ipa, and icons onto an IIS server. The IIS Server is secured using an SSL cert. You have to log in, and then click on a link to be taken to the page with the download link. So even getting to the link means you have authenticated.
All the links in the plist file are https links.
I can manually type the https address for the plist file and I get an XML file in Chrome or Safari from my PC, my Mac, or my iPhone.
If a person hits the link on an iPhone, "cannot connect to server www.example.com". In the iPhone console, I see the error message SSErrorDomain Code=2 cannot log into iTunes.
Driving me crazy. As best as I can tell, the itms prefix is not using the https link, but how to tell?
For in-house distribution (outside the App Store), you need to have an enterprise developer account, and sign the app with an Ad Hoc Provisioning profile.
If you don't have an enterprise account, you'll have to specify a list of devices when creating the provisioning profile (not recommended).
You could then host the app on a web server, and have the users download it through Safari.
Got it to work. Praise the Lord.
I moved the ~/app directory from a server that required authentication to one that does not but only holds the app and nothing else. The server is secured by a SSL certificate issued by GoDaddy so it's not self signed.
I think that Apple was trying to come back to the site somehow to check something and the authentication/redirection was blowing that up.
I also edited the plist and index.html files manually removing all white space (tabs & spaces) which had been inserted.
Gonna test it on a wider audience now.
It's an in-house iOS app for a small company. The company has iOS developer enterprise program. I am hoping that it is possible to distribute the app using their corporate website which has an SSL certificate i.e. without using an MDM server.
I am able to export an .ipa file for Enterprise Deployment. Thanks.
You can do it through their server in a few easy steps.
You need to first create an html page which the users can navigate to. This page will hold a button or link which will open a manifest plist with instructions to install the ipa file.
HTML:
itms-services://?action=download-manifest&url="The url where the manifest.plist can be found"
This means that you not only need to generate a .ipa but also a .plist which will be the manifest. You can search how to generate manifest for iOS. One thing to keep in mind, the path to the .ipa referenced in the .plist will need to be its path on the server for example:
https://myserver.com/myapp/app.ipa
For this example we can assume that the myapp/ directory holds the .ipa, .plist and .html file for the app.
Assuming all provisioning profiles are set correctly, the user should then be able to download the app.
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)
I have an .ipa file which is signed with an Enterprise Certificate and using an inHouse distribution profile. I do not have the original source code with me. When I went through the distribution article in Dev center, I understood that it has to be archived for distribution purpose. I do not know how to archive an .ipa file. Could you please assist me in this? I'm new to this iOS development world.
I am going to assume everything was built and signed properly, with the proper provisioning profiles and distribution certificates.
You need the myApp.ipa and the myApp.plist generated by XCode, there may be others ways, but generating these via Xcode is the easiest. Once you have both of these files, upload them to your server (e.g. public_html/app/myApp.ipa and public_html/app/myApp.plist).
Your users navigate to your download page via Safari. On this page you include a link like the following:
Install the app
It is pointing to the myApp.plist. This must have (among other things) an item like the following (not sure about the exact format at the moment, but it is easy to spot if you open the .plist file in text editor):
<key>url</key>
<string>http://mydomain.com/app/myApp.ipa</string>
This URL is also usually added during the archive in XCode, but it can be easliy edited. It points to the .ipa (which really a zip file containg the executable and other resources like images).
When users tap "Install the app" in Safari, it will read the plist file, and if everything was successful up to this point, will prompt the user to install the application.