The exact command I use is something like:
cp -avu $XDG_RUNTIME_DIR/gvfs/mtp\:host\=%5Busb%3A002%2C007%5D/Internal\ storage/DCIM/Camera/* /BACKUP/DIR | tee report-$(date --iso-8601).txt
You have to check that gvfs/ subdirectory to get your phone's exact USB identifier. If a photo already exists on local drive, it skips it.
I don't know if all this applies to iPhone 12. Can you attach it via USB and see an MTP drive in Ubuntu?
Or Wormhole: https://wormhole.app/