0

我正在尝试从 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?

我的目标是创建一个简单的应用程序来获取当前播放的歌曲并在 Dock 中显示它的专辑封面。

我感谢所有可能会或可能不会让我更接近答案的答案!

4

2 回答 2

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];
于 2013-03-20T11:33:40.120 回答
-1

我不熟悉 Spotify api,但是这样的事情似乎可以工作(将您的字符串转换为 NSData 对象:

[[NSImage alloc] initWithData:]
于 2013-03-19T22:39:06.763 回答