Невероятно!Еще одна ошибка или плохой документ в Apple.
Это то, что документы говорят:
Обновление файлов ресурсов изображений
Работающие приложенияВ iPhone OS 4 теперь должны быть включены два отдельных файла для каждого ресурса изображения.Один файл предоставляет версию данного изображения в стандартном разрешении, а второй - версию того же изображения в высоком разрешении.Соглашения об именах для каждой пары файлов изображений следующие:
Стандарт: ImageName device_modifier.filename_extension
Высокое разрешение: ImageName @ 2x device_modifier.filename_extension
и части каждого имени указывают обычное имя и расширение для файла.Эта часть является необязательной и содержит строку ~ ipad или ~ iphone.Вы включаете один из этих модификаторов, когда хотите указать разные версии изображения для iPad и iPhone.Добавление модификатора @ 2x для изображения с высоким разрешением является новым и позволяет системе узнать, что изображение является вариантом стандартного изображения с высоким разрешением.
Итак, согласно вашим документамдолжны называть ваши изображения так, как я: «myImage ~ iphone.png» (знания), «myImage@2x~iphone.png» (нанимает) и «myImage ~ ipad.png» (ipad).
Из-задля плохо документированных документов (как обычно с их документами) и глючного SDK, это реальность:
- вы должны назвать ваши файлы как "myImage ~ iphone.png" (lores), "myImage ~ iphone@ 2x.png "(нанимает) и" myImage.png "(ipad).
В ДРУГИХ СЛОВАХ: СДЕЛАЙТЕ @ 2X В КОНЦЕ , а не в середине, какрекомендовано Apple и НЕ ОСТАВЛЯЙТЕ ЛЮБЫХ ТИЛЬДОВ на изображениях iPad .Но это еще не все: даже если вы сделаете все это, вы сможете загружать свои изображения только с помощью [UIImage imageNamed: ...], это означает, что все ваши изображения будут кэшироваться.Это связано с тем, что ImageWithContentsOfFile не работает с SDK 4, даже если он указан в документах.
Полное решение включает использование THIS STUFF .
Спасибо Appleдля этого наполовину приготовленного материала.
обновить на этот ответ: Это показывает, что я прав в конце концов.Это ошибка.Я сообщил об этом Apple 8 июля, и сегодня я получил от них следующее сообщение: «Это продолжение идентификатора ошибки № 8161396. После дальнейшего расследования было установлено, что это известная проблема, которая в настоящее время исследуетсяпроектирование. Эта проблема была сохранена в нашей базе данных ошибок с исходным идентификатором ошибки # 8084451. "