Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode NSTask执行字符串_Xcode_Macos_Nstask - Fatal编程技术网

Xcode NSTask执行字符串

Xcode NSTask执行字符串,xcode,macos,nstask,Xcode,Macos,Nstask,如何使用NSTask执行一组shell脚本 必须使用NSTask执行以下字符串 NSString *aString = @"MY_USERNAME=\"SAM\"\ PROJDIR=\"/Path\"\ APPLICATION_NAME=\"AppName\"\ PROJECT_NAME=\"${APPLICATION_NAME}\" # .xcodeproj ommitted\ TARGET_SDK=\"iphoneos6.0\"\ PROJECT_BUILDDIR=\"${PROJD

如何使用NSTask执行一组shell脚本

必须使用NSTask执行以下字符串

    NSString *aString = @"MY_USERNAME=\"SAM\"\
PROJDIR=\"/Path\"\
APPLICATION_NAME=\"AppName\"\
PROJECT_NAME=\"${APPLICATION_NAME}\" # .xcodeproj ommitted\
TARGET_SDK=\"iphoneos6.0\"\
PROJECT_BUILDDIR=\"${PROJDIR}/build/Release-iphoneos\"\
TARGET_TEST_NAME=\"UnitTests\"\
BUILD_HISTORY_DIR=\"/Users/${MY_USERNAME}/Desktop\"\
DEVELOPPER_NAME=\"iPhone Developer: Name (********)\"\
PROVISONNING_PROFILE=\"/Users/${MY_USERNAME}/Desktop/***************.mobileprovision\"\
/usr/libexec/PlistBuddy -h\
/usr/libexec/PlistBuddy -c \"Print :netId\" \"path/Info.plist\"\
myversion=40675\
/usr/libexec/PlistBuddy -c \"Set :netId '${myversion}'\" \"path/Info.plist\"\
# compile project\
echo Building Project\
cd \"${PROJDIR}\"\
xcodebuild -target \"${PROJECT_NAME}\" -sdk \"${TARGET_SDK}\" -configuration Release\
#Check if build succeeded\
if [ $? != 0 ]\
then\
exit 1\
fi\
/usr/bin/xcrun -sdk iphoneos PackageApplication -v \"${PROJECT_BUILDDIR}/${APPLICATION_NAME}.app\" -o \"${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa\" --sign \"${DEVELOPPER_NAME}\" --embed \"${PROVISONNING_PROFILE}\"";

您最好将“脚本”写入一个临时文件;并以
NSTask
的形式运行
sh/path/to/file.sh
。我同意,但我想在任务完成后立即修改脚本。呃,不确定您的意思。如果在执行脚本之前动态编写脚本,则可以在启动脚本之前使用
NSTask
重新编写脚本(或编写另一个脚本)。