Próbuję napisać wniosek o szybką kontrolę iTunes. Ale podczas inicjowania aplikacji zwraca obiekt typu AnyObject
, ale musi mieć aplikację iTunesApplication.Inicjalizacja obiektu Swift i scriptingbridge
Ten obiekt nie reaguje na metody i zmienne iTunes. Kto wie, jak to działa?
var iTunes = SBApplication.applicationWithBundleIdentifier("com.apple.iTunes")
Nagłówek iTunes.h zawiera również klasy, do których muszę uzyskać dostęp, ale nie można ich uzyskać. Te klasy powodują błąd kompilacji, tak jakby nie znajdowały się w zadeklarowanym pliku iTunes.h.
Dlaczego to się ze mną dzieje, nie jest jeszcze jasne.
Cała lista klas, które są uznane za iTunes.h via @class:
iTunesPrintSettings @class, iTunesApplication, iTunesItem, iTunesAirPlayDevice, iTunesArtwork, iTunesEncoder, iTunesEQPreset, iTunesPlaylist, iTunesAudioCDPlaylist, iTunesLibraryPlaylist, iTunesRadioTunerPlaylist, iTunesSource , iTunesTrack, iTunesAudioCDTrack, iTunesFileTrack, iTunesSharedTrack, iTunesURLTrack, iTunesUserPlaylist, iTunesFolderPlaylist, iTunesVisual, iTunesWindow, iTunesBrowserWindow, iTunesEQWindow, iTunesPlaylistWindow;
Na przykład w Objective - C należałoby użyć coś takiego dostać bieżącej ścieżki
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSLog(@"Current song is %@", [[iTunes currentTrack] name]);
Ale nie mogę dostać równowartość w szybkich do pracy.
Po wykonaniu polecenia 'println (" \ (iTunes.className) ") zwraca komunikat" ITunesApplication " – markhunte
Błąd kompilatora -" AnyObject nie ma członka o nazwie className " –
Tak. Widziałem to w moich testach. Wskazałem, że mimo że podaje ten błąd, jest on klasyfikowany jako aplikacja ITunesApplication. czy mogę również zasugerować, by dodać więcej szczegółów do swojego pytania. o tym, co próbowaliście rozwiązać i jak importujesz plik iTunes.h itd. Wiem, że dla jednego oczekiwałem, że xcode zaoferuje dodanie go do pliku importu nagłówka, ale nigdy go nie dostałem. – markhunte