Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OSX Swift应用程序中请求管理员登录?_Swift_Xcode_Macos_Applescript - Fatal编程技术网

如何在OSX Swift应用程序中请求管理员登录?

如何在OSX Swift应用程序中请求管理员登录?,swift,xcode,macos,applescript,Swift,Xcode,Macos,Applescript,我目前正试图使应用程序仅在管理员登录进入对话框时打开。我尝试使用以下方法使用AppleScript: set adminLogin to do shell script "" with administrator privileges display dialog adminLogin 这将显示我想要的对话框,我可以将其放入一个NSTask来执行它。我甚至可以获取输出并使用它关闭和if语句下的应用程序 我想使用实际的应用程序,而不是osascript来说明它需要管理员登录才能继续,而这个scp

我目前正试图使应用程序仅在管理员登录进入对话框时打开。我尝试使用以下方法使用AppleScript:

set adminLogin to do shell script "" with administrator privileges
display dialog adminLogin
这将显示我想要的对话框,我可以将其放入一个NSTask来执行它。我甚至可以获取输出并使用它关闭和
if
语句下的应用程序

我想使用实际的应用程序,而不是osascript来说明它需要管理员登录才能继续,而这个scpt文件在我编译、构建和归档它以供实际使用时就会消失,这意味着我必须在创建后将这个文件重新添加到我为之制作的所有客户端。它依赖不同的任务进行快速登录,而不是使用应用程序所持有的相同过程,这一事实似乎并不太有效


是否有一种方法可以通过编程要求管理员登录以继续打开应用程序?我可以使用
CoreLocation
和/或使用
AuthorizationServices()
执行此任务吗?

查看
LocalAuthentication
框架。有一个用于
设备所有者身份验证的策略
,该策略同时处理触摸ID和设备密码身份验证

LocalAuthentication框架参考:

设备所有者身份验证:

这是针对OSX应用程序的,而不是针对iOS。如果你是指新触摸栏上的触摸ID,我们使用的是2015款Macbook Air机型。@dylan从10.10开始macOS就支持本地身份验证框架。它支持触摸ID和设备密码。虽然您可以指定最适合您的用户群的策略。它是否适用于提交到Mac App Store的桌面应用程序?否@ElTomato,我不打算将此提交到App Store。