我正在使用第三方框架,该框架包含NSData上的类别,并且其中包含静态方法t1.[treatment]
。
框架链接良好,代码构建成功。但是调用此方法时,我遇到dataUsingBase64String:
运行时错误。
我也尝试过在XCode的unrecognized selector sent to class
中添加-ObjC
,-all_load
标志,但是没有运气。
答案 0 :(得分:0)
我猜您的库是静态链接的。一个常见的问题是类别不包含或链接。您还需要将-all_load添加到使用您的静态库的目标的其他链接器标志中。
还请检查以下与您的问题类似的答案
答案1-NSData Unrecognized selector sent to class
答案2-Objective-C Category Causing unrecognized selector
答案3-"unrecognized selector sent to instance" to a static library despite ObjC flag
我希望这对您有帮助
答案 1 :(得分:0)
注意:我需要以这种方式添加框架,
Framework Search Paths instead of adding frameworks to "Linked Frameworks and Libraries" section
在这里,即使添加了-Objc
或-all_load
,框架仍然无法加载。
最后,-framework
中的OTHER_LINKER_FLAGS
帮了我大忙。
有关联机帮助页的信息
-framework name[,suffix]
This option tells the linker to search for `name.frame-
work/name' the framework search path. If the optional suffix
is specified the framework is first searched for the name
with the suffix and then without (e.g. look for `name.frame-
work/name_suffix' first, if not there try `name.frame-
work/name').
答案 2 :(得分:0)
如果 -Objc 没有生效,你可以尝试从项目中删除你的 Category 并再次将其拖到项目中,并检查 Target 成员资格。