iOS7 itms-services scheme not work? - ios

I have an in-house app which I distribute over a local wifi
in release page have a link like this
itms-services://?action=download-manifest&url=http://192.168.1.231/app/plist/houseApp/out.plist
this worked on iOS 7 Safari
but when i add this page to main screen (like web app)
the same link didn't work, and apache access.log have no record about /app/plist/houseApp/out.plist
this worked in iOS 6
Anybody knows about this?

On the 7.1 update all software installation services are forced to use the HTTPS protocol, also covering non-standard itms-services:// URLs.
You need to change the protocol type:
from: itms-services://?action=download-manifest&url=http://yourdomain.com/manifest.plist
to: itms-services://?action=download-manifest&url=https://yourdomain.com/manifest.plist
For more detail and how to get a certificate go to: Fix certificate error on iOS 7

It seems Apple have disabled all URL schemas in iOS7 (including mailto: links) in standalone webapps. This has seriously implications for my place of work.
See this post: https://discussions.apple.com/thread/5385948?start=0&tstart=0

This worked for me in iOS 8.0. Simply use https for URLs.

Related

React native ios deeplinking with universal URL

I've been facing issue setting up deeplinking with react native for IOS with react navigation 5.
When i try the URL scheme of myownapp://homepage/ it opens up the app.
But if i try with url : https://dev.myownapp.com/homepage/ it opens up the safari browser, but it doesnt open up the app.
I've tried with the documentation by adding Appropriate code in AppDelegate.m file and also ive added myownapp.com in the Associated Domains in Xcode.
Can you guys brief about what configuration is left to be done because the same opens in android. Thanks in Advance
Can you reach https://dev.myownapp.com/.well-known/apple-app-site-association or https://dev.myownapp.com/apple-app-site-association yet?
If you can't, please host the file on the servers you want to be supported universal link.
So to make it work:
You need to setup your app to be supported wildcard domain by set applinks:*.myownapp.com.
You also need to host the config file (apple-app-site-association) to all the sub-domains, it means you're able to reach:
https://sub1.myownapp.com/.well-known/apple-app-site-association
https://sub2.myownapp.com/.well-known/apple-app-site-association
....
Another thing you should notice that all your domains must be supported secure connection (https).

will iOS universal links support work without web server?

I have created an cordova iOS app and wanted to add universal links support to it with a custom domain. Means I don't have any web server to configure my app association file . But still i need to support my app to handle a custom domain link like abc.com/path/* . abc.com doesn't exist but i need to handle this links in my ios app. Same is working fine in Android. any custom non existing domain links are working fine in android. but the same is not the case for ios. Can some one please help me in this how can i achieve this.
I have already tried cordova-plugin-deeplinks to do the same. Android is working perfectly but ios is not working.
No, it will not work. You need to host the apple-app-site-association file on that domain in order to prove ownership of the domain.
Otherwise, iOS wouldn't be able to prevent your app from hijacking e.g. twitter.com.
Custom URL Scheme solved my problem. used cordova-plugin-customurlscheme plugin and configured my custom url schema.

Difference between Universal linking and old URL scheme in iOS

Could you please tell me the main difference in coding when changing from old custom url scheme to universal binding(Deep linking in iOS) introduced by iOS from iOS 9 onwards?
I believe that deep linking is still possible using custom url scheme. Is that correct? Thanks in advance.
I have referred the following links,
https://blog.branch.io/ios-9-2-redirection-update-uri-scheme-and-universal-links/
https://blog.branch.io/ios-9.2-deep-linking-guide-transitioning-to-universal-links/
But I would like to get a simple answer. So I rely on stack overflow :)
Universal link: more suited for web that all pages are linking with the app, you bind a pattern on your app and a json on your page for ios to recognize, dont need know the pattern of the other app to open it, more secure
URL scheme: create a pattern and your web redirect to that url so iOS can recognize, it show error if the app is not install, need to know the app scheme to open (also need list in plist)
They can be use together
That would be incorrect: beginning with iOS 9.2, Apple discontinued support for opening apps via URI Scheme. Universal Links were introduced with iOS 9.0 and as of iOS 9.2 they have been the only way to open apps via links.
URI Schemes were easier to configure than Universal Links, as they required little more than a single entry in the project's .plist file and code to handle the link in the didFinishLaunchingWithOptions and openURL functions of the AppDelegate class.
Universal Links rely on a remote "AASA" file to map links to apps. Configuration involves creating and hosting the AASA file and adding the associated-domains entitlement to the app (you do not need to worry about the AASA file if you are using Branch).
Universal Linking requires that there be code to handle referring links in the didFinishLaunchingWithOptions and continueUserActivity functions of the AppDelegate class.
No, customer URL scheme's would be removed in the upcoming versions of iOS since it is not secure and has a lot of privacy issues i.e, App A can get to know whether you are using B, like Facebook can know whether you are using Tinder. So universal links is the right way to go now.

How to use UIWebView that supports IPv6?

I have an app that shows a content using UIWebView. Apple rejects the app, because it doesn't support IPv6 network. Do you have any idea how to fix that? I have to import some libraries or do something else?
I am not using IP address for the URL, but it's domain name, for example:
https://asd.com
Your UIWebView not the reason of rejection the reason was your link or you server not support IPV6, Firstly test if your link support ipv6 that apple mean from this link you can do it , If you not pass this test search for how to configuration your server to support IPV6, I hope I help you
If your application is targeting above iOS 8, try using WebKit instead of UIWebView.
Refer to the following link which clarifies the text below it:
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/
Note: "In apps that run in iOS 8 and later, use the WKWebView class instead of using UIWebView. Additionally, consider setting the WKPreferences property javaScriptEnabled to false if you render files that are not supposed to run JavaScript."

How to launch MobileIron Web#Work app from another iPhone app?

I am trying to figure out the URL name for MobileIron Web#Work in order to launch it from another app. For most apps you can type in "appname://" in safari and it will prompt to launch the application. For example, typing in "googlechrome://" in safari will prompt to launch in "Chrome".
I can't seem to figure out what the url name is for the MobileIron Web#Work app. Please help.
Thanks.
You could use "mibrowser://" and "mibrowsers://" schemes to open HTTP and HTTPS links respectively in iOS W#W. And you could use "mibrowserf://" and "mibrowsersf://" schemes to open HTTP and HTTPS links in iOS W#W in a full screen mode.
Please try this one: "appconnect://"
I was able to figure it out using mibrowser://.

Resources