2020年2月8日土曜日

MojaveからCatalinaに移行すると"写真"が開けなくなる

Mojaveの"写真"とCatalinaの"写真"はファイルの管理方法が大きく変わっている。

  • オリジナルファイルの置き場所がMastersからoriginalsに変わっている。
  • originalsファイルの下はUUIDで管理されていてオリジナルのファイル名は失われている。
このためMojaveからCatalinaにアップグレードすると、写真ライブラリの変換が行われるのだが、 これが途中で終了してしまい、ニッチもサッチも行かなくなった。

ログ(PhotoUpgrade.log)を見ながら、下記で対応できたので記しておく。

cd ~/Pictures/写真ライブラリ.photoslibrary/resources
mv cpl _cp
cd ~/Pictures/写真ライブラリ.photoslibrary/private/com.apple.photoanalysisd
mv GraphService _GraphService
mv VisionService _VisionService

この後ログ上は最後まで走りきるので、「写真ライブラリの修復」を行うことで開けるようになった。

経緯は以下の通り。

2020-02-07 21:04:48.993 (NSOperationQueue 0x7ff66e9014e0 (QOS: UTILITY)) MigrationOperation.m:904 REASON: Error Domain=com.apple.photos.error Code=46510 "Failed cpl prefix check. cplPath:/Users/XXXX/Pictures/写真ライブラリ.photoslibrary/resources/cpl : bundleRoot:/Users/XXXX/Pictures/写真ライブラリ.photoslibrary" UserInfo={NSLocalizedDescription=Failed cpl prefix check. cplPath:/Users/XXXX/Pictures/写真ライブラリ.photoslibrary/resources/cpl : bundleRoot:/Users/XXXX/Pictures/写真ライブラリ.photoslibrary, PLMigrationContext=cplprefix}

cplがなんなのかよくわからないが、とりあえずリネームする。

file:///Users/XXXX/Pictures/%E5%86%99%E7%9C%9F%E3%83%A9%E3%82%A4%E3%83%95%E3%82%99%E3%83%A9%E3%83%AA.photoslibrary/. Error: Error Domain=NSCocoaErrorDomain Code=516 "同じ名前の項目がすでに存在するため、“GraphService”を“com.apple.photoanalysisd”に移動できませんでした。" UserInfo={NSSourceFilePathErrorKey=/Users/XXXX/Pictures/写真ライブラリ.photoslibrary/private/com.apple.photoanalysisd/GraphService, NSUserStringVariant=( Move ), NSDestinationFilePath=/Users/XXXX/Pictures/写真ライブラリ.photoslibrary/private/com.apple.photoanalysisd/graph, NSFilePath=/Users/XXXX/Pictures/写真ライブラリ.photoslibrary/private/

GraphServiceというのが確かに存在するのでリネームする。 (このあとVisionServiceについても同じことを言われるのでリネームする)