Подтвердить что ты не робот

Как я могу рассказать каталог активов (.xcassets) использовать один и тот же образ для нескольких колодцев изображений?

У нас есть несколько проектов приложений Xcode, и мы обновляем их все, чтобы использовать последние функции Xcode 5, включая каталоги активов (.xcassets).

Все наши изображения default (запуск) уже включают интервал для строки состояния, и мы хотим использовать эти изображения для изображений запуска iOS 5,6 и iOS 7. Кроме того, мы не хотим включать в проект несколько копий одного и того же изображения.

Один из наших проектов правильно настроен для использования одних и тех же изображений для обоих наборов изображений. Тем не менее, это было настроено более точно.

Помимо редактирования файла Contents.json напрямую (что может быть обходным путем в последнем случае, если это необходимо), как мы можем это сделать, используя редактор графического интерфейса Xcode для каталога активов?

Что мы уже пробовали

1) Перетаскивание изображения в другое положение... просто перемещает изображение в другой набор

2) Перетаскивание одного и того же файла из Finder в каталог активов... создает новую копию изображения

3) Перетаскивание изображения с помощью option (alt) нажата... создает новую копию изображения

4b9b3361

Ответ 1

Вы можете щелкнуть правой кнопкой мыши файл .xcassets и выбрать "Показать в Finder". Перейдите в папку "Image.launchimage" и откройте файл Contents.json в текстовом редакторе. Здесь вы можете видеть, что неназначенные слоты не содержат "имя файла". Вы можете добавить это вручную. Например, измените следующее:

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "scale" : "2x"
}

В:

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "filename" : "[email protected]~ipad.png",
    "scale" : "2x"
}

Теперь сохраните файл и вуаля!

Ответ 2

Я решил это, используя скрипты сборки, чтобы скопировать правильный файл xcassets для каждой цели. Подробности здесь

Ответ 3

Я думаю, что нашел решение: просто перетащите изображения по умолчанию, которые вы хотите использовать для iOS 6 и 7 в ведро iOS 6. Вы получаете предупреждение о том, что у меня нет изображения только для iOS7, но сборка работает в iOS7 simulato, iOS7 iPhone и iPad iOS7.

Ответ 4

Я решил это, удалив старые xcassets и добавив новые xcassets, используя Не использовать каталоги приложений

Ответ 5

В моем случае я использую cocoa pods. cocoa pods script Pods-resources.sh каким-то образом вызвал проблему. Удаление компонентов актива из script решило проблему.

Обязательно очистите проект и удалите папку с производными данными.

Детали, которые нужно удалить, можно найти здесь:

fooobar.com/questions/201887/...

Ответ 6

Я обновил до cocopods 0.37, и проблема была решена. Если вы использовали cocopods, значит, это была его ошибка.