This is how I fixed the problem using the workaround bellow:
UIImage *img = [[SDWebImageManager sharedManager] imageWithURL:[NSURL URLWithString:Img_URL]]; //Img_URL is NSString of your image URL
if (img) { //If image is previously downloaded set it and we're done.
[imageView setImage:img];
}else{
[imageView setImageWithURL:[NSURL URLWithString:Img_URL] placeholderImage:[UIImage imageNamed:@"defaultPin"] success:^(UIImage *image, BOOL cached) {
if (!marker.snippet || !cached) {
[marker setSnippet:@""]; //Set a flag to prevent an infinite loop
if (mapView.selectedMarker == marker) { //Only set if the selected marker equals to the downloaded marker
[mpVu setSelectedMarker:marker];
}
}
} failure:^(NSError *error) {
}];
}