我试图从XCode中的字符串中绘制TIFF图像,以便在Dock中显示它。 TIFF图像是通过与Spotify交互的AppleScript获得的:
tell application "Spotify"
set aTrackArtwork to artwork of current track
end tell
我收到的字符串是这样的:
TIFF4D4D002A00041EB821585D22595E215..
如何从这个二进制代码中绘制图像?我当前的代码(这是一个概念验证)看起来像这样:
NSImage *myImage = [[NSImage alloc] init];
myImage = [NSImage imageNamed:@"ikoner"];
[NSApp setApplicationIconImage:myImage];
有没有办法在myImage对象中绘制图像?
而且,有没有更简单的方法直接在我的Xcode项目中获取这些信息而不必依赖于AppleScript?
我的目标是创建一个简单的应用程序,获取当前播放的歌曲并在停靠栏中显示它的专辑封面。
我感谢所有可能或可能不会让我更接近答案的答案!
答案 0 :(得分:1)
这与脚本桥相当简单。
首先,在终端中生成Spotify.h
:
sdef /Applications/Spotify.app | sdp -fh --basename Spotify
然后,将头文件导入项目,然后链接到ScriptingBridge.framework
。
最后,抓住图像并将其放入Dock中。这是一个基本的例子:
#import "Spotify.h"
// Get the image from Spotify
SpotifyApplication *spotify = [SBApplication applicationWithBundleIdentifier:@"com.spotify.client"];
NSImage *coverArt = spotify.currentTrack.artwork;
// Create an image view and put it in the Dock
NSImageView *imageView = [[NSImageView alloc] initWithFrame:NSZeroRect];
imageView.image = coverArt;
NSDockTile *dock = [[NSApplication sharedApplication] dockTile];
dock.contentView = imageView;
[dock display];
答案 1 :(得分:-1)
我不熟悉Spotify api,但是这样的东西似乎可以工作(将你的字符串转换为NSData对象:
[[NSImage alloc] initWithData:]