• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

OC中调用Swift代码方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在项目中使用到了Swift语言写的第三方的框架,所以在这里将OC中使用Swift的方法说明一下。

1.首先要在Build Setting中进行相关配置

2.在Podfile文件中要加上use_frameworks!

为什么要加use_frameworks!呢?

首先需要了解下静态库,动态库,Framework的区别

所谓的库就是一段编译好的二进制文件,加上头文件,相关的资源文件就可供别人使用

静态库:(静态链接库)(.a)在编译时会将库copy一份到目标程序中,编译完成之后,目标程序不依赖外部的库,也可以运行

               缺点是会使应用程序变大

动态库:(.dylib)编译时只存储了指向动态库的引用。
               可以多个程序指向这个库,在运行时才加载,不会使体积变大,

               但是运行时加载会损耗部分性能,并且依赖外部的环境,如果库不存在或者版本不正确则无法运行

Framework:实际上是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起,方便管理和分发。

iOS8 / Xcode 6 之前是无法使用静态库,出现了AppExtension之后可以使用

对于是否使用Framework,CocoaPods 通过use_frameworks来控制
1. 不使用use_frameworks! -> static libraries 方式 -> 生成.a文件
在Podfile中如不加use_frameworks!,cocoapods会生成相应的 .a文件(静态链接库),
Link Binary With Libraries: libPods-**.a 包含了其他用pod导入有第三库的.a文件
2.use_frameworks! -> dynamic frameworks 方式 -> 生成.framework文件
使用了use_frameworks!,cocoapods会生成对应的frameworks文件(包含了头文件,二进制文件,资源文件等等)
Link Binary With Libraries:Pods_xxx.framework包含了其它用pod导入的第三方框架的.framework文件
1.纯oc项目中 通过pod导入纯oc项目, 一般都不使用frameworks
2.swift 项目中通过pod导入swift项目,必须要使用use_frameworks!,在需要使用的到地方 import AFNetworking
3.swift 项目中通过pod导入OC项目
 1) 使用use_frameworks,在桥接文件里加上#import "AFNetworking/AFNetworking.h"
 2)不使用frameworks,桥接文件加上 #import "AFNetworking.h"




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift 团队宣布将开发一个新的基于 LSP 的语言服务发布时间:2022-07-13
下一篇:
Swift字符串连接发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap