当前位置: 首页 > 知识库问答 >
问题:

项目转移到另一个地方后,框架的链接路径发生了变化

斜向文
2023-03-14

这是我的项目结构:

  1. 1 个应用(顶部一个)
  2. 3个框架(我自己创建)
  3. 1 个可可豆荚静态库(底部一个)

当我cmd b时,所有子项目都将从底部开始构建到顶部,这没问题,一切都很好。

    < li >为了引用/链接框架,我将框架产品放到每个子项目的/Build Phases/Link Binary With Libraries和/Build Phases/Copy Files中。

问题是:

  • 当我将项目文件夹复制/移动到另一个位置(如~/oldFolder/app到~/newFolder/app)时,子项目找不到框架,它会报告“找不到错误”,我需要重新构建并删除框架产品链接以修复错误

和其他人一起工作太蠢太难了,有人能帮忙吗?

附言:对不起,我的英语不好。

共有3个答案

宣弘新
2023-03-14

我在这里发布了如何解决这个问题的详细信息:

  • 在框架中:
    1. 在“构建设置”页面的“每个配置构建产品路径”项中设置“$(SRCROOT)/../build”
    2. 转移cmdk以清理框架构建,然后cmdb重新构建框架
  1. 在构建设置页面的“框架搜索路径”项中添加“$(SRCROOT)/…/构建”;
  2. 将框架从框架项目的产品拖到构建阶段页面中的“链接二进制库”;
  3. 将框架从框架项目的产品中拖到构建阶段页面中的“复制文件”(您可以通过单击构建阶段页面的左上角添加“复制文件”项);

请注意,如果您在同一个项目中使用了一个框架,并且该框架还链接到另一个框架,例如我在问题中发送的示例,您还需要执行我发布的上述所有步骤(框架和应用程序的步骤)。

如果您在项目中也使用 cocoapods,您将遇到另一个问题,例如我的示例:完成上述所有步骤后,XCode 将在框架项目中响应错误,如下所示:

ld:未找到框架Pods_xxx.framework

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

“xxx”应该是您的框架项目名称。要修复它,您只需要移除Pods_xxx。项目/常规/链接框架和库中的框架。重建项目后,错误将消失。在这里你可以找到这个问题的细节。

附注:安装pod后,Pods_xxx.framework将出现在通用/链接框架和库中,因此如果您运行命令“pod安装”,则需要再次删除它

阎弘
2023-03-14

这一切都归结为您无法更改已经导入的框架的位置,对吗?这是一个FBSDKCoreKit.framework.的例子,如果我要更改文件夹位置,我需要更改相对路径。单击名称旁边的文件夹图标,然后选择新位置

钱劲
2023-03-14

如果要引用与源目录相关的路径,可以使用$(SRCROOT)

一个例子:

如果您的MyApp文件夹中有一个目录x,其中包含您的项目文件,那么文件夹x可以引用为$(SRCROOT)/x。

 类似资料:
  • 本文向大家介绍python--shutil移动文件到另一个路径的操作,包括了python--shutil移动文件到另一个路径的操作的使用技巧和注意事项,需要的朋友参考一下 使用shutil.move(src, dst),src为要移动的文件的路径,dst为目的路径,路径必须是绝对路径 补充知识:使用shutil.copyfile遇到错误:[WinError 3] 系统找不到指定的路径 程序shut

  • 我有3个项目,ProjectB,ProjectC。 当我构建ProjectB时,它没有任何问题。但是当我试图构建ProjectA时,它在控制台上出现以下错误而失败。 评估项目“:ProjectB”时出现问题。在项目:ProjectB中找不到路径为:ProjectC的项目。 build.gradle-ProjectC settings.gradle-ProjectC build.gradle - 项

  • 这是正确的方式拆分一个项目列表,丰富每个项目,然后将这些丰富的项目发送到另一个频道吗? 接下来,CMS发布流被附加到publishPackageItem通道,并根据拆分后的类型,路由到特定的元素通道进行处理。拆分页面后,只有特定的元素类型才可能有订阅流。 最后,我的目标是订阅通道并相应地处理每个元素。我将此流订阅到ChannelPublishPage。每个订户可以不同地处理元素。

  • 我不知道它应该是一个静态库、动态库还是一个框架,老实说,我真的不知道有什么区别,也不知道我应该如何去做并在Xcode中设置它。 我只知道我需要/想要为共享代码保留一个单独的测试和更新app,并让主app使用它。

  • 我最近确实把我的应用程序移到了其他pc上,不幸的是,我遇到了一个与firebase认证类似的问题,如下所示 附: 我尝试删除google-services.json并再次添加它,但它没有修复任何问题

  • 问题内容: 如何在Gin Gonic Web Golang框架中将代理路由的一些路径反向请求到另一个后端 是否有一种方法可以直接在Handle函数中进行转发,如下所示? 问题答案: 您可以使用标准库httputil.ReverseProxy进行此操作。 我还没有找到自己使用gin的理由,所以我尽可能地坚持使用stdlib。但是我相信您可以包装此ReverseProxy处理程序,以便能够与您的gin