真機上運行.framework時,如果報如下信息時表示framework動態庫沒有簽名,需要進行重簽名:
dyld'dyld_fatal_error:
dyld: Library not loaded: @rpath/xxxxx.framework/xxxxx
Referenced from: /var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/iDoctors
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/DF65E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/xxxxx.framework/xxxxx: code signing blocked mmap() of '/private/var/containers/Bundle/Application/DF65E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/xxxxx.framework/xxxxx'
Message from debugger: Terminated due to signal 6
<br />
相關簽名命令:
1.查看framework的簽名證書命令:
codesign -d -vv xxxxx.framework
<br />
2.刪除原有的簽名
進入到XX.framwork文件夾內,刪除_CodeSignature文件夾
<br />
3.查看本機可用的簽名文件,命令:
/usr/bin/security find-identity -v -p codesigning
結果示例(如果你的電腦上有更多簽名文件,則會打印出更多):
1) DE340162A51981A466FA5D68BCAF2A07220BF4B2 "iPhone Developer: ... (...)"
2) 5872B661A62607BD2C892C05F3553907BEA44F4F "Mac Developer: ... (...)"
3) 39E6F6BAC63352FF3791E166A80969F088C2BF29 "iPhone Developer: ... (...)"
......
<br />
4.使用簽名文件簽名命令:
codesign -fs "iPhone Developer: ... (...)" xxxxx.framework