1 votos

¿Dónde almacena sus archivos la aplicación Fotos?

¿Cómo puedo averiguar mediante programación dónde almacena la aplicación Fotos todas las imágenes?

Antes de responder que siempre es

~/Pictures/Photos Library.photoslibrary/

Por favor, tenga en cuenta que esto sólo es cierto para las instalaciones inglesas de Mac OS. Por ejemplo, en francés, la carpeta se llama

~/Pictures/Phototèque.photoslibrary/

y en alemán,

~/Pictures/Fotos-Mediathek.photoslibrary/

1voto

siva Puntos 23

No es tan sencillo como cambiar la ruta en función de la configuración regional. La biblioteca de fotos puede ser renombrada y movida a cualquier lugar. Puede encontrar la biblioteca actual extrayendo el IPXDefaultLibraryURLBookmark de la lista de fotos.

/usr/libexec/PlistBuddy -c "print IPXDefaultLibraryURLBookmark" \
~/Library/Containers/com.apple.Photos/Data/Library/Preferences/com.apple.Photos.plist

El IPXDefaultLibraryURLBookmark contiene un CFURLRef. Esto requerirá la deserialización.

0 votos

Ew, eso es feo. Pero supongo que es la solución correcta.

0 votos

@Thomas No, por defecto devuelve los datos codificados en hexadecimal en lugar de decodificar lo que puede a texto legible.

0 votos

Esta es la única respuesta correcta. Dado que puede estar en cualquier parte, la única forma correcta de conocer la ubicación es leer dónde la propia Photos cree que está.

0voto

Oskar Puntos 1242

Programáticamente, tendrías que rastrear la aplicación mientras se ejecuta:

sudo fs_usage -w Photos

Excepto que Fotos utiliza algunos demonios del sistema para actualizar las cosas en segundo plano si utilizas las bibliotecas respaldadas por iCloud. ¿Qué estás tratando de hacer, aprender cómo funcionan los nombres de las carpetas localizadas o cómo funciona la localización en una aplicación que ha sido internacionalizada con cadenas?

0voto

ThomasR Puntos 28

El nombre de la carpeta se compone de ~/Pictures/${localpart}.photoslibrary/ , donde ${localpart} almacenado en un .strings proporcionado por la aplicación Fotos. Para extraerlo, utilice este comando:

plutil -p /Applications/Photos.app/Contents/Resources/${lan}.lproj/IPXMain.strings |
  grep "IPXDefaultLibraryName" |
  cut -d">" -f2 | xargs

donde ${lan} es el idioma de su sistema operativo. Este último puede ser detectado usando

defaults read .GlobalPreferences AppleLanguages |
  egrep -o "\w+"

Esta es una lista de los posibles valores de la parte local:

ar  مكتبة الصور
ca  Fototeca de Fotos
cs  Knihovna fotografií
da  Fotobibliotek
de  Fotos-Mediathek
el  Βιβλιοθήκη φωτογραφιών
en  Photos Library
es  Fototeca de Fotos
es_MX  Fototeca de Fotos
fi  Kuvakirjasto
fr  Photothèque
he  ספריית תמונות
hr  Foto medijateka
hu  Fotókönyvtár
id  Perpustakaan Foto
it  Libreria di Foto
ja  写真ライブラリ
ko  [sorry, SE won't let me post Korean, which it detects as spam]
ms  Pustaka Foto
nl  Foto's-bibliotheek
no  Bilder-bibliotek
pl  Biblioteka Zdjęć
pt  Fototeca
pt_PT  Fototeca
ro  Bibliotecă Poze
ru  Медиатека Фото
sk  Knižnica aplikácie Fotky
sv  Bilder-bibliotek
th  คลังรูปภาพ
tr  Fotoğraflar Arşivi
uk  Медіатека програми «Фотографії»
vi  Thư viện Ảnh
zh_CN  照片图库
zh_TW  照片圖庫

0 votos

Ten cuidado al usar esto para encontrar una fototeca real. Mi biblioteca de fotos no está en esta ubicación, por lo que esto fallaría en mi sistema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X