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

设置后 显示如 下图:
相关推荐
HouWan6 小时前
Swift 6.4 发布:iOS开发者值得关注的新特性
ios·swift·apple
用户38034165882977 小时前
macOS 录屏:ScreenCaptureKit 与 iOS 的分野,共用引擎的抽象层该切在哪
ios·音视频开发
HouWan9 小时前
Flutter iOS UISceneDelegate 迁移指南:理清新的 Scene 生命周期
flutter·ios·app
00后程序员张9 小时前
Xcode vs KXApp,体积差几十G,选轻量方案还是完整工具链?
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_9159090613 小时前
怎么用 FlutterFlow 把应用发布到 App Store?
android·ios·小程序·https·uni-app·iphone·webview
2501_916008891 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_915918411 天前
怎么把 Python 写的 Flet 应用打包成 iOS App 并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
李游Leo1 天前
HarmonyOS 7 实战开发 04:适配手机、折叠屏与大屏布局
ios·harmonyos
终端安全笔记1 天前
iOS 27 强制 TLS 1.2:租赁设备的注册链路会在哪一环断
android·网络·安全·ios·智能手机