美文网首页iOS基础
组件化遇到的问题

组件化遇到的问题

作者: 换不掉头像的丸子 | 来源:发表于2019-12-17 13:58 被阅读0次

    1.如果组件化工程里依赖的framework,里面有了.a文件,pod install会报错

    target has transitive dependencies that include static binaries: 报这个错误

    解决办法是 在pod podfile文件里加上下面一行代码

    # 依赖三方静态库需添加

    pre_install do |installer| 

    Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}

    end

    然后pod install 通过

    然后验证的时候 pod lib lint--allow-warnings --use-libraries 

    2 如果集成组件报错处理 --include of non-modular header inside XXXX

    解决方法:把target下 Build Settings中 Allow Non-modular includes in Framework Modules选项卡设为yes。

    (这不是最好的解决方法,好的是让做这个组件的人在podspec文件里设置)

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

    3.如果pod search xxx 自己的组件,搜索不到

    解决方法:rm ~/Library/Caches/CocoaPods/search_index.json

    4.如果工程集成自己制作的组件,报搜索不到,或者验证的时候报找不到这个组件

    在 podfile  加上gitsource 和自己的私有库source 

    source 'https://github.com/CocoaPods/Specs.git'

    source 'http://bj.gitlab.xxxxcom/ios-team/xxxxRepos.git'

    验证的时候后面也要加上这个

    5.如果 pod lib lint 或者 pod spec lint 报错

    ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: com.apple.coresimulator.simruntime.ios-12-2, com.apple.coresimulator.simruntime.tvos-12-2, com.apple.coresimulator.simruntime.watchos-5-2). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.) during validation.

    解决方法 升级cocoaPods

    sudo gem install cocoapods

    然后再次验证

    6.如果在组件里用到PLShortVideoKit ,需要在podspec文件里 添加 s.pod_target_xcconfig = { 'VALID_ARCHS[sdk=iphonesimulator*]' => 'PLShortVideoKit' }

    或者在验证后面加上--skip-import-validation 但是这个方法不好,如果其他依赖你做的组件,都需要加这个了,所以最好在podspec文件里配置

    7 pod lib lint 报错 

    原因: 这个问题是pod依赖的组件fourflusher与xcode版本不匹配造成的,可以使用如下命令更新解决办法:  sudo gem install fourflusher

    8.往github上推库如果报443错误

    可以更改hosts,前往/private/etc这个文件夹下,找到hosts,在最下面加上199.232.28.133 raw.githubusercontent.com 

    9.如果pod trunk push 报

    执行 1. 执行命令:pod trunk register '12345678@qq.com' 'hhhh' --description='mac pro'

    然后去邮箱里认证,然后在推就可以了

    2. 在自己邮箱里面去点击,那个邮件里面的连接,就可以了(如果找不到那个邮件,多等个几分钟的。或着去垃圾箱中找找,有可能是腾讯把他等垃圾邮件了)

    3. 返回终端里面继续执行命令:pod trunk push YQJLive.podspec --allow-warnings

    相关文章

      网友评论

        本文标题:组件化遇到的问题

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