我正在开发一个Mac应用程序,它在我的机器上运行正常,这是一台开发机器。 该项目有相当多的dylib文件,我必须使用
来解决这些问题 install_name_tool -change
我在上面的命令中使用了@executable_path。执行此操作后,程序在我的机器上运行正常,当我将.app文件移动到测试环境时,它失败了。
Crashed Thread:0 Dispatch queue:com.apple.main-thread
异常类型:EXC_BAD_INSTRUCTION(SIGILL) 例外代码:0x0000000000000001,0x0000000000000000
Thread 0 Crashed :: Dispatch queue:com.apple.main-thread
0 libfreetype.6.dylib 0x001f736b FT_CMap_New + 105
1 libfreetype.6.dylib 0x0022d1a4 tt_face_build_cmaps + 516
2 libfreetype.6.dylib 0x00229f0a sfnt_load_face + 1424
3 libfreetype.6.dylib 0x00200cbe tt_face_init + 231
4 libfreetype.6.dylib 0x001f5fb4 open_face + 218
5 libfreetype.6.dylib 0x001f5bf1 FT_Open_Face + 528
6 libfreetype.6.dylib 0x001f59db FT_New_Face + 68
查看粗体字符可以看出问题出在freetype dylib中。但为什么会出现问题呢?我已将.dylib文件包含在my_app.app/Contents/Frameworks/
目录中。
这是导致问题的原因吗?
答案 0 :(得分:1)
看到此错误是因为提供给freetype的字体位置不正确。
客户端在他的机器上没有提供的字体文件(ttf)。
当我提供ttf文件和捆绑包时,它已修复。!