今天测试一个iOS程序,在模拟器下是正常运行的,到真机上跑直接报错了,错误信息是:
dyld: Library not loaded: @rpath/DFULibrary.framework/DFULibrary
Referenced from: /private/var/mobile/Containers/Bundle/Application/F33A206D-59CF-4ECE-96F4-3814818A09E3/nRF Toolbox.app/nRF Toolbox
Reason: image not found
原因分析&解决方法
因为引用的一些framework只能存在于高版本的sdk中,但是,如果编译到低版本的iOS就会发生这样的问题,我的真机是iOS8的版本的,DFULibrary.framework可能高于这个版本,这里只需要在对应的target下的Build Phases标签里,找到Link Binary With Libraries,在里面找到DFULibrary.framework,把status由Required 修改成Optional,然后再运行就OK了。其他的framework报错也适用,只需要修改对应的framework的status就行了。