Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fotoimport

Kleine native macOS-App: Fotos und Videos von einer Kamera-SD-Karte in einen selbst gewählten Ordner kopieren, sortiert nach Aufnahmetag (Jahr/Monat/Tag, z. B. 2026/08/29).

Die App ist markenunabhängig. Jede Karte mit üblichem DCF/DCIM-Aufbau funktioniert gleich – Canon, Nikon, Sony, Fujifilm, Panasonic/Lumix, Olympus/OM System, Ricoh/Pentax, Leica, GoPro und Telefone, die einen DCIM-Ordner bereitstellen. Die Canon EOS 60D ist nur ein Beispiel unter vielen.

Die Dateien auf der Karte bleiben unangetastet. Es wird nur kopiert, niemals verschoben oder gelöscht. Es gibt keine Fotodatenbank und kein Kamerahersteller-SDK – die Karte wird wie ein ganz normaler Datenträger gelesen.

Voraussetzung: macOS 13 (Ventura) oder neuer, Xcode 15 oder neuer.

Öffnen und bauen

git clone https://github.com/MarkusFroendhoff/fotoimport.git
cd fotoimport
open Fotoimport.xcodeproj
  1. Oben das Scheme Fotoimport wählen, als Ziel den eigenen Mac.
  2. Unter Signing & Capabilities das eigene Team wählen (kostenloses Apple-ID-Team reicht zum lokalen Start). Die App ist sandboxed; die nötigen Rechte für Wechseldatenträger und selbst gewählte Ordner sind bereits eingetragen.
  3. Run (⌘R). Beim ersten Start kann macOS nach Ordnerzugriff fragen – das ist gewollt.

Zum dauerhaften Installieren: Product → Archive, anschließend die App z. B. nach /Applications legen. Eine Notarisierung durch Apple ist für die eigene Nutzung nicht nötig. Ohne Notarisierung warnt Gatekeeper beim ersten Start auf einem anderen Mac – dann Rechtsklick → Öffnen.

Tests in Xcode: Product → Test (⌘U).

Bedienung

  1. SD-Karte in den Kartenleser stecken. Der Fotoapparat muss nicht per USB angeschlossen sein.
  2. Fotoimport erkennt Volumes mit einem DCIM-Ordner (DCF-Unterordner wie 100CANON, 101NIKON, 100MSDCF, 100_FUJI, …).
  3. Zielordner wählen. Die letzte Wahl merkt sich die App.
  4. Die Vorschau zeigt Anzahl, Zeitraum, Datenmenge und wie viele Dateien als Duplikate übersprungen würden.
  5. Import starten. Fortschritt und danach eine kurze Zusammenfassung (kopiert / übersprungen / fehlgeschlagen).

Falls die Karte nicht automatisch erscheint: Quelle wählen… und den Ordner DCIM (oder die Volume-Wurzel) manuell anwählen. Das hilft auch, wenn macOS den Ordnerzugriff erst nach einer expliziten Auswahl gewährt.

Tastatur

  • ⌘O Quelle wählen
  • ⇧⌘O Zielordner wählen
  • Return Import starten
  • Escape Abbrechen während des Kopierens

Typische Kartenstruktur

Gemeinsam ist der Ordner DCIM. Die Unterordner folgen meist dem DCF-Muster (drei Ziffern plus Herstellerkennung):

SD-KARTE/
├── DCIM/
│   ├── 100CANON/          ← Canon, z. B. EOS 60D (IMG_*.JPG / *.CR2, MVI_*.MOV)
│   ├── 101NIKON/          ← Nikon (DSC_*.JPG / *.NEF)
│   ├── 100MSDCF/          ← Sony (DSC*.JPG / *.ARW)
│   ├── 100_FUJI/          ← Fujifilm (DSCF*.JPG / *.RAF)
│   ├── 100OLYMP/          ← Olympus / OM System (P*.JPG / *.ORF)
│   ├── 100_PANA/          ← Panasonic / Lumix (*.JPG / *.RW2)
│   └── Camera/            ← viele Telefone
├── MISC/
├── CANONMSC/              ← Canon-Systemdaten, wird übersprungen
└── AVF_INFO/              ← Sony-Hilfsdaten, wird übersprungen

Nicht jede Karte hat alle diese Ordner – meist nur den der eigenen Kamera. Importiert werden die Mediendateien unter DCIM. Systemordner wie CANONMSC, MISC, AVF_INFO, GPS und unsichtbare macOS-Dateien (.DS_Store, ._*) werden übersprungen.

Sony-Videos in PRIVATE/AVCHD liegen außerhalb von DCIM. Solange ein DCIM-Ordner existiert, scannt Fotoimport dort (Standbilder und Clips in DCIM). Den Ordner PRIVATE kannst du bei Bedarf manuell als Quelle wählen.

Unterstützte Typen (Auswahl): JPG/JPEG, HEIC, RAW wie CR2, CR3, NEF, NRW, ARW, RAF, ORF, RW2, DNG, Video MOV, MP4, MTS, 3GP, dazu THM und weitere gängige Endungen.

Ordnerziel und Duplikate

Ablage:

ZIELORDNER/2026/08/29/DSC_0123.JPG
ZIELORDNER/2026/08/29/DSC_0123.NEF

Monat und Tag sind immer zweistellig (08, 29).

  • Existiert im selben Tagesordner schon eine Datei gleichen Namens und gleicher Größe, wird sie übersprungen (typischer Zweitimport derselben Karte).
  • Gleicher Name, andere Größe: beide behalten, die neue Datei heißt z. B. DSC_0123-2.JPG.

Aufnahmedatum

Dateityp Quelle
JPEG, THM, HEIC, … EXIF DateTimeOriginal über ImageIO, sonst eigener EXIF-Parser
RAW (CR2, NEF, ARW, …) zuerst ImageIO, falls leer TIFF/EXIF direkt aus dem Dateikopf
MOV / MP4 QuickTime-mvhd-Atom, sonst AVFoundation
sonst Änderungsdatum der Datei

Der Kalendertag kommt bei Fotos aus den EXIF-Ziffern der Kamera, nicht über eine UTC-Umrechnung. So landet ein Shot vom 29.08. auch in 2026/08/29, unabhängig von der Mac-Zeitzone.

Berechtigungen

Die App läuft in der App-Sandbox mit:

  • Zugriff auf vom Benutzer gewählte Ordner (Quelle und Ziel über den Öffnen-Dialog)
  • Lese-/Schreib-Bookmarks, damit der Zielordner beim nächsten Start wieder da ist
  • Zugriff auf Wechseldatenträger (eingelegte SD-Karten)

Wenn macOS den Zugriff verweigert:

  1. Quelle oder Zielordner in der App erneut wählen (das erteilt die Erlaubnis).
  2. Unter Systemeinstellungen → Datenschutz & Sicherheit → Dateien und Ordner bzw. Wechseldatenträger Fotoimport erlauben.
  3. Die Karte nicht als Zielordner verwenden – der Import auf die Karte selbst wird blockiert.

Was die App bewusst nicht tut

  • Nichts von der Karte löschen oder verschieben
  • Keine PTP/USB-Tether-Verbindung zur Kamera
  • Kein Hersteller-SDK, keine Cloud, kein Fotoarchiv
  • Kein automatisches Auswerfen der Karte

Lizenz

MIT © 2026 Markus Fröndhoff

Markennamen von Kameraherstellern dienen nur der Beschreibung typischer Kartenlayouts und gehören den jeweiligen Rechteinhabern.

About

Native macOS app: copy camera SD card photos/videos into year/month/day folders (DCIM, brand-agnostic)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages