PHPhotoLibrary.requestAuthorization()未在iOS 9上触发授权提示

PHPhotoLibrary.requestAuthorization()未在iOS 9上触发授权提示,ios,swift,cocoa-touch,Ios,Swift,Cocoa Touch,我有以下功能,它显示一个包含两个不同选项的操作表。目前,唯一实现的选项是标题为“照片”的选项。正确显示操作表并调用正确的操作。我的问题是,在模拟器和实际设备上,我无法显示请求访问照片库的提示 PHPhotoLibrary.authorizationStatus()返回.Denied并显示模式,通知当前应用程序无法访问照片: 我已经“清理”了项目并重置了模拟器设置,但仍然没有得到显示的提示。发生这种情况是因为Info.plist文件中的CFBundleDisplayName键的值为空,并且无法构

我有以下功能,它显示一个包含两个不同选项的操作表。目前,唯一实现的选项是标题为“照片”的选项。正确显示操作表并调用正确的操作。我的问题是,在模拟器和实际设备上,我无法显示请求访问照片库的提示

PHPhotoLibrary.authorizationStatus()
返回
.Denied
并显示模式,通知当前应用程序无法访问照片:


我已经“清理”了项目并重置了模拟器设置,但仍然没有得到显示的提示。

发生这种情况是因为Info.plist文件中的
CFBundleDisplayName
键的值为空,并且无法构造警报中提示访问照片库权限的消息。添加以下行、清理项目并再次构建可修复此问题:

<?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>CFBundleDisplayName</key>
    <string>$(PRODUCT_NAME)</string>
    <!-- More keys and values -->
</dict>
</plist>

CbundleDisplayName
$(产品名称)

谢谢你帮我解决这个问题

转到Info.plist并添加捆绑显示名称。然后添加代码


lifesaver的可能复制品-我自己永远不会想到这一点。它在iOS 10.1模拟器上不起作用。我在这里发布了一个问题。
<?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>CFBundleDisplayName</key>
    <string>$(PRODUCT_NAME)</string>
    <!-- More keys and values -->
</dict>
</plist>