如何給自己項(xiàng)目添加Pod支持,讓別人也可以 pod install,愉快的使用你的庫,請看這里
??????:http://www.itdecent.cn/p/0e1d796b2a42
在給自己項(xiàng)目添加Pod支持,在終端執(zhí)行:
pod spec lint MSCycleScrollView.podspec
拋出如下錯(cuò)誤:

圖1
錯(cuò)誤原因:我在項(xiàng)目中添加了第三方依賴庫SDWebImage和MSPageControl,而在引入時(shí),在項(xiàng)目開放源碼部分的.h文件中引入了第三方.h文件。如下圖:

圖2
遇到這個(gè)問題之后在網(wǎng)上搜索了下“include of non-modular header inside framework module”,網(wǎng)上大部分的解決方法有兩種:
第一種:將Build Settings中的Allow Non-modular Includes In Framework Modules設(shè)為YES;
第二種:將第三方.h文件在.m中引入;
嘗試第一種方法:嘗試了方法1后,依舊拋出圖1的錯(cuò)誤;
嘗試第二種方法:因?yàn)槲业捻?xiàng)目.h文件需要引入第三方的類名對象,因此在項(xiàng)目.m中引入第三方.h這個(gè)方法肯定是行不通,好桑心????????~~~。但是不能放棄啊??!,后來我在網(wǎng)上找啊找,找到兩種解決方案,嘗試都成功了:
解決方法一、在你的.podspec文件中添加
spec.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' }
??????注意注意:如果多個(gè)pod的.podspec文件中對user_target_xcconfig同一個(gè)值進(jìn)行了設(shè)置,那么就可能存在沖突問題,所以不建議使用!
解決方法二、在執(zhí)行pod spec lint和pod trunk push時(shí),在命令行尾部添加--use-libraries,如下命令
pod trunk push MSCycleScrollView.podspec --verbose --allow-warnings --use-libraries
建議使用第二種方法
貼別提示:如果之前在pod spec lint時(shí)使用了--allow-warnings或--use-libraries,這里在pod trunk push就必須添加,這里坑了我好半天!!