我正在使用 Xcode 构建我的应用程序,使用
Release
生产配置:
但是当我检查生成的二进制文件的权利时:
codesign -d --entitlements - --xml /Users/user/Library/Developer/Xcode/DerivedData/LABService-emdoarcsbzcuepbrkkkpbcckcaqx/Build/Products/Release/MyAppName
我得到:
Executable=/Users/user/Library/Developer/Xcode/DerivedData/LABService-emdoarcsbzcuepbrkkkpbcckcaqx/Build/Products/Release/MyAppName
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.get-task-allow</key>
<true/>
</dict>
</plist>
如何从发布版本中删除
com.apple.security.get-task-allow
权利(但保留调试配置版本)?
好的,回答我自己的问题。当您对二进制文件进行代码签名时,
com.apple.security.get-task-allow
权利将自动删除。我不确定是否可以使用 codesign
命令行工具来完成,但 Xcode 可以从 UI 完成。
Xcode 会自动向您为调试而构建的应用程序添加“获取任务允许”权限,同时在提交 App Store 之前删除该权限。这使得 Xcode 本身能够在开发过程中附加到您的应用程序并进行调试。