使用动态库打包macOS应用

时间:2019-04-23 19:50:40

标签: xcode macos frameworks

我有一个使用两个cocoapods和我自己的动态库的macOS应用程序,所有这些库都在同一个Xcode工作区中。我现在正在尝试构建该应用程序,以将其分发到另一台计算机上进行测试,但是当我生成存档时,将其复制到桌面上,然后启动它,它将失败并显示错误

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @rpath/<my library name>.framework/Versions/A/<my library name>
  Referenced from: /Users/USER/Desktop/*/<my app name>
  Reason: image not found

浏览应用程序包,我可以看到只有应用程序在其中。

我是否需要为此构建安装程序,还是可以指示Xcode将库打包到应用程序本身中?

编辑:我看到了如何添加构建阶段来复制其他文件,但这引入了一个新问题。我的应用程序的体系结构是:

App -> my framework -> cocoapod frameworks (2)

因此,当我将每个项目设置为复制依赖项的框架时,它将失败,并显示以下信息:

/Users/USER/Library/Developer/Xcode/DerivedData/.../<my app>.app/Contents/Frameworks/<my framework>.framework/Versions/A: code object is not signed at all
In subcomponent: /Users/USER/Library/Developer/Xcode/DerivedData/.../<my app>.app/Contents/Frameworks/<my framework>.framework/Versions/A/Frameworks/Pods_macOS.framework
Command CodeSign failed with a nonzero exit code

0 个答案:

没有答案