SNModuleKit 2.2.1

SNModuleKit 2.2.1

snlo 维护。



 
依赖
SAMKeychain>= 0
面向方面>= 0
ReactiveObjC>= 0
SDWebImage>= 0
Masonry>= 0
FMDB/FTS>= 0
lottie-ios~> 2.5.3
pop>= 0
WebViewJavascriptBridge>= 0
MBProgressHUD>= 0
MJRefresh>= 0
AFNetworking>= 0
IQKeyboardManager>= 0
SNMediatorKit~> 0.1.7
SNScanViewController~> 0.1.3
SNPopupViewController~> 0.1.2
SNPhotoCarmeraViewController~> 0.0.6
SNBadgeView~> 0.0.3
SNImageBrowserViewController~> 0.0.3
SNWebViewController~> 0.1.4
SNTool~> 0.1.4
SNUIKit~> 0.3.0
SNAnimations~> 0.0.3
SNFoundation~> 0.0.4
SNFileManager~> 0.0.1
SNDBManager~> 0.0.4
SNNetworking~> 0.1.3
SNDownTimer~> 0.0.8
 

  • 作者
  • snlo

SNModuleKit

模块化架构依赖库,使重构和团队合作都变得简单。实施模块化可以使项目更适用于团队合作开发,模块间相互独立、互不干扰,并且模块间的耦合度几乎为零。

特性

  • 使用 CocoaPods 依赖各个组件和插件
  • 可定制
  • 可快速启动业务模块开发
  • 提供模块项目模板、文件模板和代码片段

目录结构介绍

  • SNModuleKit.h:依赖库头文件
  • /Config:配置文件
  • /Components:组件
  • /Controls:可视化控件
  • /Plugins:插件
  • /Middlewares:中间件
  • /Resources:资源文件

使用

导入

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.

#import "SNModuleKit.h"

#endif /* PrefixHeader_pch */

资源文件中包含了 SNModuleKit 提供的模块项目模板、文件模板和代码片段。在使用或更新时,只需在终端中运行相关脚本即可。

./Resources
	setupCodeSnippets
	setupFile
	setupProject

1

模块项目模板使用相对较复杂,尽管创建模块是低频需求。复杂之处在于通过模板创建的模块文件夹是虚拟文件夹,可能需要重命名该模块文件夹的名字。以下以图文形式说明。

  1. 新建模块工程shift+command+n,选择Snlo Module App2

  2. 给模块取名,注意模块名是Module之后的命名3

  3. 特别强调,被创建出来的模块文件夹是一个虚拟文件夹,也就是在修改虚拟文件夹中的文件时,实际的文件不会发生改变。4

  4. 重命名模块名,在新建模块时无法对模块名进行变量处理。如果你知道怎么处理请给我留言或发邮件给我,谢谢!5

  5. 使虚拟模块文件实体化6

    7

  6. 使用模块中的Tagret_Action,需要遵守模块化规范。例如在Tagret_Public文件中

    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    
    @interface Target_Public : NSObject
    
    - (UIViewController *)Action_nativeFetchPublicViewController:(NSDictionary *)params;
    
    @end

    其中Target_Action_是硬编码,native是用来标记为本地调度的硬编码。

缺点

  • 模板更新需手动执行脚本
  • 模块项目模板需单独创建

安装

Mini版

此版本为精简版本,也就是只有中间件的存在,如果想要定制化你的模块依赖库的话,可以采用它。

pod 'SNModuleKit', '~> 1.0'
Full版

此版本专为开发团队所准备的,这也是新项目开始阶段的最佳选择。兼容Swift。

use_frameworks!
pod 'SNModuleKit'

要求

iOS 8.0 或者更高版本

许可

SNMediatorKit是根据麻省理工学院的许可证发布的。有关详细信息请参阅LICENSE