xcode 如何对框架进行单对象预链接?

2ekbmq32  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(106)

我的情况:

  • 我正在开发一个名为A的动态链接框架,它被 Package 到.xcframework中。
  • 我依赖于其他框架BC,它们是静态链接的
  • 但是,我不希望A的使用者知道BC的存在
  • 正因为如此,我想在A的链接过程中执行单个对象预链接,以便BC完全被A消耗,并且永远不会再看到。

如果不使用静态框架(.framework),而是使用静态库(.a),那么这项任务将相对容易。在这种情况下,我可以轻松地将.a的路径插入到Prelink Libraries设置中,将Perform Single-Object Prelink设置为YES,禁用嵌入-目标就可以实现了。
然而,我面对的是框架的链接,而不是库。问题是它里面有资源和包。

  • 如果我将.xcframework.framework的路径放入Prelink Libraries构建设置中,则构建失败:
Command MasterObjectLink failed with a nonzero exit code
can't map file, errno=22 file '/Users/*****/B/B.xcframework/ios-arm64/B.framework'
  • 如果我在框架中放置一个实际可执行文件的路径(B.xcframework/ios-arm64/B.framework/B),构建就会成功。但是,B.framework的所有资源都不会出现在结果输出中。

有没有办法在Single-Object Prelink期间自动复制资源?

9w11ddsr

9w11ddsr1#

不可以,如果不使用常规的Embed Frameworks,则无法自动复制资源。

相关问题