Framwork

作者: 天蚕 | 来源:发表于2017-06-15 16:39 被阅读26次

    一、打包

    1、framework结构调整

    建议删除自动生成的头文件,以及生成的framework名称+Testsframework名称文件夹下的.m和.h

    2、设置静态库

    build setting->All->Mach-o Type选择Static Library

    Snip20170615_1.png

    如果不处理会报错not find Image

    3、暴露公共头文件
    Snip20170615_2.png
    4、生成Framework

    编译真机Framework: 选择真机 command + B
    编译模拟器Framework: 选择任意模拟器 command + B

    5、合并真机和模拟器Framework

    lipo -create 真机Framework镜像路径 模拟器Framework镜像路径 -output 合并后的Framework路径

    注:这里的路径都是包含镜像名称的

    二、集成Framework

    1、集成

    将生成的Framework添加到工程(拖入或者Add)
    General->Embeded Binaries-> + 生成的Framework
    Build Phases->Copy Bundle Resources-> + 生成的Framework

    2、基本使用
    #import <Framework名称/需要引入的头文件>
    import  Framework名称
    
    3、xib使用(Bundle)
    NSBundle *adhomeBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"ADHome.framework" ofType:nil]];
        
    ADViewController *vc = [[ADViewController alloc] initWithNibName:@"ADViewController" bundle:adhomeBundle];
        
    [self.navigationController pushViewController:vc animated:YES];
    

    三、问题(iOS10)

    1、load
    /* Methods for loading and unloading bundles. */
    - (BOOL)load;
    @property (readonly, getter=isLoaded) BOOL loaded;
    - (BOOL)unload;
    
    //始终not yet load
    [bundle load];//始终返回为false
    

    相关文章

      网友评论

          本文标题:Framwork

          本文链接:https://www.haomeiwen.com/subject/focuqxtx.html