Ich muss FSEvents Watcher für einen Ordner in Mac erstellen. Ich bin mit C ++ vertraut und es gibt eine Möglichkeit, FSEvents-Benachrichtigungen in C ++ - Code statt Objective-C zu erhalten. Gibt es einen Beispielcode, mit dem ich anfangen kann, und irgendwelche Bibliotheken, die ich mit einschließen muss??
Ich bin schon auf dieser Seite. Ссылка
Aber es scheint nur Ziel C zu geben, kann ich CPP-Version davon haben
Ja, das ist in C möglich. Sie sollten nach Kernel-Warteschlangen suchen.
Hier ist ein kleines Beispiel, um das Verzeichnis zu sehen:
%Vor%Die Details finden Sie in Kap. 16 (kqueues und FSEvents) von "Advanced Mac OSX Programming" von Mark Dalrymple. Die zusätzlichen Informationen können in der * BSD-Dokumentation für kqueues gefunden werden.
Oder verwenden Sie diese API von FSEvents (meist C-basiert).
%Vor%zum Erstellen des FSEvents-Ereignisdatenstroms mit reinem C-Rückruf.
Dann fügen Sie diesen Event-Stream mit dem
an Ihren Runloop an %Vor%Ja, hier sollten Sie wahrscheinlich eine Linie von Obj-C verwenden, um das RunLoop-Handle zu erhalten: Holen Sie das CFRunLoop von einem NSRunLoop mit -getCFRunLoop
%Vor%oder verwenden Sie den reinen C-Aufruf
%Vor%Starten Sie den Ereignisstrom mit
%Vor%Stoppen Sie den Ereignisstrom mit
%Vor%Und dann entplane es aus dem Runloop mit diesem:
%Vor%Machen Sie den Stream ungültig (Bereinigung):
%Vor%Ich hoffe, das wird Sie weiterbringen.