如何在 Swift 的权限对话框中处理不允许选项
Posted
技术标签:
【中文标题】如何在 Swift 的权限对话框中处理不允许选项【英文标题】:How to handle the Don't Allow option in permission dialogue in Swift 【发布时间】:2015-07-30 14:34:38 【问题描述】:我正在开发一个使用 PHAssets 类方法访问用户照片库的应用程序。一旦用户选择他的选项允许或不允许,如何能够再次“访问您的照片”权限对话框。如果用户选择允许我们如何同时获取数据。 其次,我们如何处理 Swift 中的“不允许”选项。 代码如下:
覆盖 func viewDidLoad() super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let images = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: nil)
let targetSize: CGSize = CGSize(width: 350, height: 480)// target size
let contentMode: PHImageContentMode = PHImageContentMode.AspectFill // content mode
images.enumerateObjectsUsingBlock
object, index, stop in
let options = PHImageRequestOptions()
options.synchronous = true
options.deliveryMode = .HighQualityFormat
PHImageManager.defaultManager().requestImageForAsset(object as! PHAsset, targetSize: targetSize, contentMode: contentMode, options: options)
image, info in
self.myCol.append(image)
ImageCol.store = myCol
【问题讨论】:
【参考方案1】:-
您无法再次显示“访问您的照片”权限对话框。显示后,只能在 ios 设置中更改。
允许选项:使用
PHImageManager.defaultManager().requestImageForAsset
,您可以立即访问照片。
不允许选项:如果用户不允许,您需要让他在设置的 iOS 中允许:UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString))
查看权限状态:Determine if the access to photo library is set or not - phphotoLibrary (iOS 8)
【讨论】:
实际上我无法处理所选选项。就像用户选择了 Ok 所以我的代码应该执行并填充数组。但它不是在同一时间重新启动应用程序时填充数据 尝试关注:developer.apple.com/library/ios/samplecode/UsingPhotosFramework/…以上是关于如何在 Swift 的权限对话框中处理不允许选项的主要内容,如果未能解决你的问题,请参考以下文章
在首先按下不允许后如何授予对 react-native-camera 的访问权限?