2009-05-04 6 views

risposta

53

UIApplication ha un metodo chiamato openURL:

esempio:

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

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

dovrebbe essere il seguente:

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

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

Questo conterà per l'utilizzo della memoria della tua app? Inoltre, c'è un buon modo per tornare alla tua app (come la funzione di accesso nei siti di social network)? – brendan

+0

@brendan - Qui non è stato assegnato nulla, quindi viene automaticamente impostato su autorelease. – iveytron

+1

@brendan la mia ipotesi sarebbe no visto che presumo che la 'webview' sia lanciata nell'applicazione safari in modo tale che ricada sotto quel processo – surtyaar

16

è possibile aprire l'URL in safari con questo:

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

M aybe qualcuno può utilizzare la versione Swift:

a Swift 2.2:

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

e 3.0:

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

Con iOS 10 abbiamo un metodo diverso con gestore di completamento:

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

In Swift 3.0, puoi usare questa classe per aiutarti a comunicare. I maintainer del framework hanno deprecato o rimosso le risposte precedenti.

import UIKit 

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