iOS xcframework项目提示“ld: framework not found”

这篇具有很好参考价值的文章主要介绍了iOS xcframework项目提示“ld: framework not found”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

iOS xcframework项目提示“ld: framework not found”

问题描述

公司有一个项目,同时引用了.framework和.xcframework, 但是使用xcode编译的时候,

xcodebuild archive -project ${project_Name}.xcodeproj -target ${target_Name} -configuration ${build_model} -sdk iphoneos16.2 || exit -1

总是报一个srp的framework找不到,问题log如下:

ld: framework not found srp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

日志中搜索关键字发现“-framework srp” 字样。

检查源代码配置,发现文件路径如下:

Lib/Coss/srp.xcframework/ios-arm64_armv7s/srp.framework

问题定位分析

1、 在网上查找了xcframework与framework的区别:

1.1. XCFramework 是一种相对较新的分发代码的方式,特别是用于跨平台开发或支持不同架构的应用程序。
1.2 XCFramework 可以包含多个 Framework,每个 Framework 都针对不同的架构(例如 iOS、macOS、arm64、x86_64 等)进行了优化。
1.3 XCFramework 允许开发者将多个架构的库打包到一个文件中,以便在不同平台上使用。这使得跨平台开发更加方便,同时也允许为不同架构提供不同版本的库。

2、然后找了xcframework的配置和引用方式:

配置 Xcode 项目: 在 Xcode 项目中,确保已将 XCFramework 添加到项目的 “Frameworks, Libraries, and Embedded Content” 部分。这可以通过打开 Xcode 项目,然后导航到项目设置的 “General” 标签下完成。在 “Frameworks, Libraries, and Embedded Content” 部分,单击加号(+)按钮,然后选择您的 XCFramework 文件并添加到项目中。
指定 Framework Search Paths: 在 Xcode 项目的 “Build Settings” 下,搜索 “Framework Search Paths” 设置。确保该设置包含XCFramework 的路径。通常,这个路径是相对于 Xcode项目文件的路径,例如 $(PROJECT_DIR)/Frameworks。

3、按照上述描述,先配置了General部分,然后在Build Settings下遇到了问题:
3.1 在“Framework Search Path” 中先填写到$(PROJECT_DIR)/Lib/Coss/srp.xcframework, 然后执行编译命令,失败;
3.2 $(PROJECT_DIR)/Lib/Coss/srp.xcframework/ios-arm64_armv7s/srp.framework, 失败;
3.3 $(PROJECT_DIR)/Lib/Coss/srp.xcframework/ios-arm64_armv7s/srp.framework/, 在xcode界面执行编译,成功;但是执行命令行,失败;
3.4 $(PROJECT_DIR)/Lib/Coss/srp.xcframework/ios-arm64_armv7s/, 界面执行成功,命令行也成功,开心不已!

解决方案

最终解决方案是,直接将srp.framework放到Lib/Coss下面, 删除xcframework,同时 General下 srp.framework仍然为Embedded。

记之。文章来源地址https://www.toymoban.com/news/detail-769322.html

到了这里,关于iOS xcframework项目提示“ld: framework not found”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • The framework ‘Microsoft.WindowsDesktop.App‘, version ‘5.0.0‘ was not found

    解决 The framework \\\'Microsoft.WindowsDesktop.App\\\', version \\\'5.0.0\\\' was not found 找不到框架“Microsoft.WindowsDesktop.App”,版本“5.0.0” 这种情况是由于您的其他计算机可能没有运行您的 .NET 5.0 WPF 应用程序所需的 .NET 5.0.7 桌面运行时造成的。 在 官网下载.NET 5.0(下载 .NET 5.0 (Linux、macOS 和 Wind

    2024年02月15日
    浏览(22)
  • 提示-bash: command not found的解决方法集锦

      最近很多小伙伴私信我说老是遇到命令找不到的情况,这里开一篇插个队说一下这个问题,做个总结。当我们在 Linux(或shell)下执行一个命令时,报 -bash: XXXX: command not found,有三个可能的原因: 你将命令的名称拼错了。 该命令还没有安装。 该命令是一个可执行脚本,

    2024年02月09日
    浏览(29)
  • linux环境提示python: command not found,安装python

    场景描述: 新部署的容器环境,终端执行python命令,提示没有该命令。 从报错异常可以看出,可能是python环境未安装。 分析思路: 检查python路径: 方式一: type -a python 方式二: ls -l /usr/bin/python ls -l /usr/bin/python* 方式三: which python 如果输出空或者no such file or directory, 则说

    2024年02月07日
    浏览(29)
  • JUnit5单元测试提示“Not tests were found”错误

    JUnit5单元测试提示“Not tests were found”错误,如下图所示: 或者 问题解析: 1)使用@Test注解时,不能有返回值; 2)使用@Test注解时,不能使用private; 存在以上情况时执行单元测试,都会提示“Not tests were found”错误,如下图所示: 正确的示例是使用public void定

    2024年01月16日
    浏览(39)
  • macOS 终端提示所有命令 command not found 的解决方案

    打开你的终端 切换到zsh 然后执行这句代码 然后回到桌面 前往上层文件夹 新建.zshrc文件 提示: 在上层文件夹按下shift+command+.即可查看隐藏文件,你全局安装的东西也显示出来了 之后把你要用的命令重新下载一遍即可(这一步操作其实是改写路径,已下载过的不会重复下载) 关闭

    2024年02月16日
    浏览(34)
  • 解决MacOS 报错提示 zsh: command not found: wget

    问题 在使用wget命令获取文件时,mac报错信息如下 解决办法 打开mac终端,依次执行以下三条命令,如果提示缺少依赖,则只需安装缺少的依赖再重新执行之前的命令即可 前两个命令需要先安装homebrew,当提示未找到 brew 时,按以下方式操作 进入 homebrew官网 复制红框中的命令

    2024年02月16日
    浏览(40)
  • 报错:manifest for docker.io/java:8 not found

    dockerfile: 执行docker build后报错 修改dockerfile中的 java:8 为 openjdk:8

    2024年02月11日
    浏览(39)
  • mac 使用php -v 提示错误zsh: command not found: php

    #创作灵感# 这个错误提示说明你的系统无法找到 php 命令。这可能是因为 PHP 没有正确安装,或者没有将 PHP 的可执行文件路径添加到系统的环境变量中。 要解决这个问题,可以按照以下步骤进行操作: 如果输出中没有包含 PHP 的安装路径,那么需要手动将其添加到环境变量中

    2024年02月21日
    浏览(33)
  • Mac已安装了Python仍旧提示zsh: command not found: python

    如果你在终端输入`python`时仍然提示`zsh: command not found: python`,可能是因为你的系统没有将Python的可执行文件路径添加到系统的`PATH`中。 以下是一些可能的解决方法: 1. **检查Python安装路径:** 打开终端,运行以下命令来确认Python的安装路径:     ```bash     which python    

    2024年02月04日
    浏览(36)
  • 【playwright】centos系统安装提示version `GLIBC_2.27‘ not found

    在centos执行playwright install时,报错 /home/PlaywrightAllure/venv/lib/python3.7/site-packages/playwright/driver/node: /lib64/libm.so.6: version `GLIBC_2.27\\\' not found (required by /home/PlaywrightAllure/venv/lib/python3.7/site-packages/playwright/driver/node) /home/PlaywrightAllure/venv/lib/python3.7/site-packages/playwright/driver/node: /lib64/libc.

    2023年04月26日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包