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

    解决 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日
    浏览(8)
  • 提示-bash: command not found的解决方法集锦

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

    2024年02月09日
    浏览(46)
  • 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日
    浏览(15)
  • 解决MacOS 报错提示 zsh: command not found: wget

    解决MacOS 报错提示 zsh: command not found: wget

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

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

    JUnit5单元测试提示“Not tests were found”错误

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

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

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

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

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

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

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

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

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

    2024年02月21日
    浏览(50)
  • mac-Yarn安装成功但提示 command not found 解决方案

    mac-Yarn安装成功但提示 command not found 解决方案

    最近遇到项目使用yarn工具进行安装依赖,原本电脑上已安装过yarn,但是使用时提示yarn的源不正确,之前更改过,遂现在更改回来yarn源: 查看yarn配置 源已更新,再次使用,提示 “项目包含由Yarn以外的工具生成的锁定文件。建议不要混合使用包管理器,以避免由于未同步的

    2024年02月04日
    浏览(14)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包