NSScreencast Episode #119 URL Scheme Callbacks
URL Scheme Callbacks - NSScreencast
URL Schemeでcallbackを使って、遷移してすぐ戻る
- Info
- Url types
- Url Sheme
- Add url scheme
- x-callback-wordrev
- Url types
- Sending
- NSURL URLWithString
- if ([[UIApplication sharedApplication] canOpenURL:url])
- [[UIApplication sharedApplication] openURL:url];
- Calling back
- word = params[@"word"];
- word = [word stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
- stringWithFormat:@"%@?word=%@",
- params[@"x-success"],
- [reversed stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
- [[UIApplication sharedApplication] openURL:callbackURL];
After callback
- if ([[url host] isEqualToString:@"success"])
- [NSNotificationCenter defaultCenter] postNotificationName:@"WordReversed"
- if ([[url host] isEqualToString:@"success"])
Handling query
- query = [url query];
- NSArray *paramValues = [query componentsSeparatedByString:@"&"];
- NSMutableDictionary *params = [NSMutableDictionary dictionary];
- [paramValues enumerateObjectsUsingBlock:^(NSString paramValue, NSUInteger idx, BOOL stop)
- NSArray *parts = [paramValue componentsSeparatedByString:@"="];
- NSString *key = [parts firstObject];
- NSString *value = [parts lastObject];
- params[key] = value;
- Methods for String
- stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding
- componentsSeparatedByString
- ViewControllr
- __weak
- NotificationCenter
- strongSelf
- x-callback-url