Решение
Проблема в том, что скрипт запускался, когда модуль еще не был подключен.
Скрипт должен быть запущен, когда все задания будут выполнены.
Я написал полное руководство по созданию платформы iOS Umbrella!
Решение, которое я нашел, следующее:
1) Шаг первый:
В подфайле интеграционного проекта (не зонтичного проекта) добавьте следующую строку кода, где вы добавляете зависимости:
script_phase :name => 'Sign', :script => './sign.sh'
как это:
target 'yourTarget' do
# Pods for sdkInteTest
#your pods goes here
script_phase :name => 'Sign', :script => './sign.sh'
end
2) Шаг второй:
Чем в терминале в корне вашего тестового интеграционного проекта:
В терминале введите:
touch sign.sh
chmod 777 sign.sh
open sign.sh
И в файле скрипта добавьте этот код:
echo "Signing subframeworks"
pushd "${TARGET_BUILD_DIR}"/"${PRODUCT_NAME}".app/Frameworks/YOURFRAMEWORKNAME.framework/Frameworks
for EACH in *.framework; do
echo "-- signing ${EACH}"
/usr/bin/codesign --force --deep --sign "${EXPANDED_CODE_SIGN_IDENTITY}" --entitlements "${TARGET_TEMP_DIR}/${PRODUCT_NAME}.app.xcent" --timestamp=none $EACH
done
popd
echo "BUILD DIR ${TARGET_BUILD_DIR}"
не забудьте переименовать имя фреймворка.
Таким образом, вы говорите CocoaPods запустить фазу сценария после установки модуля.
К сожалению, это «клиентское» решение, я безуспешно пытался найти решение для применения на уровне инфраструктуры.