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

1

¿Cómo puedo saber de manera programática dónde la aplicación Fotos almacena todas las imágenes?

Antes de responder que siempre es

~/Pictures/Photos Library.photoslibrary/

, tenga en cuenta que esto solo se aplica a las instalaciones en inglés de Mac OS. Por ejemplo, en francés, la carpeta se llama

~/Pictures/Phototèque.photoslibrary/

y en alemán,

~/Pictures/Fotos-Mediathek.photoslibrary/
    
pregunta ThomasR 28.12.2016 - 15:08

3 respuestas

1

No es tan simple como cambiar la ruta según la configuración regional. La biblioteca de fotos podría ser renombrada y movida a cualquier lugar. Puede encontrar la biblioteca actual extrayendo 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á deserialización.

    
respondido por el grg 28.12.2016 - 15:42
0

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

sudo fs_usage -w Photos

Excepto, que Fotos usa algunos demonios del sistema para actualizar las cosas en segundo plano si usas bibliotecas respaldadas por iCloud. ¿Qué estás intentando hacer en realidad? ¿Aprender cómo funcionan los nombres de carpetas localizadas o cómo funciona la localización en una aplicación que se ha internacionalizado con cadenas?

    
respondido por el bmike 28.12.2016 - 15:23
0

El nombre de la carpeta se compone de ~/Pictures/${localpart}.photoslibrary/ , donde ${localpart} se almacena en un archivo .strings proporcionado por la aplicación Fotos. Para extraerlo, usa 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+"

Aquí hay una lista de posibles valores de partes locales:

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  照片圖庫
    
respondido por el ThomasR 28.12.2016 - 15:44

Lea otras preguntas en las etiquetas