(К сожалению, следующий метод не работает, но я оставляю этот пост, потому что пример строки преобразования пути URL-адреса изображения действительно полезен для других случаев, когда вам нужны HTML-пути к файлам в вашем коде. Пожалуйста, смотрите мой пост на Base64Encoding для способа, который работает.)
Я сам столкнулся с этой проблемой и нашел способ, который работает. Вы МОЖЕТЕ заставить изображения появляться встроенными, используя полный путь к файлу изображения.
Это займет небольшое преобразование с вашей стороны, но используйте обычные методы для получения каталогов вашего приложения (NSString *path = [[NSBundle mainBundle] resourcePath], etc...)
, затем преобразуйте строку в буквальный URL. Например, возвращаемая выше строка «path» будет содержать что-то вроде »/ Users / Me / Библиотека / Поддержка приложений / iPhone Simulator / 3.2 / Applications / 25ADA98D-8DF4-4344-8B78-C18BC757EBDC / MyEmailingApplication.app" .
Вам нужно будет превратить эту строку в
" file: /// Пользователи // Me // Библиотека // Приложение% 20Support // iPhone% 20 Simulator // 3.2 // Приложения // 25ADA98D-8DF4-4344-8B78-C18BC757EBDC // MyEmailingApplication .app // "
и затем вы можете добавить имена файлов изображений до конца. (этот пример указывает на ресурсы приложения, но то же самое относится к каталогам tmp и documents).
Вы можете выполнить преобразование этой строки с помощью комбинации
[NSString stringWithFormat:@"file:///%@//%@",path,myImageName]
после использования
[path stringByReplacingOccurencesOfString:@"/" withString:@"//"]
для исправления косой черты в «пути» и
[path stringByReplacingOccurencesOfString:@" " withString:@"%20"]
чтобы сделать пробелы удобными для HTML. Теперь вы можете использовать этот буквальный URL в своем теле письма в формате HTML, например, img src = \ "", pathToMyImage, "\"
Пример выглядит как большая работа, но на самом деле, как только вы его настроите, это совсем не сложно, и он работает как шарм :-) Удачи!