PHPhotosErrorDomainエラー1000を解決


事の発端は次の様なことなのですが、OneDrive 19.192.0926をmacOS Catalina 10.15.2(19C57)にインストールするとiCloudで共有している写真を事前の承認オプションなく無断でOneDriveに同期してきました。

そこでOneDrive上のiCloud写真を削除しようと思ったのですが、オリジナルのデータがどうなっているのか確認しようと写真アプリを起動したところ、ライブラリを修復する様に警告されました。

修復中の表示がおかしいのが気になりましたが完了すると同時にこのエラーを返してきたので検索してみるとCatalinaのベータ版時代に報告が少しあったり、最近の投稿でもCommunity Specialistがテンプレ回答を付けたりと具体的な解決方法が見つかりません。
The operation couldn’t be completed. (PHP… – Apple Community

またMojave版を例に、よく知られるOPTキー起動を使う方法について書かれた記事を眺めていると、最後の手段として「新しいライブラリを作って読み込みましょう」とあり、実際それしか残された道がないので再度700GBくらいのデータを数時間掛けて…と落ち込みつつ新しいライブラリを作成し、MojaveとCatalinaでライブラリの構成が違うことを確認してphotoslibrary/originalsから読み込みを開始しました。

d). If you can’t repair the old photo library, you can choose to import the saved photos into this new photo library.

[Solved] Can’t open Photos.app or access photo library on macOS?

無事破損ライブラリからデータを読み込んだところでiPhoto利用時代に重複データを抽出するために使っていたPhotoSweeperというアプリの存在を思い出し、ダメ元で破損ライブラリを1時間ほど掛けてスキャンして、写真アプリから読み込んでみたところ、問題なく表示することができる様になっていました。

結論として、写真アプリのライブラリの修復がPHPhotosErrorDomainエラー1000になった場合はPhotoSweeperの様な写真ライブラリを走査するアプリを使ってみると良いのではないかと思います。加えてOneDriveを使うべからず、というのが教訓になり、Boot CampのWindowsにもiCloud for WindowsをインストールしてiCloud Driveを通してmacOSとファイル共有する様にしました。

更新(2020-1-9): 写真でライブラリ .photoslibrary を開ませんでした。(1000)というエラーを返してきたので、一旦USB外部HDDをイジェクトしてmacOSを再起動して修復しました。ハード的な問題のような気もしてきたので、1TBの外付けSSDを購入して移行しました。