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

时间:2010-08-24 21:47:59

标签: iphone media

好的,所以我之前遇到过这个问题并且在不知不觉中解决了它,现在又重新出现了!

"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}"

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

当然,这是一个简单的解决办法,但如果我能在任何有助于帮助的“偏好”下找到任何内容,那就该死了。

请停止!

3 个答案:

答案 0 :(得分:15)

真是个笑话 - 必须打开位置服务...

真是个笑!

答案 1 :(得分:10)

简单地去 设置>常规>重置>重置位置警告。

然而,这不会对您的用户有所帮助,但它对开发非常有用

答案 2 :(得分:3)

对于iOS 4.2及更高版本,请使用CLLocationManager authorizationStatus类方法。

它将返回一个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类引入了此方法。