使用 com.apple.developer.driverkit.userclient-access 配置配置文件应该如何?

如何解决使用 com.apple.developer.driverkit.userclient-access 配置配置文件应该如何?

我们请求获得权限 com.apple.developer.driverkit.userclient-access 以访问捆绑 ID com.example.driver 的 Driverkit 驱动程序,用于捆绑 ID com.example.app 的应用程序已处理,但我们不确定我们是否获得了正确的权利。当我们为应用生成新的配置文件并使用 security cms -D -i 检查配置文件中的权利时,它说:

<key>Entitlements</key>
    <dict>
        <key>com.apple.developer.driverkit</key>
        <true/>
        <key>com.apple.developer.driverkit.userclient-access</key>
        <true/>
        <key>com.example.driver</key>
        <true/>
        <key>com.apple.developer.system-extension.install</key>
        <true/>
        <key>com.apple.application-identifier</key>
        <string>1234567890.com.example.app</string>
        <key>keychain-access-groups</key>   
        <array>
                <string>1234567890.*</string>
        </array>
        <key>com.apple.developer.team-identifier</key>
        <string>1234567890</string>
    </dict>

读取 here 看起来 com.apple.developer.driverkit.userclient-access 键值应该是数组而不是布尔值(注释 here 表示 com.apple.developer.driverkit.userclient-access 可以是布尔值,但是仅当权限用于一个 dext 与另一个 dext 通信时)

配置文件中的上述权利是否正确?如果不是,应如何享有权利?如果有人可以在可以与 driverkit 驱动程序通信的应用程序的配置文件中发布权利,那将会非常有帮助。

解决方法

com.apple.developer.driverkit.userclient-access 键确实应该是列有包 ID 的字符串数组。这是我在“演示”DriverKit 项目中为应用程序提供的 .entitlements 文件中的内容,我将其用于原型设计:

<?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>com.apple.developer.driverkit.userclient-access</key>
    <array>
        <string>eu.dennis-jordan.DemoDriver.DemoDriverExtension</string>
    </array>
    <key>com.apple.developer.system-extension.install</key>
    <true/>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.temporary-exception.iokit-user-client-class</key>
    <array>
        <string>IOUserUserClient</string>
    </array>
</dict>
</plist>

请注意,这是一个沙盒应用,因此还需要 com.apple.security.temporary-exception.iokit-user-client-class

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?