Downloading and Installing IPA from server if user clicks on button on Iphone - ios

I am working on an app where I deploy the .ipa file and manifest.plist on my server and from there I try to install the app to my iphone.
The app is initially installed but I need to check if a latest version is available on the server. I have done this part and now wish to install the latest .ipa from the server directly to my phone without redirecting user to the html page of the server
Found some links on stack overflow, especially this:
Download and install an ipa from url on iOS
I have done this:
let endPointURL = NSURL(string: "itms-services://?action=download-manifest&url=myUrlString")
UIApplication.sharedApplication().openURL(endPointURL!)
I get unsupported URL exception. Can anyone tell me how I can achieve this? Is there any other way to directly start installing the upgrade without navigating to the actual html page?

It's just for testing purpose. Only registered devices are allowed to do this.
Only single way is there to download your app and its app store. You can give app store link and it will redirect user to appstore.
And if you want to test just use test flight it's easiest way.
Your linked question also tells that. Just for testing purpose it's possible now.

I found this same issue before.
A workaround for this is to new up a webview (you can hide it if you wish) and then give the request to the webview to perform. When the request loads you will then be shown the popup asking if you wish to download the app.

Related

Is there a way to get the search result i get in the App Store app on the iOS device? ( How to get the ipa file of "App Store"? )

Updated on 2015-11-1:
One solution I am trying is to start App Store using Applium, so that I can record/monitor iOS UI elements. just like what we did Selenium.
Let's treat App Store as a standard iOS app, is it possible to:
uninstall App Store from my iphone.
get the ipa file of App Store
unzip the ipa file and get the app bundle
run Appium with App Store's app file
Is it possible to get App Store 's ipa file?
======
I want to know the position of my apps when I search on the App Store. When I use the iTunes Search API. I notice the result returned from the iTunes search API for a specific search term are different from the result on the iOS App Store app.
I found This Question is also about this, the owner of that has find out the reason about this condition.
But there is no answer to solve this problem.
Actually I've been trying to build the search request, but it cames that the iOS Appstore is using the HTTPs request, so I don't know what to do with this.
Hope someone can help, I'll be very appreciate.
There is at this time no way to specify that you want the results you would get from an iOS device.
The most obvious solution that comes to mind is to build a search request that appears as I it came from ios in your app code.
I'm sure its possible to determine that by basically proxying an actual iPhone using say your router on your home network to log the traffic from an iphone.
Once you have that you can then basically reverse engineer the call in your app code.
As you can refer from Apple's guidance: Search API, there are too many ways of parameter combination.(Parameters includes:term, country, media, entity, attribute, callback, limit, lang, version, explicit, etc.) So it's almost impossible to find out the way of combination that App Store is adapting so as to get the same search results as users get directly from App Store.
You might want to see if you can get this to work:
In Mac OS X:
Launch iTunes
Under Library menu, click on [Apps] menu.
The iTunes will display all installed app
Right-click on one of those apps
Then click “Show in Finder” option
An alternative to this is simply open the directory of .ipa files stored by using this path: User/Music/iTunes/Mobile Applications
This probably only works with apps you downloaded, but it is worth trying.
It's possible to listen in on https connections by installing a trusted ssl certificate on the device and running traffic through a proxy - basically performing a man-in-the-middle attack on yourself. I've previously used Charles Proxy to do this - here's the guide how to set this up. That way you should be able to see exactly what request the App Store app is sending and what response it is getting. And thus it should also be possible to spoof this request and parse the results elsewhere.

swift open link in safari/app store

I have a simple iOS app and I'm in the process of developing a pro version of the app. I will then add a hyperlink to the existing app that will point to the url of the pro app in the app store. So is there any recommended way to do this so when the user taps the link, they will be forwarded to the pro app's page on the app store?
Will the user be redirected to the app store if I simply use this piece of code?
UIApplication.sharedApplication().openURL("http://itunes.apple.com/myappname")
As Far As I know, there's no longer
itms-apps://
instead of the regular http://
so the best way is to use this line of code, watch that I've put it in NSURL because you can't past a simple String. Other than that you can use ! at the end or better way is to use IF LET ...
UIApplication.sharedApplication().openURL(NSURL(string: "https://itunes.apple.com/us/app/24-s-wt-h-plyqzyh-hyhydh-smqry/id897282272?ls=1&mt=8")!)
UIApplication.sharedApplication().openURL(NSURL(string : "itms-apps://itunes.apple.com/app/developerName")!)
With this one I couldn't open my app page on the App Store then I went to my iTunes page on Safari, copied my home page uri and pasted it to related code. And it works perfect!
Just copy your iTunes page on the internet and paste it!

Simple download link for an ios app without itunes

I want to supply a simple link for testing purpose to download an ios app? To which file has the link to point to.
I tried that one without success:
<a href="itms-services://?action=download-manifest&url=/static/app.plist">
click this link to install</a>
Any idea?
Please try to provide full plist url.
Example :
Install
For iOS 8, after you click the hyperlink, you must press the "Home" button manually to see your app installing.
From iOS 7.1 Apple forces you to use HTTPS, not HTTP. That means if you are going to use a host you have, or localhost, you must have an SSL Certificate. Or else, the download will not work.

ios Application - Manually Installation for a Custom Application

I am currently developing an iOS application for iPhone and iPad and i need to manually install the application without the need for xcode.
Is any way to install the custom application manually like the way i do with android. For example to copy the package to the phone and install it?
The idea is to update the application after every bug fix without the need of xcode because the client does not have a mac.
Thanks!
If I understand your question, then my answer will help you.
As your client doesn't having mac and assuming that you have created a build of app u want to install with valid distribution certificate.
Just upload your build here - http://www.diawi.com (You can upload provisioning profile too)
It will give you a link. just send that link to your client and let hih/her open that link in iDevice's safari browser. Then simply hit install button to install app.
Use TestFlight.
EDIT: If you want to client to know update about app, then I will suggest to go for TestFlight as you can mention the version and also can add comment about each build updated there and client can read it by logging in that app from it's device.
Easy way, Make its .ipa file upload it on here - http://www.diawi.com, it will give yoy url, this url give yor client and open it on safari, your application will install in client iphone without Xcode.
They can do it via iTunes or iPhone Configuration Utility. Refer the link

iOS: Possible to install configuration profiles on device without going through safari?

I'm trying to install a .mobileconfig file through an application without going through the Safari or Mail apps.
At the moment, I can download the file in my application, but still have to pass it to safari to handle. This means that the user gets dumped back in safari after they've installed the profile, whereas I want to return them to my application.
The docs mention that Safari looks for the .mobileconfig extension, which it presumably passes on to the Settings app. Is there a way to cut out the middleman, like a prefs:... URL scheme?
I've searched for a while and tried everything I can think of - no luck so far. It looks like you have to go through Safari to do it.
To improve user experience, you can launch Safari with a page that you host that 1) allows the user to install the configuration profile and 2) allows them to come back to your app via a custom url scheme (yourapp://app/check_profile).
I posted an answer with code which does what akhomenko mentioned, but automatically (no user interaction required), here: Installing a configuration profile on iPhone - programmatically

Resources