Я хочу сделать скриншот и затем отправить в webview локальный путь к нему, чтобы он показывал его. Я знаю, что веб-просмотр может брать изображения из NSBundle, но эти скриншоты создаются динамически - могу ли я что-то добавить к нему с помощью кода?
Я пытался это так:
UIGraphicsBeginImageContext( webView.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSString *file = @"myfile.png";
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];
NSString *path = [directory stringByAppendingPathComponent: file];
[UIImagePNGRepresentation(viewImage) writeToFile:path atomically:YES];
NSString *function = [NSString stringWithFormat:@"loadImagePlease(%@);",path];
[ ad stringByEvaluatingJavaScriptFromString:function];
Но loadImageFunction не может получить к нему доступ, с префиксом file: /// или file: //. Какое решение?
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ: добавлена отсутствующая строка в коде
РЕШЕНИЕ. Я использовал совет Сирила и эту библиотеку для кодирования: http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html