swift学习 引入三方遇到的问题
问题来源:
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
//---------------------------------------------
静态库:
(静态链接库)(.a)在编译时会将库copy一份到目标程序中,
编译完成之后,目标程序不依赖外部的库,也可以运行 缺点是会使应用程序变大
动态库:
(.dylib)编译时只存储了指向动态库的引用。 可以多个程序指向这个库,在运行时才加载,
不会使体积变大, 但是运行时加载会损耗部分性能,并且依赖外部的环境,如果库不存在或者版本不正确则无法运行
Framework:实际上是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起,方便管理和分发。
对于是否使用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学习 引入三方遇到的问题的更多相关文章
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- 今天开始Swift学习
今天开始Swift学习 在此记录笔记 以备之后查阅! allenhuang
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- 12套swift学习资源分享
虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...
- Swift学习笔记四
前面三篇笔记通过一些示例展示了Swift的一些特性,粗略地介绍了它的语法和特色,从这一篇笔记开始,将正式系统地介绍Swift的语法和特性了. Swift是一门为iOS和OSX开发准备的全新语言,但是它 ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- [转]swift 学习资源 大集合
今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...
- swift 学习资源 大集合
今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...
- Swift学习笔记(一)搭配环境以及代码运行成功
原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...
随机推荐
- Notepad++ 安装连接服务器的NppFTP插件
用Notepad++连接服务器,可以随时编辑一些文件不用特意下载.有时重做系统经常忘记一些插件备份到了哪.再此做个记录,方便重新安装. 下载完NppFTP插件,解压后将bin文件夹下的NppFTP.d ...
- springboot~Profile开发环境与单元测试用不同的数据库
期望 希望开发环境dev用mysql 单元测试使用本机的h2数据库 引入依赖 compile('org.springframework.boot:spring-boot-starter-data-jp ...
- C#委托、事件、线程
这是几个简单的例子,但是实际的开发中委托还还只在反射时用到过,事件的话只自己做了一次,并且还是特意去用的 ,实际上可以不用.线程的话,因为需要,所以用的会多点,这里主要是WS上的线程. 委托 在前面的 ...
- 痞子衡嵌入式:极易上手的可视化wxPython GUI构建工具(wxFormBuilder)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是wxPython GUI构建工具wxFormBuilder. 一.手工代码布局GUI界面的烦恼 如果你曾经设计过上位机软件GUI界面,初 ...
- 基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天. 理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行 ...
- JVM的总结
1.JVM的内存模型 JVM主要由程序计数器,虚拟机栈,堆,方法区,本地方法区 1.程序计数器的功能是记录当前线程执行到了字节码文件的哪一行, JVM执行的是.java编译后的.class文件 2.虚 ...
- HeadFirst设计模式读书笔记之策略模式
1. 例子 1. 做一个鸭子模拟器,里面有很多不同的鸭子,有的可以游泳,有的可以睡觉,有的可以呱呱叫,一般套路是定义一个鸭子的超类,在 超类里定义睡觉,游泳,呱呱叫的方法,再让不同的鸭子子类继承这个超 ...
- OpenCL中三种内存创建image的效率对比
第一种:使用ION: cl_mem_ion_host_ptr ion_host_ptr1; ion_host_ptr1.ext_host_ptr.allocation_type = CL_MEM_IO ...
- 【原】使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS"的解决
问题:使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS",怎么办? 解决:如果只是删除工程,还会有这样的提示.说到底, ...
- jQuery标签插件tagsinput.js
官网地址: http://xoxco.com/projects/code/tagsinput/ github地址: https://github.com/xoxco/jQuery-Tags-Input ...