Skip to content

Commit 1733694

Browse files
committed
Catch nil response
1 parent 0dcc172 commit 1733694

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/ios/IONAssetHandler.m

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,21 @@ - (void)webView:(WKWebView *)webView startURLSchemeTask:(id <WKURLSchemeTask>)ur
6161

6262
// set cookies to WKWebView
6363
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
64-
NSArray* cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[httpResponse allHeaderFields] forURL:response.URL];
65-
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookies forURL:httpResponse.URL mainDocumentURL:nil];
66-
cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
67-
68-
for (NSHTTPCookie* c in cookies)
69-
{
70-
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
71-
//running in background thread is necessary because setCookie otherwise fails
72-
dispatch_async(dispatch_get_main_queue(), ^(void){
73-
[cookieStore setCookie:c completionHandler:nil];
64+
if(httpResponse) {
65+
NSArray* cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[httpResponse allHeaderFields] forURL:response.URL];
66+
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookies forURL:httpResponse.URL mainDocumentURL:nil];
67+
cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
68+
69+
for (NSHTTPCookie* c in cookies)
70+
{
71+
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
72+
//running in background thread is necessary because setCookie otherwise fails
73+
dispatch_async(dispatch_get_main_queue(), ^(void){
74+
[cookieStore setCookie:c completionHandler:nil];
75+
});
7476
});
75-
});
76-
};
77+
};
78+
}
7779

7880
[urlSchemeTask didReceiveResponse:response];
7981
[urlSchemeTask didReceiveData:data];

0 commit comments

Comments
 (0)