iOS import包

news/2024/7/20 20:19:49 标签: ios

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.niftyadmin.cn/n/4979095.html

相关文章

微前沿 | 第1期:强可控视频生成;定制化样本检索器;用脑电重建视觉感知;大模型鲁棒性评测

欢迎阅读我们的新栏目——“微前沿”&#xff01; “微前沿”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里&#xff0c;你可以快速浏览研究院的亮点资讯&#xff0c;保持对前沿领域的敏锐嗅觉&#xff0c;同时也能找到先进实用的开源工具。 本期内容速览 01. 强可…

xsschallenge1~13通关详细教程

文章目录 XSS 挑战靶场通关level1level2level3level4level5level6level7level8level9level10level11level12level13 XSS 挑战靶场通关 level1 通过观察发现这个用户信息可以修改 那么我们直接输入攻击代码 <script>alert(/wuhu/)</script>弹框如下&#xff1a; …

自动化PLC工程师能否转到c#上位机开发?

成功从自动化PLC工程师转向C#上位机开发的经历可能因人而异&#xff0c;以下是一些分享的思路和建议&#xff1a;扩展编程技能&#xff1a;学习C#语言和相关的开发工具和框架&#xff0c;掌握语言的基础知识和常用的编程技巧。可以通过在线教程、培训课程、书籍等途径进行学习&…

JSX底层渲染机制

JSX底层渲染机制 一,.步骤 1.把我们写的jsx语法编译为虚拟DOM【virtualDOM】 虚拟DOM对象&#xff1a;框架自己内部构建的一套对象体系&#xff08;对象的相关成员都是React内部绑定的&#xff09;&#xff0c;基于这些属性描述出我们所构建视图中的DOM接的相关特征 1基于ba…

17万字集团大数据平台整体方案word

导读&#xff1a;原文《17万字集团大数据平台整体方案word》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。以下是部分内容&#xff0c; 1.1.1 总体目标 根据集团信…

Vue05_关于插槽和指令封装的运用

Vue_05 文章目录 Vue_05Vue 插槽01-插槽-默认插槽默认插槽-基本语法 02-插槽-后备内容&#xff08;默认值&#xff09;默认值设置方法 03-插槽-具名插槽具名插槽-语法 04-插槽-作用域插槽默认插槽-语法代码示例 Vue自定义指令- v-loading封装01-自定义指令自定义指令的两种注册…

大数据项目实战(Sqoop安装)

一&#xff0c;搭建大数据集群环境 1.4 Sqoop安装 1.sqoop安装 &#xff08;1&#xff09;上传安装包 &#xff08;2&#xff09;解压安装包 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /export/servers &#xff08;3&#xff09;重命名 mv sqoop-1.4.6.b…

Flutter实现StackView

1.让界面之间可以嵌套且执行动画。 2.界面的添加遵循先进后出原则。 3.需要使用AnimateView&#xff0c;请看我上一篇博客。 演示&#xff1a; 代码&#xff1a; Stack: import package:flutter/cupertino.dart;///栈&#xff0c;先进后出 class KqWidgetStack {final Lis…