- 如果编译时自动生成的
Swift.h
报找不到<Product/Product.h>
,把<Product/Product.h>
改成<Product/Product-umbrella.h>
就好了,Xcode
的bug
。详见这个issue - 可以在pod 的demo项目里配依赖pod的
:path
,避免从网络拉取,加快迭代速度 - pod spec里
resource
和resource-bundle
是有区别的。resource-bundle
会在当前改pod的bundle里再加一个bundle,个人认为不是特别有必要。 - 如果只需要一个模块里一个子模块,就用在所需模块里定义subspec(比如App Extension里不能有对UIApplication.sharedApplication的依赖,另起一个pod有感觉没必要)
- 用Swift时NCClassFromString的参数要用
bundle.className
,bundle
就是pod名或者主项目名,因为这个原因感觉router的action最好使用OC实现 - 有时候自动生成的
<Product>-Swift.h
会#import <Product/Product.h>
,然而编译这个文件的时候Product
模块还没编译完,直接报错,报错了后把这一行删了就好,目前没找到更好的解决方案。。。。 - 有些pod有对静态库的依赖,注意 在
source_files
和vendored_libraries
里 都 包括静态库,并且多加一句s.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '"-ObjC"' }
-
performSelector
所对应的函数一定要有返回值……不然会崩…… - 同一个pod里
Swift
可以直接调用OC
,但是OC
调用Swift
时需要把权限设为public - 如果所依赖的pod里有vendored_framework且该framework没有modulemap且又要在swift里调用。。。乖乖写bridge header里吧。。。
OC、Swift混编并使用pod模块化的那些坑与解决方案
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 概述 利用runtime特性实现iOS项目的组件化开发,是由@casatwy大神提出来的,在他的博客中具体介绍...