2015-01-07 5 views
6

Użyłem szkieletu dyskowego do zarządzania różnymi napędami i dyskami.Dysk DVD montowania OSX programowo nie uruchamia aplikacji podanej przez użytkownika

Mam zarejestrowane funkcje oddzwonienia DADiskAppearedCallback i DADiskDisappearCallback.

Dla napędów USB wszystko wydaje się działać idealnie, ale na płycie CD/DVD mam problem.

Po załadowaniu płyty CD/DVD odmontowywam (DADiskUnmount()) napęd za pomocą BSDName dysku. Następnie po jakiejś weryfikacji dysku, montuję (DADiskMount()) dysk ponownie, używając BSDName.

Kiedy zamontować CD/DVD ponownie, aplikacja domyślna ustawiona w systemie Preference-> Hardware> Płyty CD & DVSs

nie robi uruchomić

.

Na przykład. Dla Video DVD - Otwórz odtwarzacz DVD. Tutaj należy uruchomić odtwarzacz DVD.

Proszę podać wszelkie sugestie, aby rozwiązać ten problem.

Dziękuję

ja wciąż szuka rozwiązania natknąłem „SystemUIServer” zarządza wniosku, że należy zamontować na włożeniu płyty CD/DVD. Czy mogę wywołać tę akcję na uchwycie CD/DVD? Czy jest to właściwy sposób ręcznego uruchamiania aplikacji dostarczonej przez użytkownika na nośniku CD/DVD?

+0

Jakie jest wyjście z poleceniem 'mount' kiedy nie przechwycić wierzchowca porównaniu do wyjścia po zamontowano go programowo? W szczególności, czy istnieją ważne opcje montowania? Jeśli tak, możesz potrzebować użyć 'DADiskMountWithArguments()', aby móc je przekazać. Ponadto, jeśli odmontujesz i ponownie zamontujesz wolumin za pomocą 'umount' /' mount' lub Disk Utility, czy uruchomi się aplikacja określona przez użytkownika? –

Odpowiedz

1

Można spróbować łaskotanie jej NSWorkSpace

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html#//apple_ref/c/data/NSWorkspaceDidMountNotification

Najpierw utwórz NSNotification typu NSWorkspaceDidMountNotification

Pamiętaj, aby ustawić KVPS słownika userinfo jako właściwe. (W Dokumentach NSWorkspace)

Wreszcie pisać zgłoszenie do Centrum Powiadamiania roboczy [NSWorkspace notificationCenter]

Podejrzewam, że to może być podstęp.

EDIT To nie wydaje się rade

+0

dziękuje @uchuugaka za poświęcony czas, ale bez powodzenia. –

Powiązane problemy