Ошибка утверждения в +[svglength pixelsperinchforcurrentdevice], svglength.m: 238
Я попробовал два подхода для загрузки файла SVG:
[*] Загрузка из пакета приложений: < /li>
< /ol>
if let filePath = Bundle.main.path(forResource: "rat", ofType: "svg"),
let svgImage = SVGKImage(contentsOfFile: filePath) {
Image(uiImage: svgImage.uiImage)
.resizable()
.scaledToFit()
} else {
Text("Failed to load SVG")
.foregroundColor(.red)
}
< /code>
Загрузка с использованием svgkimage (с именем
< /ol>
if let svgImage = SVGKImage(named: "rat") {
Image(uiImage: svgImage.uiImage)
.resizable()
.scaledToFit()
} else {
Text("Failed to load SVG")
.foregroundColor(.red)
}
< /code>
Проблема: < /strong>
Оба подхода терпят неудачу. Первый метод выбрасывает ошибку, упомянутую выше, а второй метод показывает предупреждение: < /p>
[svgkimage] Предупреждение: не кэшируя вывод для нового изображения SVG с именем = крыса, потому что он не смог правильно загрузить.
Что я попробовал:
подтвердил, что файл SVG находится в правильном каталоге и в части пакета приложения. .
[*] Использует несколько файлов SVG (некоторые упрощенные версии).
включено регистрация svgkit (svgkenableLogging ()), но без дополнительной информации.
Пробое с SVGS, которые работают в других приложениях или онлайн -валидаторах. /> Текст < /p>
Вопросы: < /strong>
эта ошибка связана с настройками DPI, специфичными для устройства, как намекает метод PixelsPerinChorCurrentDevice?
SVGKIT требует какой -либо специальной конфигурации для обработки современных SVG?
Есть ли известные ограничения с Svgkit для определенных типов файлов SVG?>
Подробнее здесь: https://stackoverflow.com/questions/793 ... gth-pixels
Мобильная версия