iOS import包

Frameworks
Frameworks 顾名思义就是框架,是第三方打包完成看不到源码,可以直接使用的
在项目中引用方式

OC  引用某一个文件,Frameworks一般会提供一个h文件引用全部其他文件
#import <JLRoutes/JLRoutes.h>
swift  引用一个包,相当于引用了Frameworks中的所有文件
import JLRoutes

Pods 方式
Pods 在iOS中对封装的源码进行管理,可以视频pod方式导入项目中,相当于能看见源代码也能修改源代码的 Frameworks,有的不会生成Frameworks类似的包如:GrowingIO(因为在swift中import GrowingIO失败)
在项目中引用方式

OC  引用某一个文件,Pods一般会提供一个h文件引用全部其他文件
#import <JLRoutes/JLRoutes.h>
swift  引用一个包,相当于引用了Pods中的所有文件
import JLRoutes

-Bridging-Header.h 桥接文件
桥接文件,即是OC的文件通过桥接到Swift能调用
1、在swift使用中我们可以对包(Frameworks/Pods)进行桥接,如

#import <JLRoutes/JLRoutes.h>
#import <GrowingIO/Growing.h>

2、绝不能使用

#import “JLRoutes.h”
#import “Growing.h”
虽然不会错报,会出现控制台打印变量问题
3、项目中添加的OC代码就得使用

#import "JLRoutes.h"
#import "Growing.h"

import导入方式
如果是单个文件就需要导入,直接使用;如果是包

import AFNetworking

桥接文件生成:
在runner里面新建一个swift文件,点击提示就可以建一个桥文件了
在这里插入图片描述
如果 在 OC 的项目里, 首次创建一个 .swift 文件
或 在 Swift 项目里, 首次 创建一个 OC 的 .h .m 文件
那么 Xcode 会默认为项目 创建一个 " 项目名-Bridging-Header.h" 的 桥接头文件

这是一种便捷的方式,去创建一个 Bridging-Header.h 文件,
然后 把临时创建的 .swift 文件 或 .h .m 文件 删除即可 。

如何 手动创建一个 Bridging-Header.h 文件 呢 ?
1、手动创建一个 " 项目名-Bridging-Header.h " 的 .h 文件 (建议规范命名)
2、打开 TARGETS --> 选择当前的 target
3、选择 Build Settins --> 搜索: Bridging
4、设置 Swift Compiler - General 下 的 " Object-C Bridging Header " 的路径

路径: 项目名/BridgingHeader名.h
如:   SRSwiftDemo/SRSwiftDemo-Bridging-Header.h路径: $(SRCROOT)/项目名/BridgingHeader名.h ( 我的项目文件是放在 Desktop 下的 )
如:   $(SRCROOT)/SRSwiftDemo/SRSwiftDemo-Bridging-Header.h也就是: 根据设置的路径, 要能找到这个 Bridging-Header.h 文件设置后 显示如 下图:

在这里插入图片描述

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

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

相关文章

【Java 中级】一文精通 Spring MVC - 标签库 (八)

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

04741计算机网络原理试卷及答案2023年04月份

2023 年4月高等教育自学考试全国统一命题考试计算机网络原理(课程代码 04741) 注意事项: 本试卷分为两部分,第一部分为选择题,第二部分为非选择题。 应考者必须按试题顺序在答题卡(纸)指定位置上作答,答在试卷上无效。 涂写部分、画图部分必须使用 2B 铅笔,书写部…

提取视频文件里的音频和无声视频

一、提取视频文件里的音频&#xff1a; public static void generateMediaRadio(){// 视频提取器MediaExtractor extractor new MediaExtractor();try {//本地视频文件extractor.setDataSource("/storage/emulated/0/mjyyfep/alpha.mp4");//网络视频文件 // …

一文讲明白C++中的结构体Struct和类Class的区别以及使用场景

一文讲明白C中的结构体Struct和类Class的区别以及使用场景 文章目录 一文讲明白C中的结构体Struct和类Class的区别以及使用场景一、C中的结构体Struct二、C中的类Class三、结构体Struct和类Class之间的区别以及各自使用场景 一、C中的结构体Struct 在C中&#xff0c;结构体&…

密码学学习笔记(二十一):SHA-256与HMAC、NMAC、KMAC

SHA-256 SHA-2是广泛应用的哈希函数&#xff0c;并且有不同的版本&#xff0c;这篇博客主要介绍SHA-256。 SHA-256算法满足了哈希函数的三个安全属性&#xff1a; 抗第一原像性 - 无法根据哈希函数的输出恢复其对应的输入。抗第二原像性 - 给定一个输入和它的哈希值&#xf…

【实战】十一、看板页面及任务组页面开发(五) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十七)

文章目录 一、项目起航&#xff1a;项目初始化与配置二、React 与 Hook 应用&#xff1a;实现项目列表三、TS 应用&#xff1a;JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…

