具体报错:
ld: undefined symbols:
_registerstaticallylinkedmodulesgranular, referenced from: modulemanager::load() in libiphone-lib.a[496](runtime_modules_0.o)
registerallclasses(), referenced from: initializeenginenographics() in libiphone-lib.a[434](runtime_misc_2.o) registerallstrippedinternalcalls(), referenced from: registerallinternalcalls() in libiphone-lib.a[517](monoicallregistration.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
附上报错截图(报错位置是在link UnityFramework阶段)
网上找了很多解决方案,唯一一个可以解决Build阶段不报错的是在将XCode中当前project的Other Linker Flags,新增:-Wl,-undefined,dynamic_lookup
但是,这个方法只能成功打包,发布到真机却无法运行!
报错的内容是什么呢?经过一番查阅,报错原因应该是link阶段部分内容获取不到,如果利用以上link的方式,则会在link阶段跳过没有link到的内容,转而在运行的时候去寻找(好像是这样,如有问题请指正),而链接的报错位置是libiPhone.a,其具体存放的内容参考官方文档:
解决方案
最后发现居然是工程路径有中文的缘故!!改完后就彻底没问题了,折腾了几天居然就这哈哈哈,如果帮到了大家要个免费的赞不过分吧~