From a97dffff692039c8b39b3348b1d98ce070b51158 Mon Sep 17 00:00:00 2001 From: Natalie Bunduwongse Date: Mon, 5 Jan 2026 16:30:33 +1300 Subject: [PATCH] feat: load file URLs with base URL to prevent CORS errors --- .../Gree/Assets/Plugins/iOS/ImmutableWebView.mm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Packages/Passport/Runtime/ThirdParty/Gree/Assets/Plugins/iOS/ImmutableWebView.mm b/src/Packages/Passport/Runtime/ThirdParty/Gree/Assets/Plugins/iOS/ImmutableWebView.mm index df22cde14..450628702 100644 --- a/src/Packages/Passport/Runtime/ThirdParty/Gree/Assets/Plugins/iOS/ImmutableWebView.mm +++ b/src/Packages/Passport/Runtime/ThirdParty/Gree/Assets/Plugins/iOS/ImmutableWebView.mm @@ -339,8 +339,21 @@ - (void)loadURL:(const char *)url WKWebView *_webView = (WKWebView *)webView; NSString *urlStr = [NSString stringWithUTF8String:url]; NSURL *nsurl = [[NSURL alloc] initFileURLWithPath:urlStr]; - NSURLRequest *request = [NSURLRequest requestWithURL:nsurl]; - [_webView load:request]; + + // Load file content as HTML string with a proper base URL + NSError *error = nil; + NSString *htmlString = [NSString stringWithContentsOfURL:nsurl + encoding:NSUTF8StringEncoding + error:&error]; + + if (error) { + NSLog(@"Error loading file: %@", error.localizedDescription); + return; + } + + // Use http://localhost as base URL to avoid null origin + NSURL *baseURL = [NSURL URLWithString:@"http://localhost/"]; + [_webView loadHTMLString:htmlString baseURL:baseURL]; } - (void)evaluateJS:(const char *)js