我的情况:
- 我正在开发一个名为
A
的动态链接框架,它被 Package 到.xcframework
中。 - 我依赖于其他框架
B
和C
,它们是静态链接的 - 但是,我不希望
A
的使用者知道B
和C
的存在 - 正因为如此,我想在
A
的链接过程中执行单个对象预链接,以便B
和C
完全被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
期间自动复制资源?
1条答案
按热度按时间9w11ddsr1#
不可以,如果不使用常规的
Embed Frameworks
,则无法自动复制资源。