我正在使用Core Data处理一个应用程序,其中包含一个包含项目描述和图像文件名的Product文件。在不同平台上的先前版本中,此文件名将包含类似“elephant.jpg”的内容,其相关图像也将被称为“elephant.jpg”。通过这种方式,可以离线输入和验证数据,然后将其导入应用程序。
使用IOS8和Photos框架我不能这样做,因为似乎无法持久地将名称附加到照片图像。我尝试使用以下方法查看图像元数据:
PHImageManager.defaultManager().requestImageDataForAsset(asset, options: nil) {
imageData,dataUTI,orientation,info in
println("Info %@", info) }
然而,这会返回诸如
之类的信息/private/var/mobile/Media/PhotoData/PhotoCloudSharingData/8083971319/2cc2fcd0-d19b-4803-b34f-35a285bc1fab/100CLOUD/**IMG_0008.JPG**
其中IMG_0008.JPG与原始图像无关。
我目前正在通过确保每个图像的creationDate具有唯一的dateTime,将其存储在Product.fileName中并使用它来检索我的图像
var fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "creationDate == %@", imageCreationDate) // use CreationDate in predicate
var assets = PHAsset.fetchAssetsInAssetCollection(rec, options: fetchOptions)
然而,这很难管理,并且不容易创建可导出的数据文件,因为图像在导入iPad后必须与文件匹配。
如果我只能在Mac上的iPhoto上附加一个名称,我的问题就会解决,这个名字在我与iCloud Photo Sharing共享图像后仍然存在。
我将非常感谢任何建议!