Tôi đang cố viết một ứng dụng để kiểm soát nhanh iTunes. Nhưng khi khởi tạo ứng dụng trả về một đối tượng kiểu AnyObject
, nhưng phải iTunesApplication.Khởi tạo đối tượng Swift và scriptingbridge
Đối tượng này không phản hồi với các phương pháp và biến iTunes. Ai biết cách làm cho nó hoạt động?
var iTunes = SBApplication.applicationWithBundleIdentifier("com.apple.iTunes")
Tiêu đề iTunes.h cũng chứa các lớp mà tôi cần truy cập nhưng không thể. Các lớp này gây ra lỗi biên dịch như thể chúng không nằm trong iTunes.h đã khai báo.
Tại sao điều này xảy ra với tôi vẫn chưa rõ ràng.
Toàn bộ danh sách các lớp được tuyên bố một iTunes.h trong qua @class:
iTunesPrintSettings @class, iTunesApplication, iTunesItem, iTunesAirPlayDevice, iTunesArtwork, iTunesEncoder, iTunesEQPreset, iTunesPlaylist, iTunesAudioCDPlaylist, iTunesLibraryPlaylist, iTunesRadioTunerPlaylist, iTunesSource , iTunesTrack, iTunesAudioCDTrack, iTunesFileTrack, iTunesSharedTrack, iTunesURLTrack, iTunesUserPlaylist, iTunesFolderDanh sách phát, iTunesVisual, iTunesWindow, iTunesBrowserWindow, iTunesEQWindow, iTunesPlaylistWindow;
Ví dụ trong Objective - c bạn sẽ sử dụng một cái gì đó như thế này để có được những ca khúc hiện
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSLog(@"Current song is %@", [[iTunes currentTrack] name]);
Nhưng tôi không thể có được một tương đương trong nhanh chóng để làm việc.
Khi bạn thực hiện 'println (" \ (iTunes.className) ")' nó trả về "ITunesApplication" – markhunte
Lỗi trình biên dịch - "AnyObject không có thành viên có tên className" –
Có. Tôi thấy rằng trong các bài kiểm tra của tôi. Tôi đã chỉ ra rằng mặc dù nó cho rằng lỗi nó được phân loại như là một ITunesApplication. tôi cũng có thể đề nghị bạn thêm chi tiết hơn cho câu hỏi của bạn. về những gì bạn đã cố gắng giải quyết vấn đề này và cách bạn đang nhập tệp iTunes.h, v.v. Tôi biết tôi đã mong chờ xcode cung cấp thêm nó vào tệp nhập tiêu đề nhưng tôi chưa bao giờ có. – markhunte