【问题标题】:Initialisation of device_id in CocoaLibSpotify在 CocoaLibSpotify 中初始化 device_id
【发布时间】:2013-11-13 16:33:45
【问题描述】:

我们的应用使用 Spotify Wrapper CocoaSpotifyLib。我们已被 Apple 的 MFI 团队拒绝,因为 spotify 库试图访问 device_id

我们在CocoaLibSpotify xcode项目内部搜索,发现在api.h文件中有这样的声明。

  const char *device_id;

当我们尝试评论这一行并运行应用程序时,它会崩溃。

我们无法在 CocoaLibSpotify xcode 项目的任何地方找到此 const char 的实现或初始化。 相同结构中使用的所有其他声明都被初始化,除了 device_id

typedef struct sp_session_config 

我们无法从 Spotify 文档中获得有关 device_id 的任何提示。 据 Spotify 称,他们已根据苹果的审查指南更改了获取设备 udid 的方法。

但是我们的问题是他们使用什么来获取 device_id 以及这个 device_id 的初始化发生在哪里。

【问题讨论】:

  • 字面意思是 device_id 吗?即,Apple 的电子邮件是否提到了这一点?如果是这样,那就是误报——底层库有一个名为 that 的符号,它与 Apple 的东西无关。另一方面,如果它涉及设备 UDID,只需更新到最新版本的 CocoaLibSpotify (2.4.5),即可解决问题。

标签: ios iphone xcode spotify cocoalibspotify-2.0


【解决方案1】:

感谢您的回复。以下是您的问题的答案 -

  • 崩溃报告指出以下与设备 ID 相关的错误

    2013-10-31 15:43:54 -0700 muzik[297] * NSString* base::deviceIdFromKeychain()() 中的断言失败,/Users/spotify-buildagent/buildAgent/work/1e0ce8a77adfb2dc/客户端/基地/_apple/_ios/os_ios.mm:287 2013-10-31 15:43:54 -0700 muzik[297] 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:*'Keychain error when fetching device ID, nonrecoverable'**

  • 根据您之前在其他 stackflow 帖子中的建议,现在我们将所有凭据存储在 NSUserDefaults 中。

  • 目前我们正在使用来自链接https://github.com/spotify/cocoalibspotifyiOS Library libspotify 12.1.64 for iOS

  • 您能否建议我们是否使用了正确的库。还建议在 2.4.5 版本中更新的最新 iOS 库

感谢您的支持

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2023-03-13
    • 2015-05-22
    相关资源
    最近更新 更多