У меня есть проект с несколькими целями. Предположим, что цели имеют имена Target-A, Target-B и так далее. Для каждой цели у меня есть отдельный каталог значков приложений. Они называются AppIcon - A, AppIcon - B, и это продолжается для всех целей. Я назначил соответствующие каталоги активов всем целям, но он показывает только значки для Target-A, когда я запускаю на устройстве / симуляторе. Для всех других целей он не устанавливает никаких значков и показывает значок заполнителя по умолчанию iOS 7. Пожалуйста помоги!
Проблема с Asset Catelog с несколькими целями
Ответы (4)
Когда вы добавляете изображение значка приложения, обратите внимание: при добавлении значка приложения-1 в тестовую цель выберите только тестовую цель, а не тестовую копию, то же самое для тестовой копии.
Также добавьте строку для «Файл значка» в оба списка и укажите имена значков приложения.
Пожалуйста, проверьте следующие снимки экрана, чтобы получить некоторые идеи.
Если вы используете POD в своем проекте, вам необходимо отредактировать «Pods-resources.sh» и удалить команды «xcassets» (см. Прикрепленное изображение).
Самым простым способом для меня было добавить несколько «значков приложения» в один xcassets
файл. С этой техникой у меня не было проблем с Cocoapod:
- Откройте файл xcassets
- Щелкните правой кнопкой мыши левый столбец
- Нажмите "Значок нового приложения".
Затем вы можете легко выбрать правильный «Значок приложения» для каждой цели.
Поэтому я написал сценарий для удаления всех тех строк, на которые указал 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}"