• iOS 制作 framework 教程


    直接看步骤 废话不多说,哈哈!

    1、新建一个静态库工程:

    2:取自己喜欢的名字:

    3、删除向导所生成工程中的 Target:

    3、删除TestFrameWork对应的工程文件夹:

    5:删除bulid 关连项

      

    选择左下角Manager Scheme

    选中 Scheme,点击左下角的减号删除:

    删除完成后,点击 OK 返回。

    5、增加一个新目标。点击 “Add Target”

    在弹出的对话框中选择 Mac OS X 下的 Bundle:

    如上图,给库取一个名字,保持默认的 Framework(CoreFoundation),然后点击 Finish。

    6、修改新目标的工程设置。选中 TARGETS 中对应的目标, Build Settings 页:

    7.target 上右键get Info 在Build  Settings下面设置下面的几项内容

    a.Base SDK选择Latest IOS(IOS 5.1)

    b.Build Active Architecture Only选择NO

    c.Drad Code Stripping设置为NO

    d.Mach-O Type 为Relocatable Object File

    e.Link With Standard Libraries为NO

    f.Wrapper Extension修改为:默认的bundle改成framework

    g.在Architectures选项选择Standard(armv6 armv7) (不这样编译会报错)

    h.工程Info中将Bundle OS Type code的值BNDL改为:FMWK

    在 Deployment 下,将 “Mac OS X Deployment Target”改为”Compiler Default”,

    将 “Targeted Device Family”改为需要的,此处改成了”iPhone/iPad”,

    同时可以根据需要修改 “iOS Deployment Target”,此处改为了 “iOS 3.0”:

    8、修改预编译头:就是注释掉全部

    10、向工程中添加一个类




    10、在myTestClass。h添加一个方法testFounction


    11、在myTestClass。m中实现方法testFounction


    12.打开Build Phases选项卡,右下角点击Add Build Phase–Add  copy Headers,然后界面就会多出来一个Copy Headers的菜单,然后添加源文件。完成后如图所示:(Compile Sources 添加.m文件)

    点击右下角的 “Add  copy Headers”:

    添加完成后,展开 “Copy Headers”:点击加号:

    选中需要暴露的头文件,此处我们选择 “myTestClassA.h”:

    点击 Add 按钮完成添加:此时,我们看到导出的文件在 Project 下,这样是不能暴露给别人使用的,将其移动到 Public 下:

    12.然后Build & Run ,

    里成功很近了 ,哈哈!

    13.下面随便把我们在上面生成的framework 导入到其他的工程就可以使用了,哈哈!

    找到刚才我们FrameWork 的工程目录的Bulid->Products->Debug-iphonesimuator->TestFrameWork.farmework

    14.下在你想用的地方导入头文件

    #import <TestFramework/myTestClass.h>

    用法如下:

    [html] view plain copy
     
    1. myTestClass* vc1=[[myTestClass alloc]init];  
    2.   [vc1 testFounction];  
    3.   [vc1 release];  

    15.Bulid&Run 

    但是上面程序,我测试,会出现内存泄露!

  • 相关阅读:
    二维码的生成细节和原理
    java写入文件的几种方法分享
    实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
    ARM平台安装Docker的方法
    ARM 平台Docker运行RabbitMQ 以及迁移的简单办法
    Oracle12c(未更新任何补丁) 使用compression=all 参数导出之后导入失败
    CentOS7 通过移植二进制文件的方式安装redis、nginx以及dotnet core的简单办法
    Oracle 以及 达梦数据库简单查询所有表行数的存储过程
    Java内存模型(转载)
    深入探讨 Java 类加载器(转载)
  • 原文地址:https://www.cnblogs.com/firstrate/p/3988633.html
Copyright © 2020-2023  润新知