问题描述 一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的. #if TARGET_IPHONE_SIMULATOR #define SIMULATOR 1 #elif TARGET_OS_IPHONE #define SIMULATOR 0 #endif 但是宏是预编译时发生作用的,那么在静态库中是否还能够使用宏定义来区分模拟器与真机? 分析思路 宏定义确实是预编译时发生作用的,但是静态库编译出来的.a文件通常是分为模拟器与真机两个的,及时通过lipo合并为fat.a文件,实际运…
判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the fat file: libMyAlertView.a are: i386 armv7 x86_64 arm64 说明libMyAlertView.a 支持 armv7 i386 x86_64 arm64  这些,所以可以放心使用到项目中.--------------------- 模拟器的架构是…
查阅了好多资料都没有发现有相关的详细介绍,包括苹果官方文档,也是草草带过.后来是在一个介绍Macbook打印字体的博客中看到的,受到启发. 首先说明苹果设备绘图的长度单位可以认为是point,不是磅(pt)的意思.该point是一个逻辑概念,是独立于设备的. 图1.不同分辨率屏幕显示1point 对于传统常规屏幕,1 point 映射物理屏幕1 pixel.对于Retina的高分屏,1point映射物理屏幕2 pixel.这样可以统一图形在同一种类不同型号设备上图形的大小. 所以在开发的时候,不…
1.bitcode bitcode是LLVM编译器将C/C++/OC/Swift等前端变成语言编译成多种不同芯片上的机器指令过程中的中间代码.并且这个中间代码是CPU无关的. 原本我们的APP里要包含多种支持CPU架构的代码.支持Bitcode的优势就是在提交store后,苹果再动态生成相应CPU的APP版本,这样每个版本的APP就相对小了很多. 相关bitcode的详细介绍参看这篇文章:http://www.jianshu.com/p/f42a33f5eb61 2.SDK开发中bitcode的…
什么是库 ? 库就是程序代码的集合,将N个文件组织起来,是共享程序代码的一种方式.库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行. 库的分类 开源库:源代码是公开的,可以看到每个实现文件(.m文件)的实现,例如GitHub上的常用的开源库:AFNetworking.SDWebImage等: 闭源库:不公开源代码,是经过编译后的二进制文件,看不到具体的实现.闭源库又分为:静态库 和 动态库 1.linux中静态库和动态库区别: 库从本质上来说是一种可执行代码的二进制格式,可以被载…
最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了.发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理解,我来深入的写一写. 我的开发环境 Mac OS X 10.10.1 Xcode 6.1.1 (6A2008a) Cocos2d-x 3.2 新浪微博 SDK for iOS 2015 年 1 月 5 日从 github clone 的版本 遇到的问题 根据新浪微博 SDK 附带的文档接入项目后,…
本文转自cocoachina,尊重作者的汗水. 讲述的非常透彻,有需要的朋友可以阅读实践.转载请注明出处 //=================以下留着备份==================// 在上一篇教程(中译版)中,你学到了怎么样创建一个可复用的圆形旋钮控件.然而你可能不清楚怎样让其他开发者更方便地去复用它. 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的…
静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件.另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间. 上面提到库在使用的时候需要 Link,Link 的方式有两种,静态和动态,…
修改于:2017.1.24 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImage.AFNetworking b.闭源库 不公开源代码,是经过编译后的二进制文件,看不到具体实现.主要分为:静态库.动态库 3.静态库和动态库的存在形式 静态库:以.a 和 .framework为文件后缀名.动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名. .a是纯…
按照公司的想法 要开发一款SDK,于是就抽空学习一下静态枯的制作过程. 在IOS中有静态库和动态库的区分,下面我们就来详细介绍一下. 一.静态库和动态库的详细介绍. 我们平时的工程中或多或少都要引入第三方的SDK,至少引用过系统的framework.其实这些SDK和Framework都属于库,库又分为静态库和动态库.我们平时导入的第三方SDK有的事Framework,有的是 .a.到底哪些是动态库,那些是静态库呢.下面我们分别介绍静态库,动态库,Framework和.a以及.tbd的区别. 二.…