问题标签 [ituneslibrary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
940 浏览

itunes - Songkick 如何导入您的 iTunes 数据?

今天我找到了 Songkick.com,它提供了扫描你的 iTunes 资料库的可能性,他们是怎么做到的?我试着用谷歌搜索,但我找不到苹果的 API,你知道吗?

0 投票
3 回答
7028 浏览

objective-c - 在 Mac OS-X 上使用新的 iTunesLibrary 框架访问 iTunes 库

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

我查看了一些现有的开源实现,例如EyeTunesiMedia,但发现它们并不是我想要的。总体来说是矫枉过正。

所以我尝试使用Scripting Bridge,发现虽然功能很慢。而且由于我真的不需要控制 iTunes,所以运行缓慢是不值得的。它也有依赖 iTunes 运行的缺点。让它在沙盒应用程序中工作也有点烦人(尽管可能。)

所以我终于通过阅读 iTunes Library.xml 文件开始自己动手了。这似乎工作正常。但是在调查 Distinguished Kind 键/值的含义的过程中,我偶然发现了一个全新的 Apple 提供的 iTunesLibrary.framework !!!

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

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

它返回 nil 并提供非常有用的错误(在我的沙盒应用程序中):

错误域 = NSPOSIXErrorDomain 代码 = 100001 “无法加载。” UserInfo=0x1140025b0 {NSLocalizedDescription=无法加载。,NSUnderlyingError=0x1026fbe20“操作无法完成。(OSStatus错误-50。)”}

认为这可能是沙盒问题,我还创建了一个快速命令行实用程序,它尝试初始化库并返回几乎相同的错误:

无法打开库:错误域 = NSPOSIXErrorDomain 代码 = 100001 “无法加载。” UserInfo=0x1018015b0 {NSLocalizedDescription=无法加载。,NSUnderlyingError=0x103a000e0“操作无法完成。(OSStatus 错误 100005。)”}

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

// 编辑:下面的答案是正确的。需要代码签名。答案中的示例代码是使用该框架的便捷起点。此外,在我的情况下,问题还在于当 iTunes 库托管在网络驱动器上时,iTunesLibrary 框架代码似乎不起作用。除非Apple修复它,否则这有点破坏交易。

0 投票
1 回答
335 浏览

itunes-sdk - iTunes TrackID 和 DatabaseID 持久性

我正在使用 COM 对象来读取 iTunes 库(版本 11,Windows)。我调用该GetITObjectByID函数从保存在先前 iTunes 会话中的文本文件中的列表中检索一堆曲目。

我想知道这些 ID 在多大程度上是持久的?如果它们随时间变化,什么样的事件会导致这些变化?这将帮助我评估保存的 ID 的可靠性以及是否需要在每次执行我的应用程序时刷新我的 ID 数据库。

谢谢。

0 投票
2 回答
489 浏览

macos - 使用插件和 iTunesLibrary 共同设计 OS X 应用程序

我有一个非常奇怪的代码设计问题。以前几乎相同的版本已通过验证并已提交到 App Store,因此我的代码签名没有损坏。

最近我一直在尝试使用iTunesLibrary框架。此框架仅在您的应用程序经过代码签名时才有效。尝试初始化表明代码设计失败的框架时,我遇到了一个常见错误:

错误域 = NSPOSIXErrorDomain 代码 = 100001 “无法加载。” UserInfo=0x100329d80 {NSLocalizedDescription=无法加载。,NSUnderlyingError=0x10031a430“操作无法完成。(OSStatus 错误 100005。)”}

我的应用程序被组织成多个框架,包括动态链接和插件。我一直在使用该--deep标志对我的应用程序进行递归签名,但显然这是错误的。现在我正在使用run script构建阶段来签署我的每个框架和插件。这似乎codesign告诉我应用程序已签名。

我已经在调试模式下构建了应用程序,并将其存档并导出为开发人员 ID 签名程序并检查了签名——两种构建模式都通过了。当我运行它时,我从iTunesLibrary. 真正奇怪的部分是,如果我导出应用程序并自己重新签名,如下所示,则iTunesLibrary可以正常运行:

如果我spctl --assess过去试图告诉我更多关于此的信息,我会发现这个应用程序尽管工作正常,但签名错误:

iTunesLibrary另一方面不喜欢的应用程序通过spctl检查:

0 投票
1 回答
67 浏览

macos - OSX Sandbox:根据操作系统版本启动不同的可执行文件

我在 Mac App Store 中有一个应用程序。我试图支持用户回到 Snow Leopard,但这变得越来越困难。

最近,由于 iTunesLibrary.framework,我遇到了一个障碍,该框架必须链接到主可执行文件,但这样做总是会在 Snow Leopard 中运行时触发加载崩溃。

为了解决这个问题,我想编译一个不使用新版本 OSX 的功能和框架的应用程序版本。问题是,如何自动启动兼容性构建?

我正在考虑尝试使主要的可执行文件指向一个 shell 脚本,但我不太喜欢这个想法。我还认为主可执行文件是一个助手,它只是启动完整的应用程序然后退出。我希望这会奏效,但我担心它会得到 Apple 的批准。最后,我想知道应用程序包格式本身是否可以支持这种设置,也许是通过我不知道的 CFBundleExecutable 的高级使用。

有没有人走这条路,你有什么建议?

0 投票
0 回答
158 浏览

ios - 我们可以以编程方式在 iTunes 库中插入 MP3 歌曲吗

我想将下载的歌曲从云端添加到 iTunes 库,以便我可以在应用程序之外访问这些歌曲。是否可以将下载的歌曲添加到 iTunes 库列表中。还请建议在 iPhone 应用程序中访问 iTunes 库歌曲的方法。感谢任何教程或链接。

先谢谢了。

0 投票
1 回答
434 浏览

ios - ituneslibrary 框架 iOS 8 beta

我对 iOS 开发世界非常陌生。我对实现自己想法的速度印象深刻。充分利用 MPMediaQuery 等。

但是,我正在努力插入iTuneslibrary 框架。我的预期用途将是最小的。

在对我的应用程序进行代码签名并更新构建设置(/Library/Frameworks)内的框架搜索路径的搜索路径之后。关于编译简单代码示例;我收到以下错误:

ld /Users/andyfives/Library/Developer/Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Products/Debug-iphoneos/testiTunes.app/testiTunes normal armv7 cd /Users/andyfives/Development/Objective-C/testiTunes export IPHONEOS_DEPLOYMENT_TARGET=8.0 export PATH="/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode6-Beta5.app/Contents/Developer/usr/bin:/usr/bin :/bin:/usr/sbin:/sbin" /Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode6-Beta5.app/内容/开发者/平台/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0。sdk -L/Users/andyfives/Library/Developer/Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Products/Debug-iphoneos -F/Users/andyfives/Library/Developer/Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Products/ Debug-iphoneos -F/Library/Frameworks -filelist /Users/andyfives/Library/Developer/Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Intermediates/testiTunes.build/Debug-iphoneos/testiTunes.build/Objects-normal/armv7/ testiTunes.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=8.0 -framework iTunesLibrary -Xlinker -dependency_info -Xlinker /Users/andyfives/Library/Developer /Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Intermediates/testiTunes.build/Debug-iphoneos/testiTunes。build/Objects-normal/armv7/testiTunes_dependency_info.dat -o /Users/andyfives/Library/Developer/Xcode/DerivedData/testiTunes-eyyuvregjcsyukesjqbswsnpckog/Build/Products/Debug-iphoneos/testiTunes.app/testiTunes

ld:警告:忽略文件 /Library/Frameworks/iTunesLibrary.framework/iTunesLibrary,文件 /Library/Frameworks/iTunesLibrary.framework/iTunesLibrary 中缺少所需的架构 armv7(2 片)架构 armv7 的未定义符号:“_OBJC_CLASS_$_ITLibrary”,已引用来自:ViewController.old 中的 objc-class-ref:未找到架构 armv7 的符号

我四处寻找;没有运气。任何人都可以帮助我还是我应该专注于另一个解决方案?

0 投票
1 回答
32 浏览

ituneslibrary - 是否可以通过 Xcode 更新 iTunes 库中视频的“已观看”标志?

我正在寻找一个允许我播放我的 iTunes 库文件的应用程序,但是我希望它能够更新视频的状态(例如,观看或剩余时间)。这可能吗?

0 投票
2 回答
2911 浏览

ios - 是否可以使用 swift 将 Ipod 库中的音乐保存到我的应用程序中?

当用户从 iPod 库中选择音频时,我有 MPMediaItem 的引用。我通过使用获取该项目的资产 URL

但这并没有给我文件的确切物理位置,而是给了我一个 iPod 库的 URL。

有没有办法从 iPod 库中获取歌曲的物理 URL?

编辑 - 实际上我想从物理文件中提取 NSData 并将其发送到我的后端服务器,所以我需要物理文件 URL 而不是相对 URL

MPmediaPickerController 正在工作,我选择了歌曲及其播放,但我不想播放歌曲。我已尝试将音频文件上传到服务器。我在列表音频中使用了 MPMedia Picker 视图,当我要选择要上传到服务器(HTTP)的音频时,我该怎么做???如何使用 Swift 代码访问媒体库?

0 投票
1 回答
94 浏览

objective-c - 如何创建一个新的 ITLibMediaItem 对象?

我正在尝试构建一个可以与 iTunes 一起使用的应用程序。于是,我将框架导入到我的项目中,并创建了一个小类,仅供学习之用,如下:

然后我决定为它创建一个单元测试,并做了以下事情:

问题是该属性title是只读的。

所以我的问题是,如何创建一个带有标题的新 ITLibMediaItem 对象?我试图阅读 API ( ITLibMediaItem ) 但没有找到可以帮助的初始化...