2

我正在尝试开发一个使用一些跳板组件的简单 ios 调整。我已经转储了标题并包含了我需要的标题(SBLockScreenNotificationScrollView.h),但是当我编译时出现链接器错误:

Undefined symbols for architecture armv7s:
"_OBJC_CLASS_$_SBLockScreenNotificationScrollView", referenced from:
  objc-class-ref in NotificationSwipe.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试从手机中复制 SpringBoard 二进制文件并将其添加到 Link Binary with Libraries in xcode 下。谢谢您的帮助。

4

1 回答 1

3

当您没有定义的类实现或库时,您必须在运行时获取该类。这就是objc_getClass函数的用途。它在运行时返回一个 objc 类,并让您能够在编译时使用该类而无需了解他的任何信息。

只需替换SBLockScreenNotificationScrollViewobjc_getClass("SBLockScreenNotificationScrollView").

我建议您阅读有关 Objective-C 运行时的信息。开发调整要求您至少了解基础知识,在这种情况下您不会问此类问题。

于 2014-03-02T20:49:24.580 回答