如何在 Objective C 中使用 Applescript 启用 Touch ID 提示输入密码

问题描述 投票:0回答:1

我正在我的 Objective C 应用程序中使用 @CarlosP解决方案以管理员身份执行脚本。

链接在上面,但基本上是这样做的:

NSDictionary *errorInfo = [NSDictionary new];
NSString *script =  [NSString stringWithFormat:@"do shell script \"%@\" with administrator privileges", fullScript];

NSAppleScript *appleScript = [[NSAppleScript new] initWithSource:script];
NSAppleEventDescriptor * eventResult = [appleScript executeAndReturnError:&errorInfo];

它工作得很好,但它不启用/允许 Touch ID。我有办法在

NSAppleScript
的范围内做到这一点吗?

macos applescript macos-big-sur touch-id
1个回答
0
投票

您可以为 sudo 启用 Touch ID 授权。查看详情这里这里

auth sufficient pam_tid.so
添加到
/etc/pam.d/sudo
文件。在你的 Applescript 中 删除
with administrator privileges
并在 shell 脚本中使用
sudo

从 MacOS Sonoma 开始,要更改的文件是

/etc/pam.d/sudo_local
。仅通过软件更新保留对此文件的更改(请参阅上面的第二个链接)。

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