An HTTP server can instruct remote clients to remove a cookie by setting its value to an empty string. When this happens this assertion fails: `+ (void)addCookieToSharedCookiesStorage:(NSHTTPCookie *)cookie { [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; #if DEBUG NSHTTPCookie *readCookie = [[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] lastObject]; NSAssert(readCookie, @"cannot read any cookie after adding one"); #endif }` It shouldn't attempt to reread a cookie with an empty value.