问题标签 [plistbuddy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
85 浏览

bash - 如何使用 plistbuddy 追加到字符串

plist 有一个我想编辑的字段

我想在它后面附加 $(STH)-sometext 所以它会像 something-sometext

现在我遇到的问题是 plistbuddy 不喜欢设置

因为 bash 说找不到该命令。在 plist xml 中附加字符串的正确方法是什么?

0 投票
2 回答
1042 浏览

bash - 将标准输入传递给 plistbuddy

我有一个脚本来显示 .ipa 文件的 Info.plist 的内容:

对于大文件,这可能需要一些时间才能将它们提取到临时文件夹中,以便读取一个小的 Info.plist (xml) 文件。我想知道我是否可以提取 Info.plist 文件并将其传递给 plistbuddy?我试过了:

但这会产生

提取工作正常。运行时,unzip -qp test.ipa Payload/*.app/Info.plist我将 Info.plist 文件的输出输出到终端:

如何将 Info.plist 的内容传递给 plistbuddy?

0 投票
0 回答
66 浏览

sh - 第一次调用成功后,多次调用 plistbuddy 的脚本失败

我正在尝试编写一个脚本来修改 plist 中一些条目的值。该脚本成功更新了第一个条目,然后说在此之后找不到任何条目。下面是代码:

这是输出。请注意第一行有效,但后三行无效。第一行没有错误消息,我已经确认确实进行了修改。我已经检查了一百万次以确保条目存在于 plist

0 投票
1 回答
275 浏览

ios - Xcode - 无法在脚本中使用 PlistBuddy 修改 plist

我想使用脚本将 UIFileSharingEnabled 键设置为 true。脚本代码:

控制台打印:

请帮忙

0 投票
2 回答
247 浏览

terminal - 如何在 PlistBuddy 中输入数据

我正在尝试使用 PlistBuddy 更改数据值,但无法弄清楚。

/usr/libexec/PlistBuddy -c "设置:内核:仿真:Cpuid1Mask AAAAAAAAAAAAAAACAAAAAA==" ~/Desktop/test.plist

当我查看文件时,我没有写我想要的数据,而是得到:QUFBQUFBQUFBQUFBQUFBQ0FBQUFBQT09

我玩过 hex、dec、bin 以及我能想到的所有东西,但它永远不会正确写入。我一直在到处搜索,但找不到任何东西可以解释如何做到这一点。一切都在输入字符串,没有任何东西告诉如何输入数据,或者它的格式。

我需要将该值从 AAAAAAAAAAAAAAAACAAAAAA== 来回更改为 AAAAAAAAAAAAAAAAAAAAAA==

我尝试打印它以查看输出,所以我可以看到格式,但它在终端中是空白的。

有人知道该怎么做吗?

0 投票
0 回答
113 浏览

xcode - 通过新构建系统使用 PlistBuddy 修改应用程序传输安全性

我在构建阶段添加了一个脚本作为运行脚本,它试图修改应用程序传输安全配置。该脚本似乎不适用于 Xcode New Build System。特别是,当我在 Simulator ( DevelopmentDebug) 中执行应用程序时,我仍然遇到 ATS 错误。

你有没有遇到过同样的问题?

0 投票
0 回答
123 浏览

ios - 如何从 .plist 文件中的字典中删除键?

我想从文件中删除IDESourceControlKnownSSHHostsDefaultsKey字典中的键~/Library/Preferences/com.apple.dt.Xcode.plist

我用这种方式在那里写了密钥 defaults write com.apple.dt.Xcode IDESourceControlKnownSSHHostsDefaultsKey -dict-add host 'fingerprint'

我怎样才能删除这个密钥?不完整IDESourceControlKnownSSHHostsDefaultsKey,但只有字典中host的键IDESourceControlKnownSSHHostsDefaultsKey

0 投票
0 回答
35 浏览

xcode - 从脚本生成 xcode .stringdict 文件

我正在尝试创建一个脚本(语言不相关,但它是 node/js 和 bash 的混合)来为 xcode生成多个本地化文件,称为.stringdict格式。

像往常一样,Apple 文档没有帮助(善良),只能在此档案中找到有关格式的帮助。

问题是,即使只是复制现有的有效文件并从 shell 重新创建它,它显然也会因为格式不正确而失效。尝试从 Xcode 打开它会导致以下错误:

试图创建一个文档(类:IDEPlistDocument)并得到一个具有不同的、不符合要求的文件类型的文档。

阅读它似乎xcode“方便地”将文件转换为二进制添加一些元数据。我看不出这有什么意义,但我还是尝试用PlistBuddy 打开并重新保存文件(虽然亲爱的 Apple 已经从标准路径中删除了它,而且似乎周围有零文档,尽管它是一个长期使用的官方工具),例如:

没有成功。

我也尝试过 plutil ,但没有运气:

TLDR: 我如何创建一个可由 xcode 从脚本中读取的 stringdict 文件(以任何语言,使用任何库或工具)?

0 投票
1 回答
299 浏览

xcode - 构建设置中的当前项目版本未按预期更新

目标:将我的目标的“当前项目版本”设置为,$(CURRENT_PROJECT_VERSION)以便更改项目的 info.plistBundle Version变量将自动转移到项目文件中。

我是怎么做的:我正在使用脚本来更改我的项目的 info.plistCFBundleVersion使用 PlistBuddy。因为我希望此更改自动反映在项目文件中,所以我已将目标的“当前项目版本”设置为$(CURRENT_PROJECT_VERSION). 我的理解是,这只是一个指向CFBundleVersion项目 info.plist 的指针。

问题:虽然脚本运行正确(即,Bundle Versioninfo.plist 中的变量已更新),但“当前项目版本”从未更新,实际上它显示的是一个空字段。

在此处输入图像描述

为什么这不起作用?

请注意,我明确尝试在使用 fastlane 或 agvtool的情况下执行此操作

0 投票
0 回答
48 浏览

ios - Xcode 中的环境变量

我有一个用 Xcode 和 Swift 编写的 XC UI 测试框架。我通过这个命令运行我的项目

现在我必须将环境变量传递给我的代码。一般为了测试,我在Product>Scheme>Edit Scheme>Environment Variables下添加变量,并添加如下代码读取

如果我通过 UI 触发测试,上述工作正常。

现在,我正在尝试通过命令行运行相同的测试。我在命令行中添加了以下参数

他们没有被捡起,但在跑步中我看到了这个

有人可以帮助我解决我做错的事情。我确实在谷歌上搜索过,但找不到解释或替代方法。有人建议使用 plistbuddy,我试了一下,但没有成功。