如何给自己项目添加Pod支持,让别人也可以 pod install,愉快的使用你的库,请看这里
:https://www.jianshu.com/p/0e1d796b2a42
在给自己项目添加Pod支持,在终端执行:
pod spec lint MSCycleScrollView.podspec
抛出如下错误:
错误原因:我在项目中添加了第三方依赖库SDWebImage和MSPageControl,而在引入时,在项目开放源码部分的.h文件中引入了第三方.h文件。如下图:
遇到这个问题之后在网上搜索了下“include of non-modular header inside framework module”,网上大部分的解决方法有两种:
第一种:将Build Settings中的Allow Non-modular Includes In Framework Modules设为YES;
第二种:将第三方.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
建议使用第二种方法
贴别提示:如果之前在pod spec lint时使用了--allow-warnings或--use-libraries,这里在pod trunk push就必须添加,这里坑了我好半天!!