【问题标题】:How should provisioning profile with com.apple.developer.driverkit.userclient-access look?com.apple.developer.driverkit.userclient-access 的配置文件应该如何看待?
【发布时间】:2021-04-17 07:43:38
【问题描述】:

我们请求获得权利 com.apple.developer.driverkit.userclient-access 以访问我们的 Driverkit 驱动程序,该驱动程序带有捆绑 ID com.example.driver,用于捆绑 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 驱动程序通信的应用程序的权利,那将非常有帮助。

【问题讨论】:

    标签: macos iokit entitlements driverkit macos-system-extension


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 2010-09-13
      • 2011-10-10
      • 1970-01-01
      相关资源
      最近更新 更多