`
zjjzmw1
  • 浏览: 1366230 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

ios生成静态库的.a文件,并且可以把模拟器和真机的合成一个

    博客分类:
  • iOS
阅读更多

http://qk13warcraft.blog.163.com/blog/static/1575493442012740342940/

 

上面的网站是作者。。。

制作静态库 第三方SDK  

2012-08-04 01:04:07|  分类: ios_杂记|举报|字号 订阅

 
 
      IOS 程序是由Objective-c语言构成,而是Objective-c语言中每一个类又分成 .h .m 文件。静态库可以将这些程序的类封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。总的来说 IOS静态库适合去制作第三方提供的SDK

     1、打开Xcode,建立一个Static LIbrary的project
     


    2、编写静态库的代码,build工程,xxx.a静态库文件就生成出来了,show Finders就可以找到了该文件


    3、当第三方要调用你的静态库的时候,需要将 .h文件和 xxx.a文件加入其project
           当需要边调试边开发 .a的时候,需要加入新的Target,在运行的时候在两个Target进行切换即可
      
  
  4、build生成的有两个.a文件,一个是真机的,一个是模拟器的
       

  5、在模拟器里面,我们需要的是基于i386构架编译的static lib,但是这个a文件,大家还记得前面说的arm6 arm7构架的么。这个a其实是在iphone这个arm构架上运行的代码。其实show in finder指向的是一个ios device的库,并不是i386模拟器下的库。那如何编译i386的库呢?我们将这个iOS Device修改成iPhone4.3 Simulator。在进行编译,这样就可以编译出i386下面的库。这个时候我们show in finder打开的文件夹还是ios device下的库
  
6、这个时候,可以将两个文件打包成一个通用的.a文件,命令如下
分享到:
评论

相关推荐

    iOS openssl 静态库 .a文件

    在iOS开发中,如果一个项目依赖于某个库,而这个库是以`.a`文件形式提供的,开发者可以将它加入到Xcode项目中,链接器会自动处理并把所需的代码合并到最终的应用程序中。这里提到的`.a`文件支持armv7和armv7s两种...

    libmp3lame.a(3.100)静态库for iOS支持真机模拟器全指令集和bitcode

    `libmp3lame.a`是一个用于编码MP3音频的静态库,它是LAME(LAME Ain't an MP3 Encoder)项目的一部分。LAME是一个非常流行的、高效的、开源的MP3编码引擎,其版本为3.100,这是当前提供的更新版本。 首先,我们来...

    最新版libmp3lame 静态库 for iOS(支持模拟器,真机版,懒人门享受)

    最新版libmp3lame 静态库 for iOS(支持模拟器,真机版,懒人门享受),已经编译好了,直接就能用,轻松加愉快的录音转码MP3

    RoboVM和libGDX的绑定[用java调用ios的静态库.a]

    你需要创建一个绑定项目,导入静态库 `.a` 文件,然后使用RoboVM的绑定工具生成对应的Java接口。 4. **实现绑定接口**:生成的Java接口定义了可供Java代码调用的方法,你需要根据静态库的实际功能实现这些接口。这...

    ios libx264 静态库 .a文件

    本文将详细解析"ios libx264 静态库 .a文件"的相关知识点,包括libx264库的介绍、静态库的概念、支持的架构以及如何在iOS项目中集成和使用libx264。 首先,libx264是一个开源的、高效的H.264视频编码器,广泛应用于...

    ios openssl静态库 (libssl.a和libcrypto.a) 基于最新的1.0.2m

    为了解决这个问题,我们可以创建一个"通用"库,即`universal`文件夹中的`libssl.a`和`libcrypto.a`。这个通用库使用了Lipo工具,将多个特定架构的库合并成一个,使得一个库可以同时支持所有目标平台。执行以下命令...

    libmp3lame 静态库 for iOS(支持模拟器,真机,以及两个平台的64位)

    最近升级了系统到Mac OS X 10.10 并且更新了XCode6.1和iOS 8.1之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集。需要重新编译查阅了下资料,按照如下步骤,并做了些注释...

    iOS静态库生成方法

    编译成功后,Xcode会生成一个.a文件,这个文件就是你的静态库。你可以在"Products"目录下找到它,通常路径为`/项目路径/Products/项目名称.a`。这个.a文件是针对iOS模拟器的静态库。 4. **生成真机版本的静态库** ...

    lame编译库 支持64位支持模拟器和真机

    综合以上信息,我们可以知道这个LAME编译库是一个经过精心编译和优化的版本,适用于广泛的iOS开发需求,无论是真机还是模拟器,无论是旧款还是新款设备,都能提供稳定的MP3编码能力。这对于那些需要在iOS应用中处理...

    编译iOS使用的.a库文件

    5. **处理模拟器与设备兼容性**:在某些情况下,你可能需要为不同架构分别生成库文件,如`libhello_i386.a`(模拟器)和`libhello_armv7.a`(真机)。然后,你可以使用`lipo`工具将它们合并成一个通用库,例如`...

    libmp3lame 静态库 for iOS(支持arm64,i386,模拟器,真机测试)

    在本案例中,`libmp3lame.a`是已经编译好的静态库,包含了arm64、armv7和i386架构的支持,这意味着它可以用于运行在不同架构的设备上,包括iPhone真机(arm64和armv7)和iOS模拟器(i386)。 **手动集成步骤** 1. *...

    openssl-1.0.2o静态库(IOS平台)libcrypto.a和libssl.a

    静态库文件libcrypto.a和libssl.a是OpenSSL的核心组成部分,它们分别为加密库和SSL/TLS协议库。libcrypto.a包含了各种加密算法、哈希函数、随机数生成等核心功能,而libssl.a则负责处理SSL和TLS协议,实现网络通信的...

    IOS添加只有.h的静态库

    在编译完成后,右键点击Products下的生成.a文件,打开“终端”(windows上的控制台),输入-lipo –create命令,合并真机和模拟器编译的.a文件,生成新的.a文件。 接下来,重新创建一个静态工程StaticB,将生成的.a...

    ios 二维码sdk,整合支持armv7s,合并了模拟器和真机libzbar.a,ZBarSDK

    通过使用胖二进制文件(fat binary)技术,可以创建一个包含所有必要架构的库,使得同一个libzbar.a文件可以在模拟器和真机上同时使用。 **4. 集成ZBarSDK步骤** 集成ZBarSDK到iOS项目中,一般遵循以下步骤: - ...

    lua库 ios 模拟器 真机

    1. 将提供的lua动态库文件(可能包括`.a`静态库或者`.dylib`动态库)添加到Xcode工程中。 2. 添加必要的头文件(`#import "lua.h"`,`#import "lualib.h"`,`#import "lauxlib.h"`等)以便于在Objective-C或Swift...

    iOS下打包的ffmpeg静态库.a,h264

    包含了armv7,armv7s,arm64,i386,x86_64五个.a的合并,当前情况下所有模拟器和真机都适用(真机测试为4s和6) 折腾了三天弄好的,希望可以帮到有需要解码h264的朋友。 PS:添加以后只需要libz.tbd,libbz2.tbd,libbz...

    iOS11.3 11.4 12.0真机调试支持文件

    总的来说,这个压缩包提供了Xcode在iOS 11.3、11.4和12.0版本进行真机调试的支持,对于iOS开发者来说是一个非常实用的资源。通过它,开发者可以更好地测试和优化他们的应用,确保在不同设备和系统环境下都能表现出色...

    ios平台的支持arm64和x86_64的通用openssl静态库.zip

    一个通用的静态库意味着它已经包含了这两种架构的代码,因此可以在真机(arm64)和模拟器(x86_64)上无缝运行,无需为每种架构分别编译。 4. **编译与集成** 将这些静态库集成到iOS项目中,通常需要通过Xcode的...

Global site tag (gtag.js) - Google Analytics