首页 > 解决方案 > 如何在应用程序中将 com.apple.security.smartcard 权利设置为是

问题描述

我正在尝试构建一个应用程序来处理 mac 上的智能卡,但是当我尝试使用 TKSmartCardSlotManager 的 defaultManager 来读取智能卡时,它返回为 nil,因为 com.apple.secuirty.smartcard 权利未设置为 true 什么我在评论中阅读了 mac TKSmartCard.h 文件,但我在处理 mac 方面很陌生,不知道如何通过调用应用程序将其设置为 true。任何帮助将不胜感激。

编辑: 到目前为止,我尝试的是创建一个属性列表文件并将其添加到项目中,然后使用项目构建它,但似乎它仍然没有添加所需的权利。这是我添加的文件:

<?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.security.smartcard</key>
       <true/>
  </dict>

</plist>

标签: c++macossmartcard

解决方案


答案是简单地编写一个包含以下内容的 .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.security.smartcard</key>
        <true/>
    </dict>
</plist>

然后将我的 project.entitlements 添加到 Xcode 构建设置中的代码签名权利中。


推荐阅读