我正在使用Xcode 10在macOS Mojave上快速开发一个应用程序,该应用程序在开发过程中运行良好。
在准备进行部署时,我发现在另一台计算机上运行该应用程序会导致立即崩溃。从终端运行会生成一条单行消息“ Killed:9”。如果我从lldb启动它,则该应用程序运行良好。如果我关闭了它在Xcode中的权利(沙盒和钥匙串共享),那么它将运行正常。
我创建了另一个具有相同权利的简单测试应用程序,并且可以从命令行正常运行。
我已经检查完项目设置并浏览了Internet,但是无法找出我所缺少的内容。
有什么想法的人吗?
答案 0 :(得分:0)
在探索了各种不同的途径之后,事实证明问题出在代码签名上。
我有一个嵌入式动态库,该库应该位于/usr/local/lib
这是通过运行脚本构建阶段解决的,该问题是在与@rpath/lib...
一起使用的每个框架中将库的名称更改为install_name_tool
。
这在调试时工作正常,但是对于Xcode版本,在复制阶段正在对库签名,并且install_name_tool
脚本正在破坏库签名。
在此运行脚本阶段之后,我尝试了各种方法来退出库和/或应用程序,但是没有任何效果。最后,在构建应用程序的其余部分之前,我不得不修复库本身,并消除了破坏签名的install_name_tool
脚本。该应用程序终于可以从发行版中再次运行。