美文网首页iOS技术集IT-iOS开发
2019-07-31 记录私有库坑 :Include of no

2019-07-31 记录私有库坑 :Include of no

作者: mis06 | 来源:发表于2019-07-31 15:10 被阅读1次

    如何给自己项目添加Pod支持,让别人也可以 pod install,愉快的使用你的库,请看这里
    👉👉👉:https://www.jianshu.com/p/0e1d796b2a42

    在给自己项目添加Pod支持,在终端执行:

    pod spec lint MSCycleScrollView.podspec
    

    抛出如下错误:


    图1

    错误原因:我在项目中添加了第三方依赖库SDWebImage和MSPageControl,如下图:

    图2
    而在引入时,在项目.h文件中引入了第三方.h文件。遇到这个问题之后在网上搜索了下“include of non-modular header inside framework module”,网上大部分的解决方法是:
    1. 将Build Settings中的Allow Non-modular Includes In Framework Modules设为YES;
    2. 将第三方.h文件在.m中引入;

    考虑第一种方法:尝试了方法1后,依旧抛出图1的错误;
    考虑第二种方法:因为我在项目.h文件需要引入第三方的属性,根据属性设置代码显示效果,于是在.m中引入第三方.h这个方法还是行不通,好桑心💔💔💔💔~~~。但是不能放弃啊!!,后来我在网上找啊找,找到两种解决方案,尝试都成功了:

    解决方法一、在你的.podspec文件中添加

    spec.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' }
    

    ⚠️⚠️⚠️:如果多个pod的podspec中对user_target_xcconfig同一个值进行了设置,那么就可能存在冲突问题,所以不建议使用!

    解决方法二、在执行pod spec lint和pod trunk push时,在命令行尾部添加--use-libraries,如下命令

    pod trunk push MSCycleScrollView.podspec --verbose --allow-warnings --use-libraries
    

    重要的事情说N遍:
    === 推介使用方法二! 推介使用方法二! 推介使用方法二! ===

    切记!切记!切记!如果之前在pod spec lint时使用了--allow-warnings或--use-libraries这里在pod trunk push就必须添加,这里坑了我好半天!!

    在此记录一下,希望小伙伴们不要踩坑!!

    相关文章

      网友评论

        本文标题:2019-07-31 记录私有库坑 :Include of no

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