首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用新的iTunesLibrary框架访问Mac上的iTunes库

使用新的iTunesLibrary框架访问Mac上的iTunes库
EN

Stack Overflow用户
提问于 2013-05-16 20:54:17
回答 3查看 7.1K关注 0票数 9

我一直在考虑在我正在开发的一个Mac应用程序中添加iTunes库访问。

我查看了一些现有的开源实现,比如EyeTunesiMedia,但发现它们与我所寻找的不太一样。一般情况下都是过度杀戮。

因此,我尝试使用脚本桥,并发现,虽然功能,它是缓慢的。而且,由于我并不真的需要控制iTunes,所以速度慢是不值得的。它还存在依赖iTunes运行的缺点。让它在沙箱应用程序中工作也有点烦人(尽管可能)。

因此,我终于开始通过读取iTunes Library.xml文件来滚动自己的文件。那似乎还不错。但是在我无意中发现了一个全新的,苹果提供了iTunesLibrary.framework!

美丽- iTunesLibrary框架文档就在这里。

但是,当我尝试使用引用链接中所示的代码初始化框架时:

代码语言:javascript
复制
NSError * error = nil;
ITLibrary* library = [ITLibrary libraryWithAPIVersion:@"1.0" error:&error];

它返回0,并提供了非常有用的错误,如(在我的沙箱应用程序中):

“错误Domain=NSPOSIXErrorDomain Code=100001”无法加载。UserInfo=0x1140025b0 {NSLocalizedDescription=Could not load.,NSUnderlyingError=0x1026fbe20“操作无法完成。(OSStatus error -50.)"}

考虑到这可能是一个沙箱问题,我还创建了一个快速命令行实用程序,它试图插入库并返回一个几乎相同的错误:

未能打开库:错误Domain=NSPOSIXErrorDomain Code=100001“无法加载”。UserInfo=0x1018015b0 {NSLocalizedDescription=Could not load.,NSUnderlyingError=0x103a000e0“操作无法完成。(OSStatus错误100005.)"}

有没有人比我更幸运地尝试过这个新的iTunes库框架?

//编辑:下面的答案是正确的。需要进行代码签名。答案中的示例代码是使用框架的一个方便的起点。此外,在我的例子中,问题还在于当iTunesLibrary库托管在网络驱动器上时,iTunes框架代码似乎无法工作。除非苹果公司把它修好,否则就让它成为一个交易的破坏者。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-18 18:02:12

您需要使用来自Mac程序的证书协同设计您的应用程序。

它在任何地方都没有文档记录,但我怀疑这是因为iTunes云是一个需要访问用户帐户的web服务。

// 编辑:除了如上所述在项目设置中设置CODE_SIGN_IDENTITY之外,您还需要在项目设置中将/Library/Frameworks添加到FRAMEWORK_SEARCH_PATHS中,以便Xcode知道在哪里查找导入。

// 编辑2:我编写了一个快速的示例应用程序来展示iTunesLibrary是如何使用的,因为苹果的示例代码和文档非常稀少:https://github.com/zadr/iTunesLibraryExample

票数 7
EN

Stack Overflow用户

发布于 2013-10-31 10:40:56

来自iTunes库框架参考

  • 为了从iTunes库框架中获取信息,您必须对应用程序进行编码签名。
  • iTunes库框架可供运行iTunes v11.0或更高版本的用户使用。
票数 4
EN

Stack Overflow用户

发布于 2016-12-14 17:46:57

不确定这是否对你们所有人都是正确的,但在我的例子中,我保留了-的代码签名-身份帮助我。现在我不需要在应用程序上签名了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16597284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档