CainLuo / CLUIKit

MIT License
27 stars 4 forks source link

A Suggest! #2

Closed freezy7 closed 6 years ago

freezy7 commented 6 years ago

兄弟,最近发现我和你有一个同样的以 CLUIKit和CLMapKit命名的库,我这边是以私有库的方式创建的,由于版本号的原因,引用到了你的高版本。顺便看了下你的CLUIKitCLMapKit,提几点建议哈:

总之,为了解决冲突的问题,之前我只是做了升高我自己的版本号,现在我只能指定Source了。

我个人理解,就说对UIKit和Foundation的扩展吧,OC有YYKit, swift有SwifterSwift,这些库很好的解决了大家的公共需求。对VC层扩展的话,跟业务逻辑就比较耦合了,需要根据不同的业务逻辑做不同的页面架构,当然不能保证所有的VC架构都是一样的。所以页面逻辑的架构我这边就抽象出供自己业务使用的架构了,但是碰巧的是我们使用了同样的名字🙂。

Good Luck! 🤝

CainLuo commented 6 years ago

居然这么巧合? 我这个库的名字是以我的英文名首字母命名的, 没想到这样子也会有重复~, 哈哈, 这里我回答几点哈~~

对于给您造成了麻烦, 实在不好意思, 或者您可以改改你的版本号格式, 往更高的版本号设置?

谢谢您的建议, 虽然YYKitSwifterSwift都不错, 但我们所熟悉的还是自己写的那套不是吗?

freezy7 commented 6 years ago

会错误的引用到你的库的问题我这边已经解决了,CocoaPods是可以作废库,不过根据你具体因应用场景吧看你具体怎么处理好了。

在业务逻辑这一层做封装,依赖是很多的,而且梳理好这些依赖也是很麻烦的,所以要保证尽量的简而精。建议你进行再次拆分,或者底层用一些公用库对架构进一步优化解耦隔离。

对于选择性导入工程,给你支个招,头文件引用依赖的话尝试下这个宏进行预编译:

#if (__has_include(<xxx/xxx.h>)

这样的话你的podfile如果不引用CLMapKit,代码就不会运行,就可以顺利编译使用了。

CainLuo commented 6 years ago

CocoaPods怎么作废库的? 可否支招? CLMapKit这个库基本上已经废了, 因为同时导入高德的2D和3D会冲突.

其实我并没有对业务逻辑这一层做封装, 目前所提供的都是一些基类库哦

您提供的头文件引用依赖的确不错, 但不太适合我, 我是想在podspec文件里可选择性的选择对应的库依赖并加载.

freezy7 commented 6 years ago

pod_trunk_deprecate pod_trunk_delete

CainLuo commented 6 years ago

谢谢大佬的指导~