一、静态库创建

打开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. 集合之Stack

    在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过 ...

  2. 初识Qt窗口界面

    1.新建一个新的Qt Gui应用,项目名称随意,例如MyMainWindow,基类选择QMainWindow,类名为MainWindow. 2.项目建立后,双击mainwindow.ui文件,在界面的 ...

  3. kaggle _Titanic: Machine Learning from Disaster

    A Data Science Framework: To Achieve 99% Accuracy https://www.kaggle.com/ldfreeman3/a-data-science-f ...

  4. linux rpm jdk安装环境配置

    wget   https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211 ...

  5. KVM虚拟机IO处理过程(二) ----QEMU/KVM I/O 处理过程

    接着KVM虚拟机IO处理过程中Guest Vm IO处理过程(http://blog.csdn.net/dashulu/article/details/16820281),本篇文章主要描述IO从gue ...

  6. 删除Oracle Online Redo 测试

    删除Oracle Online Redo 测试 SQL> select * from v$log; ​   GROUP#   THREAD# SEQUENCE#     BYTES BLOCKS ...

  7. 「iOS」你会用几种方法实现计时器

    1.NSTimer 存在一定的误差,不管是一次性的还是周期性的timer得实际触发事件的时间,都会与所加入的runloop和runloopMode有关,如果此runloop正在执行一个连续性的运算,t ...

  8. Scala_标识符

    用于对象,类,变量和方法的名称称为标识符.关键字不能用作标识符,标识符区分大小写. 类名首字母大写 方法名称第一个字母小写 程序文件名应该与对象名称完全匹配 1.字母数字标识符 以字母或下划线开头,后 ...

  9. LaTeX宏包TikZ绘图示例——Go语言起源图

      本例所绘图形选自<Go语言程序设计>(作者:Alan A. A. Donovan与Brian W. Kernighan)一书的前言部分. 完整代码 \documentclass{art ...

  10. 【转】SVG与HTML、JavaScript的三种调用方式

    原文:https://www.cnblogs.com/guohu/p/5085045.html SVG与HTML.JavaScript的三种调用方式 一.在HTMl中访问SVG的DOM 1 2 3 4 ...