• iOS解压静态库.a文件

    2017-11-22 09:25:15
    先先准备一个静态库.a文件,比如叫libWeiboSDK.a,放在桌面的test目录里。 1、首先进入到libWeiboSDK.a文件夹 file一下libWeiboSDK.a,看一下该文件包含几种arch。  执行: cd /Users/dotnar/Desktop/Test  file ...

    先先准备一个静态库.a文件,比如叫libWeiboSDK.a,放在桌面的test目录里。

    1、首先进入到libWeiboSDK.a文件夹 file一下libWeiboSDK.a,看一下该文件包含几种arch。

        执行: cd /Users/dotnar/Desktop/Test

                    file    libWeiboSDK.a

        打印:

    libWeiboSDK.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive] [x86_64]

    libWeiboSDK.a (for architecture armv7):current ar archive

    libWeiboSDK.a (for architecture arm64):current ar archive

    libWeiboSDK.a (for architecture i386):current ar archive

    libWeiboSDK.a (for architecture x86_64):current ar archive

    可以看到该文件包含四种arch,分别是armv7、arm64、i386、x86_64

    2、抽离其中一个arch ,由于下面抽离object的时候必须是要单一的库,所以这里我们之抽出armv7并命名为armv7.a:

    执行:lipo libWeiboSDK.a -thin armv7 -output armv7.a

    这时候应该在test目录下多了一个v7.a文件。

    3、抽离.a文件的object

    执行:ar -x armv7.a

    你会发现在test目录下多了很多.o文件

    4、转换.o文件 (如下的NSData+WBSDKBase64.o文件)

    执行:nm NSData+WBSDKBase64.o> NSData+WBSDKBase64.m

    此时你会发现生成了一个NSData+WBSDKBase64.m

    到此就解压完成,不过此时的.m文件只能看到一些函数而不是源码。如下:


    展开全文
  • 首先先准备一个静态库.a文件,比如叫staticLibrary.a,放在桌面的test目录里。 分离arch 首先先file一下staticLibrary.a,看一下该文件包含几种arch。 ~ cd Desktop/test test ls staticLibrary.a test file ...

    首先先准备一个静态库.a文件,比如叫staticLibrary.a,放在桌面的test目录里。

    分离arch

    首先先file一下staticLibrary.a,看一下该文件包含几种arch。

    ~ cd Desktop/test

    test ls

    staticLibrary.a

    test file staticLibrary.a

    staticLibrary.a: Mach-O universal binary with 2 architectures

    staticLibrary.a (for architecture armv7): current ar archive random library

    staticLibrary.a (for architecture arm64): current ar archive random library


    可以看到该文件包含两种arch,分别是armv7和arm64。 
    由于下面抽离object的时候必须是要单一的库,所以这里我们之抽出armv7并命名为v7.a:

    lipo staticLibrary.a -thin armv7 -output v7.a

    这时候应该在test目录下多了一个v7.a文件。

    抽离.a文件的object

    ar -x v7.a


    你会发现会多出一些.o文件

    获取文件

    比如刚才多出来了一个View.o文件,使用以下命令进行获取:

    nm View.o > view.m


    OK 去看一下view.m文件吧


    原文地址:http://blog.csdn.net/showhilllee/article/details/49871363

    展开全文
  • 之前合成了静态库.a, 有时候我们会拿到别人提供的...准备一个静态库.a文件,比如我们之前制作的 libVideoPlayerLib.a,放在桌面的test目录里。 第二步: 打开终端:cd 到 libVideoPlayerLib.a 所在的文件夹tes...

    之前合成了静态库.a, 有时候我们会拿到别人提供的静态库,但是编译报错,这时候最先要考虑的一步就是这个静态库是否支持我们编译的架构。怎么查看支持的架构?废话不多说!下面亲自实验一下

    第一步:

    准备一个静态库.a文件,比如我们之前制作的 libVideoPlayerLib.a,放在桌面的test目录里。
    在这里插入图片描述

    第二步:

    1. 打开终端:cd 到 libVideoPlayerLib.a 所在的文件夹test下 .
    2. 查看 libVideoPlayerLib.a 包含几种架构 arch 。 (file 命令)
    3. 分离出一种架构的.a。(lipo **.a -thin armv7 -output armv7.a)
    4. 抽离.a文件的object文件.o。(ar -x armv7.a)
    5. 将.o 转换为 .m。(nm ****.o > ****.m)
    Last login: Sun May  5 19:30:20 on ttys004
    lzz-Mac-mini:~ suning$ cd /Users/suning/Desktop/test 
    lzz-Mac-mini:test suning$ file /Users/suning/Desktop/test/libVideoPlayerLib.a 
    /Users/suning/Desktop/test/libVideoPlayerLib.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive random library] [arm64:current ar archive random library]
    /Users/suning/Desktop/test/libVideoPlayerLib.a (for architecture armv7):	current ar archive random library
    /Users/suning/Desktop/test/libVideoPlayerLib.a (for architecture i386):	current ar archive random library
    /Users/suning/Desktop/test/libVideoPlayerLib.a (for architecture x86_64):	current ar archive random library
    /Users/suning/Desktop/test/libVideoPlayerLib.a (for architecture arm64):	current ar archive random library
    lzz-Mac-mini:test suning$ lipo libVideoPlayerLib.a -thin armv7 -output armv7.a
    lzz-Mac-mini:test suning$ ar -x armv7.a
    lzz-Mac-mini:test suning$ nm VideoPlayerLib.o > VideoPlayerLib.m
    

    在这里插入图片描述6. 打开导出到.m 伪代码
    在这里插入图片描述通过伪代码可以了解.m 的实现过程

    展开全文
  • ios编译静态库.a文件

    2017-02-23 10:31:46
    1. 如果工程中引用其他第三方库文件,多于一个时,可以先将这些库文件(.a)合并成一个再进行下一步 1) 合并静态库:lipo -create xxx1.a xxx2.a -output xxx_new.a 查看静态库包含的包:lipo -info xxx1.a  如果...

    近期在做关于静态库的工作,需要生成静态库(.a),查了一些资料,在此总结记录一下

    参考文章:http://www.bkjia.com/IOSjc/1087092.html

                      http://blog.csdn.net/ztp800201/article/details/41119585

    常用命令:

    1.查看静态库包含的包:lipo -info xxx1.a

    2.新建文件夹:mkdir armv7

    3.分解出armv7:lipo xxx1.a  -thin armv7  -output  xxx1_armv7.a

    4.解压object file:ar xv xxx1_armv7.a

    5.重新生成.a文件: ar rcs xxx_armv7_new.a armv7/*.o

    6.合并两个.a文件:lipo -create xxx1.a xxx2.a -output xxx_new.a

    7.查看静态库包含的包:lipo -info xxx1.a


    一. 如果工程中引用其他第三方库文件,多于一个时,可以先将这些库文件(.a)合并成一个再进行下一步

         如果这些静态库是fat的,需要先分解为non fat,才能进行合,如果xxx1.a xxx2.a都包含armv7框架,合并会失败,需要将armv7文件解压在一起,重新生成静态库.a文件

           例子: 假设xxx1.a xxx2.a 包含armv7 和 arm64

           可以新建一个文件夹,存放armv7解压出的object file

           1.新建文件夹:mkdir armv7

           2.分解出armv7:lipo xxx1.a  -thin armv7  -output  xxx1_armv7.a

           3.解压object file:cd armv7 && ar xv xxx1_armv7.a(需要先将xxx1_armv7.a文件移至文件夹armv7下)

           4.将xxx2.a重复上诉操作,解压出armv7的object file,xxx2.a解压出的armv7的object file也要放入armv7文件夹下

         (armv7解压出的object file 文件放在一起,重复的文件会覆盖)

           5.重新生成.a文件:cd .. && ar rcs xxx_armv7_new.a armv7/*.o(此时处于armv7上级文件夹下)

           6.arm64重复上诉步骤,生成xxx_arm64_new.a

           7.合并两个.a文件:lipo -create xxx_arm64_new.a xxx_armv7_new.a -output xxx_new.a

          此时,xxx1.a xxx2.a两个文件就合并成功了

    二.创建静态库工程,如下图,选择statistic Library(framework 选择第一个)


    三.静态库工程配置如下图(如果只想生成armv7的静态库文件,Architectures中只写armv7,Architectures Only改为YES,生成的静态库就不包含arm64的)



    四.将要编译的文件拖入工程根目录,将要暴露的头文件加入public下


    五.编译:

    编译时,选择模拟器,生成的静态库是i386或x86的,选择下方的方式,编译的是对应的静态库(步骤三中设置的)



    此时,工程Products下的.a文件就生成了,右键在文件夹中打开,会看到有个user文件夹,user-local-include下就是暴露出的头文件,将头文件和.a文件加入测试工程中就可以进行测试了


    展开全文
  • 解压静态库.a文件

    2015-11-16 20:34:31
    首先先准备一个静态库.a文件,比如叫staticLibrary.a,放在桌面的test目录里。分离arch首先先file一下staticLibrary.a,看一下该文件包含几种arch。~ cd Desktop/test test ls staticLibrary.a test file static...

    首先先准备一个静态库.a文件,比如叫staticLibrary.a,放在桌面的test目录里。

    分离arch

    首先先file一下staticLibrary.a,看一下该文件包含几种arch。

    ~  cd Desktop/test
    test  ls
    staticLibrary.a
    test  file staticLibrary.a 
    staticLibrary.a: Mach-O universal binary with 2 architectures
    staticLibrary.a (for architecture armv7):   current ar archive random library
    staticLibrary.a (for architecture arm64):   current ar archive random library

    可以看到该文件包含两种arch,分别是armv7和arm64。
    由于下面抽离object的时候必须是要单一的库,所以这里我们之抽出armv7并命名为v7.a:

    lipo staticLibrary.a -thin armv7 -output v7.a

    这时候应该在test目录下多了一个v7.a文件。

    抽离.a文件的object

    ar -x v7.a

    你会发现会多出一些.o文件

    获取文件

    比如刚才多出来了一个View.o文件,使用以下命令进行获取:

    nm View.o > view.m

    OK 去看一下view.m文件吧

    展开全文
  • iOS编程:第三方静态库(.a文件)处理 Monday, Sep 16th, 2013 | Posted in 未分类 | 1 Comment 在引用第三方库时,不时的会碰到诸如库冲突、库包含了某些禁用的API等问题,而这些库往往都被打包成了...
  • 一、准备工作 1.下载最新的 gas-preprocessor.pl ...修改文件权限:chmod 777 /usr/bin/gas-preprocessor.pl 下载最新的 gas-preprocessor.pl 下载地址:http://git.libav.org/ 复制gas-preproc
  • cartool,Mac下的命令行小工具,能够将Assets.car文件解包到指定文件夹。目标文件夹需要事先创建好。该工具使用私有API中的CoreUI进行开发。 下载地址:https://github.com/steventroughtonsmith/cartool ./cartool...
  • 制作静态库 .a  原文地址: http://blog.csdn.net/wqs1028/article/details/50351666  制作.framework   原文地址: http://www.jianshu.com/p/bc89f3e5b58c
  • 如果在项目中加入多个第三方库后出现类似下面的问题(XXX.o重复定义): ...duplicate symbol _OBJC_CLASS_$_EAGLView in: /Users/XXXname/Library/Developer/Xcode/DerivedData/XXObjext-gcnzoms
  • 如题,本人在移植静态库文件是时出现重复定义,想把其拆开,删去重复的部分,谢谢各位大侠!
  • 1 如图所示,压缩分卷没有显示关联的软件来打开,Winrar右击也无法解压 2 可以使用7-ZIP软件打开该文件,然后选择提取(相当于Winrar的解压),然后选择提取路径,默认是同一个文件夹,点击确定即可。 3...
  • Matlab2014a.ios安装

    2018-08-04 09:17:19
    1.下载matlab2014a.ios 2.整个安装过程要在无网的环境下进行,以免出现问题 3.可以使用压缩软件进行解压打开,或者使用虚拟光驱加载。我使用的是BD-ROM驱动器:     4.打开,点击setup.exe进行安装:  ...
  • 在引用第三方库时,不时的会碰到诸如库冲突、库包含了某些禁用的API等问题,而这些库往往都被打包成了静态库文件(即 .a文件)来使用。这时就需要我们能够去对Object file进行一些必要的处理调整。如检索信息,移除...
  • 本文的目标:合并libDomobOfferWallSDK.a、libDomobAdWallCoreSDK+UI.a、libDomobAdSDK.a Let`s begin! 1.依次查看所有需要合并的lib库所支持的框架类型。i386表示支持iphone模拟器,armv6应用在...
  • iOS开发中,我们有时会碰到解压Zip文件,或者压缩成Zip文件的需求! ZipArchive是一个开源的工具包,以下是配置步骤: 1. 首先下载ZipArchive,下载地址:...
  • sdl2编译成ios .a

    2018-01-25 14:23:40
    sdl库编译成.a库,应该没有什么环境的要求,但是在这里还是先说一下自己的环境。 mac 10.12.6 Xcode 9.2 sdl2 SDL2-2.0.7 二、准备工作 大家先在sdl官网下载sdl2源码 其中SDL2-2.0.7.zip和SDL2-2.0.7.tar.gz里是...
  • iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者来说,要获得crash文件就必须先连上崩溃过的 机器,然后打开Xcode,选择Window -> Devices,选择你自己的机器...
1 2 3 4 5 ... 20
收藏数 12,456
精华内容 4,982
热门标签
关键字:

.a文件解压 ios