Проблема с Asset Catelog с несколькими целями

У меня есть проект с несколькими целями. Предположим, что цели имеют имена Target-A, Target-B и так далее. Для каждой цели у меня есть отдельный каталог значков приложений. Они называются AppIcon - A, AppIcon - B, и это продолжается для всех целей. Я назначил соответствующие каталоги активов всем целям, но он показывает только значки для Target-A, когда я запускаю на устройстве / симуляторе. Для всех других целей он не устанавливает никаких значков и показывает значок заполнителя по умолчанию iOS 7. Пожалуйста помоги!


person Ali Sufyan    schedule 21.10.2013    source источник


Ответы (4)


Когда вы добавляете изображение значка приложения, обратите внимание: при добавлении значка приложения-1 в тестовую цель выберите только тестовую цель, а не тестовую копию, то же самое для тестовой копии.

введите описание изображения здесь

Также добавьте строку для «Файл значка» в оба списка и укажите имена значков приложения.

введите описание изображения здесь

введите описание изображения здесь

Пожалуйста, проверьте следующие снимки экрана, чтобы получить некоторые идеи.

введите описание изображения здесь

введите описание изображения здесь

person GSD    schedule 21.10.2013
comment
Была такая же проблема. Я забыл добавить каталог активов ко второй цели, как показано на первом снимке экрана. Большое спасибо! - person Accid Bright; 22.10.2014

Если вы используете POD в своем проекте, вам необходимо отредактировать «Pods-resources.sh» и удалить команды «xcassets» (см. Прикрепленное изображение). введите описание изображения здесь

person OldFox    schedule 23.01.2014
comment
Совершенно верно, это ошибка в cocoapods (Проблема № 1546 на Github github.com/CocoaPods/CocoaPods / issues / 1546) Я использую скрипт сборки, который удаляет эти строки (вы можете найти его по этой ссылке) - person orschaef; 06.05.2014

Самым простым способом для меня было добавить несколько «значков приложения» в один xcassets файл. С этой техникой у меня не было проблем с Cocoapod:

  1. Откройте файл xcassets
  2. Щелкните правой кнопкой мыши левый столбец
  3. Нажмите "Значок нового приложения".

Затем вы можете легко выбрать правильный «Значок приложения» для каждой цели.

person CedricSoubrie    schedule 09.02.2015

Поэтому я написал сценарий для удаления всех тех строк, на которые указал Lukapple. Вставьте код для запуска сценария в проекте xcode после целевых зависимостей.

echo "run script to remove Pods-resources.sh"
file_name="${PROJECT_DIR}/Pods/Target Support Files/Pods/Pods-resources.sh"
function remove_wrapper_extensions {cat "$1" | awk 'BEGIN { suppress_output = 0; } /^if \[\[ -n/ { suppress_output = 1; } (!suppress_output) { print $0; } /^fi$/ { suppress_output = 0; }' > "${1}.1"}
function remove_case_statement {cat "$1" | awk 'BEGIN { suppress_output = 0; } /\s*\*\.xcassets\)$/ { suppress_output = 1; } (!suppress_output) { print $0; } /;;/ && (suppress_output) { suppress_output = 0; }' > "${1}.2"}
remove_wrapper_extensions "$file_name"
remove_case_statement "${file_name}.1"
rm "${file_name}"
rm "${file_name}.1"
mv "${file_name}.1.2" "$file_name"
chmod +x "${file_name}"
person Cecilia Humlelu    schedule 20.03.2015