2009-05-04 11 views

Odpowiedz

53

UIApplication ma metodę zwaną OpenURL:

przykład:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"]; 

if (![[UIApplication sharedApplication] openURL:url]) { 
    NSLog(@"%@%@",@"Failed to open url:",[url description]); 
} 
200

powinny być następujące:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"]; 

if (![[UIApplication sharedApplication] openURL:url]) { 
    NSLog(@"%@%@",@"Failed to open url:",[url description]); 
} 
+0

Czy to się liczy na wykorzystanie pamięci w Twojej aplikacji? Czy istnieje dobry sposób, aby powrócić do swojej aplikacji (np. Funkcja logowania w serwisach społecznościowych)? – brendan

+0

@brendan - Nie ma tu nic trudnego do przydzielenia, więc automatycznie ustawia się na autooddzielanie. – iveytron

+1

@BRo moje przypuszczenie nie byłoby tak, jak zakładam, że "webview" jest uruchamiany w aplikacji Safari, więc byłby objęty tym procesem. – surtyaar

16

można otworzyć URL w safari z tym:

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

M aybe ktoś może używać Swift wersję:

w Swift 2.2:

UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!) 

i 3,0:

UIApplication.shared().openURL(URL(string: "https://www.google.com")!) 
2

z iOS 10 mamy jedną inną metodę z obsługi realizacji:

ObjectiveC :

NSDictionary *options = [[NSDictionary alloc] init]; 
//options can be empty 
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"]; 
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success){ 
}]; 
0

W Swift 3.0 możesz użyć tej klasy, aby ułatwić komunikację. Opiekunowie szkieletu wycofali się lub usunęli poprzednie odpowiedzi.

import UIKit 

class InterAppCommunication { 
    static func openURI(_ URI: String) { 
     UIApplication.shared.open(URL(string: URI)!, options: [:], completionHandler: { (succ: Bool) in print("Complete! Success? \(succ)") }) 
    } 
}
Powiązane problemy