iOS import包

Frameworks

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

在项目中引用方式

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

Pods 方式

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

在项目中引用方式

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

-Bridging-Header.h 桥接文件

桥接文件,即是OC的文件通过桥接到Swift能调用

1、在swift使用中我们可以对包(Frameworks/Pods)进行桥接,如

c 复制代码
#import <JLRoutes/JLRoutes.h>
#import <GrowingIO/Growing.h>

2、绝不能使用

#import "JLRoutes.h"

#import "Growing.h"

虽然不会错报,会出现控制台打印变量问题

3、项目中添加的OC代码就得使用

c 复制代码
#import "JLRoutes.h"
#import "Growing.h"

import导入方式

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

c 复制代码
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 " 的路径

c 复制代码
路径: 项目名/BridgingHeader名.h
如:   SRSwiftDemo/SRSwiftDemo-Bridging-Header.h

路径: $(SRCROOT)/项目名/BridgingHeader名.h ( 我的项目文件是放在 Desktop 下的 )
如:   $(SRCROOT)/SRSwiftDemo/SRSwiftDemo-Bridging-Header.h

也就是: 根据设置的路径, 要能找到这个 Bridging-Header.h 文件

设置后 显示如 下图:
相关推荐
JQShan2 小时前
React Native小课堂:箭头函数 vs 普通函数,为什么你的this总迷路?
javascript·react native·ios
画个大饼5 小时前
Swift与iOS内存管理机制深度剖析
开发语言·ios·swift
Ya-Jun12 小时前
常用第三方库:flutter_boost混合开发
android·flutter·ios
玫瑰花开一片一片1 天前
Flutter IOS 真机 Widget 错误。Widget 安装后系统中没有
flutter·ios·widget·ios widget
烎就是我1 天前
100行代码swift从零实现一个iOS日历
ios·swift
鸿蒙布道师2 天前
鸿蒙NEXT开发通知工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
鸿蒙布道师2 天前
鸿蒙NEXT开发网络相关工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
余生大大2 天前
关于Safari浏览器在ios<16.3版本不支持正则表达式零宽断言的解决办法
ios·正则表达式·safari
爱分享的程序员2 天前
前端跨端框架的开发以及IOS和安卓的开发流程和打包上架的详细流程
android·前端·ios