来源:南栀倾寒

www.jianshu.com/p/c7623c31d77b

如有好文章投稿,请点击 → 这里了解详情

知识背景

  1. What is CocoaPods(https://guides.cocoapods.org/using/getting-started.html)

  2. What did CocoaPods do?(https://guides.cocoapods.org/using/using-cocoapods.html)

In Xcode, with references directly from the ruby source, it:

  1. Creates or updates a workspace.

  2. Adds your project to the workspace if needed.

  3. Adds the CocoaPods static library project to the workspace if needed.

  4. Adds libPods.a to: targets => build phases => link with libraries.

  5. Adds the CocoaPods Xcode configuration file to your app’s project.

  6. Changes your app’s target configurations to be based on CocoaPods’s.

  7. Adds a build phase to copy resources from any pods you installed to your app bundle. i.e. a ‘Script build phase’ after all other build phases with the following:

    • Shell: /bin/sh

    • Script: ${SRCROOT}/Pods/PodsResources.sh

大意是,CocoaPods是一个依赖管理工具,使用CocoaPods可以自动的去分析依赖,然后通过脚本去将第三方依赖复制编译为静态库然后链接进项目。~~~等。

  • 制作Pod

有时候我们有把代码做成一个轮子给别人用情况,我们需要按照官方的教程Making CocoaPods去制作。

教程分为2类 :

  1. 发布公共Pod给所有开发者使用。

  2. 制作私有Pod。 方法较为简单。自行查阅资料即可。这里不再赘述。

  • Swift和Objective-C Mixed

参考官方的文档(文末指出),混编里面包含有2种调用情况:

Question1. Swift调用Objective-C
Question2. Objective-C调用Swift

这里我新建一个项目 命名为Mixed(Single View Application), 创建一个文件夹Classes用于存放源代码

创建一个Objective-C Class O 继承自NSObject 创建一个Swift Class S 继承自NSObject

  • Answer1: 为Swift源代码添加一个 XXX.h头文件这里为Mixed-Bridging-Header 在这个文件中导入需要访问的Objective-C 源代码的头文件。

headerConfig

有时候Xcode反应会稍微延迟一点。手动编译一下即可。做完这个配置,Swift即可访问Objective-C 源代码。

代码如图:

swiftAccessObjc

  • Answer2: Objective-C 访问Swift源代码 需要导入系统为项目生成的头文件,默认为Module+Swift.h 当然自己也是可以修改的, 导入之后,编译一下(Xcode有时候有缓存,没事就应该编译一下

制作 Swift 和 Objective-C Mixed 的 Pod相关推荐

  1. Swift调用Objective C的FrameWork

    很多Github的库经过很多年的发展,源码都是OC写的,,所以,用Swift调用OC的库就是开发中难免遇到的的一个问题,本文以AFNetworking为例,讲解如何跨语言调用. 第一步 创建一个空的工 ...

  2. GitHub上Swift开源项目!

    swift-open-project 这里汇集了目前为止最为流行的Swift开源项目,选取SwiftGuide中的开源部分,这里将每周对项目进行总结,如果大家有推荐的可以联系thinkloki@gma ...

  3. Swift中的#pragma mark?

    本文翻译自:#pragma mark in Swift? In Objective C, I can use #pragma mark to mark sections of my code in t ...

  4. swift 脚本_Swift脚本和命令行参数

    swift 脚本 In this tutorial, we'll discuss how to create Scripts in Swift. Yes, Swift is a scripting l ...

  5. 网易漫画Swift混编实践

    \ 本文为『移动前线』群在4月8日的分享总结整理而成,转载请注明来自『移动开发前线』公众号.\ 嘉宾介绍 \ 胡波,来自于网易杭州研究院,之前在网易杭研移动应用部参与网易公开课/网易看游戏/网易云阅读 ...

  6. afn访问本地html,Swift利用AFN实现封装网络请求详解

    前言 相信大家都知道,我们一般在一个项目中,网络请求都封装成一个单例,以确保整个项目的网络请求 Session 是同一个. 单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供,下面话不 ...

  7. 苹果新贵 Swift 之前世今生

    摘要 : 做为一个70后程序员,克里斯先后发明了 LLVM.Clang 和 Swift,请问你做了什么? 上 周出差劳顿,这篇文章几次动笔都未完成,常常躺倒床上就昏睡过去.南方的天气闷热潮湿,让我感到 ...

  8. Objective C范型

    范型 范型编程是一种程序语言设计范式,它允许程序员在使用强类型的语言编写代码的时候,延迟确定具体的类型. 以Swift代码为例,假如有一个需求是要交换两个int,很容易写出类似代码 func swap ...

  9. Swift 代码调试核武-LLDB调试基础

    原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=list 我的stackoverflow 前言:LLDB是个开源的调试器,与XCode绑定 ...

最新文章

  1. 使用简单的轻量级移动web应用开发框架 - Sidetap
  2. 关于TP-LINK宽带路由器上的“转发规则”功能用途及设置办法
  3. css3抽奖转盘,从零制作CSS3抽奖大转盘
  4. 基于stm32f405控制三相无刷电机例程_直流有刷电机和无刷电机的区别
  5. 搜索页面html代码怎么写,页内搜索功能源代码
  6. WebService之Java原生态支持
  7. c语言欺凌,以下哪种行为属于“校园欺凌”?A取绰号B暴力殴打同学C恶意辱骂D企图教唆集体...
  8. deepfakes怎么用_[mcj]deepfakesApp使用说明(2)
  9. c语言计算坐标,求助,有关坐标计算的
  10. js,jquery小知识点
  11. TwoStep Cluster
  12. Android电池驱动【转】
  13. 2008评估过期 server sql_SQLServer2008R2数据库评估版已经过期解决办法.doc
  14. 安卓内录声音软件scr_录屏内录大师软件下载
  15. 关于计算机的好处的英语作文,关于电脑好处的英语作文
  16. 12123选牌漏洞_揭秘交管12123六大车牌选号技巧
  17. ICEM-tube-water
  18. css中鼠标手,css各种鼠标手型集合
  19. 即构推出微信引流方案,助力在线教育平台大幅降低获客成本
  20. 首屏渲染优化性能优化

热门文章

  1. 【HTML5游戏开发】简单的《找不同汉字版》,来考考你的眼力吧
  2. 判断出栈顺序是否正确(栈的压入、弹出序列)
  3. jQuery 超屏加载
  4. css中绝对定位中的left和top属性
  5. 又偷懒了4个月,督促自己
  6. [zt] petshop4.0 详解之三
  7. 设置Enter键为默认键
  8. Nginx源码分析--基本数据类型的别名
  9. 使用svn时碰到的一个的问题
  10. linux php进程端口占用,linux如何查看端口占用情况