plist 相关问题

plist文件(也称为“属性列表”文件)存储序列化对象,如数组,字典和字符串。

MacOS .plist“RunAtLoad = false”不起作用

我最近在我的 MacOS 上安装了一个守护进程(用于 Cloud Flare Tunnel 的 cloudflared,真的是一件很棒的事情),但我无法让我的 Mac 在启动时停止加载它。 我希望它在

回答 1 投票 0

在启动时使用 launchd.plist 运行终端命令

我在 Stack Overflow 上寻找问题的答案,并找到了一个线程(https://superuser.com/questions/229773/run-command-on-startup-login-mac-os-x)。这就是我发现 launchd 的原因......

回答 1 投票 0

MacOS 在 Ventura 中启动移动文件 plist 不起作用

我正在尝试每 10 秒安排两个 zsh 命令 列表 我正在尝试每 10 秒安排两个 zsh 命令 plist <?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.david.pdf</string> <key>ProgramArguments</key> <array> <string>/Users/David/Tools/pdf.txt</string> </array> <key>StartInterval</key> <integer>10</integer> </dict> </plist> 还有剧本 #!/bin/zsh mv ~/Library/Mobile\ Documents/iCloud~com~apple~iBooks/Documents/*.pdf ~/dropbox/reading/temp mv ~/dropbox/*.pdf ~/dropbox/reading/temp 我想要将所有 PDF 文件从 Books 和 Dropbox 根目录复制到选定的 /Reading/Temp 文件夹 我的脚本无法运行,错误为 78。 两者都可以在终端上正常工作 我做错了什么? 尝试重命名脚本并使其可执行。 mv pdf.txt pdf.sh && chmod +x pdf.sh 此外,如果 launchd 是类似 cron 的东西,那么 10 秒可能太短了。考虑至少使用 60 秒。

回答 1 投票 0

如何在xcode构建阶段获取方案名称(shell脚本)

我正在尝试获取当前方案名称并将其设置为我的 plist 中的值。我正在运行以下 shell 脚本: /usr/libexec/PlistBuddy -c "设置:SchemeName \"$SCHEME_NAME\"" "$INFOPLIST_FI...

回答 2 投票 0

如何以编程方式制作plist内容?

这是我下面的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 类似。

回答 2 投票 0

用于将 PLIST 转换为 JSON 的命令行工具?

是否有命令行工具可用于将 .plist 文件转换为 JSON? 如果没有,在 Mac 上使用 Objective-C 或 C 创建一个的方法是什么?例如,有 JSONKit,用于

回答 9 投票 0

启动 rsync 备份的 plist

我有一个 rsync2server 脚本,从 zsh 运行时可以完成。 现在,我试图让它在晚上当我的 MacBook Air m2 2023 Ventura 睡觉时运行。 首先我创建了一个 plist 来执行...

回答 1 投票 0

默认写入可以超过一个键深度吗?

我想创建一个2层深度的默认写入命令,但在网上找不到任何东西。 我使用 -dict 开关得到的最接近的深度是 1 级。 我想编写我的 OC 更新脚本,所以很多 p...

回答 1 投票 0

Expo Info.plist 设置应用程序传输安全异常

我正在非 https 域上执行提取。域是预先定义的,所以我只需要将它添加到 plist 中的例外列表中,但看不到 plist 内容如何转换为 JSON...

回答 1 投票 0

Mac OS plist 创建触发通知

目前我正在尝试使用 launchagent plist 文件和 macOS 提供的各种其他机制在我的 Mac 上设置一些自动化。 我如何以编程方式创建 plist 文件: 导入 plistlib...

回答 1 投票 0

将 iOS Today 扩展包版本设置为 Flutter FLUTTER_BUILD_NUMBER

我有一个 flutter 应用程序,它还有一个 iOS 原生 Today 扩展。 当我更改项目 yaml 上的版本时,“Runner”目标会自动获取其版本,但 ext...

回答 2 投票 0

Mac 应用程序的 NSUserDefaults 数据存储在哪里?

我正在使用 NSUserDefaults 在我的应用程序中存储一些数据。 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:@"虚拟字符串" forKey:@"lastValue"]; [首选项同步...

回答 5 投票 0

如何创建要为 iOS 应用程序的自定义导出文档类型显示的图像?

我通过将 UTExportTypeDeclarations 和 CFBundleDocumentTypes 添加到 info.plist 来导出应用程序中的自定义文档类型。 如何获取与导出的文档类型关联的自定义图像? W...

回答 1 投票 0

如何创建要为 iOS 应用程序的自定义导出文档类型显示的图像?

如何获取与导出的文档类型关联的自定义图像? 当我导出基于 public.text 一致 UTI 的类型时,无论如何我总是会看到通用文本文档图标...

回答 1 投票 0

需要帮助让启动守护程序在 macOS 上运行

我有一个启动守护进程,但我无法开始工作。它应该每天凌晨 3 点运行一个脚本。该脚本有效,我可以手动运行它,无需 sudo。请参阅下面的启动守护进程 (com.

回答 1 投票 0

google-services.json 生成错误的 ios_info bundle_id 字符串

我有一个 firebase 项目,里面有一个 android 和一个 ios 应用程序。 andoid包名:com.ramobile.myapp ios 捆绑 ID:com.ramobile.myapp 这是我下载的 google-service.json 的片段: &

回答 1 投票 0

我的应用程序没有出现在照片应用程序的共享菜单中

我有一个 Ionic(电容器)ios 应用程序,我希望能够通过其他应用程序中的“共享”菜单打开其中的文件。我不想使用共享扩展,因为我不需要额外的窗口,而且它是

回答 0 投票 0

SwiftUI 预览无法使用 stringsdict 文件进行复数化

有人成功在 SwiftUI 中预览复数吗? Apple 使用 .stringsdict 文件来处理复数。但是,当尝试在预览中呈现该字符串时,例如: 特...

回答 0 投票 0

使用 shell 脚本编辑 plist 文件

我已经使用 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 即可执行此操作的本机方法,您只需编写脚本即可。

回答 8 投票 0

如何调整在 macOS 中启动守护程序/代理的登录项列表中显示的内容?

我的启动守护进程(和启动代理)在 macOS 系统范围内安装。我使用以下 plist 文件(例如,用于守护进程),它被放入以下文件 /Library/LaunchDaemons/com.ex...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.