0

我正在开发一个 Mac 应用程序,该应用程序在我的开发机器上运行良好。该项目有很多 dylib 文件,我必须使用解决的依赖项

install_name_tool -change

我在上面的命令中使用了@executable_path。完成此操作后,该程序在我的机器上运行良好,当我将 .app 文件移动到测试环境时它失败了..

崩溃的线程:0 调度队列:com.apple.main-thread

异常类型:EXC_BAD_INSTRUCTION (SIGILL) 异常代码:0x0000000000000001、0x0000000000000000

线程 0 崩溃::调度队列: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
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/目录中。

这是造成问题的原因吗?

4

1 回答 1

1

出现此错误是因为提供给 freetype 的字体位置不正确。

客户的机器上没有提供的字体文件 (ttf)。

当我将 ttf 文件与捆绑包一起提供时,它已修复。!

于 2013-10-22T11:24:04.900 回答