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 にインポートした後に画像をファイルに一致させる必要があるため、エクスポート可能なデータファイルを作成するのは簡単ではありません。

iCloud Photo Sharing で画像を共有した後も残る Mac 上の iPhoto の画像に名前を付けるだけでよければ、私の問題は解決するでしょう。

私はどんな提案にもとても感謝しています!

4

0 に答える 0