zoukankan      html  css  js  c++  java
  • iOS 开发 旧版 framework

    0. 参考

    http://www.cocoachina.com/ios/20150127/11022.html

    http://www.cnblogs.com/gcb999/p/3296414.html

    1.概念

      Framework 是资源的集合,将静态库和其头文件包含到一个结构中,供Xcode引入使用。

    1.1. os x 与 ios 区别

      os x 可以创建动态连接的Framework。

      ios 只能是使用静态连接的Framework。

    1.2. 本质

      Framework 是静态库的 “一站式采购点”,是从静态库演化而来。

    2.步骤

    2.1. 创建一个 Cocoa Touch Static Library 工程

      一个静态库工程由头文件和实现文件组成,应该仅需要导入一个头文件,就可以访问该库的所有公开类。

    2.2. 设置工程

    2.2.1. 删除自动生成的实现文件

    2.2.2. 修改生成的头文件

      替换头文件中的内容为 #import <UIKit/UIKit.h>

    2.2.3.. 添加UIKit.framework

      工程导航栏>TARGETS>Build Phases>Link Binary With Libraries>+>UIKit.framework

    2.2.4. 添加phase

      在2.4 所在的目录执行:Editor>Add Build Phases>Add Headers Build Phase。

      如果该项不能选择,则点击下方的Build Phases的区域获取焦点。

    2.2.5. 拖动Header

      把2.3的头文件拖动到2.5中的Public中,这样,别人就可以获取到该头文件。

    2.3. 添加功能

    2.3.1. 拖到工程里面

      把要添加的功能文件夹拖动到工程里面,勾选Copy Items 和 Add to targets。

    2.3.2. 拖动需要共享的文件

      注意 2.2.5里面,Public和private都是可以暴露出来的,不要被误导,而Project是私有的。所以,其实只需要Public和Project就好。需要共享的文件,执行操作同2.2.5就好。

    2.3.3. 添加功能头文件到主头文件

      例如:#import<controls/controls.h>,是用尖括号的。

    2.3.4. 配置Build Settings

    2.3.4.1. 提供目录名

      标识拷贝的公共头文件位置,确保使用静态库时可以定位到相关头文件。

      项目导航栏>Targets>Build Setting,搜索 public header > 双击Public Headers Folder Path> 输入include/$(PROJECT_NAME)

    2.3.4.2. 去掉Debug等选项

      接2.3.4.1,搜索并修改

    • Dead Code Stripping为NO
    • Strip Debug Symbol During Copy为NO
    • Strip Style 为 Non-Global Symbols

    2.3.5. 编译

      选择目标为 Generic iOS Device ,编译,这时,Product下的.a文件已经从红色变为黑色。可以右键>Show in Finder查看。

    2.4 创建Framework

      Framework包含lib,但是又有自己的特殊结构:

      通过添加脚本来完成这个操作

    x. 创建一个依赖开发(Dependent Development)工程

    x.1. 创建一个Single View Application

    Xcode 添加前缀

    x.2. 引入静态库工程

      关闭静态库工程,将 静态库.xcodeproj从Finder中拖入到Xcode中项目同名分组里。这样做方便调试和修改。

    x.3. 添加静态库

    • 项目导航栏>项目工程>Targets>项目>Build Phases>Target Dependencies>+>选择静态库,作为项目依赖库
    • 同样,Build Phases>Link Binary With Liraries>+>选择静态库,作为链接库
  • 相关阅读:
    jsp mysql 配置线程池
    服务端 模拟 检测 攻击。。乱写
    硕思闪客精灵 7.2 破解版
    unity UnityAwe 插件
    smartfoxserver 2x 解决 Math NAN
    unity 断点下载
    java 监听文件目录修改
    wind7 64 setup appjs
    sfs2x 修改jvm 内存
    unity ngui 解决图层问题
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4979651.html
Copyright © 2011-2022 走看看