如何使用SB MediaController - 始终抛出“未找到符号”

时间:2011-06-27 14:32:32

标签: iphone ios ios4 iphone-privateapi

我正在尝试访问SBMediaController,但我的应用程序崩溃了。我的目标是停止使用[[[SBMediaController] sharedInstance] stop]

在后台播放音乐应用

我使用私有标头来访问privateframeworks,并且可以使用GSLockDevice()来锁定屏幕,所以我认为我的导入应该是finde。 我注意到像GraphicServices.framework这样的私有框架中没有SpringBoard.framework,这可能是问题吗? 我的错误:

dyld: Symbol not found: _OBJC_CLASS_$_SBMediaController
Referenced from: /var/mobile/Applications/D1CB0D98-1858-406C-AF4B 254BBEA7A73D/iTest.app/iTest
Expected in: flat namespace

1 个答案:

答案 0 :(得分:2)

您无法与SpringBoard链接。你必须在运行时使用objc_getClass()来获取类,如下所示:

SBMediaController *controller = [objc_getClass("SBMediaController" sharedInstance];

顺便说一句,这只有在你的代码在SpringBoard中运行时才会起作用(也就是'tweak'或MobileSubstrate扩展)。如果您的代码在自己的应用程序中运行(这是您的情况),您应该使用Apple提供的MediaPlayer框架。

相关问题