Xcode 6 (beta 3): неподдерживаемый формат пикселей в CSI или не удается создать нелицензированное изображение из растровых данных csi
при загрузке UIImages с png-изображениями в Xcode 6 beta 3 в Swift следующим образом:
PipsImg = (UIImage(named: "Die-1"))
или
PipsImg = [(UIImage(named: "Die-1")),(UIImage(named: "Die-2"))]
из связанных изображений, хранящихся в образах.папка xcassets, я получаю следующие фатальные ошибки выполнения:
SimpleAnimation[680:60b] Unsupported pixel format in CSI
SimpleAnimation[680:60b] Unable to create unsliced image from csi bitmap data.
это, кажется, будет разрешено в бета-версии 4, однако оставит на месте немного, как иногда эти регресс
5 ответов
Это вызвано ошибкой в Xcode 6 (бета-версия 3 в это время). Это происходит только в том случае, если целью сборки является iOS 7.x
чтобы обойти эту проблему:
1) удалите файлы из изображений.контейнер xcassets.
2) Поместите изображения непосредственно в папку" Supporting Files".
Примечание: не требуется добавлять ".png " расширение в вашем коде, что делает это чистым обходным путем.
пожалуйста, создайте радар (ошибка report) в Apple.
XCode 6.0.1 все еще имеет эту проблему. Если добавить .jpg к изображениям.xcassets и попробуйте установить приложение на устройство iOS 7.
чтобы исправить это, просто конвертируйте .jpg to .формат PNG
ответ инженера Apple:
проблема в том, что приложения iOS 7 не могут иметь изображения JPEG в файле автомобиля. actool должен был скопировать JPEG как свободное изображение в папку вашего приложения. Чтобы обойти эту проблему, необходимо преобразовать изображение в PNG или включить JPEG в качестве ресурса вне каталога активов.
Я решил эту проблему через:
- запустить iOS Simulator
- сброс содержимого и настроек через меню" iOS Simulator > сброс содержимого и настроек".
- это работает.
в Xcode теперь у нас есть возможность сделать срез для ресурсов изображения. Если срез добавлен, соответствующий json для изображения в каталоге активов получает информацию об изменении размера. Это может выглядеть например так
"resizing" : {
"mode" : "3-part-vertical",
"center" : {
"mode" : "fill",
"height" : 6
},
"capInsets" : {
"top" : 16,
"bottom" : 6
}
}
iOS 7.0 не обрабатывает нарезку должным образом. Поэтому удаление информации о нарезке из json может помочь решить проблему (в моем случае это было решение).