ld:未找到 Crashlytics 框架

ld: framework not found Crashlytics

pull 后 xcode 中突然出现以下错误:

ld: framework not found Crashlytics

但是我的队友没有问题。他更新了 Crashlytics 并将他的更改推送到 SourceTree 上,因为它在他的计算机上运行良好。即使我完全删除该项目并进行 git 克隆,它仍然不起作用。

问题是由 SourceTree 中的错误引起的,该错误无法检测二进制文件中的类型更改。当您的队友更新 Crashlytics 和 Fabric 时,源代码树无法识别它所做的一些二进制符号链接更改。解决方案是执行以下操作:

  • 去他的终端
  • 导航到他的项目文件夹 (cd ~/folder/to/project)
  • 添加丢失的文件(git add --all)
  • 从那里提交他的更改 (git commit -a -m "My informational commit message")
  • 推送他的更改(git push origin branch_name)
  • 然后最后在你的电脑上做一个 pull (git pull origin branch_name)

just find in Project .ld file and remove it From Project and then Debug,

它运行良好。

删除所有功能后保持原样。 它不依赖于那个 .ld 文件。

  • 所以,解决方案是 删除 它。

如果您无法访问原始存储库(以便检查丢失的文件),re-adding 使用 Fabric 的框架 helper-tool 也可以作为 "repair" 构建。

请在 FRAMEWORK_SEARCH_PATHS 构建设置中添加 $(inherited) 这对我有用。

在目标构建设置的框架搜索路径中添加 $(inherited)。问题得到解决。

检查您的 TARGET - 构建设置 - 其他链接器标志

如果您刚刚更新到 pod 'Firebase/Crashlytics' 并且存在 Crashlytics,请将其设为 FirebaseCrashlytics

并检查是否存在 Fabric,如果存在则将其删除。 (也删除 Fabric 行下的下一行 framework

现在应该构建成功了。

检查您的 TARGET - 构建设置 - 其他链接器标志

如果您刚刚更新到 pod 'Firebase/Crashlytics' 并且存在 Crashlytics,请将其设为 FirebaseCrashlytics。

同样,如果您将在终端中看到已删除的 pod,请从中删除 其他链接器标志也 示例:织物、FirebaseInstanceID。 (也删除 Fabric、FirebaseInstanceID 行下的下一行框架)

现在应该构建成功了。