关于swift- OC混编使用Pod遇到的2个错误

错误1

Cannot find interface declaration for 'UITableViewCell', superclass of "DEFUITalbleViewCell"
Cannot find interface declaration for 'UIView', superclass of "DefUIView"

Cannot find interface declaration for '系统类', superclass of "自定义"

关联信息:我从swift定义了很多工具和基础封装,然后在OC的PCH文件中#import "{projectName}-Swift.h",从而可以在OC中使用。

诱发原因:项目中使用了一个新的依赖库,是纯swift实现的,所以podfile中需要设置use_frameworks!,依赖下载后就出现了上面的错误,好多系统类的继承类都提示找不到了。

解决办法:stack overflow中有人提到互相import可能会导致这个问题

This can happen when foo.h #imports "bar.h" and bar.h #imports "foo.h" (or sometimes its a chain of three or more header files importing each other in a circle) and it leads to spurious errors like the one you're seeing.

介于出问题的类都是swift报漏给OC的,我就想到了{projectName}-Swift.h的引用问题,最后发现把{projectName}-Swift.h写在PCH文件的最后面,然后清除编译缓存(Clean Build Folder...),重新编译就好了。

当然,这个问题没找到根本,只是临时解决了,知道的伙伴可以提醒一下真正的原因或者如何定位原因

错误2

Library not found for -lAFNetworking Linker command failed with exit code 1 (use -v to see invocation)

这里只是随便写了一个,还是其他使用pod管理的依赖

背景:项目中使用了一个新的依赖库,是纯swift实现的,所以podfile中需要设置use_frameworks!,依赖下载后就出现了上面的错误

解决:项目设置(build settings)中的Linking - General中的Other Linker Flags中有写入-lAFNetworking等其他pod库,删掉即可

问题猜测,podfile中原来没有设置use_frameworks!,所以Other Linker Flags使用-l可能就没啥问题,现在使用framework了,不匹配,报错了。

以上,希望能帮到你

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery 遍历

jQuery 遍历 引言 jQuery 是一个广泛使用的 JavaScript 库,它简化了 HTML 文档的遍历、事件处理、动画和 AJAX 交互。在本文中,我们将深入探讨 jQuery 的遍历功能,这是 jQuery 核心的一部分,允许开发者轻松地选择和操作 DOM 元素。 目录 jQuery 遍历简介选择器 基本选择…

vue3 解决数据最初始为空,页面出现空白或者默认值

