Iphone - 如何启用应用程序访问设备上的媒体? - ALAssetsLibraryErrorDomain Code=-3312 "全局拒绝访问"

Posted

技术标签:

【中文标题】Iphone - 如何启用应用程序访问设备上的媒体? - ALAssetsLibraryErrorDomain Code=-3312 "全局拒绝访问"【英文标题】:Iphone - How to enable application access to media on the device? - ALAssetsLibraryErrorDomain Code=-3312 "Global denied access" 【发布时间】:2010-08-24 21:47:59 【问题描述】:

好的,我之前也遇到过这个问题,不知不觉解决了,现在又出现了!

"error: 
 Error Domain=ALAssetsLibraryErrorDomain Code=-3312 "Global denied access" UserInfo=0x169aa0 
 NSLocalizedFailureReason=The user has denied all applications access to their media., 
 NSLocalizedRecoverySuggestion=This setting can be changed in Preferences., 
 NSLocalizedDescription=Global denied access"

请注意://我在模拟器中没有遇到这个问题 - 我的迭代资产代码在模拟器上运行良好。

当然,这是一个简单的解决方法,但如果我能在“首选项”下的任何地方找到任何有帮助的东西,那该死的。

请停下来!

【问题讨论】:

【参考方案1】:

开什么玩笑 - 必须打开定位服务...

开什么玩笑!

【讨论】:

【参考方案2】:

只需转到 设置>常规>重置>重置位置警告。

但这不会帮助您的用户,但对开发很有用

【讨论】:

我在此处添加了一篇关于如何检测和提醒用户他们的位置设置已为您的应用程序关闭的帖子。 betadesigns.co.uk/Blog/2010/12/10/… ios 7 中,这个错误也发生在模拟器中,我设法通过这种方式做到了。【参考方案3】:

对于 iOS 4.2 及更高版本,请使用 CLLocationManager 的授权状态类方法。

它将返回一个 CLAuthorizationStatus 枚举(在 CLLocationManager.h 中声明),您可以测试 kCLAuthorizationStatusAuthorized 的返回。

if ( [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized ) 
    // do your stuff
 else 
   // sorry user, you must enable us to see your location if you want to use YOURS assets library

iOS 6 也为 ALAssetsLibrary 类引入了这种方法。

【讨论】:

以上是关于Iphone - 如何启用应用程序访问设备上的媒体? - ALAssetsLibraryErrorDomain Code=-3312 "全局拒绝访问"的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中获取启用(媒体)设备的列表

iOS 8 AVFoundation - 如何在有能力的设备上启用视频稳定功能

如何访问我的音频流,以便将它们定向到不同的音频输出

响应式设计损坏(仅在 iPhone 上)- 可以使用 javascript 强制执行媒体查询吗?

iPhone系列设备媒体查询:

如何在 Android 设备上的 Chrome 上启用调试?