1

我正在使用 Core Data 开发一个应用程序,其中包括一个包含项目描述和图像文件名的产品文件。在不同平台上的先前版本中,此文件名将包含类似“elephant.jpg”的内容,其相关图像也将称为“elephant.jpg”。通过这种方式,可以离线输入和验证数据,然后将其导入应用程序。

使用 IOS8 和照片框架我无法做到这一点,因为似乎无法将名称持久地附加到照片图像上。我尝试使用以下方法查看图像元数据:

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 与原始图像无关。

我目前正在通过确保每个图像的创建日期都有一个唯一的 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 照片共享共享图像后仍然存在。

我将非常感谢任何建议!

4

0 回答 0