1. 问题描述 存在一个数组 tabsBars,当我们判断其为空时,显示默认文本,当其异步获取数据后,显示正常内容。 const tabsBars ref([]);const getInfo async () > {const res await getListApi();tabsBars.value res.tabsLi…

关于vue-router的钩子函数(vue知识点/面试题)

Vue 2 中,Vue Router 提供了多个钩子函数(导航守卫)来控制路由的行为。这些钩子函数主要分为以下几类: 全局守卫(Global Guards) beforeEach:在每次路由切换前被调用。常用于验证用户身份或权…

2024年最新GPT 4o访问入口及使用指南

2024年最新GPT访问入口及使用指南 一、前言 随着人工智能技术的不断进步,GPT(Generative Pre-trained Transformer)作为一种强大的自然语言处理工具,已经广泛应用于各个领域。无论是写作、编程辅助,还是对话生成&…

17、服务和数据在微服务各层的协作

在微服务架构中,服务和数据的协作是确保系统高效运行和可维护性的关键。本章详细探讨了微服务架构中的服务视图和数据视图,帮助我们理解在运行过程中这些服务和实体在各层是如何协作的。 1、服务视图 微服务内有许多不同类型的服务,它们的实…

Golang | Leetcode Golang题解之第301题删除无效的括号

题目&#xff1a; 题解&#xff1a; func checkValid(str string, lmask, rmask int, left, right []int) bool {cnt : 0pos1, pos2 : 0, 0for i : range str {if pos1 < len(left) && i left[pos1] {if lmask>>pos1&1 0 {cnt}pos1} else if pos2 <…

FFmpeg实战 - 解复用解码

文章目录 前置知识音视频基础概念解复用、解码的流程分析FFMPEG有8个常用库 常见音视频格式的介绍aac格式介绍h264格式介绍flv格式介绍mp4格式介绍 FFmpeg解码解封装实战数据包和数据帧&#xff08;AVPacket/AVFrame&#xff09;AVPacket/AVFrame的引用计数问题API介绍注意事项…

vue3实现elementui表格操作栏宽度自适应

根据表格的Table-column 属性&#xff0c; 我们可以在操作栏中添加 :render-header"renderHeader" 然后通过js获取当前操作栏存在多少个按钮&#xff0c;去动态计算需要设置列宽为多少&#xff1b; <el-table-column fixed"right" :label"t(tabl…

实习日志2之windows上大模型(qwen2-7b)部署

一、模型部署 1、下载ollama(大模型本地部署工具)&#xff0c;并安装 下载网址&#xff1a;https://ollama.com/ ollama是大模型部署方案&#xff0c;对应docker&#xff0c;本质也是基于docker的容器化技术。 2、下载大模型 在命令框&#xff0c;如windows系统在cmd窗口输…

详解方向导数

详解方向导数 flyfish 方向导数是描述了函数在某一特定方向上的变化率。具体来说&#xff0c;给定一个多元函数 f ( x , y , z , … ) f(x, y, z, \ldots) f(x,y,z,…) 和一个方向向量 v \mathbf{v} v&#xff0c;方向导数表示函数 f f f 沿着向量 v \mathbf{v} v 方向的…

笔试练习day1

目录 数字统计题目解析解法(枚举数字拆分)代码 两个数组的交集题目解析解法哈希表代码 点击消除题目解析解法栈代码 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&#x1f97…

C++ //练习 16.5 为6.2.4节(第195页)中的print函数编写模板版本,它接受一个数组的引用,能处理任意大小、任意元素类型的数组。

C Primer&#xff08;第5版&#xff09; 练习 16.5 练习 16.5 为6.2.4节&#xff08;第195页&#xff09;中的print函数编写模板版本&#xff0c;它接受一个数组的引用&#xff0c;能处理任意大小、任意元素类型的数组。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&a…

SQL中有多少Statements

SQL&#xff08;Structured Query Language&#xff09;是一种用于管理和操作关系型数据库的标准编程语言。SQL语句的种类繁多&#xff0c;它们被设计来执行不同的数据库操作&#xff0c;如数据查询、数据更新、数据定义&#xff08;如表和索引的创建&#xff09;等。由于SQL语…

开源AI智能名片小程序源码在对立型定位策略中的应用与深入探索

摘要&#xff1a;在当今数字化营销风起云涌的时代&#xff0c;开源AI智能名片小程序源码作为技术创新的前沿阵地&#xff0c;为中小企业及后发创业品牌提供了实现差异化竞争与市场突破的利器。本文旨在深入探讨开源AI智能名片小程序源码如何有效融入对立型定位策略之中&#xf…

程序员面试中的“八股文”:敲门砖还是绊脚石?

在现代技术行业中&#xff0c;“八股文”成为了程序员面试中的常见问题。“八股文”究竟能否在实际工作中发挥应有的作用&#xff0c;成了一个备受争议的话题。许多IT从业者都提出疑问&#xff1a;程序员面试到底考察的是什么&#xff1f;是工作能力、工作经验&#xff0c;还是…

二进制部署k8s集群之master节点和etcd数据库集群(上)

目录 1.操作系统初始化配置 2.升级Linux内核 3.部署docker引擎 4.部署etcd集群 4.1 了解etcdctl工具对etcd做增删改查 4.2 通过etcdctl工具实现数据库的备份和恢复 5.部署Master组件 6.部署 Worker Node 组件 二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a…

【Cyber RT】Apollo Cyber RT安装, 环境搭建,test ok

一、下载源码 克隆Apollo 源码仓库 git clone https://gitee.com/ApolloAuto/apollo.git (耗时30min) 二、启动Apollo Docker 开发容器 进入到Apollo源码根目录,执行下述命令以启动Apollo Docker开发容器 cd apollo ./docker/scripts/dev_start.sh 如果只是使用Cyber…

经典文献阅读之--GraphAD(端到端自动驾驶的交互场景图)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…

Elasticsearch模糊查询之Wildcard

{“wildcard” : { “LPR.keyword” : { “wildcard” : “${Keyword}”} }},你的示例中使用了 wildcard 查询&#xff0c;它适用于模糊搜索&#xff0c;允许使用通配符&#xff08;* 和 ?&#xff09;来匹配字段值。你使用了 keyword 子字段来确保精确匹配&#xff0c;这是一…

使用IPIDEA海外代理助力宠物跨境电商1.1

3.如何获取具体分类的数据&#xff1f; 以前我们做选品&#xff0c;通常会招聘多个运营专员&#xff0c;每隔几小时去亚马逊平台上查看猫狗商品数据&#xff0c;然后人工把数据一条一条复制粘贴下来。通常一遍做下来&#xff0c;1-2小时就过去了&#xff08;根据数据样本的大小…