问题来源:

1.swift项目pods  MJRefresh 为了在swift正常使用 建了一个桥接文件

2.在项目中又使用了 SDWebImage 用于加载网络图片

根据说明加了Podfile一个 use_frameworks!

编译的时候问题来了

问题显示类似这样的错误:

failed to emit precompiled header '/Library/Developer/Xcode/DerivedData/MyprojectName-lajanjvhqjnfjksdsndsfkads/Build/Intermediates.noindex/PrecompiledHeaders/MyprojectName-Bridging-Header-swift_44AHJm3Z96qu-clang_2BIMGQVXGEZ09.pch' for bridging header '/Documents/MyProjectLocaiton/FoneApp-Bridging-Header.h'

问题解决方法:

了解了一下 use_frameworks! 下面是参考

https://www.jianshu.com/p/ac629a1cb8f5

//---------------------------------------------

首先需要了解下静态库,动态库,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"
//---------------------------------------------

这里我发现swift 项目中通过pod

使用use_frameworks!

导入OC项目可以直接引用使用  放入 桥接文件的可以直接使用

问题解决了,但还是一知半解的状态,有大神知道具体原因的欢迎留言

另外学习swift写了一些demo,加个链接这里 供swift初学者一起学习
 

swift学习 引入三方遇到的问题的更多相关文章

  1. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  2. 今天开始Swift学习

    今天开始Swift学习  在此记录笔记  以备之后查阅! allenhuang

  3. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  4. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  5. Swift学习笔记四

    前面三篇笔记通过一些示例展示了Swift的一些特性,粗略地介绍了它的语法和特色,从这一篇笔记开始,将正式系统地介绍Swift的语法和特性了. Swift是一门为iOS和OSX开发准备的全新语言,但是它 ...

  6. Swift学习之常用UI的使用

    Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...

  7. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  8. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...

  9. Swift学习笔记(一)搭配环境以及代码运行成功

    原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...

随机推荐

  1. 配置中心框架IConfCenter

    本篇和大家分享的是一个简易配置中心框架IConfCenter,框架是利用空余时间写的,主要以配置文件+redis存储方式作为数据同步驱动,目前支持的配置文件格式有 .properties 和 .con ...

  2. Java读取Excel的另一种方法

    除了用poi读取Excel的表格外,还可用ExcelHelper读取Excel.代码一例 String[] fieldNames = new String[] { "studentId&qu ...

  3. colly源码学习

    colly源码学习 colly是一个golang写的网络爬虫.它使用起来非常顺手.看了一下它的源码,质量也是非常好的.本文就阅读一下它的源码. 使用示例 func main() { c := coll ...

  4. Spring之旅第五篇-AOP详解

    一.什么是AOP? Aspect oritention programming(面向切面编程),AOP是一种思想,高度概括的话是“横向重复,纵向抽取”,如何理解呢?举个例子:访问页面时需要权限认证,如 ...

  5. 强化学习(十)Double DQN (DDQN)

    在强化学习(九)Deep Q-Learning进阶之Nature DQN中,我们讨论了Nature DQN的算法流程,它通过使用两个相同的神经网络,以解决数据样本和网络训练之前的相关性.但是还是有其他 ...

  6. Asp.Net Core 轻松学-被低估的过滤器

    前言     过滤器,从我们开始开发 Asp.Net 应用程序开始,就一直伴随在我们左右:Asp.Net Core 提供多种类型的过滤器,以满足多种多样的业务应用场景:并且在 Asp.Net Core ...

  7. .NET Core 2.2 新增部分功能使用尝鲜

    前言     美国当地时间12月4日,微软2019开发者大会中发布了一系列的重磅消息,包含了软硬件和开源社区的各种好消息是铺天盖地,作为一名普通的开发者,我第一时间下载了 .NET Core 2.2 ...

  8. 搞懂MySQL分区

    一.InnoDB逻辑存储结构 首先要先介绍一下InnoDB逻辑存储结构和区的概念,它的所有数据都被逻辑地存放在表空间,表空间又由段,区,页组成. 段 段就是上图的segment区域,常见的段有数据段. ...

  9. 校园生活app结对开发第一天

    今天刚开始开发,要安装android studio及熟悉软件操作

  10. revit二次开发wpf里button按钮无法实现事务

    不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用 ...