Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在macOS的Swift应用程序中请求日历事件访问(通过EKEventStore)_Swift_Xcode_Macos_Eventkit - Fatal编程技术网

无法在macOS的Swift应用程序中请求日历事件访问(通过EKEventStore)

无法在macOS的Swift应用程序中请求日历事件访问(通过EKEventStore),swift,xcode,macos,eventkit,Swift,Xcode,Macos,Eventkit,我以前从未使用过Swift或Xcode,所以这可能是一个愚蠢的问题 为了解决这个问题,我在Xcode 11中创建了一个完全空的应用程序,并将其放入AppDelegate.swift: 当我通过cmd+R运行应用程序时,我立即看到它拒绝访问,而没有给我批准访问的机会: Metal API Validation Enabled BAD: Access denied 我做错了什么?如何使其允许我批准对日历事件的访问 注意,我注意到有人说: 要访问用户的日历数据,所有沙盒macOS应用程序必须包含co

我以前从未使用过Swift或Xcode,所以这可能是一个愚蠢的问题

为了解决这个问题,我在Xcode 11中创建了一个完全空的应用程序,并将其放入AppDelegate.swift:

当我通过cmd+R运行应用程序时,我立即看到它拒绝访问,而没有给我批准访问的机会:

Metal API Validation Enabled
BAD: Access denied
我做错了什么?如何使其允许我批准对日历事件的访问

注意,我注意到有人说:

要访问用户的日历数据,所有沙盒macOS应用程序必须包含com.apple.security.personal-information密钥

所以我在App_Name.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.personal-information</key>
    <true/>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
</dict>
</plist>

固定的。我做错了两件事:

权利文件中的com.apple.security.personal-information不正确。只需输入日历自动完成到正确的一个。 在Info.plist文件中,我需要Privacy-Calendars用法说明才能有一个值。我在这里发现:
<?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.personal-information</key>
    <true/>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
</dict>
</plist>