У меня есть полная команда для развертывания проекта xCode на реальном устройстве.Команда xcodebuild в сценарии оболочки iOS
т.е.
xcodebuild -workspace jamesAppV2.xcworkspace -scheme jamesAppV2 -configuration Debug -destination 'platform=iOS,name=Shujaat’s iPad' clean test
его работает отлично с помощью командной строки.
Todo:Я хотел выполнить эту команду с помощью сценария оболочки.
вот мой полный сценарий оболочки deploy.sh
so для.
#!/bin/bash
#My First Script
#Info to be configured
current_path=$(pwd)
appName="jamesApp"
jamesApp_workspace="jamesAppV2.xcworkspace"
echo "Searching for $jamesApp_workspace workspace..."
if [[ $(ls $jamesApp_workspace) ]]; then
echo "$jamesApp_workspace found in current directory."
echo "Listing all installed and connected devices..."
instruments -s devices
echo "Copy + Paste from above devices"
echo "specify name of your decice to launch $appName"
read d_device_name
echo "building workspace for $d_device_name..."
build_cmd=(xcodebuild -workspace jamesAppV2.xcworkspace -scheme jamesAppV2 -configuration Debug)
destination="'platform=iOS,name=$d_device_name'"
build_cmd+=(-destination "$destination" clean test)
echo "${build_cmd[@]}"
# Here it prints the valid command given above
"${build_cmd[@]}"
else
echo "$jamesApp_workspace workspace not found"
echo "Make sure your current path contains the $jamesApp_workspace workspace"
echo "Place this file i.e deploy.sh within the directory containing $jamesApp_workspace workspace"
fi;
Проблема: Я сделал, как
build_cmd=(xcodebuild -workspace jamesAppV2.xcworkspace -scheme jamesAppV2 -configuration Debug)
destination="'platform=iOS,name=$d_device_name'"
build_cmd+=(-destination "$destination" clean test)
echo "${build_cmd[@]}" #Prints valid command
"${build_cmd[@]}"
но дает ошибку на выполнение
xcodebuild: error: option 'Destination' requires at least one parameter of the form 'key=value'
, если я запускаю выше команду с помощью командной строки его прекрасно работает, но если я запустите это через скрипт оболочки, который не работает.
я упомянул I want to concatenate arguments of xcodebuild as string, which have space in it ,then run this command конкатенировать команду xcodebuild
Я удалил одиночные кавычки из своего сценария. теперь я получаю эту ошибку xcodebuild: ошибка: схема jamesAppV2 в настоящее время не настроена для тестового действия .. это странно. команда успешно выполняется из командной строки –
@QadirHussain На ваш вопрос был дан ответ. Это не постоянный вызов поддержки. Задайте новый вопрос. – trojanfoe
@ Игнасио Васкес-Абрамс, пожалуйста, ответьте на это http://stackoverflow.com/questions/37042815/xcodebuild-command-in-shell-script-ios/37042925?noredirect=1#comment61639456_37042925 –