我知道这是一个简单而愚蠢的问题,但我找不到为什么会出错。我想在获取xcarchive文件后打印项目的应用程序版本。为此,我正在使用PlistBuddy。/usr/libexec/PlistBuddy-c"PrintCFBundleShortVersionString"/build/My_Project.xcarchive/Info.plist这段代码返回Print:Entry,"CFBundleShortVersionString",DoesNotExist但是,我可以成功打印“ApplicationProperties”或整个plist文件。可能是什么问题?
我使用Charles来调试我的应用程序请求和响应,它没有使用最新版本的TLS(iOS9使用)。有没有办法以编程方式更新它,以便我只能为通过Xcode完成的本地构建启用它?我有一个Jenkins构建服务器,它仍然需要使用新版本的TLS。 最佳答案 它有点困惑,但您可以在运行脚本步骤中使用命令行工具PlistBuddy来完成它。困惑,因为它使实际的info.plist发生了变化,所以你会在git历史记录中看到它。下面的脚本将仅在DEBUG构建中添加异常,否则将删除任何ATS异常。您可以对其进行更具体的编辑,或者始终添加/删除毯子NSAl
我在settings.bundle中添加“版本详细信息”。有什么更好的方法来设置该标识符,我看到很少有人通过其他人使用带有Plistbuddy的运行脚本的代码来做到这一点。是不是这样,如果你使用plistbuddy,即使你不打开应用程序,它也会立即显示更新版本的详细信息。从应用程序更新版本后。商店?如果通过代码完成,则必须打开应用程序。在设置中查看更新。 最佳答案 这是一个PlistBuddy示例:#buildPlist="Info.plist"settingsPlist="Settings.bundle/Information.p
这个问题是一个子问题/替代方法来解决我想通过这个问题做的事情:HowcanIusePListBuddytocopyanentryfromonefiletoanother?我想使用Bash/Shell通过XCode构建脚本使用PlistBuddy将条目从Plist文件A复制到Plist文件B。通过这样做,我无法使用PlistBuddy的“复制”功能。我必须复制每个单独的条目及其所有元素,因为您不能添加/设置词典,但必须通过“条目”与PlistBuddy交互。我想做的是获取Plist文件A并将其标题/值数组存储为“PSMultiValueSpecifier”元素。我能够获取数组中的元素并将
我有2个应用程序:免费和完整我会两种语言:英语和德语这会产生4个不同的App-Name我怎样才能做到这一点。实际上我所有的目标都有“免费”这个名字,即使是完整版也是如此。我知道:我有1个InfoPlist.strings文件,它乘以本地化,我可以将它们分配给目标。因此,对于1个应用程序,我可以本地化BundleDisplayName。但是我如何为第二个应用分配特定的名称? 最佳答案 PlistBuddy是你的friend。您需要做的是在构建时更新您的plist。您必须为您拥有的每个目标创建自定义方案(我假设您已经拥有)在您的xcod
我有2个应用程序:免费和完整我会两种语言:英语和德语这会产生4个不同的App-Name我怎样才能做到这一点。实际上我所有的目标都有“免费”这个名字,即使是完整版也是如此。我知道:我有1个InfoPlist.strings文件,它乘以本地化,我可以将它们分配给目标。因此,对于1个应用程序,我可以本地化BundleDisplayName。但是我如何为第二个应用分配特定的名称? 最佳答案 PlistBuddy是你的friend。您需要做的是在构建时更新您的plist。您必须为您拥有的每个目标创建自定义方案(我假设您已经拥有)在您的xcod
我想使用plistbuddy从plist中的字典中读取所有键,并将值推送到数组中。我知道下面的实用程序有助于阅读plist。/usr/libexec/PlistBuddy到目前为止,我正在对key进行硬编码以获得值(value)。例如:theKey="selva"所以我写下面的代码来获取上面键的值val=$(function_stringFields"${theFile}""${theKey}""${index}")(function_stringFields是自定义方法。)有没有办法达到同样的效果。 最佳答案 plist_file
我正在尝试以编程方式更改我的XCode项目的包标识符。$/usr/libexec/PlistBuddy-c"Set:CFBundleIndentifiercom.myIdentifier.appName"MyApp-Info.plist但我一直收到错误-Set:Entry,":CFBundleIndentifier",DoesNotExist这就是我的Info-Plist的样子,它有CFBundleIndentifier的条目。CFBundleDevelopmentRegionenCFBundleDisplayName${PRODUCT_NAME}CFBundleExecutable$
我正在尝试执行以下操作:在构建阶段,打开一个纯文本文件并阅读文本将info.plist中某个属性的值更改为步骤1中获得的值。我可以为此编写一个shell脚本吗?如果有人能指导我实现这一点,那就太好了。 最佳答案 可能最简单的方法是使用PlistBuddy。我有一个运行脚本阶段,如下所示:BUILD_NUMBER=`gitrev-listHEAD--count`INFO_PLIST="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"if[-f"$INFO_PLIST"];thenoldversion=`/usr
我正在尝试执行以下操作:在构建阶段,打开一个纯文本文件并阅读文本将info.plist中某个属性的值更改为步骤1中获得的值。我可以为此编写一个shell脚本吗?如果有人能指导我实现这一点,那就太好了。 最佳答案 可能最简单的方法是使用PlistBuddy。我有一个运行脚本阶段,如下所示:BUILD_NUMBER=`gitrev-listHEAD--count`INFO_PLIST="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"if[-f"$INFO_PLIST"];thenoldversion=`/usr