iOS 静态库生成(引用第三方SDK、开源库、资源包)
一、静态库创建
打开Xcode, 选择File ----> New ---> Project 选择iOS ----> Framework & Library ---> Cocoa Touch Framework。
点击Next ,按照流程一步一步的创建yooweiSDK,最后选择存放的位置即可。
主要过程可以参考我前面的有关文章:http://www.cnblogs.com/richard-youth/p/4988125.html
注意设置:
1、将Build Active Architecture Only 设置为NO
2、TARGETS (yooweiSDK) - Build Settings-Mach -O-type 将其设置成静态库 Static Library
3、调整最低支持的iOS系统
4、TARGETS (yooweiSDK) - Build Settings-Architectures 增加armv7s。 如果你用的真机是iPhone5 C,生成的Framework不支持armv7s,默认的Architectures不包含armv7s。 所以要在Architectures下增加armv7s,并选中。
5、如果 SDK 有用到 Category,注意项目设置 Other Linker Flags 添加 -ObjC
6、TARGETS (yooweiSDK) - Build Settings-ENABLE_BITCODE 设置为NO . 否则真机上跑会报ld: -bundle and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
二、静态库生成
1、创建完静态库的空壳后,我们开始创建所需要的类,拖进用到的资源文件和第三方的开源库以及SDK。如下图所示:

需要注意的是:所有第三方公共使用的库和SDK不能添加到target里面

2、创建资源包yooweiResource.bundle
我们采用在同一个project 里面创建新的target,如图


切换scheme 然后运行,分别可以得到静态库和bundle 资源文件

三:在demo中使用静态库
分别将生成的静态库和资源包文件,以及必要的第三方库和SDK添加到demo里面

在使用的时候,遇到几个问题,记录下来:
1、在制作静态库的时候需要设置ENABLE_BITCODE 为 NO ,demo 工程里面也要设置为NO

2、制作静态库的时候,必要的文件没有添加到target里面,导致这些在demo中找不到文件。

以上为详细记录静态库创建、bundle资源包创建,以及引用第三方的SDK和开源库的一个流程。
注意:静态库文件里面的可以修改,但是在真正使用的地方,还是原来的,不会生效,所以不能在静态库里面直接改掉(经验)。
iOS 静态库生成(引用第三方SDK、开源库、资源包)的更多相关文章
- PHP系列 | ThinkPHP5.1 如何自动加载第三方SDK(非composer包 )
注意:这里只是针对于非Composer 安装包的自动加载的实现,能用composer安装的自动跳过. 由于ThinkPHP5.1 严格遵循PSR-4规范,不再建议手动导入类库文件,所以新版取消了Loa ...
- Xamarin.ios引用第三方SDK
引言 诚然,Xamarin是个优秀的跨平台解决方案,但毕竟还是不能将Native中所有的方法都直接实现.诸如各种第三方库,也都只有java/oc原生版本的SDK,无法直接拿过来直接使用.但,不能直接拿 ...
- 汇总iOS开发中需要用到的开源库
来源:http://mobile.51cto.com/hot-431256.htm 1.iOS &iPhone 网络异步加载 asi-http-request [1-1 ASI HTTP 下载 ...
- 安卓离线SDK Windows版 资源包下载地址全集
1.Tools https://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip https://d ...
- Android Studio 简介及导入 jar 包和第三方开源库方[转]
原文:http://blog.sina.com.cn/s/blog_693301190102v6au.html Android Studio 简介 几天前的晚上突然又想使用 Android Studi ...
- 粉笔网iPhone端使用的第三方开源库
粉笔网iPhone端使用的第三方开源库 前言 最近有朋友问我粉笔网 iPhone 端使用了哪些第三方的开源库.我在这儿整理了一下,分享给大家. ASIHttpRequest ASIHttpReques ...
- CocoaPods:管理Objective-c 程序中各种第三方开源库关联
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...
- (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...
- unity 引入 ios 第三方sdk
原地址:http://blog.csdn.net/u012085988/article/details/17785023 unity开发中ios应用时,要想成功引入第三方sdk,首先得知道c#与obj ...
随机推荐
- CSU 1547: Rectangle (思维题加一点01背包)
1547: Rectangle Submit Page Summary Time Limit: 1 Sec Memory Limit: 256 Mb Submitted: ...
- Python的 GUI 框架
Python的 GUI 框架 Tkinter Python内嵌的gui环境,使用TCL实现,python IDLE由Tkinter实现 历史悠久,perl中有对应的perlTk.Python标准安装包 ...
- Rendering Engine 主流的浏览器内核(排版引擎、渲染引擎、解释引擎)有哪几种,分别的特点
一.A web browser engine A rendering engine is software that draws text and images on the screen. The ...
- 【OC底层】AssociatedObject 关联对象
如何实现给分类“添加成员变量”? 默认情况下,因为分类底层结构的限制,不能添加成员变量到分类中.但可以通过关联对象来间接实现 关联对象提供了以下API 1> 添加关联对象 void objc_s ...
- Scala 方法和函数
package com.bigdata // /** Scala 方法和函数:Scala中既有函数也有方法,大多数情况下我们都可以不去理会他们之间的区别. * * 方法:Scala 中的方法跟 Jav ...
- angularjs animation
http://augus.github.io/ngAnimate/ http://www.nganimate.org/angularjs/ng-repeat/move http://codepen.i ...
- 使用bootstrap-select控件 搜索栏键入关键字动态获取后台数据
bootstrap-select开源地址:https://github.com/silviomoreto/bootstrap-select bootstrap-select使用示例:http://si ...
- CF 1138 E. Museums Tour
E. Museums Tour 链接 分析: 按时间建出分层图,每个点形如(u,t),表示u在在t个时刻的点,tarjan缩点.每个强连通分量中的点都能经过,然后DAG上dp. 代码: #includ ...
- 4569: [Scoi2016]萌萌哒
4569: [Scoi2016]萌萌哒 链接 分析: 每次给出的两个区间长度是一样的,对应位置的数字也是一样的,那么可以将两两对应的数字用并查集合并,设最后有$cnt$个不同的集合,答案就是$9\ti ...
- CF1111E Tree 树链剖分,DP
CF1111E Tree 过年了,洛咕还没爬这次的题,先放个CF的链接吧. 补个LG传送门. 对于每个询问点\(x\),设它的祖先即不能和它放在同一个集合中的点的个数为\(f[x]\),设\(dp[i ...