Xcode IDE не показывает загружаемый файл в каталоге с помощью Run Script

У меня возникли проблемы с 'Выполнить скрипт' в Xcode IDE. Я могу загрузить файл с сервера, используя этот скрипт ниже, прямо в каталог в Xcode, который можно просмотреть, щелкнув правой кнопкой мыши папку в IDE, куда была отправлена ​​​​загрузка, однако, хотя это появляется здесь, но не отображается ни в папке «Копировать ресурсы пакета», ни в папке ресурсов Xcode, поэтому при попытке вставить этот файл в код я получаю, что файл не существует.

Я знаю, как добавить файл вручную (+), однако было бы лучше, если бы он запускался автоматически в сценарии.

Может ли кто-нибудь помочь с этим скриптом Bash ниже, я пытался скопировать (cp) в $ {PRODUCTS_DIR} и $ {BUILT_PRODUCTS_DIR}, но по какой-то причине он не копируется. Я могу (mv) переместить файл, но он по-прежнему отображается в разделе «Ресурсы копирования пакета»? Кто-нибудь получил какие-либо подсказки к этому? Заранее спасибо.

fileToDownload=$(ssh $Username@server1 ls -t /doc_test_control/the_test_foler/myFile.txt)
echo "File to download: $fileToDownload"


scp $Username@server1:$fileToDownload "${SRCROOT}/Mobile-App-iOS/Test_Foler/"
echo "File downloaded to : ${SRCROOT}/"

mv "${SRCROOT}/Mobile-App-iOS/Test_Foler/""* "${BUILT_PRODUCTS_DIR}"

ls -l "${SRCROOT}/Mobile-App-iOS/Test_Foler/"
echo "DONE"

person Jonas    schedule 18.04.2019    source источник


Ответы (1)


Похоже, вам нужно скопировать загруженный файл внутри Bundle с помощью команд bash на самом этапе запуска скрипта. Используйте следующий скрипт, чтобы скопировать ресурс в пакет.

cp downloadedFile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/

UNLOCALIZED_RESOURCES_FOLDER_PATH — это не что иное, как сам путь к приложению. См. его значение в журналах сборки.

export UNLOCALIZED_RESOURCES_FOLDER_PATH=TestProject.app

Я проверил это с моим локальным файлом в папке «Рабочий стол» и обнаружил, что он работает.

Вы не можете использовать фазу "Copy Bundle Resource" для копирования загруженного файла во время компиляции. Потому что, чтобы использовать «Копировать ресурс пакета», его необходимо добавить к цели, что невозможно, когда он загружается во время компиляции.

person Anand    schedule 18.04.2019
comment
К сожалению, это работает, как вы говорите, локально, однако это все еще не копируется в папку каталога IDE, которую я хотел бы. При копировании и проверке журналов сборки я вижу, что выполняется попытка копирования и отображается сообщение «cp [-R[-H | -Л | -P]] и т. д. Я пробовал cp -R, но все равно не работает, не могли бы вы объяснить, что должен делать «экспорт»? - person Jonas; 23.04.2019