Я пытаюсь изменить различные свойства для модульных тестов, такие, что введенные известные параметры не будут мешать различные настройки, когда на самом деле запуска приложения (в частности, брелок для ключей, но потенциально идентификатор Bundle тоже)Схема испытаний Xcode сценарий
(путь я себе делать это использует другой kSecAttrAccessGroup
для модульных тестов на основе KeyChainService
записи в PLIST.)
Я также намерен использовать данный скрипт с AppCode
.
Проблема в том, что я не могу найти нигде, чтобы поместить скрипт (или любые переменные), который перезапишет обычный сценарий предварительного действия во время фазы сборки, которая возникает до любой фазы тестирования.
Моего Баш скрипт выглядит следующим образом:
plist="${PROJECT_DIR}/${INFOPLIST_FILE}"
if [[ "${plist}" == "/" ]]; then
# AppCode (no variables set)
plist=./myProject-Info.plist
fi
if [[ -z "$csKeyChain" ]]; then
csKeyChain=RUN
fi
if [[ -z "$bundleIdentifier" ]]; then
bundleIdentifier=com.mycompany.abc
fi
echo "Setting KeyChainService to $csKeyChain; CFBundleIdentifier to $bundleIdentifier" > ~/BUILD.txt
/usr/libexec/Plistbuddy -c "Set KeyChainService $csKeyChain" "${plist}"
/usr/libexec/Plistbuddy -c "Set CFBundleIdentifier $bundleIdentifier" "${plist}"