Można spojrzeć na to w ten sposób (kod głównie niesprawdzonych, ale masz pomysł):
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
NSLog(@"scheme: %@", [url scheme]);
NSLog(@"url: %@", url);
NSLog(@"query: %@", [url query]);
NSLog(@"host: %@", [url host]);
NSLog(@"path: %@", [url path]);
NSDictionary * dict = [self parseQueryString:[url query]];
NSLog(@"query dict: %@", dict);
}
Więc można to zrobić:
NSString * strNoURLScheme =
[strMyURLWithScheme stringByReplacingOccurrencesOfString:[url scheme] withString:@""];
NSLog(@"URL without scheme: %@", strNoURLScheme);
parseQueryString
- (NSDictionary *)parseQueryString:(NSString *)query
{
NSMutableDictionary *dict = [[[NSMutableDictionary alloc] initWithCapacity:6] autorelease];
NSArray *pairs = [query componentsSeparatedByString:@"&"];
for (NSString *pair in pairs) {
NSArray *elements = [pair componentsSeparatedByString:@"="];
NSString *key = [[elements objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *val = [[elements objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[dict setObject:val forKey:key];
}
return dict;
}
NSString * str = [urURL absoluteString]; NSString * string = [str stringByReplacingOccurrencesOfString: @ ": //" withString: @ ""] // spróbuj tego – the1pawan
Zobacz [to] (https://github.com/joeldev/JLRoutes/blob/master /JLRoutes/JLRoutes.m#L82). Analizuje cały schemat adresów URL, ale dostajesz jego istotę. – CodaFi