diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m index ee72b35721..afe079bec8 100644 --- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m +++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m @@ -769,8 +769,12 @@ - (NSURL *)completeURL:(NSString *)url if (!url) { return nil; } - - return [NSURL URLWithString:url relativeToURL:_scriptURL]; + NSURL *result = [NSURL URLWithString:url relativeToURL:_scriptURL]; + if (result) { + return result; + } + // if result is nil, try url-encode the 'url' string. + return [NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] relativeToURL:_scriptURL]; } - (BOOL)checkModuleEventRegistered:(NSString*)event moduleClassName:(NSString*)moduleClassName