2016-10-26 2 views
0

Angenommen, meine App einen Anruf bekommt:konvertieren NSURL zu NSData oder NSStream zum Öffnen

- (BOOL)application:(UIApplication *)app 
     openURL:(NSURL *)url 
     options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options; 

Aber was ich bin wirklich interessiert ist nicht die URL, es die Daten ist, dass die URL führt mich zu. Gibt es eine einheitliche Möglichkeit, die Daten aus der URL zu entfernen? (zB ein NSData oder NSStream Objekt). Oder muss ich die URL analysieren, um zu sehen, um welche Art von URL es sich handelt (Datei usw.), und dann eine geeignete Methode verwenden, um die Daten zu erhalten?

+0

Sie sind der Ersteller der App - also sollten Sie wissen, was Ihre App tun soll, wenn sie eine URL empfängt. – vikingosegundo

Antwort

0

Sie können immer die Daten von der URL laden und dann etwas damit tun.

- (BOOL)application:(UIApplication *)app 
      openURL:(NSURL *)url 
      options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { 
    NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
     // do something with the data 
     NSLog(@"data: %@", data); 
    }]; 

    [task resume]; 

    return YES; 
}