• iOS 开发 Framework


    制作Framework 的好处和缺点

    好处:

          1、如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性;

          2、物理上的模块化便于开发过程的管理与测试,尤其是在程序规模相对大。

          3、如果可以使用胶水语言作为粘合剂,程序可以用很少的代价适应未来的变化。

          4、可以在物理上实现 iOS 程序的模块化。

    不足:

          1、由于是静态库,应该不会有什么运行时的损失,但是没试验过,不确定。

          2、资源的加载这部分,不知道会不会占用更多内存,没试验,不确定。

     在项目开发中,共享代码是很常见的。由于iOS的限制,我们无法以“动态库”的形式共享代码。除了以源代码方式,我们只能选择静态库来共享代码。

        “真框架”项目以编译后的二进制形式共享代码,本质上还是一种静态库。但由于Xcode的限制(没有提供相应的项目模板),要以框架的形式编译出静态库,仍然十分麻烦。

      这是手工制作 Framework 的方法,网上有人制作了工程模版,可以直接生成 Framework 工程:

        先下载框架:https://github.com/kstenerud/iOS-Universal-Framework

       解压找到RealFramework进入找到install.sh,右键选择打开方式,用终端打开,真的FrameWork就加入Xcode了

    打开进入shell

    打开进入ctrl+c ,然后 enter

    然后输入y

    输入你机子的密码:然后回车

    最终提示installation complete 。please restart  Xcode 。恭喜你成功了。

    然后打开xcode 新建一个Framework

    然后 新建一个TestFramework,然后新建一个myTestClass的类

    然后在myTestClass.h中添加方法

    -(void)testFunction;

    然后在myTestClass.m中实现方法

     
    然后在bulid phases中的copy headers 中添加想要的头文件到public 

    将myTestClass.h移动到public中

    然后bulid & run,ok了!哈哈!

     接下来就是使用了,直接把上面生成的Build->Products->Debug-iphonesimulator->TestFrameWork.embeddedframework拖到你要使用的工程中

    接下来是将TestFrameWork.framework添加到Link Binary With Libraries,可以直接从项目的左侧栏拖进这个区域。

    然后就在你要使用的类里面进入头文件 ,

    #import  <TestFrameWork/myTestClass.h>

    然后定义对象 然后Bulid & Run 就ok了! 

      恭喜你 第二种方法也会了哈哈!

    还有提醒:

    2。在制作framework或者lib的时候,如果使用了category ,则使用该FMWK的程序运行时会crash,此时需要在该工程中 other linker flags 添加两个参数  -ObjC -all_load

    3。编译出Framework是,需要把 GenerateDebugSymbols =NO,否则会出现很多 warning:

    类似

  • 相关阅读:
    调研当前大学生的三个痛点
    作业-- 统计文本文件中的字符数、单词数、行数
    我的课程表--项目需求分析
    Android随机生成四则运算
    校友信息管理&SNS互动平台之前言、目录及说明
    校友信息管理&SNS互动平台之技术框架选择
    校友信息管理系统&SNS互动平台之用户需求及概要设计
    WordPress文件上传与下载问题解决
    oc - NSArray基础用法总结
    AutoLayout 使用详细
  • 原文地址:https://www.cnblogs.com/sytfyf/p/4508922.html
Copyright © 2020-2023  润新知