我知道有现有的解决方案可以让您防止自动启动应用程序,例如 iphoto 或较新的替代品、通过照片本身的用户界面在每个设备上启动照片,以及通过图像查看器进行更全面的控制(可以设置打开哪个应用程序),但我的问题是是否有办法普遍阻止照片自动启动(无论我安装什么可移动媒体),最好通过发出默认写入命令或禁用 launchd plist 或类似命令。
我尝试自己解决这个问题,参考了 lifehacker 上的一篇文章”如何在 Mac 应用程序中查找隐藏功能“。
我已发出以下命令:
strings /Applications/Photos.app/Contents/MacOS/Photos > Desktop/photosstrings.txt
class-dump /Applications/Photos.app/Contents/MacOS/Photos > Desktop/photosclassdump.txt
strings /Applications/Photos.app/Contents/MacOS/PhotosRelauncher > Desktop/photosrelauncherstrings.txt
class-dump /Applications/Photos.app/Contents/MacOS/PhotosRelauncher > Desktop/photosrelauncherclassdump.txt
以上输出可通过以下方式查看/下载要旨
我尝试了一些有希望的字符串,例如:
defaults write com.apple.Photos canAutoLaunch = 0
defaults write com.apple.Photos shouldAutoLaunch = 0
到目前为止还没有运气。我做了:
defaults read com.apple.Photos
这表明两次写入确实被写入了,但它们并没有做任何明显的事,而且绝对不是我想要的。
我不确定要对哪个服务执行 killall 以便更快地进行测试,重新启动进行测试有点过头了。活动监视器显示以下内容,其中搜索词为“照片”:
Photos Agent
com.apple.CloudPhotosConfiguration
Photolibraryd
com.apple.photomoments
com.apple.photomodel
Photos
我曾尝试对照片代理等进行默认读取,甚至转义字符和其他变体等等,但都没有成功。
希望能得到帮助以达到预期效果。如果要求不过分的话,我也希望在学习过程中能得到教育。
答案1
这在优胜美地对我很有用。
# -currentHost is not technically required
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
它来自 AskDifferent 上类似问题的回答:
有趣的是,图像捕获中的 UI 设置没有任何作用,但这个却可以。
答案2
答案3
答案4
从终端进入 /Applications/Photos.app/Contents/MacOS
类型:
sudo mv Photos Photos.old
按Enter。系统将提示您输入 root 密码。
这应该会完全禁用照片。如果你想让照片再次工作,请输入
sudo mv Photos.old Photos