CGR*_*CGR 2 objective-c uiimage ios
我正在创建一个tableView,其中包含用户选择的图库中的图像,然后将选定imagePath的图像放置在上UIImageView。
要在中设置iOS画廊图片,请UIImageView使用:
NSString *imgPath = @"/var/mobile/Media/DCIM/105APPLE/IMG_5903.JPG";//Hardcoded path just for test, image actually exists on iOS device
self.imgViewContainer.image = [UIImage imageWithContentsOfFile: imgPath];
Run Code Online (Sandbox Code Playgroud)
此代码可在Simulator上使用。
我在真实的设备上进行了测试,发现UIImageView执行上述代码后,该对象为空。
有没有办法使用真实的设备来实现这一目标?
由于应用沙箱,您的应用无权查看/var/mobile/Media(或的任何子目录/var/)的内容。考虑下面的代码:
do {
let fileList = try FileManager.default.contentsOfDirectory(atPath: "/var/mobile/Media/DCIM/")
} catch {
print(error)
}
Run Code Online (Sandbox Code Playgroud)
contentsOfDirectory(atPath:) 使用以下详细信息引发错误:
Run Code Online (Sandbox Code Playgroud)Error Domain=NSCocoaErrorDomain Code=257 "The file “DCIM” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/var/mobile/Media/DCIM/, NSUserStringVariant=( Folder ), NSUnderlyingError=0x170045700 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
该示例在Swift中,但是等效的Objective-C代码将具有相同的错误。
无法解决此问题(除非您使用以root用户身份运行应用程序的越狱设备)。使用UIImagePickerController询问用户的图像。
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |