一、静态库创建

打开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、开源库、资源包)的更多相关文章

  1. PHP系列 | ThinkPHP5.1 如何自动加载第三方SDK(非composer包 )

    注意:这里只是针对于非Composer 安装包的自动加载的实现,能用composer安装的自动跳过. 由于ThinkPHP5.1 严格遵循PSR-4规范,不再建议手动导入类库文件,所以新版取消了Loa ...

  2. Xamarin.ios引用第三方SDK

    引言 诚然,Xamarin是个优秀的跨平台解决方案,但毕竟还是不能将Native中所有的方法都直接实现.诸如各种第三方库,也都只有java/oc原生版本的SDK,无法直接拿过来直接使用.但,不能直接拿 ...

  3. 汇总iOS开发中需要用到的开源库

    来源:http://mobile.51cto.com/hot-431256.htm 1.iOS &iPhone 网络异步加载 asi-http-request [1-1 ASI HTTP 下载 ...

  4. 安卓离线SDK Windows版 资源包下载地址全集

    1.Tools    https://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip https://d ...

  5. Android Studio 简介及导入 jar 包和第三方开源库方[转]

    原文:http://blog.sina.com.cn/s/blog_693301190102v6au.html Android Studio 简介 几天前的晚上突然又想使用 Android Studi ...

  6. 粉笔网iPhone端使用的第三方开源库

    粉笔网iPhone端使用的第三方开源库 前言 最近有朋友问我粉笔网 iPhone 端使用了哪些第三方的开源库.我在这儿整理了一下,分享给大家. ASIHttpRequest ASIHttpReques ...

  7. CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  8. (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  9. unity 引入 ios 第三方sdk

    原地址:http://blog.csdn.net/u012085988/article/details/17785023 unity开发中ios应用时,要想成功引入第三方sdk,首先得知道c#与obj ...

随机推荐

  1. 初识Qt文字绘制

    1.新建一个Qt Gui应用,项目名称为myDraw,基类选择为QMainWindow,类名设置为MainWindow. 2.在mainwindow.h头文件中添加void paintEvent(QP ...

  2. request请求转换成对象。

    1)前端post数据过来,key和val键值对会有很多,这个时候往后端进行插值的时候,最好将这些键值对转换成对象进行处理. 使用common-beanutils 来将前端传递过来的map直接转换成对象 ...

  3. java的重载 和重写

    请看如下代码: 父类: public class FU { public void show(){ System.out.println("this is fu!"); } } 子 ...

  4. oracle 导入报错:field in data file exceeds maximum length

    今天用sqlldr导入数据时候报错: " Record 1: Rejected - Error on table ks_test, column khname.Field in data f ...

  5. springMVC框架 对BaseCtrl封装,简化开发

    让你的项目有对象,你的项目如何才会有面向对象特征呢?没有面向对象特征的项目不是好项目哦.此篇博文会使用到面向对象特征中的封装继承,还有就是枚举类型.这篇博文教你如何让你的项目体现面向对象特征. 最近公 ...

  6. Homebrew 使用指南

    Homebrew 是 MacOSX 上的软件包管理工具. 安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.co ...

  7. PHP切割字符用到的explode 以及计数count

    在thinkphp中同样可以用 explode来进行字符的切割工作,比如 $jihe='1,2,3,4'; 在使用explode之后,可以获得一个数组: $array=explode(',',$jih ...

  8. linux 虚拟机 磁盘空间压缩

    /usr/bin/vmware-toolbox-cmd disk list /usr/bin/vmware-toolbox-cmd disk shrink / init 0

  9. Word里面怎么取消全文每个标题前面都有的这个点

    Word里标题前面的那个点,如图1所示看起来觉得很不舒服,该怎么把它取消呢?(本测试环境是Win 10 64位系统,Microsoft Office家庭和学生版 2016) 图1 选中所有标题,如图2 ...

  10. exBSGS学习笔记

    exBSGS学习笔记 Tags:数学 题目的话就做下洛谷的模板好了 // luogu-judger-enable-o2 #include<algorithm> #include<io ...