zoukankan      html  css  js  c++  java
  • iOS开发之——制作framework静态库教程

    环境:

    硬件:macbook air 

    系统:OSX EI Capitan 版本:10.11.3

    xcode : Version 7.2.1 (7C1002)

    最近在做ios的静态库(据说framework动态库不能上传到app store).a 和framework都做过了,这里就先说framework的制作流程:

    1.首先在xcode下新建cocoa touch framework工程:

    2.新建好工程后,往里面添加要封装的代码,并且把包含公有api的头包含到自动生成的头文件里面

    或者到Build Phases下Headers里面把公有头文件放到public下

    3.在Build Setting——>Linking找到Mach-O Type 把值:Dynamic Library改为:Static Library,缺少这一步生成的framework就是动态库

    4.找到Edit scheme在run——>info下把build  configure的值由默认值Debug 改为Release 

    5.选择要编译的硬件环境:分别在Generic IOS Device和 iPhone 6s Plus(选择最新的模拟器)下编译一次,编译完后就可以看到工程的products文件下的xxx.framework由红色变成黑色(注意:如果只编译了iphone 6s Plus模拟器,没有编译 Generic IOS Device ,那么xxx.framework还是不会变成黑色)

    6.xxx.framework 变成黑色后,选中xxx.framework右键show in finder 就可以看到生成的framework静态库。分别有Release-iphoneos真机版和Release-iphonesimulator模拟器版,也就是说生成的版本只能分别在各自的硬件环境下使用。

    7.合并真机和模拟器版framework静态库,这样就可以在模拟器和真机下使用了,不过要注意生成的静态库的大小等于真机版和模拟器版的大小的和,所以要对程序进行缩小时,可以只用其中一个版本

    使用xcode自带的lipo可以合并两个版本:在终端下使用命令:lipo -create   /User/...../release-iphoneos/xxx.framework/xxx  /User/...../release-iphonesimular/xxx.framework/xxx  -output   ./xxx   

    其中xxx为你的库的名称,路径为生成的静态库的路径,然后把生成的xxx放到真机或者模拟器版的xxx.framework里面替换里面原有的xxx库

  • 相关阅读:
    Apache Commons 工具集使用简介
    程序员最核心的竞争力是什么?
    开发FTP不要使用sun.net.ftp.ftpClient
    Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解(转)
    MAC OS X显示.开头的文件_苹果操作系统显示隐藏文件命令
    再探二分查找
    二叉树的各种操作
    【java】求两个字符串的最长公共子串
    【Java】数组不能通过toString方法转为字符串
    【C语言】数组名传递给函数,数组的sizeof变为4的原因
  • 原文地址:https://www.cnblogs.com/panxiaochun/p/5282330.html
Copyright © 2011-2022 走看看