我正在编写一些 Cocoa 代码,但在使用 Scripting Bridge 和分布式通知返回的 iTunes 轨道持久 ID 时遇到问题。
以一个轨道为例 - 在脚本桥调用中我得到以下值:
Persistent ID: 2FBA59E028DC5E51 (NSString) - Hexadecimal?
...但是从同一轨道的分布式通知中我得到以下值:
Persistent ID: 3439160084743872081 (NSString)
任何人都可以帮助我使这两个值匹配吗?
谢谢
最佳答案
第一个 ID 确实与第二个 ID 相同。第一个编码为十六进制,第二个编码为十进制。只需将它们转换为 int64,您就可以直接比较它们。
您可以使用 strtoll() 函数进行转换。请参阅 man strtoll
了解使用信息。由于您从 NSString 值开始,因此可以使用 [str UTF8String]
获取等效的 C 字符串。
关于objective-c - Cocoa - iTunes 轨道持久 ID - 脚本桥与分布式通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950577/