Python WEB框架之FastAPI

Python WEB框架之FastAPI 今天想记录一下最近项目上一直在用的Python框架——FastAPI。 个人认为&#xff0c;FastAPI是我目前接触到的Python最好用的WEB框架&#xff0c;没有之一。 之前也使用过像Django、Flask等框架&#xff0c;但是Django就用起来太重了&#xff0c;各种…

SpringBoot+mybatis+pgsql多个数据源配置

一、配置文件 jdk环境&#xff1a;1.8 配置了双数据源springbootdruidpgsql&#xff0c;application.properties配置修改如下&#xff1a; #当前入库主数据库 spring.primary.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.primary.datasource.driver-class…

Python|爬虫和测试|selenium框架模拟登录示例(一)

前言&#xff1a; 上一篇文章Python|爬虫和测试|selenium框架的安装和初步使用&#xff08;一&#xff09;_晚风_END的博客-CSDN博客 大概介绍了一下selenium的安装和初步使用&#xff0c;主要是打开某个网站的主页&#xff0c;基本是最基础的东西&#xff0c;那么&#xff0c;…

如何使用CSS实现一个平滑滚动到页面顶部的效果(回到顶部按钮)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 平滑滚动到页面顶部的效果&#xff08;回到顶部按钮&#xff09;⭐ 创建HTML结构⭐ 编写CSS样式⭐ 编写JavaScript函数⭐ 添加滚动事件监听器⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右…

【golang】panic函数、recover函数以及defer语句

从panic被引发到程序终止运行的大致过程是什么&#xff1f; 大致过程&#xff1a; 某个函数中的某行代码有意无意地引发了一个panic。这时&#xff0c;初始的panic详情会被建立起来&#xff0c;并且该程序的控制权会立即从从行代码转移至调用其所属函数的那行代码上&#xff…

【原创】jmeter并发测试计划

bankQPS 创建线程组 设置并发参数 HTTP请求GET 添加HTTP请求 GET请求 查看结果树 HTTP请求 POST 添加HTTP请求 参数必须设置头信息格式&#xff1a; 添加HTTP头信息 查看结果树 可以选择&#xff0c;仅查看错误日志 汇总报告

华为数通方向HCIP-DataCom H12-821题库(单选题:81-100)

第81题 某公司新购入一台网络设备,作为网络管理员,初次配置该设备通常通过什么方式? A、FTP B、Telnet C、SNMP D、Console 口登录 答案: D 解析&#xff1a; 通常情况下&#xff0c;初次配置网络设备会通过Console口登录的方式进行。Console口是一种串口接口&#xff0c…

[Linux]进程控制

[Linux]进程控制 文章目录 [Linux]进程控制进程退出情况分类进程退出码的理解进程退出方式进程等待 进程退出情况分类 进程正常执行完成 运行结果正确运行结果错误 进程异常终止 – (进程产生错误后&#xff0c;收到了操作系统的信号) 进程退出码的理解 进程主体功能执行完毕…

提升Java开发效率:掌握HashMap的常见方法与基本原理

文章目录 前言一、概述1. 认识HashMap2. HashMap 的作用和重要性3. 简要讲解 HashMap 的基本原理和实现方式 二、了解 HashMap 创建及其的常见操作方法1. HashMap的创建2. 添加元素 put()3. 访问元素 get()4. 删除元素 remove()5. 计算大小 size()6. 迭代 HashMap for-each7.判…

Android相机-架构2

应用&#xff1a; 大概流程&#xff1a;open&#xff0c;创建session&#xff0c;发送request&#xff0c;得到captureresult CameraManager&#xff0c;获取系统服务CameraService&#xff0c;打开相机&#xff1a; 1&#xff09;openCamera&#xff1a;打开相机 获取相…

树莓派示例代码 点亮led灯 跑马灯 开关控制led 红外感应灯 超声波测距

树莓派示例代码 gpio代码 gpio介绍 GPIO&#xff08;英语&#xff1a;General-purpose input/output&#xff09;&#xff0c;通用型之输入输出的简称&#xff0c;功能类似8051的P0—P3&#xff0c;其接脚可以供使用者由程控自由使用&#xff0c;PIN脚依现实考量可作为通用输…

深度学习11:Transformer

目录 什么是 Transformer&#xff1f; Encoder Decoder Attention Self-Attention Context-Attention 什么是 Transformer&#xff08;微软研究院笨笨&#xff09; RNN和Transformer区别 Universal Transformer和Transformer 区别 什么是 Transformer&#xff1f; ​ …

tomcat版本升级

一、升级原由 因漏洞扫描发现生产环境中所使用的tomcat版本有高风险漏洞&#xff0c;评估后决定将其升级至当前系统最新版本 tomcat8.5.32升级至apache-tomcat-8.5.81.tar.gz&#xff0c;可到官网下载&#xff1a;https://archive.apache.org/dist/tomcat/tomcat-8/ 二、升级步…