【问题标题】:Can we add keychain access group entitlements in CommandLine application for Mac OSX?我们可以在 Macos 的命令行应用程序中添加钥匙串访问组权利吗?
【发布时间】:2020-07-15 05:18:05
【问题描述】:
我在 Mac OSX 中构建了一个命令行工具应用程序,以使用 Microsoft MSAL Objective-C 框架获取令牌。需要为此应用程序提供 keychain-access-group 权利以缓存钥匙串中的令牌。
我没有找到为此命令行应用程序提供权利的方法,而在 Cocoa 应用程序中,Xcode 中有一个选项可以提供此权利。
我尝试创建权利文件并在“构建设置->签名->代码签名权利”下提供了路径,但这不起作用。
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签:
objective-c
macos
command-line-tool
【解决方案1】:
不,你不能。 Entitlements 文件被放入应用程序的 bundle 中,但如果创建了命令行工具,它将被编译为单个可执行的 Mac OS X 文件,并且不会创建 bundle。
作为一种替代方法,您可以尝试将此 entitlement.file 嵌入到二进制本身中,使用某种编码并表示为应用程序中的数据,然后将其解压缩到应用程序启动时的临时目录并尝试从那个目录。但是该文件的路径也应该在应用程序中进行硬编码/计算,因为没有向命令行工具提供配置的 Info.plist。