• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - PHPhotoLibrary requestAuthorization,不是请求

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:22:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

为了测试,我试图重新创建系统“请求访问”弹出窗口体验。

更新:
iOS 11下,删除App后,会再次出现系统弹窗。


(上一个问题)

App 第一次运行时(也是唯一 次),系统弹出窗口显示,请求访问。之后,即使不删除应用程序并重新启动设备也会再次触发该弹出窗口。

换句话说,设备“记住”了用户请求并且无法重置。

代码如下:

[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {

    switch (status) {
        case PHAuthorizationStatusAuthorized:
            NSLog(@"HAuthorizationStatusAuthorized");
            break;

        case PHAuthorizationStatusDenied:
            NSLog(@"HAuthorizationStatusDenied");
            break;
        case PHAuthorizationStatusNotDetermined:
            NSLog(@"HAuthorizationStatusNotDetermined");
            break;
        case PHAuthorizationStatusRestricted:
            NSLog(@"HAuthorizationStatusRestricted");
            break;
    }

}];

当设置中的访问关闭时,它会一直打印“PHAuthorizationStatusDenied”。但不显示任何弹出窗口。立即返回。

建议将“Bundle display name”添加到 plist。用空值、$(PRODUCT_NAME) 和不同的字符串尝试过,但无济于事。

清理项目,删除 DrivedData(并每次都从模拟器中删除 App)。运气不好。

更多信息:

一旦您在“设置”中关闭照片访问权限,Apple 示例代码“SamplePhotosApp”就会崩溃。



Best Answer-推荐答案


进一步阅读后,这似乎是设计使然。

来自 Apple:

This method always returns immediately. If the user has previously granted or denied photo library access permission, it executes the handler block when called; otherwise, it displays an alert and executes the block only after the user has responded to the alert.

如果用户提示一次,则说“此方法总是立即”。之后它不会再显示请求。好像没办法(不过是一些自定义消息)再用系统消息。

关于ios - PHPhotoLibrary requestAuthorization,不是请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083401/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap