美文网首页
iOS framework封装踩坑

iOS framework封装踩坑

作者: 马维启 | 来源:发表于2019-12-02 23:43 被阅读0次

    1、用xcworkspace创建和管理多个项目可以实现s d k封装
    2、在项目里点击加号也可以创建framework,以上两个方法都能打包sdk
    3、如果sdk里引用了其他sdk,添加的时候不勾选add to targets
    4、fremawork就是sdk,暂时这样考虑,pch文件也可以使用
    5、boundle文件编译到framework中,图片是可以访问到,但是打包的时候提示报错,等有时间再看看怎么方便地读取framework中的图片,省的放2个文件
    6、引入cnplayer sdk时候报错,删掉创建framework文件的默认.h文件就可以了
    7、一直提炼代码,等代码很完美的时候,再封包也行
    8、控制暴露接口的.h,控制开源目录
    9、目录控制注意依赖关系,要不然pod lib lint不会通过(踩坑了)
    10、编译不通过,把.h头文件拖到public下面就可以
    11、引用framework图片宏定义

    //bundle文件
    #define  bundleImg(imgName)\
    ({\
        NSBundle *framework =[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"ZDAdSDK" ofType:@"framework" inDirectory:@"Frameworks"]];\
        NSBundle *bundle = [NSBundle bundleWithPath:[framework pathForResource:@"ZDAd" ofType:@"bundle"]];\
        NSString *path =[NSString stringWithFormat:@"%@/%@",bundle.resourcePath, imgName];\
        (path);\
    })\
    //car文件
    #define  carImg(imgName)\
    ({\
        NSString *path = [[NSBundle mainBundle] pathForResource:@"ZDAdSDK" ofType:@"framework" inDirectory:@"Frameworks"];\
        NSBundle *bundle = [NSBundle bundleWithPath:path];\
        UIImage *img = [UIImage imageNamed:imgName inBundle:bundle compatibleWithTraitCollection:nil];\
        (img);\
    })\
    

    调用:

        [cloBtn setImage:[UIImage imageNamed:bundleImg(@"guanbi")] forState:UIControlStateNormal];
        
        [cloBtn setImage:carImg(@"close") forState:UIControlStateNormal];
    

    相关文章

      网友评论

          本文标题:iOS framework封装踩坑

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