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 文件

设置后 显示如 下图:
相关推荐
恋猫de小郭7 小时前
什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap
flutter·ios·swiftui
网安墨雨11 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
福大大架构师每日一题12 小时前
37.1 prometheus管理接口源码讲解
ios·iphone·prometheus
BangRaJun1 天前
LNCollectionView-替换幂率流体
算法·ios·设计
刘小哈哈哈1 天前
iOS 多个输入框弹出键盘处理
macos·ios·cocoa
靴子学长1 天前
iOS + watchOS Tourism App(含源码可简单复现)
mysql·ios·swiftui
一如初夏丿2 天前
xcode15 报错 does not contain ‘libarclite‘
ios·xcode
杨武博2 天前
ios 混合开发应用白屏问题
ios
BangRaJun2 天前
LNCollectionView
android·ios·objective-c
二流小码农3 天前
鸿蒙元服务项目实战:终结篇之备忘录搜索功能实现
android·ios·harmonyos