【问题标题】:not able to retrieve the photos from photo library in ipad device无法从 ipad 设备的照片库中检索照片
【发布时间】:2011-11-11 07:31:03
【问题描述】:

我正在使用 ELCImagePickerController 从照片库中检索照片。这在显示照片库中的照片的 ipad 模拟器中运行良好。但它不适用于 iPad 设备。

显示失败错误意味着没有照片,即使设备有照片。

我用了以下

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];        
[library enumerateGroupsWithTypes:ALAssetsGroupAll
                       usingBlock:assetGroupEnumerator 
                     failureBlock:assetGroupEnumberatorFailure];

适用于模拟器,但不适用于 ipad 设备。

谁能回答,有什么问题。

提前致谢。

【问题讨论】:

  • assetGroupEnumberatorFailure 块收到的实际错误是什么?
  • 嗨,Anomie,该消息在警报中显示为 --> 相册错误:错误域:ALAssetsLibraryErrorDomain 代码=-3311 "用户拒绝访问" UserInfo=0x147180{NSLocalizedFailureReason=用户拒绝了应用程序访问到他们的媒体。,NSLocalizeddescription=用户拒绝访问} ..我知道这意味着照片库中没有照片。但我的设备中有照片。如果你知道,请告诉我为什么

标签: objective-c xcode ipad photolibrary


【解决方案1】:

您收到的错误消息表明用户通过拒绝访问定位服务拒绝您的程序访问照片库。由于某些未知原因,Apple 使用定位服务权限通过 AssetsLibrary 框架控制对照片库的访问。进入“设置”应用程序并确保“定位服务”已打开并且您的应用程序允许使用它。

我对他们为什么这样做的猜测是,他们担心某些应用程序可能会通过加载库中的所有照片并查找 EXIF 地理标记数据来以某种方式绕过定位服务被拒绝。

【讨论】:

  • 但是如何知道位置服务开启的用户,有没有办法避免这种情况?
  • @Chakradhar:您可以使用CLLocationManager 对事物进行更多控制,但主要是您只需要检查是否收到域ALAssetsLibraryErrorDomain 和代码ALAssetsLibraryAccessUserDeniedError 或@ 的NSError 987654324@.
  • @Anomie,Steve Gear:我在我的应用程序中也使用了 Assetslibrary,我也遇到了同样的问题,你能给我一些想法或示例代码,以便我可以解决这个问题。提前致谢!
猜你喜欢
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
相关资源
最近更新 更多