網站首頁 編程語言 正文
引言
swift 在工程中可以通過橋接文件使用OC代碼,但是在framework中是不支持使用橋接文件的,下面是是swift framework 使用 OC 代碼的兩種方式。
第一種:
在target->Build Phases->Headers中,將引入的oc文件由project移動到public中,再在公共.h文件中引入即可使用。
第二種:
第一種方法的swiftframework會暴露oc的頭文件,如果你的Objective-C文件和接口并不想暴露可以采用modulemap。
1. 新建一個module.modulemap文件:
創建一個.h文件修改名字和后綴即可。
module WFAVEngineKit {
header "./Pods/GOWFAVEngineKit/GOWFAVEngineKit/Frameworks/WFAVEngineKit.framework/Headers/WFAVEngineKit.h" export *
}
注意:這里的路徑是要使用的OC代碼相對于modulemap文件的路徑
(../上一級目錄,./當前目錄,/根目錄)
2.設置module.modulemap引用路徑
在build settings中搜索import paths,輸入找到module.modulemap 的文件路徑。
我的這個module.modulemap文件是在根路徑下,直接輸入即可。
3.import module
swift在需要調用OC代碼的地方直接import module名字
原文鏈接:https://www.jianshu.com/p/6fae3df700a6
相關推薦
- 2024-04-03 clickhouse報Ports are not available
- 2023-11-22 Linux/Ubuntu下如何刪除文件或者目錄
- 2022-01-15 跨域系列之proxy代理,解決跨域的方法之一
- 2022-10-29 CSS 漸變彩色字體
- 2022-06-06 Ubuntu系統-FFmpeg安裝及環境配置
- 2022-11-19 React實現多個場景下鼠標跟隨提示框詳解_React
- 2023-11-13 解決Selected processor does not support ARM mode `dm
- 2022-08-25 python并發場景鎖的使用方法_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支