gpt4 book ai didi

xcode - 与多个 bundle 共享框架的单个副本

转载 作者:行者123 更新时间:2023-12-03 16:17:20 25 4
gpt4 key购买 nike

我有一个在我的应用程序中使用的框架,以及应用程序包中包含的一些 XPC 服务。如何将所有 bundle 链接到应用程序的 Frameworks 文件夹中包含的框架的单个副本(而不是将框架复制到每个 bundle )?所有服务和应用程序都已沙箱化,因此我不确定 XPC 服务是否能够访问主应用程序包中的框架,因为它位于沙箱之外。

最佳答案

你看过@rpath吗?这一切都假设您可以更改框架的build设置(需要面向 OS X 10.5 或更高版本)。

  1. 设置框架安装路径和名称。
    • INSTALL_PATH = @rpath
    • LD_DYLIB_INSTALL_NAME = @rpath/$(PRODUCT_NAME).$(WRAPPER_EXTENSION)/$(PRODUCT_NAME)
  2. 设置应用程序和 XPC 的运行路径搜索路径,以便包含该框架。
    • 对于应用:LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks/
    • 对于 XPC 服务:LD_RUNPATH_SEARCH_PATHS = @loader_path/../../../../Frameworks
    • 如果需要,可以将运行路径搜索路径设置为多个值。

有关 @rpath 的更多信息,请参阅 Dave Dribin 的帖子“Using @rpath: Why and How ”和迈克·阿什的周五问答“Linking and Install Names ”。

编辑:我自己在几个项目中使用过它并且它有效。

关于xcode - 与多个 bundle 共享框架的单个副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14309131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com