openURL: deprecated in iOS 10

Joannes picture Joannes · Sep 17, 2016 · Viewed 48.2k times · Source

Apple with iOS 10 has deprecated openURL: for openURL:option:completionHandler If I have:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];

How it will become? options:<#(nonnull NSDictionary *)#> in detail

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"] options:<#(nonnull NSDictionary<NSString *,id> *)#> completionHandler:nil];

Thanks

Update options:@{} For empty dictionary with no key and value http://useyourloaf.com/blog/querying-url-schemes-with-canopenurl/

Answer

Nirav D picture Nirav D · Sep 17, 2016

Write like this.

Handle completionHandler

UIApplication *application = [UIApplication sharedApplication];
NSURL *URL = [NSURL URLWithString:@"http://www.google.com"];
[application openURL:URL options:@{} completionHandler:^(BOOL success) {
    if (success) {
         NSLog(@"Opened url");
    }
}];

Without handling completionHandler

[application openURL:URL options:@{} completionHandler:nil];