如果你的 Xcode 程序编译正常,但执行时遇到类似的报错:
+[NSCharacterSet SVGWhitespaceCharacterSet]: unrecognized selector sent to class
这种问题是因为静态链接库中的 Objective-C 的 Category 符号没有被链接进你的程序。你可以用下面的命令看看符号有没有被链接:
nm Cli | grep SVGWhitespaceCharacterSet
网上说你可以在 Other Linker Flags
里增加 -ObjC
,但如果你的项目还要用别的非 OC 的库,则会报错,例如你同时使用 C++ 库。正确的做法是,在 Other Linker Flags
里增加
-force_load $(PROJECT_DIR)/...../libxxx.a
-force_load
后面跟绝对路径。