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

组件化遇到的问题

作者: OrrHsiao | 来源:发表于2022-03-11 21:43 被阅读0次

    swift组件在项目内使用OC调用时,需要引入头文件 :#import "Swift组件名-Swift.h"
    组件由oc和Swift混编时,在组件内,oc调用swift直接导入头文件即可,swift调用oc需要导入桥接文件:#import <模块名/组件名-Swift.h>
    组件内如果引用framework或者.a,需要在spec内加上
    rnapi.vendored_libraries = '组件路径*.a
    .a组件最好以libxxx.a形式命名,某则可能报错找不到

    组件 podspec在未更新版本号推送时,项目执行pod install 引用组件可能无法引用到刚刚推送的组件,最好修改podspec的版本号
    组件podspec推送时报:未找到spec仓库地址,可能是没有远程仓库权限/可能是本地没有该缓存库,该问题根本原因未找到

    项目是OC、Swift混编的,podfile开启了use_frameworks!
    在封装一个组件时,引用了另一个私有第三方,在组件内的.h文件导入该第三方私有库头文件时报错:include of non-modular header inside framework module

    解决方案:

    1. buldsetting 中设置 Allow Non-modular Includes In Framework Modules 为 YES
      对我无用 --pass

    2. 将#import "**.h" 第三方库写在 .m文件中,而不是放在.h文件中即可
      有用,但是部分引用必须写在头文件内 --pass

    3. 检查该framework是否有module.modulemap文件,没有就生成一个,在其中导入缺失的头文件
      这个私有第三方.framework中没有生成module.modulemap文件,导致头文件无法在组件内引用,手动生成module.modulemap文件 --解决

    组件SDK的头文件无法在.h中引入,原因:待分析

    相关文章

      网友评论

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

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