Use +[RCTConvert NSURL:] everywhere instead of +[NSURL URLWithString:]

Summary:
RCTConvert's URL: method gracefully handles unescaped urls, local file urls, urls containing unicode, etc. URLWithString doesn't.
This commit is contained in:
Nick Lockwood
2015-08-04 16:18:44 -07:00
parent 222594cb44
commit f165bbaf4e
5 changed files with 13 additions and 10 deletions

View File

@@ -9,6 +9,7 @@
#import "RCTActionSheetManager.h"
#import "RCTConvert.h"
#import "RCTLog.h"
#import "RCTUtils.h"
@@ -72,13 +73,13 @@ RCT_EXPORT_METHOD(showShareActionSheetWithOptions:(NSDictionary *)options
successCallback:(RCTResponseSenderBlock)successCallback)
{
NSMutableArray *items = [NSMutableArray array];
id message = options[@"message"];
id url = options[@"url"];
if ([message isKindOfClass:[NSString class]]) {
NSString *message = [RCTConvert NSString:options[@"message"]];
if (message) {
[items addObject:message];
}
if ([url isKindOfClass:[NSString class]]) {
[items addObject:[NSURL URLWithString:url]];
NSURL *URL = [RCTConvert NSURL:options[@"url"]];
if (URL) {
[items addObject:URL];
}
if ([items count] == 0) {
failureCallback(@[@"No `url` or `message` to share"]);