我有一个使用Xcode 3开发的应用程序,最近开始使用Xcode 4编辑.在目标摘要中,我有iOS应用程序目标表单,其中包含字段:标识符,版本,构建,设备和部署目标.版本字段为空白,构建字段为3.4.0(与我使用Xcode 3编辑时的应用程序版本相匹配).
我的问题是:
版本和构建字段有什么区别?
升级到Xcode 4后,为什么版本字段为空?
这个问题是一个子问题/替代方法,通过这个问题来解决我想要做的事情:如何使用PListBuddy将条目从一个文件复制到另一个文件?
我想使用PlistBuddy通过XCode构建脚本,使用Bash/Shell将条目从Plist文件A复制到Plist文件B. 通过这样做,我不能使用PlistBuddy的"复制"功能.我必须复制每个条目的所有元素,因为你不能添加/设置字典,但必须通过"条目"与PlistBuddy交互.
我想要做的是获取Plist文件A并将其标题/值数组存储为"PSMultiValueSpecifier"元素.我能够抓取数组中的元素并将它们打印到屏幕上,但是当我将它们添加到目标Plist文件B中时,数组仍然是空的.
代码:(用于添加条目的代码)
# Configure the Entry
${PLISTBUDDY} -c "Add PreferenceSpecifiers:$DEST_INDEX dict" ${DEST_PLIST}
${PLISTBUDDY} -c "Add PreferenceSpecifiers:$DEST_INDEX:Type string 'PSMultiValueSpecifier'" ${DEST_PLIST}
# Retrieve the Additional Field Value
preferenceTitle=`$PLISTBUDDY -c "Print PreferenceSpecifiers:$SOURCE_INDEX:Title" $SOURCE_PLIST 2>&1`
preferenceKey=`$PLISTBUDDY -c "Print PreferenceSpecifiers:$SOURCE_INDEX:Key" $SOURCE_PLIST 2>&1`
preferenceDefaultValue=`$PLISTBUDDY -c "Print PreferenceSpecifiers:$SOURCE_INDEX:DefaultValue" $SOURCE_PLIST 2>&1`
preferenceValues=`$PLISTBUDDY -c "Print PreferenceSpecifiers:$SOURCE_INDEX:Values" $SOURCE_PLIST 2>&1`
preferenceTitles=`$PLISTBUDDY -c "Print PreferenceSpecifiers:$SOURCE_INDEX:Titles" $SOURCE_PLIST 2>&1`
Run Code Online (Sandbox Code Playgroud)
添加新条目的代码:
# Set the Additional Field Values
${PLISTBUDDY} -c "Add PreferenceSpecifiers:$DEST_INDEX:Title string $preferenceTitle" ${DEST_PLIST}
${PLISTBUDDY} -c "Add PreferenceSpecifiers:$DEST_INDEX:Key string $preferenceKey" ${DEST_PLIST} …Run Code Online (Sandbox Code Playgroud)