Это только частичный ответ, но может быть несколько полезным.
Механизм kqueue действительно работает как средство уведомления при изменении каталога документов приложения.
Уведомление приходит, как только каталог изменен и до завершения копирования файла. Я наблюдал это в тестировании.
К сожалению, нет никакой формы уведомления, когда копия сделана. По крайней мере, ничего, что я нашел.
Я надеюсь, что Apple поймет, что должно быть уведомление об «синхронизации iTunes», потому что это, похоже, общая проблема.
Проверка цикла, если время изменения нового файла не меняется, может работать, но только большую часть времени. В некоторых экстремальных ситуациях iOS может приостановить выполнение всех видов трудоемкой собственной работы в фоновом режиме.
Если есть способ проверить, открыт ли конкретный файл другим процессом, этого будет достаточно.
Geoff