plist文件(也称为“属性列表”文件)存储序列化对象,如数组,字典和字符串。
我正在尝试获取当前方案名称并将其设置为我的 plist 中的值。我正在运行以下 shell 脚本: /usr/libexec/PlistBuddy -c "设置:SchemeName \"$SCHEME_NAME\"" "$INFOPLIST_FI...
这是我下面的plist内容,有没有办法用代码制作这个内容?而只是将其作为字符串? 让测试=“”” 这是我下面的plist内容,有没有办法用代码制作这个内容?而只是像字符串一样? let test = """ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.yourdomain.onstartup</string> <key>LimitLoadToSessionType</key> <string>Aqua</string> <key>Program</key> <string>/Applications/On Startup.app/Contents/MacOS/On Startup</string> <key>RunAtLoad</key> <true/> </dict> </plist> """ import Foundation let plist: [String: Any] = [ "Label": "com.yourdomain.onstartup", "LimitLoadToSessionType": "Aqua", "Program": "/Applications/On Startup.app/Contents/MacOS/On Startup", "RunAtLoad": true ] let data = try! PropertyListSerialization.data( fromPropertyList: plist, format: .xml, options: 0 ) let string = String(decoding: data, as: UTF8.self) print(string) 输出: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.yourdomain.onstartup</string> <key>LimitLoadToSessionType</key> <string>Aqua</string> <key>Program</key> <string>/Applications/On Startup.app/Contents/MacOS/On Startup</string> <key>RunAtLoad</key> <true/> </dict> </plist> 对于 Codable 数据,您可以使用 PropertyListEncoder,其工作方式与您可能更熟悉的 JSONEncoder 类似。
是否有命令行工具可用于将 .plist 文件转换为 JSON? 如果没有,在 Mac 上使用 Objective-C 或 C 创建一个的方法是什么?例如,有 JSONKit,用于
我有一个 rsync2server 脚本,从 zsh 运行时可以完成。 现在,我试图让它在晚上当我的 MacBook Air m2 2023 Ventura 睡觉时运行。 首先我创建了一个 plist 来执行...
我想创建一个2层深度的默认写入命令,但在网上找不到任何东西。 我使用 -dict 开关得到的最接近的深度是 1 级。 我想编写我的 OC 更新脚本,所以很多 p...
我正在非 https 域上执行提取。域是预先定义的,所以我只需要将它添加到 plist 中的例外列表中,但看不到 plist 内容如何转换为 JSON...
目前我正在尝试使用 launchagent plist 文件和 macOS 提供的各种其他机制在我的 Mac 上设置一些自动化。 我如何以编程方式创建 plist 文件: 导入 plistlib...
将 iOS Today 扩展包版本设置为 Flutter FLUTTER_BUILD_NUMBER
我有一个 flutter 应用程序,它还有一个 iOS 原生 Today 扩展。 当我更改项目 yaml 上的版本时,“Runner”目标会自动获取其版本,但 ext...
Mac 应用程序的 NSUserDefaults 数据存储在哪里?
我正在使用 NSUserDefaults 在我的应用程序中存储一些数据。 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:@"虚拟字符串" forKey:@"lastValue"]; [首选项同步...
如何创建要为 iOS 应用程序的自定义导出文档类型显示的图像?
我通过将 UTExportTypeDeclarations 和 CFBundleDocumentTypes 添加到 info.plist 来导出应用程序中的自定义文档类型。 如何获取与导出的文档类型关联的自定义图像? W...
如何创建要为 iOS 应用程序的自定义导出文档类型显示的图像?
如何获取与导出的文档类型关联的自定义图像? 当我导出基于 public.text 一致 UTI 的类型时,无论如何我总是会看到通用文本文档图标...
我有一个启动守护进程,但我无法开始工作。它应该每天凌晨 3 点运行一个脚本。该脚本有效,我可以手动运行它,无需 sudo。请参阅下面的启动守护进程 (com.
google-services.json 生成错误的 ios_info bundle_id 字符串
我有一个 firebase 项目,里面有一个 android 和一个 ios 应用程序。 andoid包名:com.ramobile.myapp ios 捆绑 ID:com.ramobile.myapp 这是我下载的 google-service.json 的片段: &
我有一个 Ionic(电容器)ios 应用程序,我希望能够通过其他应用程序中的“共享”菜单打开其中的文件。我不想使用共享扩展,因为我不需要额外的窗口,而且它是
SwiftUI 预览无法使用 stringsdict 文件进行复数化
有人成功在 SwiftUI 中预览复数吗? Apple 使用 .stringsdict 文件来处理复数。但是,当尝试在预览中呈现该字符串时,例如: 特...
我已经使用 pkgbuild 创建了一个默认的组件属性列表文件。该文件如下所示: 我已经使用 pkgbuild 创建了一个默认的组件属性列表文件。该文件看起来像: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList- 1.0.dtd"> <plist version="1.0"> <array> <dict> <key>BundleHasStrictIdentifier</key> <true/> <key>BundleIsRelocatable</key> <true/> <key>BundleIsVersionChecked</key> <true/> <key>BundleOverwriteAction</key> <string>upgrade</string> <key>RootRelativeBundlePath</key> <string>MyApp.app</string> </dict> </array> </plist> 我想用shell脚本修改这个文件。我尝试使用 defaults write 但它没有做任何事情。 有什么办法呢?(比如:我想把BundleIsRelocatable设置为false) 还有: plutil -replace BundleIsRelocatable -bool false plistfilename.plist 对于字符串使用 plutil -replace NameOfProperty -string "yourNewValue" plistFileName.plist 有点晚了,但为了记录,您只需要指定绝对路径并在文件名中添加 .plist 扩展名。如果您在与 plist 文件相同的目录中运行脚本,您的案例将被翻译成: defaults write $PWD/YourPlistFilename.plist BundleIsRelocatable -bool false 使用 PlistBuddy,这里有一个简单的教程。 /usr/libexec/PlistBuddy -c "Set :BundleIsRelocatable bool false" plistfilename.plist 它可以作为一个命令行运行来更新键/值。 我一般用它来更新CFBundleVersion,可以在这篇文章中找到. 使用PlistBuddy! 非常简单直接。 例子: /usr/libexec/PlistBuddy ComponentPropertyList.plist Command: Set :0:BundleIsRelocatable false Command: save Saving... Command: exit 就是这样!现在 BundleIsRelocatable 是 false :D 使用sed: sed -i '' '/<key>BundleIsRelocatable</{n;s/true/false/;}' file.plist 如果 plist 不是 XML,先运行 plutil -convert xml1 file.plist. Phil-CB的最后回复这里应该有用 cli for mac 将默认为读/写。例如,我们读取 com.apple.dock.plist 并将停靠栏方向更改为左侧。 1.) 我们阅读所需的键和值,或者如果您知道,请跳至 2.) #让你知道并阅读可以更改的可用键和值。 defaults read com.apple.dock.plist 2.) #让我们修改扩展坞 方向是关键,左边是价值 defaults write com.apple.dock orientation left 默认帮助非常有用。希望这会有所帮助 这是在 macOS 中无需添加 plistbuddy 即可执行此操作的本机方法,您只需编写脚本即可。
如何调整在 macOS 中启动守护程序/代理的登录项列表中显示的内容?
我的启动守护进程(和启动代理)在 macOS 系统范围内安装。我使用以下 plist 文件(例如,用于守护进程),它被放入以下文件 /Library/LaunchDaemons/com.ex...
如何从(用户).plist 文件(MacBook)中提取密码(卡住)
我正在尝试从 administrator.plist 文件中提取密码,但没有成功,我想知道是否有人也可以尝试?或者帮我弄清楚(我会在下面添加文件)我在 M1
如何从(用户).plist 文件(MacBook)中提取密码[关闭]
我正在尝试从 administrator.plist 文件中提取密码,但没有成功,我想知道是否有人也可以尝试?或者帮我弄清楚(我会在下面添加文件)我在 M1
如何从 plist 文件更新 MARKETING_VERSION 和 CFBundleVersion?
我有一个简单的项目,我想从 info.plist 更新项目版本和构建编号值。我在 plist 文件中添加了这个 Bundle version string (short) 和 Bundle version 但它的 va ...