Commit 33b9914032b83341945cab208352b7a4eb31c79d

Authored by 毕珂
0 parents

0.0.9

Showing 78 changed files with 4797 additions and 0 deletions

Too many changes to show.

To preserve performance only 78 of 98 files are displayed.

DSToolsModuleF.podspec 0 → 100644
  1 +++ a/DSToolsModuleF.podspec
  1 +Pod::Spec.new do |s|
  2 +
  3 + s.name = "DSToolsModuleF"
  4 + s.version = "0.0.9"
  5 + s.summary = "DSToolsModuleF"
  6 + s.homepage = "http://bj.gitlab.cnlive.com/DSIOSTeam"
  7 + s.authors = { "DSIOSTeam" => "694092596@qq.com" }
  8 + s.license = "MIT"
  9 + s.source = { :git => 'http://bj.gitlab.cnlive.com/DSIOSTeam/DSToolsModuleF.git', :tag => s.version.to_s }
  10 + s.ios.deployment_target = '9.0'
  11 + s.vendored_frameworks = "DSToolsModuleF/Frameworks/DSToolsModule.framework"
  12 + s.frameworks = 'Foundation', 'UIKit', 'CoreLocation', 'MapKit'
  13 + s.dependency 'MJRefresh', '3.2.0'
  14 + s.dependency 'MBProgressHUD', '1.1.0'
  15 + s.dependency 'SDWebImage', '~> 5.2.3'
  16 + s.dependency 'AFNetworking', '3.2.1'
  17 + s.dependency 'YYKit', '1.0.9'
  18 + s.dependency 'DSBaseModuleF'
  19 + s.dependency 'DSExtensionModuleF'
  20 + s.dependency 'DSGTMBase64'
  21 +
  22 +
  23 +end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/BKCycleScrollView.bundle/BK_pause@2x.png 0 → 100644

2.9 KB

DSToolsModuleF/Frameworks/DSToolsModule.framework/BKCycleScrollView.bundle/BK_pause@3x.png 0 → 100644

5.54 KB

DSToolsModuleF/Frameworks/DSToolsModule.framework/BKCycleScrollView.bundle/BK_start@2x.png 0 → 100644

3.29 KB

DSToolsModuleF/Frameworks/DSToolsModule.framework/BKCycleScrollView.bundle/BK_start@3x.png 0 → 100644

5.88 KB

DSToolsModuleF/Frameworks/DSToolsModule.framework/DSToolsModule 0 → 100755
No preview for this file type
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleCollectionViewFlowLayout.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleCollectionViewFlowLayout.h
  1 +//
  2 +// BKCycleCollectionViewFlowLayout.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by BIKE on 2018/5/25.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import "BKCycleScrollView.h"
  11 +
  12 +@interface BKCycleCollectionViewFlowLayout : UICollectionViewFlowLayout
  13 +
  14 +/** 是否分页 (就是滑动结束时控件中心和某个item中心重合) 默认分页 */
  15 +@property (nonatomic,assign) BOOL pagingEnabled;
  16 +/** cell显示风格 */
  17 +@property (nonatomic,assign) BKDisplayCellLayoutStyle layoutStyle;
  18 +/** cell间距 默认0 */
  19 +@property (nonatomic,assign) CGFloat itemSpace;
  20 +/** cell距四周边界的偏移量 默认UIEdgeInsetsZero */
  21 +@property (nonatomic,assign) UIEdgeInsets itemInset;
  22 +/**
  23 + 默认0.1 当layoutStyle = BKDisplayCellLayoutStyleMiddleLarger时有效
  24 + 除中间显示的cell不缩放外,其余cell缩放系数
  25 + */
  26 +@property (nonatomic,assign) CGFloat itemReduceScale;
  27 +
  28 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollCollectionViewCell.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollCollectionViewCell.h
  1 +//
  2 +// BKCycleScrollCollectionViewCell.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by BIKE on 2018/5/25.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import "BKCycleScrollImageView.h"
  11 +#import "BKCycleScrollDataModel.h"
  12 +
  13 +@interface BKCycleScrollCollectionViewCell : UICollectionViewCell
  14 +
  15 +#pragma mark - UI
  16 +
  17 +/// 显示的imageView
  18 +@property (nonatomic,strong) BKCycleScrollImageView * displayImageView;
  19 +/// 播放视频view(从外层传入的,用于改变大小和BKCycleScrollCollectionViewCell一样)
  20 +@property (nonatomic,weak) UIView * playerBgView;
  21 +
  22 +#pragma mark - 赋值
  23 +
  24 +/// cell圆角度数 默认0
  25 +@property (nonatomic,assign) CGFloat radius;
  26 +/// 占位图 无默认
  27 +@property (nonatomic,strong) UIImage * placeholderImage;
  28 +
  29 +/// 数据
  30 +@property (nonatomic,strong,readonly) BKCycleScrollDataModel * dataObj;
  31 +/// 当前cell数据的索引
  32 +@property (nonatomic,assign,readonly) NSUInteger currentIndex;
  33 +/// 赋值
  34 +/// @param dataObj 数据
  35 +/// @param currentIndex 当前cell数据的索引
  36 +-(void)setDataObj:(BKCycleScrollDataModel *)dataObj currentIndex:(NSUInteger)currentIndex;
  37 +
  38 +#pragma mark - 回调
  39 +
  40 +/// 点击播放回调
  41 +@property (nonatomic,copy) void (^clickPlayBtnCallBack)(BKCycleScrollCollectionViewCell * currentCell);
  42 +/// 加载完图片回调
  43 +@property (nonatomic,copy) void (^imageLoadCompleteCallBack)(BKCycleScrollDataModel * dataObj, NSUInteger currentIndex);
  44 +
  45 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollDataModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollDataModel.h
  1 +//
  2 +// BKCycleScrollDataModel.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by zhaolin on 2019/1/17.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +@interface BKCycleScrollDataModel : NSObject
  15 +
  16 +/**
  17 + 本地图片 或者 网络图片加载完有值
  18 + */
  19 +@property (nonatomic,strong) UIImage * image;
  20 +/**
  21 + 图片链接
  22 + */
  23 +@property (nonatomic,copy) NSString * imageUrl;
  24 +/**
  25 + 图片data
  26 + */
  27 +@property (nonatomic,strong) NSData * imageData;
  28 +/**
  29 + 视频链接
  30 + */
  31 +@property (nonatomic,copy) NSString * videoUrl;
  32 +/**
  33 + 数据类型是否为视频(videoUrl有值即为YES,反之为NO)
  34 + */
  35 +@property (nonatomic,assign,readonly) BOOL isVideo;
  36 +
  37 +@end
  38 +
  39 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollImageView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollImageView.h
  1 +//
  2 +// BKCycleScrollImageView.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by BIKE on 2018/6/7.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import <SDWebImage/SDWebImage.h>
  11 +
  12 +@interface BKCycleScrollImageView : SDAnimatedImageView
  13 +
  14 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollPageControl.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollPageControl.h
  1 +//
  2 +// BKCycleScrollPageControl.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by BIKE on 2018/6/6.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +typedef NS_ENUM(NSUInteger, BKCycleScrollPageControlAlignment) {
  12 + BKCycleScrollPageAlignmentCenter = 0, //中心对齐
  13 + BKCycleScrollPageAlignmentLeft, //左对齐
  14 + BKCycleScrollPageAlignmentRight, //右对齐
  15 +};
  16 +
  17 +typedef NS_ENUM(NSUInteger, BKCycleScrollPageControlStyle) {
  18 + BKCycleScrollPageControlStyleNone = 0, //不显示
  19 + BKCycleScrollPageControlStyleNormalDots, //小圆点样式
  20 + BKCycleScrollPageControlStyleLongDots, //选中变长圆点样式
  21 + BKCycleScrollPageControlStyleNumberLab, //文本数字样式
  22 +};
  23 +
  24 +@interface BKCycleScrollPageControl : UIView
  25 +
  26 +/** 样式 修改完样式后,BKCycleScrollPageControl的高度会初始化 */
  27 +@property (nonatomic,assign) BKCycleScrollPageControlStyle style;
  28 +/** 对齐方式 */
  29 +@property (nonatomic,assign) BKCycleScrollPageControlAlignment alignment;
  30 +
  31 +/** 总页数 */
  32 +@property(nonatomic,assign) NSUInteger numberOfPages;
  33 +/** 当前页 */
  34 +@property(nonatomic,assign) NSUInteger currentPage;
  35 +
  36 +#pragma mark - 回调
  37 +
  38 +/// 切换小圆点样式回调(不用理会,内部使用)
  39 +@property (nonatomic,copy) void (^switchStyleCallBack)(BKCycleScrollPageControlStyle style);
  40 +
  41 +#pragma mark - 小圆点样式
  42 +
  43 +/** 小圆点之间的间距 默认4 */
  44 +@property (nonatomic,assign) CGFloat pageSpace;
  45 +/** 小圆点默认颜色 默认灰 */
  46 +@property (nonatomic,strong) UIColor * normalPageColor;
  47 +/** 小圆点默认颜色 默认白 */
  48 +@property (nonatomic,strong) UIColor * selectPageColor;
  49 +/** 小圆点默认图片 无默认 */
  50 +@property (nonatomic,strong) UIImage * normalPageImage;
  51 +/** 小圆点默认图片 无默认 */
  52 +@property (nonatomic,strong) UIImage * selectPageImage;
  53 +
  54 +#pragma mark - 文本数字样式
  55 +
  56 +/// 文本字体 默认10
  57 +@property (nonatomic,strong) UIFont * pageTitleFont;
  58 +/// 文本颜色 默认白
  59 +@property (nonatomic,strong) UIColor * pageTitleColor;
  60 +/// 文本背景颜色 默认黑,透明0.3
  61 +@property (nonatomic,strong) UIColor * pageBgColor;
  62 +
  63 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKCycleScrollView.h
  1 +//
  2 +// BKCycleScrollView.h
  3 +// BKCycleScrollView
  4 +//
  5 +// Created by BIKE on 2018/5/25.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import "BKCycleScrollDataModel.h"
  11 +#import "BKCycleScrollPageControl.h"
  12 +@class BKCycleScrollView;
  13 +
  14 +FOUNDATION_EXPORT double BKCycleScrollViewVersionNumber;
  15 +FOUNDATION_EXPORT const unsigned char BKCycleScrollViewVersionString[];
  16 +
  17 +typedef NS_ENUM(NSUInteger, BKDisplayCellLayoutStyle) {
  18 + BKDisplayCellLayoutStyleNormal = 0, //普通样式
  19 + BKDisplayCellLayoutStyleMiddleLarger //中间变大
  20 +};
  21 +
  22 +@protocol BKCycleScrollViewDelegate<NSObject>
  23 +
  24 +@optional
  25 +
  26 +#pragma mark - 自定义cell
  27 +
  28 +/// 自定义cell时获取数据数
  29 +/// @param cycleScrollView 无限滚动视图
  30 +/// @return 数据数
  31 +-(NSUInteger)numberOfItemsInCycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView;
  32 +
  33 +/// 自定义cell方法
  34 +/// @param cycleScrollView 无限滚动视图
  35 +/// @param index 显示自定义cell的索引
  36 +/// @return UICollectionViewCell
  37 +-(nonnull UICollectionViewCell *)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView customCellForItemAtIndex:(NSInteger)index;
  38 +
  39 +#pragma mark - 视频
  40 +
  41 +/// 开始播放方法 (需要自己添加播放器并且播放,不实现这个代理无法播放)
  42 +/// @param cycleScrollView 无限滚动视图
  43 +/// @param playIndex 要播放的视频所在索引
  44 +/// @param superView 视频播放器所在的父视图
  45 +-(void)cycleScrollView:(nonnull BKCycleScrollView*)cycleScrollView playIndex:(NSUInteger)playIndex superView:(nonnull UIView*)superView;
  46 +
  47 +/// 暂停播放方法 (需要自己暂停播放器,不实现这个代理无法暂停播放)
  48 +/// @param cycleScrollView 无限滚动视图
  49 +/// @param pauseIndex 要暂停播放的视频所在索引
  50 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView pauseIndex:(NSUInteger)pauseIndex;
  51 +
  52 +/// 停止播放方法 (需要自己停止播放器,不实现这个代理无法停止播放)
  53 +/// @param cycleScrollView 无限滚动视图
  54 +/// @param stopIndex 要暂停播放的视频所在索引
  55 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView stopIndex:(NSUInteger)stopIndex;
  56 +
  57 +#pragma mark - 滚动
  58 +
  59 +/// 开始划动
  60 +/// @param cycleScrollView 无限滚动视图
  61 +/// @param scrollView 滑动视图
  62 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView scrollViewWillBeginDragging:(nonnull UIScrollView *)scrollView;
  63 +
  64 +/// 滑动中
  65 +/// @param cycleScrollView 无限滚动视图
  66 +/// @param scrollView 滑动视图
  67 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView scrollViewDidScroll:(nonnull UIScrollView *)scrollView;
  68 +
  69 +/// 结束划动
  70 +/// @param cycleScrollView 无限滚动视图
  71 +/// @param scrollView 滑动视图
  72 +/// @param decelerate 即将进行减速
  73 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView scrollViewDidEndDragging:(nonnull UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
  74 +
  75 +/// 结束划动 带目标停止位置
  76 +/// @param cycleScrollView 无限滚动视图
  77 +/// @param scrollView 滑动视图
  78 +/// @param velocity 速度
  79 +/// @param targetContentOffset 目标停止位置
  80 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView scrollViewWillEndDragging:(nonnull UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(nonnull inout CGPoint *)targetContentOffset;
  81 +
  82 +/// 结束惯性滑动
  83 +/// @param cycleScrollView 无限滚动视图
  84 +/// @param scrollView 滑动视图
  85 +-(void)cycleScrollView:(nonnull BKCycleScrollView *)cycleScrollView scrollViewDidEndDecelerating:(nonnull UIScrollView *)scrollView;
  86 +
  87 +@end
  88 +
  89 +NS_ASSUME_NONNULL_BEGIN
  90 +
  91 +@interface BKCycleScrollView : UIView
  92 +
  93 +#pragma mark - BKCycleScrollView属性
  94 +
  95 +/** 代理 */
  96 +@property (nonatomic,weak) id<BKCycleScrollViewDelegate> delegate;
  97 +/** 背景颜色 默认透明 */
  98 +@property (nonatomic,strong) UIColor * displayBackgroundColor;
  99 +/** 轮播数组 自定义cell不用传 需使用numberOfItemsInCycleScrollView:代理 */
  100 +@property (nonatomic,copy,nullable) NSArray<BKCycleScrollDataModel*> * displayDataArr;
  101 +/** 当前所看到数据的索引 */
  102 +@property (nonatomic,assign) NSInteger currentIndex;
  103 +/** 占位图 无默认 */
  104 +@property (nonatomic,strong) UIImage * placeholderImage;
  105 +/** 是否自动滚动 默认是 */
  106 +@property (nonatomic,assign) BOOL isAutoScroll;
  107 +/** 自动滚动时间 默认5s */
  108 +@property (nonatomic,assign) CGFloat autoScrollTime;
  109 +/** 是否分页 (就是滑动结束时控件中心和某个item中心重合) 默认分页 */
  110 +@property (nonatomic,assign) BOOL pagingEnabled;
  111 +/** 是否允许滑动 默认是 */
  112 +@property (nonatomic,assign) BOOL isAllowScroll;
  113 +/** 是否无限滑动 默认是 如果设置成NO,自动滚动失效,contentOffsetx重新滑动至0 */
  114 +@property (nonatomic,assign) BOOL isCycleScroll;
  115 +
  116 +#pragma mark - cell属性
  117 +
  118 +/** cell显示风格 */
  119 +@property (nonatomic,assign) BKDisplayCellLayoutStyle layoutStyle;
  120 +/** cell间距 默认0 */
  121 +@property (nonatomic,assign) CGFloat itemSpace;
  122 +/** cell的宽度 默认和无限滚动视图同宽 */
  123 +@property (nonatomic,assign) CGFloat itemWidth;
  124 +/** 默认0.1 当layoutStyle = BKDisplayCellLayoutStyleMiddleLarger时有效 除中间显示的cell不缩放外,其余cell缩放系数 */
  125 +@property (nonatomic,assign) CGFloat itemReduceScale;
  126 +/** cell圆角度数 默认0 */
  127 +@property (nonatomic,assign) CGFloat radius;
  128 +
  129 +#pragma mark - 分页指示器属性
  130 +
  131 +/** 分页指示器 */
  132 +@property (nonatomic,strong,readonly) BKCycleScrollPageControl * pageControl;
  133 +/** 分页指示器距左底右边界偏移量 top无效 默认10 */
  134 +@property (nonatomic,assign) UIEdgeInsets pageControlContentInset;
  135 +/** 分页指示器高度 当为小圆点样式时,默认4 当为文本数字样式时,默认18 */
  136 +@property (nonatomic,assign) CGFloat pageControlHeight;
  137 +
  138 +#pragma mark - 视频
  139 +
  140 +/// 开始播放
  141 +-(void)playVideo;
  142 +
  143 +/// 暂停播放
  144 +-(void)pauseVideo;
  145 +
  146 +/// 停止播放
  147 +-(void)stopVideo;
  148 +
  149 +#pragma mark - 自定义cell
  150 +
  151 +/// 注册customCell (UICollectionViewCell)
  152 +/// @param cellClass cell类
  153 +/// @param identifier 标识符
  154 +-(void)registerClass:(nullable Class)cellClass forCustomCellWithReuseIdentifier:(nullable NSString *)identifier;
  155 +
  156 +/// 复用customCell (UICollectionViewCell)
  157 +/// @param identifier 标识符
  158 +/// @param index 索引
  159 +/// @return UICollectionViewCell
  160 +-(__kindof UICollectionViewCell*)dequeueReusableCustomCellWithReuseIdentifier:(NSString *)identifier forIndex:(NSUInteger)index;
  161 +
  162 +#pragma mark - 公开方法
  163 +
  164 +/// 获取显示的索引
  165 +/// @return 索引数组
  166 +-(NSArray<NSNumber*>*)visibleIndexs;
  167 +
  168 +/// 重置cell的位置
  169 +-(void)resetCellPosition;
  170 +
  171 +/// 刷新无限轮播视图
  172 +-(void)reloadData;
  173 +
  174 +#pragma mark - 回调方法
  175 +
  176 +/**
  177 + 点击item方法
  178 + index 点中的索引
  179 + imageView 显示的图片 非自定义cell时有值
  180 + */
  181 +@property (nonatomic,copy) void (^clickItemCallBack)(NSInteger index, UIImageView * _Nullable imageView);
  182 +
  183 +/**
  184 + 切换item回调
  185 + */
  186 +@property (nonatomic,copy) void (^switchIndexCallBack)(NSUInteger index);
  187 +
  188 +@end
  189 +
  190 +NS_ASSUME_NONNULL_END
  191 +
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPCViewKVOChildControllerPModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPCViewKVOChildControllerPModel.h
  1 +//
  2 +// BKPCViewKVOChildControllerPModel.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/8/20.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +#import "BKPageControlViewController.h"
  12 +#import "UIViewController+BKPageControlView.h"
  13 +
  14 +//修改主滚动视图 userInfo @{@"bk_index" : @(索引), @"bk_mainScrollView" : 主滚动视图UIScrollView}
  15 +UIKIT_EXTERN NSString * _Nonnull const kBKPCViewChangeMainScrollViewNotification;
  16 +//修改主滚动视图的contentSize userInfo @{@"bk_index" : @(索引), @"bk_mainScrollView" : 主滚动视图UIScrollView}
  17 +UIKIT_EXTERN NSString * _Nonnull const kBKPCViewChangeMainScrollViewContentSizeNotification;
  18 +
  19 +NS_ASSUME_NONNULL_BEGIN
  20 +
  21 +@interface BKPCViewKVOChildControllerPModel : NSObject
  22 +
  23 +/**
  24 + 控制器
  25 + */
  26 +@property (nonatomic,weak,readonly) UIViewController * childController;
  27 +
  28 +/**
  29 + 初始化
  30 +
  31 + @param childController 子控制器
  32 + @return BKPCViewKVOChildControllerPModel
  33 + */
  34 +-(instancetype)initWithChildController:(nonnull UIViewController*)childController;
  35 +
  36 +@end
  37 +
  38 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlBgScrollView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlBgScrollView.h
  1 +//
  2 +// BKPageControlBgScrollView.h
  3 +// BKPageControlView
  4 +//
  5 +// Created by zhaolin on 2019/7/10.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +typedef NS_ENUM(NSUInteger, BKPageControlBgScrollViewScrollOrder) {//主视图滑动顺序
  12 + BKPageControlBgScrollViewScrollOrderNormal = 0, //正常滑动顺序
  13 + BKPageControlBgScrollViewScrollOrderFirstScrollContentView //先滑动内容视图
  14 +};
  15 +
  16 +NS_ASSUME_NONNULL_BEGIN
  17 +
  18 +@interface BKPageControlBgScrollView : UIScrollView
  19 +
  20 +/**
  21 + 主视图的滑动顺序
  22 + */
  23 +@property (nonatomic,assign) BKPageControlBgScrollViewScrollOrder scrollOrder;
  24 +/**
  25 + SDK内部使用的内容添加插入量 使用此属性时已减去SDK内部添加内容插入量
  26 + */
  27 +@property (nonatomic,assign) UIEdgeInsets interiorContentInsets;
  28 +/**
  29 + SDK内部添加内容插入量
  30 + */
  31 +@property (nonatomic,assign) UIEdgeInsets interiorAddContentInsets;
  32 +
  33 +@end
  34 +
  35 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenu.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenu.h
  1 +//
  2 +// BKPageControlMenu.h
  3 +// BKPageControlView
  4 +//
  5 +// Created by zhaolin on 2018/11/14.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface BKPageControlMenu : UIView
  14 +
  15 +#pragma mark - 创建
  16 +
  17 +/**
  18 + 标识符
  19 + */
  20 +@property (nonatomic,copy,readonly) NSString * identifier;
  21 +/**
  22 + 创建menu
  23 +
  24 + @param identifier 标识符
  25 + @return menu
  26 + */
  27 +-(instancetype)initWithIdentifer:(nonnull NSString*)identifier;
  28 +
  29 +#pragma mark - 索引
  30 +
  31 +/**
  32 + 显示在的索引 默认-1
  33 + */
  34 +@property (nonatomic,assign) NSInteger displayIndex;
  35 +
  36 +#pragma mark - 标题属性
  37 +
  38 +/**
  39 + 内容
  40 + */
  41 +@property (nonatomic,copy,readonly) NSString * text;
  42 +/**
  43 + 内容颜色
  44 + */
  45 +@property (nonatomic,strong,readonly) UIColor * textColor;
  46 +/**
  47 + 内容字号
  48 + */
  49 +@property (nonatomic,strong,readonly) UIFont * font;
  50 +/**
  51 + 行数
  52 + */
  53 +@property (nonatomic,assign,readonly) NSUInteger numberOfLines;
  54 +/**
  55 + 行间距
  56 + */
  57 +@property (nonatomic,assign,readonly) CGFloat lineSpacing;
  58 +
  59 +/**
  60 + 标题赋值
  61 +
  62 + @param title 内容
  63 + @param textColor 内容颜色
  64 + @param font 内容字号
  65 + @param numberOfLines 行数
  66 + @param lineSpacing 行间距
  67 + */
  68 +-(void)assignTitle:(nullable NSString*)title textColor:(UIColor*)textColor font:(UIFont*)font numberOfLines:(NSUInteger)numberOfLines lineSpacing:(CGFloat)lineSpacing;
  69 +
  70 +/**
  71 + 内容插入量
  72 + */
  73 +@property (nonatomic,assign) UIEdgeInsets contentInset;
  74 +
  75 +#pragma mark - 图片
  76 +
  77 +/**
  78 + icon
  79 + */
  80 +@property (nonatomic,strong) UIImageView * iconImageView;
  81 +/**
  82 + 选中的icon
  83 + */
  84 +@property (nonatomic,strong) UIImageView * sIconImageView;
  85 +
  86 +#pragma mark - 消息数
  87 +
  88 +/**
  89 + 消息数
  90 + */
  91 +@property (nonatomic,strong) UILabel * messageCountLab;
  92 +
  93 +#pragma mark - 触发事件
  94 +
  95 +/**
  96 + 点击回调
  97 + */
  98 +@property (nonatomic,copy) void (^clickSelfCallBack)(BKPageControlMenu * menu);
  99 +
  100 +@end
  101 +
  102 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuModel.h
  1 +//
  2 +// BKPageControlMenuModel.h
  3 +// BKPageControlView
  4 +//
  5 +// Created by zhaolin on 2018/11/15.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +#import "BKPageControlMenuPropertyModel.h"
  12 +#import "BKPageControlMenu.h"
  13 +
  14 +NS_ASSUME_NONNULL_BEGIN
  15 +
  16 +
  17 +@interface BKPageControlMenuModel : NSObject
  18 +
  19 +/**
  20 + 所有的menu附加属性
  21 + */
  22 +@property (nonatomic,strong) NSMutableArray<BKPageControlMenuPropertyModel*> * total;
  23 +/**
  24 + 可见的索引
  25 + */
  26 +@property (nonatomic,strong) NSMutableArray<NSNumber*> * visibleIndexs;
  27 +/**
  28 + 可见的menu
  29 + */
  30 +@property (nonatomic,strong) NSMutableArray<BKPageControlMenu*> * visible;
  31 +/**
  32 + 缓存的menu
  33 + */
  34 +@property (nonatomic,strong) NSMutableArray<BKPageControlMenu*> * cache;
  35 +
  36 +@end
  37 +
  38 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuPropertyModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuPropertyModel.h
  1 +//
  2 +// BKPageControlMenuPropertyModel.h
  3 +// CNLiveDemo
  4 +//
  5 +// Created by zhaolin on 2018/11/21.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +@interface BKPageControlMenuPropertyModel : NSObject
  15 +
  16 +/**
  17 + 坐标
  18 + */
  19 +@property (nonatomic,assign) CGRect rect;
  20 +/**
  21 + menu的title宽
  22 + */
  23 +@property (nonatomic,assign) CGFloat titleWidth;
  24 +/**
  25 + 字号
  26 + */
  27 +@property (nonatomic,strong) UIFont * font;
  28 +/**
  29 + 颜色
  30 + */
  31 +@property (nonatomic,strong) UIColor * color;
  32 +
  33 +@end
  34 +
  35 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlMenuView.h
  1 +//
  2 +// BKPageControlMenuView.h
  3 +// BKPageControlView
  4 +//
  5 +// Created by zhaolin on 2018/11/13.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import "BKPageControlMenu.h"
  11 +#import "BKPageControlMenuPropertyModel.h"
  12 +@class BKPageControlMenuView;
  13 +@class BKPageControlView;
  14 +
  15 +typedef NS_OPTIONS(NSUInteger, BKPageControlMenuSelectStyle) {
  16 + BKPageControlMenuSelectStyleNone = 0, //无效果
  17 + BKPageControlMenuSelectStyleDisplayLine = 1 << 0, //显示底部选中的线
  18 + BKPageControlMenuSelectStyleChangeColor = 1 << 1, //选中的字体颜色会有变化
  19 + BKPageControlMenuSelectStyleChangeFont = 1 << 2 //选中的字体大小会有变化
  20 +};
  21 +
  22 +typedef NS_ENUM(NSUInteger, BKPageControlMenuTitleFontWeight) {
  23 + BKPageControlMenuTitleFontWeightLight, //细体
  24 + BKPageControlMenuTitleFontWeightRegular, //正常体
  25 + BKPageControlMenuTitleFontWeightMedium, //粗体
  26 +};
  27 +
  28 +typedef NS_ENUM(NSUInteger, BKPageControlMenuSelectViewStyle) {
  29 + BKPageControlMenuSelectViewStyleFollowMenuTitleWidth, //随title的宽变化
  30 + BKPageControlMenuSelectViewStyleConstantWidth //恒定宽
  31 +};
  32 +
  33 +@protocol BKPageControlMenuViewDelegate <NSObject>
  34 +
  35 +@optional
  36 +
  37 +/**
  38 + 改变menuView的frame
  39 + */
  40 +-(void)changeMenuViewFrame;
  41 +
  42 +/**
  43 + 准备离开index
  44 +
  45 + @param menuView 目录
  46 + @param leaveIndex 离开的index
  47 + */
  48 +-(void)menuView:(nonnull BKPageControlMenuView*)menuView willLeaveIndex:(NSUInteger)leaveIndex;
  49 +
  50 +/**
  51 + 切换index中
  52 +
  53 + @param menuView 目录
  54 + @param switchingIndex 切换中的index
  55 + @param leavingIndex 离开中的index
  56 + @param percentage 百分比
  57 + */
  58 +-(void)menuView:(nonnull BKPageControlMenuView*)menuView switchingSelectIndex:(NSUInteger)switchingIndex leavingIndex:(NSUInteger)leavingIndex percentage:(CGFloat)percentage;
  59 +
  60 +/**
  61 + 切换index
  62 +
  63 + @param menuView 目录
  64 + @param switchIndex 切换的index
  65 + */
  66 +-(void)menuView:(nonnull BKPageControlMenuView*)menuView switchIndex:(NSUInteger)switchIndex;
  67 +
  68 +/**
  69 + 设置menu上的UI
  70 +
  71 + @param menu menu
  72 + @param index 索引
  73 + */
  74 +-(void)menu:(BKPageControlMenu * _Nonnull)menu atIndex:(NSUInteger)index;
  75 +
  76 +@end
  77 +
  78 +NS_ASSUME_NONNULL_BEGIN
  79 +
  80 +@interface BKPageControlMenuView : UIView
  81 +
  82 +/**
  83 + 主滚动视图
  84 + */
  85 +@property (nonatomic,weak) BKPageControlView * pageControlView;
  86 +/**
  87 + 代理
  88 + */
  89 +@property (nonatomic,weak) id<BKPageControlMenuViewDelegate> delegate;
  90 +/**
  91 + 导航标题数组
  92 + */
  93 +@property (nonatomic,copy) NSArray * titles;
  94 +
  95 +#pragma mark - 索引
  96 +
  97 +/**
  98 + 当前选中索引 从0开始
  99 + (selectIndex >= [titles count] - 1 时 selectIndex = [titles count] - 1)
  100 + */
  101 +@property (nonatomic,assign) NSUInteger selectIndex;
  102 +
  103 +/**
  104 + 修改当前选中索引 从0开始
  105 + (selectIndex >= [titles count] - 1 时 selectIndex = [titles count] - 1)
  106 +
  107 + @param selectIndex 当前选中索引 从0开始
  108 + (selectIndex >= [titles count] - 1 时 selectIndex = [titles count] - 1)
  109 + @param animated 动画回调
  110 + @param completion 完成回调
  111 + */
  112 +-(void)setSelectIndex:(NSUInteger)selectIndex animated:(void (^)(void))animated completion:(void (^)(void))completion;
  113 +
  114 +#pragma mark - 导航视图
  115 +
  116 +/**
  117 + 导航内容视图
  118 + */
  119 +@property (nonatomic,strong) UIScrollView * contentView;
  120 +/**
  121 + 导航内容视图底部分割线
  122 + */
  123 +@property (nonatomic,strong) UIImageView * bottomLine;
  124 +/**
  125 + 导航内容视图左右插入间距 默认0
  126 + */
  127 +@property (nonatomic,assign) CGFloat lrInset;
  128 +
  129 +#pragma mark - 选中导航的线设置
  130 +
  131 +/**
  132 + 菜单标题底部的线选中样式 默认BKPageControlMenuSelectViewStyleFollowMenuTitleWidth
  133 + */
  134 +@property (nonatomic,assign) BKPageControlMenuSelectViewStyle selectViewStyle;
  135 +/**
  136 + 菜单标题底部的线恒定宽 默认15
  137 + 当selectViewStyle == BKPageControlMenuSelectViewStyleConstantWidth有效
  138 + */
  139 +@property (nonatomic,assign) CGFloat selectViewConstantW;
  140 +/**
  141 + 菜单标题底部线的高度 默认2
  142 + */
  143 +@property (nonatomic,assign) CGFloat selectViewHeight;
  144 +/**
  145 + 菜单标题底部线距离底部的距离
  146 + */
  147 +@property (nonatomic,assign) CGFloat selectViewBottomMargin;
  148 +/**
  149 + 菜单标题底部线的颜色
  150 + */
  151 +@property (nonatomic,strong) UIColor * selectViewBackgroundColor;
  152 +
  153 +#pragma mark - 菜单设置
  154 +
  155 +/**
  156 + 等分宽度,为0时随标题长度而改变 默认0
  157 + */
  158 +@property (nonatomic,assign) CGFloat menuEqualDivisionW;
  159 +/**
  160 + 选中的格式
  161 + 默认为 BKPageControlMenuSelectStyleDisplayLine | BKPageControlMenuSelectStyleChangeColor
  162 + */
  163 +@property (nonatomic,assign) BKPageControlMenuSelectStyle menuSelectStyle;
  164 +/**
  165 + 间距 默认20 当menuEqualDivisionW==0时有效
  166 + */
  167 +@property (nonatomic,assign) CGFloat menuSpace;
  168 +/**
  169 + 标题行数 默认1行
  170 + */
  171 +@property (nonatomic,assign) CGFloat menuNumberOfLines;
  172 +/**
  173 + 标题行间距 默认0
  174 + */
  175 +@property (nonatomic,assign) CGFloat menuLineSpacing;
  176 +/**
  177 + 标题内容插入量 默认UIEdgeInsetsZero
  178 + */
  179 +@property (nonatomic,assign) UIEdgeInsets menuContentInset;
  180 +/**
  181 + 未选中的字号 默认14
  182 + */
  183 +@property (nonatomic,assign) CGFloat menuNormalTitleFontSize;
  184 +/**
  185 + 选中的字号 默认17
  186 + */
  187 +@property (nonatomic,assign) CGFloat menuSelectTitleFontSize;
  188 +/**
  189 + 字体粗细 默认正常体
  190 + */
  191 +@property (nonatomic,assign) BKPageControlMenuTitleFontWeight menuTitleFontWeight;
  192 +/**
  193 + 未选中的颜色 默认[UIColor colorWithRed:153.0/255.0f green:153.0/255.0f blue:153.0/255.0f alpha:0.6]
  194 + 设置格式必须是 [UIColor colorWithRed:(CGFloat) green:(CGFloat) blue:(CGFloat) alpha:(CGFloat)]
  195 + */
  196 +@property (nonatomic,strong) UIColor * menuNormalTitleColor;
  197 +/**
  198 + 选中的颜色 默认[UIColor colorWithRed:0 green:0 blue:0 alpha:1]
  199 + 设置格式必须是 [UIColor colorWithRed:(CGFloat) green:(CGFloat) blue:(CGFloat) alpha:(CGFloat)]
  200 + */
  201 +@property (nonatomic,strong) UIColor * menuSelectTitleColor;
  202 +
  203 +#pragma mark - 滑动pageControlView的方法
  204 +
  205 +/**
  206 + 滚动collectionView
  207 +
  208 + @param collectionView collectionView
  209 + */
  210 +-(void)collectionViewDidScroll:(UICollectionView*)collectionView;
  211 +
  212 +/**
  213 + 结束滚动collectionView
  214 +
  215 + @param collectionView collectionView
  216 + */
  217 +-(void)collectionViewDidEndDecelerating:(UICollectionView*)collectionView;
  218 +
  219 +#pragma mark - 获取可见的menu
  220 +
  221 +/**
  222 + 获取可见的menu
  223 +
  224 + @return menu数组
  225 + */
  226 +-(NSArray<BKPageControlMenu*> *)getVisibleMenu;
  227 +
  228 +#pragma mark - 获取全部的menu属性
  229 +
  230 +/**
  231 + 获取全部的menu属性
  232 +
  233 + @return menu属性数组
  234 + */
  235 +-(NSArray<BKPageControlMenuPropertyModel*> *)getTotalMenuProperty;
  236 +
  237 +@end
  238 +
  239 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlView.h
  1 +//
  2 +// BKPageControlView.h
  3 +//
  4 +// Created on 16/2/2.
  5 +// Copyright © 2016年 BIKE. All rights reserved.
  6 +//
  7 +
  8 +#import <UIKit/UIKit.h>
  9 +#import "BKPageControlViewController.h"
  10 +#import "BKPageControlBgScrollView.h"
  11 +#import "BKPageControlMenuView.h"
  12 +#import "UIViewController+BKPageControlView.h"
  13 +@class BKPageControlView;
  14 +
  15 +@protocol BKPageControlViewDelegate <NSObject>
  16 +
  17 +@optional
  18 +
  19 +/**
  20 + 准备离开index
  21 +
  22 + @param leaveIndex 离开的index
  23 + */
  24 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView willLeaveIndex:(NSUInteger)leaveIndex;
  25 +
  26 +/**
  27 + 切换index中
  28 +
  29 + @param pageControlView BKPageControlView
  30 + @param switchingIndex 切换中的index
  31 + @param leavingIndex 离开中的index
  32 + @param percentage 百分比
  33 + */
  34 +-(void)pageControlView:(nonnull BKPageControlView *)pageControlView switchingIndex:(NSUInteger)switchingIndex leavingIndex:(NSUInteger)leavingIndex percentage:(CGFloat)percentage;
  35 +
  36 +/**
  37 + 切换index
  38 +
  39 + @param pageControlView BKPageControlView
  40 + @param switchIndex 切换的index
  41 + @param leaveIndex 离开的index
  42 + */
  43 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView switchIndex:(NSUInteger)switchIndex leaveIndex:(NSUInteger)leaveIndex;
  44 +
  45 +#pragma mark - 主视图滑动代理
  46 +
  47 +/**
  48 + 滑动主视图
  49 +
  50 + @param pageControlView BKPageControlView
  51 + @param bgScrollView 主视图
  52 + */
  53 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView didScrollBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  54 +
  55 +/**
  56 + 开始滑动主视图
  57 +
  58 + @param pageControlView BKPageControlView
  59 + @param bgScrollView 主视图
  60 + */
  61 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView willBeginDraggingBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  62 +
  63 +/**
  64 + 主视图即将停止拖拽
  65 +
  66 + @param pageControlView BKPageControlView
  67 + @param bgScrollView 主视图
  68 + @param velocity 速度
  69 + @param targetContentOffset 目标偏移量
  70 + */
  71 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView willEndDraggingBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView withVelocity:(CGPoint)velocity targetContentOffset:(nonnull inout CGPoint *)targetContentOffset;
  72 +
  73 +/**
  74 + 主视图停止拖拽
  75 +
  76 + @param pageControlView BKPageControlView
  77 + @param bgScrollView 主视图
  78 + @param decelerate 是否有惯性
  79 + */
  80 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView didEndDraggingBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView willDecelerate:(BOOL)decelerate;
  81 +
  82 +/**
  83 + 主视图惯性结束
  84 +
  85 + @param pageControlView BKPageControlView
  86 + @param bgScrollView 主视图
  87 + */
  88 +-(void)pageControlView:(nonnull BKPageControlView*)pageControlView didEndDeceleratingBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  89 +
  90 +#pragma mark - 导航
  91 +
  92 +/**
  93 + 设置导航视图中menu上的UI
  94 +
  95 + @param pageControlView BKPageControlView
  96 + @param menu menu
  97 + @param index 索引
  98 + */
  99 +-(void)pageControlView:(nonnull BKPageControlView *)pageControlView menu:(nonnull BKPageControlMenu*)menu atIndex:(NSUInteger)index;
  100 +
  101 +@end
  102 +
  103 +@interface BKPageControlView : UIView
  104 +
  105 +#pragma mark - 初始化方法
  106 +
  107 +/**
  108 + 初始化方法
  109 +
  110 + @param frame 坐标大小
  111 + @param childControllers 展示的子控制器数组 (子控制器的标题就是目录中的标题)
  112 + @param superVC 父视图 (用于保存子控制器)
  113 + @return BKPageControlView
  114 + */
  115 +-(nonnull instancetype)initWithFrame:(CGRect)frame childControllers:(nullable NSArray<UIViewController*>*)childControllers superVC:(nonnull UIViewController*)superVC;
  116 +
  117 +/**
  118 + 初始化方法
  119 +
  120 + @param frame 坐标大小
  121 + @param delegate 代理
  122 + @param childControllers 展示的子控制器数组 (子控制器的标题就是目录中的标题)
  123 + @param superVC 父视图 (用于保存子控制器)
  124 + @return BKPageControlView
  125 + */
  126 +-(nonnull instancetype)initWithFrame:(CGRect)frame delegate:(nullable id<BKPageControlViewDelegate>)delegate childControllers:(nullable NSArray<UIViewController*>*)childControllers superVC:(nonnull UIViewController*)superVC;
  127 +
  128 +/**
  129 + 代理
  130 + */
  131 +@property (nonatomic,weak,nullable) id<BKPageControlViewDelegate> delegate;
  132 +/**
  133 + 展示的子控制器数组 (子控制器的标题就是目录中的标题)
  134 + */
  135 +@property (nonatomic,copy,nullable) NSArray<UIViewController*> * childControllers;
  136 +/**
  137 + 父视图 (用于保存展示的子控制器)
  138 + */
  139 +@property (nonatomic,weak,readonly,nullable) UIViewController * superVC;
  140 +
  141 +#pragma mark - BKPageControlView嵌套
  142 +
  143 +/**
  144 + 上一级BKPageControlView
  145 + */
  146 +@property (nonatomic,weak,nullable) BKPageControlView * superLevelPageControlView;
  147 +
  148 +#pragma mark - 索引
  149 +
  150 +/**
  151 + 选中索引 从0开始
  152 + (displayIndex >= [viewControllers count] - 1 时 displayIndex = [viewControllers count] - 1)
  153 + */
  154 +@property (nonatomic,assign) NSUInteger displayIndex;
  155 +
  156 +/**
  157 + 修改选中索引
  158 +
  159 + @param displayIndex 选中索引 从0开始
  160 + (displayIndex >= [viewControllers count] - 1 时 displayIndex = [viewControllers count] - 1)
  161 + @param animated 动画中
  162 + @param completion 完成
  163 + */
  164 +-(void)setDisplayIndex:(NSUInteger)displayIndex animated:(nullable void (^)(void))animated completion:(nullable void(^)(void))completion;
  165 +
  166 +/**
  167 + 当前选中索引显示的控制器
  168 + */
  169 +@property (nonatomic,nullable,readonly) UIViewController * displayVC;
  170 +
  171 +#pragma mark - 主视图
  172 +
  173 +/**
  174 + 主视图(竖直滚动)
  175 + */
  176 +@property (nonatomic,strong,nonnull) BKPageControlBgScrollView * bgScrollView;
  177 +
  178 +/**
  179 + 是否需要重新计算主滚动视图的偏移量Y 仅self.bgScrollView.scrollOrder == BKPageControlBgScrollViewScrollOrderFirstScrollContentView有效
  180 + */
  181 +@property (nonatomic,assign) BOOL isNeedReCalcBgScrollViewContentOffsetY;
  182 +
  183 +/// 根据子滚动视图的偏移量修改主滚动视图的偏移量 嵌套BKPageControlView时只用最底层BKPageControlView调用此方法
  184 +-(void)changeBgScrollViewContentOffsetBasedOnChildScrollViewContentOffSet;
  185 +
  186 +#pragma mark - 第二级视图
  187 +
  188 +/**
  189 + 头视图
  190 + */
  191 +@property (nonatomic,strong,nullable) UIView * headerView;
  192 +
  193 +/**
  194 + 内容视图(包含导航和内容)
  195 + */
  196 +@property (nonatomic,strong,nonnull) UIView * contentView;
  197 +
  198 +#pragma mark - 导航视图(第三级)
  199 +
  200 +/**
  201 + 导航视图
  202 + */
  203 +@property (nonatomic,strong,nonnull) BKPageControlMenuView * menuView;
  204 +
  205 +#pragma mark - 内容视图(第三级)
  206 +
  207 +/**
  208 + 详情内容视图
  209 + */
  210 +@property (nonatomic,strong,nonnull) UICollectionView * collectionView;
  211 +/**
  212 + 详情内容视图左右插入量 默认0
  213 + */
  214 +@property (nonatomic,assign) CGFloat contentLrInsets;
  215 +
  216 +/**
  217 + 用自定义的滑动手势代替系统的滑动手势(因项目需求需要嵌套两层pageControlView,并且两层都需要使用左右滑动,所以这个属性诞生了)
  218 + */
  219 +@property (nonatomic,assign) BOOL useCsPanGestureOnCollectionView DEPRECATED_MSG_ATTRIBUTE("废弃了 已经用alwaysBounceHorizontal=NO + [super setContentOffset:CGPointMake(0, contentOffset.y)];实现需求效果了");
  220 +/**
  221 + 自定义滑动手势
  222 + */
  223 +@property (nonatomic,strong,readonly,nullable) UIPanGestureRecognizer * csCollectionViewPanGesture DEPRECATED_MSG_ATTRIBUTE("废弃了 已经用alwaysBounceHorizontal=NO + [super setContentOffset:CGPointMake(0, contentOffset.y)];实现需求效果了");
  224 +
  225 +@end
  226 +
  227 +
  228 +
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlViewController.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPageControlViewController.h
  1 +//
  2 +// BKPageControlViewController.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/8/20.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +@class BKPageControlBgScrollView;
  12 +
  13 +#ifndef BKPageControlViewController_h
  14 +#define BKPageControlViewController_h
  15 +
  16 +@protocol BKPageControlViewController <NSObject>
  17 +
  18 +@optional
  19 +
  20 +#pragma mark - 滑动主视图
  21 +
  22 +/**
  23 + 开始滑动主视图
  24 +
  25 + @param bgScrollView 主滚动视图
  26 + */
  27 +-(void)bk_willBeginDraggingSuperBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  28 +
  29 +/**
  30 + 滑动主视图
  31 +
  32 + @param bgScrollView 主滚动视图
  33 + */
  34 +-(void)bk_didScrollSuperBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  35 +
  36 +/**
  37 + 主视图即将停止拖拽
  38 +
  39 + @param bgScrollView 主滚动视图
  40 + @param velocity 速度
  41 + @param targetContentOffset 目标偏移量
  42 + */
  43 +-(void)bk_willEndDraggingSuperBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView withVelocity:(CGPoint)velocity targetContentOffset:(nonnull inout CGPoint *)targetContentOffset;
  44 +
  45 +/**
  46 + 主视图停止拖拽
  47 +
  48 + @param bgScrollView 主滚动视图
  49 + @param decelerate 是否有惯性
  50 + */
  51 +-(void)bk_didEndDraggingSuperBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView willDecelerate:(BOOL)decelerate;
  52 +
  53 +/**
  54 + 主视图惯性结束
  55 +
  56 + @param bgScrollView 主滚动视图
  57 + */
  58 +-(void)bk_didEndDeceleratingSuperBgScrollView:(nonnull BKPageControlBgScrollView*)bgScrollView;
  59 +
  60 +@end
  61 +
  62 +#endif /* BKPageControlViewController_h */
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerConstant.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerConstant.h
  1 +//
  2 +// BKPickerConstant.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/1/24.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#ifndef BKPickerConstant_h
  10 +#define BKPickerConstant_h
  11 +
  12 +#import <UIKit/UIKit.h>
  13 +#import <Foundation/Foundation.h>
  14 +
  15 +#define BK_PICKER_HEX_RGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
  16 +
  17 +#define BK_PICKER_BACKGROUND_COLOR BK_PICKER_HEX_RGB(0xD1D5DB)
  18 +#define BK_PICKER_TOOLBAR_COLOR BK_PICKER_HEX_RGB(0xF6F6F6)
  19 +#define BK_PICKER_TOOLBAR_BUTTON_TITLE_COLOR BK_PICKER_HEX_RGB(0x1E86FF)
  20 +#define BK_PICKER_TOOLBAR_REMIND_TITLE_COLOR BK_PICKER_HEX_RGB(0x999999)
  21 +#define BK_PICKER_CONTENT_TITLE_COLOR BK_PICKER_HEX_RGB(0x999999)
  22 +#define BK_PICKER_MAGNIFY_LINE_COLOR BK_PICKER_HEX_RGB(0xA8ABB0)
  23 +#define BK_PICKER_MAGNIFY_TITLE_COLOR BK_PICKER_HEX_RGB(0x333333)
  24 +
  25 +#define BK_PICKER_POINTS_FROM_PIXELS(__PIXELS) (__PIXELS / [[UIScreen mainScreen] scale])
  26 +#define BK_PICKER_ONE_PIXEL BK_PICKER_POINTS_FROM_PIXELS(1.0)
  27 +
  28 +#define BK_PICKER_WEAK_SELF(obj) __weak typeof(obj) weakSelf = obj;
  29 +#define BK_PICKER_STRONG_SELF(obj) __strong typeof(obj) strongSelf = weakSelf;
  30 +
  31 +/**
  32 + 是否是iPhone X系列
  33 + */
  34 +NS_INLINE CGFloat BKPicker_isIPhoneXSeries() {
  35 + BOOL iPhoneXSeries = NO;
  36 + if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) {
  37 + return iPhoneXSeries;
  38 + }
  39 + if (@available(iOS 11.0, *)) {
  40 + UIWindow * window = [[[UIApplication sharedApplication] delegate] window];
  41 + if (window.safeAreaInsets.bottom > 0.0) {
  42 + iPhoneXSeries = YES;
  43 + }
  44 + }
  45 + return iPhoneXSeries;
  46 +}
  47 +
  48 +NS_INLINE CGFloat BKPicker_bottom_offset() {
  49 + if (BKPicker_isIPhoneXSeries()) {
  50 + return 83.f - 49.f;
  51 + }
  52 + return 0;
  53 +}
  54 +
  55 +/**
  56 + 获取picker高度
  57 + */
  58 +NS_INLINE CGFloat BKPicker_alertHeight() {
  59 + CGFloat pickerHeight = 280 + BKPicker_bottom_offset();
  60 + return pickerHeight;
  61 +}
  62 +
  63 +UIKIT_EXTERN const float kPickerToolsViewHeight;
  64 +UIKIT_EXTERN const float kPickerToolsViewBtnTitleFontSize;
  65 +UIKIT_EXTERN const float kPickerToolsViewRemindTitleFontSize;
  66 +UIKIT_EXTERN const float kPickerContentTitleFontSize;
  67 +UIKIT_EXTERN const float kPickerContentRowHeight;
  68 +
  69 +UIKIT_EXTERN const NSUInteger kBKDatePickerMaxRow;//时间格式最大行数
  70 +
  71 +#endif
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerReusingModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerReusingModel.h
  1 +//
  2 +// BKPickerReusingModel.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/3/20.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +#pragma mark - 复用view Model
  15 +
  16 +@interface BKPickerReusingViewModel : NSObject
  17 +
  18 +/**
  19 + 显示在的行 如果不显示为-1
  20 + */
  21 +@property (nonatomic,assign) NSInteger row;
  22 +/**
  23 + 显示的view
  24 + */
  25 +@property (nonatomic,strong,nullable) UILabel * titleLab;
  26 +
  27 +@end
  28 +
  29 +#pragma mark - 复用model
  30 +
  31 +@interface BKPickerReusingModel : NSObject
  32 +
  33 +/**
  34 + 可见的titleLab
  35 + */
  36 +@property (nonatomic,strong) NSMutableArray<BKPickerReusingViewModel*> * visible;
  37 +/**
  38 + 缓存的titleLab
  39 + */
  40 +@property (nonatomic,strong) NSMutableArray<BKPickerReusingViewModel*> * cache;
  41 +
  42 +@end
  43 +
  44 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerSelectDateTools.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerSelectDateTools.h
  1 +//
  2 +// BKPickerSelectDateTools.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/3/22.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface BKPickerSelectDateTools : NSObject
  14 +
  15 +/**
  16 + 切换选中日期
  17 +
  18 + @param date 选中日期
  19 + */
  20 +-(void)changeSelectDate:(NSDate*)date;
  21 +
  22 +/**
  23 + 年
  24 + */
  25 +@property (nonatomic,assign,readonly) NSUInteger selectYear;
  26 +/**
  27 + 月
  28 + */
  29 +@property (nonatomic,assign,readonly) NSUInteger selectMonth;
  30 +/**
  31 + 日
  32 + */
  33 +@property (nonatomic,assign,readonly) NSUInteger selectDay;
  34 +/**
  35 + 时
  36 + */
  37 +@property (nonatomic,assign,readonly) NSUInteger selectHour;
  38 +/**
  39 + 分
  40 + */
  41 +@property (nonatomic,assign,readonly) NSUInteger selectMinute;
  42 +/**
  43 + 秒
  44 + */
  45 +@property (nonatomic,assign,readonly) NSUInteger selectSecond;
  46 +
  47 +@end
  48 +
  49 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerToolsView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerToolsView.h
  1 +//
  2 +// BKPickerToolsView.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/1/24.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface BKPickerToolsView : UIView
  14 +
  15 +@property (nonatomic,copy) NSString * remind;
  16 +
  17 +@property (nonatomic,copy) void (^clickCancelBtnCallBack)(void);
  18 +@property (nonatomic,copy) void (^clickConfirmBtnCallBack)(void);
  19 +
  20 +@end
  21 +
  22 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKPickerView.h
  1 +//
  2 +// BKPickerView.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/1/23.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +#import <Foundation/Foundation.h>
  11 +
  12 +//! Project version number for BKPickerView.
  13 +FOUNDATION_EXPORT double BKPickerViewVersionNumber;
  14 +
  15 +//! Project version string for BKPickerView.
  16 +FOUNDATION_EXPORT const unsigned char BKPickerViewVersionString[];
  17 +
  18 +//普通格式
  19 +typedef NS_ENUM(NSUInteger, BKPickerStyle) {
  20 + BKPickerStyleSingle, //单选
  21 + BKPickerStyleMultilevelLinkage //多级联动
  22 +};
  23 +
  24 +//时间格式
  25 +typedef NS_OPTIONS(NSUInteger, BKPickerDateStyle) {
  26 + BKPickerDateStyleDisplayYear = 1 << 0, //显示年
  27 + BKPickerDateStyleDisplayMonth = 1 << 1, //显示月
  28 + BKPickerDateStyleDisplayDay = 1 << 2, //显示日
  29 + BKPickerDateStyleDisplayHour = 1 << 3, //显示时
  30 + BKPickerDateStyleDisplayMinute = 1 << 4, //显示分
  31 + BKPickerDateStyleDisplaySecond = 1 << 5, //显示秒
  32 +};
  33 +
  34 +NS_ASSUME_NONNULL_BEGIN
  35 +
  36 +@interface BKPickerView : UIView
  37 +
  38 +#pragma mark - 普通格式
  39 +
  40 +/**
  41 + 创建方法(普通格式)
  42 +
  43 + @param dataArr 数据
  44 + 当传一维数组时 例子@[@"",@"",@""] BKPickerStyle == BKPickerStyleSingle
  45 + 当传二维数组时 例子@[@[@"",@"",@""], @[@"",@"",@""], @[@"",@"",@""]] BKPickerStyle == BKPickerStyleMultilevelLinkage
  46 + @param remind 选取器提示
  47 + @return 选取器
  48 + */
  49 +-(instancetype)initWithPickerDataArr:(NSArray*)dataArr remind:(NSString*)remind;
  50 +
  51 +/**
  52 + 显示数据
  53 + */
  54 +@property (nonatomic,copy,readonly) NSArray * dataArr;
  55 +
  56 +#pragma mark - 普通格式 - BKPickerStyleSingle
  57 +
  58 +/**
  59 + 当前选取索引
  60 + 当BKPickerStyle == BKPickerStyleSingle时有效
  61 + */
  62 +@property (nonatomic,assign) NSInteger selectIndex;
  63 +/**
  64 + 完成选择返回索引回调
  65 + 当BKPickerStyle == BKPickerStyleSingle时有效
  66 + */
  67 +@property (nonatomic,copy) void (^confirmSelectCallback)(NSInteger selectIndex);
  68 +
  69 +#pragma mark - 普通格式 - BKPickerStyleMultilevelLinkage
  70 +
  71 +/**
  72 + 当前选取索引数组 传一维数组 例子@[@(),@(),@()]
  73 + 当BKPickerStyle == BKPickerStyleMultilevelLinkage时有效
  74 + */
  75 +@property (nonatomic,copy) NSArray<NSNumber*> * selectIndexArr;
  76 +/**
  77 + 切换选择返回索引数组回调 用于修改数据源 返回一维数组 例子@[@(),@(),@()]
  78 + 提示 修改了当前滑动component的index 大于当前component后的index置为0
  79 + 当BKPickerStyle == BKPickerStyleMultilevelLinkage时有效
  80 + */
  81 +@property (nonatomic,copy) NSArray * (^changeSelectIndexsCallback)(BKPickerView * pickerView, NSArray<NSNumber*> * selectIndexArr);
  82 +/**
  83 + 完成选择返回索引数组回调 返回一维数组 例子@[@(),@(),@()]
  84 + 当BKPickerStyle == BKPickerStyleMultilevelLinkage时有效
  85 + */
  86 +@property (nonatomic,copy) void (^confirmSelectIndexsCallback)(NSArray<NSNumber*> * selectIndexArr);
  87 +
  88 +#pragma mark - 时间格式
  89 +
  90 +/**
  91 + 创建方法(时间格式)
  92 +
  93 + @param pickerDateStyle 选取器格式
  94 + @param selectDate 当前选取日期
  95 + @param maxDate 最大日期
  96 + @param minDate 最小日期
  97 + @param remind 选取器提示
  98 + @return 选取器
  99 + */
  100 +-(instancetype)initWithPickerDateStyle:(BKPickerDateStyle)pickerDateStyle selectDate:(nullable NSDate *)selectDate maxDate:(nullable NSDate *)maxDate minDate:(nullable NSDate *)minDate remind:(nonnull NSString *)remind;
  101 +
  102 +/**
  103 + 确认选取时间返回
  104 + */
  105 +@property (nonatomic,copy) void (^confirmSelectDateCallback)(NSDate * date);
  106 +
  107 +#pragma mark - 显示方法
  108 +
  109 +/**
  110 + 显示方法
  111 + */
  112 +-(void)show;
  113 +
  114 +@end
  115 +
  116 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKTimer.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/BKTimer.h
  1 +//
  2 +// BKTimer.h
  3 +// BKTimer
  4 +//
  5 +// Created by zhaolin on 2019/10/11.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +
  12 +FOUNDATION_EXPORT double BKTimerVersionNumber;
  13 +FOUNDATION_EXPORT const unsigned char BKTimerVersionString[];
  14 +
  15 +//坑点 最初使用FLT_MIN为永远执行时间判断 后来发现bug 即FLT_MIN==0而不是float的最小值
  16 +UIKIT_EXTERN const CGFloat kBKTimerRepeatsTime;//永远执行时间
  17 +
  18 +NS_ASSUME_NONNULL_BEGIN
  19 +
  20 +@interface BKTimer : NSObject
  21 +
  22 +#pragma mark - 创建定时器方法
  23 +
  24 +/**
  25 + 初始化定时器
  26 +
  27 + @param timeInterval 时间间隔 (最多6位小数 即0.000001)
  28 + @param totalTime 执行总时间 当 totalTime==kBKTimerRepeatsTime 时无限执行
  29 + @param handler 回调
  30 + @return 定时器
  31 + */
  32 ++(dispatch_source_t)bk_setupTimerWithTimeInterval:(CGFloat)timeInterval totalTime:(CGFloat)totalTime handler:(void (^)(dispatch_source_t timer, CGFloat lastTime))handler;
  33 +
  34 +#pragma mark - 销毁定时器方法
  35 +
  36 +/**
  37 + 删除定时器
  38 + */
  39 ++(void)bk_removeTimer:(dispatch_source_t)timer;
  40 +
  41 +@end
  42 +
  43 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSAlertView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSAlertView.h
  1 +//
  2 +// DSAlertView.h
  3 +// zhaolin
  4 +//
  5 +// Created by 兆林 on 2017/7/21.
  6 +// Copyright © 2017年 zhaolin. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface DSAlertView : UIView
  12 +
  13 +#pragma mark - 初始化方法
  14 +
  15 +/// 标题
  16 +@property (nonatomic,copy,readonly,nullable) NSString * title;
  17 +/// 内容
  18 +@property (nonatomic,copy,readonly,nullable) NSString * content;
  19 +/// 按钮标题数据
  20 +@property (nonatomic,copy,readonly,nullable) NSArray<NSString*> * actionTitleArr;
  21 +
  22 +/// 初始化方法
  23 +/// @param title 标题
  24 +/// @param content 内容
  25 +/// @param actionTitleArr 按钮
  26 +/// @param actionMethod 按钮事件
  27 +-(nonnull instancetype)initWithTitle:(nullable NSString*)title content:(nullable NSString*)content actionTitleArr:(nullable NSArray<NSString*>*)actionTitleArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;
  28 +
  29 +#pragma mark - 富文本初始化方法
  30 +
  31 +/// 标题
  32 +@property (nonatomic,copy,readonly,nullable) NSAttributedString * attrTitle;
  33 +/// 内容
  34 +@property (nonatomic,copy,readonly,nullable) NSAttributedString * attrContent;
  35 +/// 按钮标题数据
  36 +@property (nonatomic,copy,readonly,nullable) NSArray<NSAttributedString*> * attrActionTitleArr;
  37 +
  38 +/// 富文本初始化方法
  39 +/// @param title 标题
  40 +/// @param content 内容
  41 +/// @param actionTitleArr 按钮
  42 +/// @param actionMethod 按钮事件
  43 +-(nonnull instancetype)initWithAttrTitle:(nullable NSAttributedString*)title content:(nullable NSAttributedString*)content actionTitleArr:(nullable NSArray<NSAttributedString*>*)actionTitleArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;
  44 +
  45 +#pragma mark - 属性
  46 +
  47 +/// 标题字号(富文本创建无效)
  48 +@property (nonatomic,strong,nullable) UIFont * titleFont;
  49 +/// 标题颜色(富文本创建无效)
  50 +@property (nonatomic,strong,nullable) UIColor * titleColor;
  51 +/// 内容字号(富文本创建无效)
  52 +@property (nonatomic,strong,nullable) UIFont * contentFont;
  53 +/// 内容颜色(富文本创建无效)
  54 +@property (nonatomic,strong,nullable) UIColor * contentColor;
  55 +/// 按钮字号(富文本创建无效)
  56 +@property (nonatomic,strong,nullable) UIFont * actionTitleFont;
  57 +/// 按钮颜色(富文本创建无效) 修改完这个属性actionTitleColors所有颜色统一为actionTitleColor
  58 +@property (nonatomic,strong,nullable) UIColor * actionTitleColor;
  59 +/// 按钮颜色数组(富文本创建无效)
  60 +@property (nonatomic,copy,nonnull,readonly) NSArray<UIColor*> * actionTitleColors;
  61 +/// 线的颜色
  62 +@property (nonatomic,strong,nullable) UIColor * lineColor;
  63 +
  64 +#pragma mark - 方法
  65 +
  66 +/// 修改个别按钮颜色(富文本创建无效)
  67 +/// @param color 按钮颜色
  68 +/// @param index 对应索引
  69 +-(void)setActionTitleColor:(nonnull UIColor*)color correspondingIndex:(NSUInteger)index;
  70 +
  71 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSCollectionViewFluidLayout.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSCollectionViewFluidLayout.h
  1 +//
  2 +// DSCollectionViewFluidLayout.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/5/11.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +@class DSCollectionViewFluidLayout;
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +@protocol DSCollectionViewFluidLayoutDelegate <NSObject>
  15 +
  16 +/**
  17 + item的Size
  18 +
  19 + @param fluidLayout DSCollectionViewFluidLayout
  20 + @param indexPath NSIndexPath
  21 + @return item的Size
  22 + */
  23 +-(CGSize)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
  24 +
  25 +@optional
  26 +
  27 +#pragma mark - 获取section中的列数
  28 +
  29 +/**
  30 + 每个section有几列 (不用为column)
  31 +
  32 + @param fluidLayout DSCollectionViewFluidLayout
  33 + @param section section
  34 + @return 列
  35 + */
  36 +-(NSUInteger)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout columnInSection:(NSInteger)section;
  37 +
  38 +#pragma mark - 区头、区尾Size
  39 +
  40 +/**
  41 + 区头的Size (不用为headerReferenceSize)
  42 +
  43 + @param fluidLayout DSCollectionViewFluidLayout
  44 + @param section section
  45 + @return 区头的Size
  46 + */
  47 +-(CGSize)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout referenceSizeForHeaderInSection:(NSInteger)section;
  48 +
  49 +/**
  50 + 区尾的Size (不用为footerReferenceSize)
  51 +
  52 + @param fluidLayout DSCollectionViewFluidLayout
  53 + @param section section
  54 + @return 区尾的Size
  55 + */
  56 +-(CGSize)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout referenceSizeForFooterInSection:(NSInteger)section;
  57 +
  58 +#pragma mark - 间隔
  59 +
  60 +/**
  61 + 区的上下左右间隔 (不用为sectionInset)
  62 +
  63 + @param fluidLayout DSCollectionViewFluidLayout
  64 + @param section section
  65 + @return 区的上下左右间隔
  66 + */
  67 +-(UIEdgeInsets)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout insetForSectionAtIndex:(NSInteger)section;
  68 +
  69 +/**
  70 + 行间隔 (不用为minimumLineSpacing)
  71 +
  72 + @param fluidLayout DSCollectionViewFluidLayout
  73 + @param section section
  74 + @return 行间隔
  75 + */
  76 +-(CGFloat)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section;
  77 +
  78 +/**
  79 + 列间隔 (不用为minimumInteritemSpacing)
  80 +
  81 + @param fluidLayout DSCollectionViewFluidLayout
  82 + @param section section
  83 + @return 列间隔
  84 + */
  85 +-(CGFloat)fluidLayout:(DSCollectionViewFluidLayout*)fluidLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;
  86 +
  87 +@end
  88 +
  89 +@interface DSCollectionViewFluidLayout : UICollectionViewFlowLayout
  90 +
  91 +/**
  92 + 代理
  93 + */
  94 +@property (nonatomic,weak) id<DSCollectionViewFluidLayoutDelegate> delegate;
  95 +/**
  96 + 列 (默认1列)
  97 + */
  98 +@property (nonatomic,assign) NSUInteger column;
  99 +
  100 +@end
  101 +
  102 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSGradientView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSGradientView.h
  1 +//
  2 +// DSGradientView.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/8/19.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface DSGradientView : UIView
  14 +
  15 +/**
  16 + 颜色数组
  17 + */
  18 +@property (nonatomic, copy) NSArray<UIColor*> * colors;
  19 +/**
  20 + 起点
  21 + */
  22 +@property (nonatomic, assign) CGPoint startPoint;
  23 +/**
  24 + 终点
  25 + */
  26 +@property (nonatomic, assign) CGPoint endPoint;
  27 +/**
  28 + 透明度
  29 + */
  30 +@property (nonatomic, assign) float opacity;
  31 +
  32 +@end
  33 +
  34 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSImageManager.h 0 → 100755
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSImageManager.h
  1 +//
  2 +// DSImageManager.h
  3 +// MySelfFrame
  4 +//
  5 +// Created by iMac on 17/2/14.
  6 +// Copyright © 2017年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <SDWebImage/SDWebImage.h>
  11 +
  12 +@interface DSImageManager : NSObject
  13 +
  14 +/**
  15 + 查磁盘缓存/内存缓存中是否有该图片数据
  16 +
  17 + @param url 该图片网络图片路径
  18 + @param completion 结果
  19 + */
  20 ++(void)checkCachedImageForKey:(nonnull NSString*)url completion:(nullable void (^)(SDImageCacheType containsCacheType))completion;
  21 +
  22 +/**
  23 + 缓存图片
  24 +
  25 + @param image 图片
  26 + @param imageData 图片数据
  27 + @param url 图片缓存路径
  28 + @param completion 结果
  29 + */
  30 ++(void)storeImage:(nullable UIImage*)image imageData:(nullable NSData*)imageData url:(nonnull NSString*)url completion:(nullable void (^)(void))completion;
  31 +
  32 +/**
  33 + 从缓存取图片
  34 +
  35 + @param url 图片缓存路径
  36 + @param completion 结果
  37 + */
  38 ++(void)queryImageForKey:(nonnull NSString*)url completion:(nullable void (^)(UIImage * _Nullable image, NSData * _Nullable imageData))completion;
  39 +
  40 +/**
  41 + 下载图片 并用SDImageCache缓存
  42 +
  43 + @param url 该图片网络图片路径
  44 + @param progress 图片下载进度
  45 + @param completed 下载完成(如果 image = nil && imageData = nil 为下载失败)
  46 + */
  47 ++(void)downloadImageWithUrl:(nullable NSString*)url progress:(nullable void (^)(NSString * _Nullable percentage))progress completed:(nullable void (^)(NSString * _Nullable url, UIImage * _Nullable image, NSData * _Nullable imageData))completed;
  48 +
  49 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSLocationManager.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSLocationManager.h
  1 +//
  2 +// DSLocationManager.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/2/13.
  6 +//
  7 +
  8 +#import <Foundation/Foundation.h>
  9 +#import <CoreLocation/CoreLocation.h>
  10 +
  11 +typedef NS_ENUM(NSUInteger, DSLocationErrorType) {
  12 + DSLocationErrorTypeFailure = 0,
  13 + DSLocationErrorTypeNoPermission
  14 +};
  15 +
  16 +NS_ASSUME_NONNULL_BEGIN
  17 +
  18 +@interface DSLocationManager : NSObject
  19 +
  20 +#pragma mark - 单例方法
  21 +
  22 ++(instancetype)sharedManager;
  23 +
  24 +#pragma mark - 检测定位权限
  25 +
  26 +/// 检测定位权限
  27 +/// @param complete 询问结果回调
  28 +-(BOOL)checkAllowLocationPermission:(nullable void (^)(BOOL isAllow))complete;
  29 +
  30 +#pragma mark - 定位方法
  31 +
  32 +/**
  33 + 获取定位
  34 +
  35 + @param success 定位成功回调
  36 + @param failure 定位失败回调
  37 + */
  38 +-(void)getLocationWithSuccess:(nullable void (^)(CLLocation * location))success failure:(nullable void (^)(DSLocationErrorType errorType))failure;
  39 +
  40 +#pragma mark - 定位失败弹框
  41 +
  42 +/**
  43 + 定位失败弹框
  44 +
  45 + @param errorType 失败类型
  46 + */
  47 +-(void)displayErrorAlert:(DSLocationErrorType)errorType;
  48 +
  49 +#pragma mark - 定位转换
  50 +
  51 +/**
  52 + * 世界标准地理坐标 为 苹果定位坐标 (苹果地图定位坐标为高德定位坐标)
  53 + * 火星坐标 为 高德定位坐标
  54 + * 百度地理坐标 为 百度定位坐标
  55 + */
  56 +
  57 +/**
  58 + * @brief 世界标准地理坐标(WGS-84) 转换成 中国国测局地理坐标(GCJ-02)<火星坐标>
  59 + *
  60 + * ####只在中国大陆的范围的坐标有效,以外直接返回世界标准坐标
  61 + *
  62 + * @param location 世界标准地理坐标(WGS-84)
  63 + *
  64 + * @return 中国国测局地理坐标(GCJ-02)<火星坐标>
  65 + */
  66 +-(CLLocationCoordinate2D)wgs84ToGcj02:(CLLocationCoordinate2D)location;
  67 +
  68 +/**
  69 + * @brief 中国国测局地理坐标(GCJ-02) 转换成 世界标准地理坐标(WGS-84)
  70 + *
  71 + * ####此接口有1-2米左右的误差,需要精确定位情景慎用
  72 + *
  73 + * @param location 中国国测局地理坐标(GCJ-02)
  74 + *
  75 + * @return 世界标准地理坐标(WGS-84)
  76 + */
  77 +-(CLLocationCoordinate2D)gcj02ToWgs84:(CLLocationCoordinate2D)location;
  78 +
  79 +/**
  80 + * @brief 世界标准地理坐标(WGS-84) 转换成 百度地理坐标(BD-09)
  81 + *
  82 + * @param location 世界标准地理坐标(WGS-84)
  83 + *
  84 + * @return 百度地理坐标(BD-09)
  85 + */
  86 +-(CLLocationCoordinate2D)wgs84ToBd09:(CLLocationCoordinate2D)location;
  87 +
  88 +/**
  89 + * @brief 中国国测局地理坐标(GCJ-02)<火星坐标> 转换成 百度地理坐标(BD-09)
  90 + *
  91 + * @param location 中国国测局地理坐标(GCJ-02)<火星坐标>
  92 + *
  93 + * @return 百度地理坐标(BD-09)
  94 + */
  95 +-(CLLocationCoordinate2D)gcj02ToBd09:(CLLocationCoordinate2D)location;
  96 +
  97 +/**
  98 + * @brief 百度地理坐标(BD-09) 转换成 中国国测局地理坐标(GCJ-02)<火星坐标>
  99 + *
  100 + * @param location 百度地理坐标(BD-09)
  101 + *
  102 + * @return 中国国测局地理坐标(GCJ-02)<火星坐标>
  103 + */
  104 +-(CLLocationCoordinate2D)bd09ToGcj02:(CLLocationCoordinate2D)location;
  105 +
  106 +/**
  107 + * @brief 百度地理坐标(BD-09) 转换成 世界标准地理坐标(WGS-84)
  108 + *
  109 + * ####此接口有1-2米左右的误差,需要精确定位情景慎用
  110 + *
  111 + * @param location 百度地理坐标(BD-09)
  112 + *
  113 + * @return 世界标准地理坐标(WGS-84)
  114 + */
  115 +-(CLLocationCoordinate2D)bd09ToWgs84:(CLLocationCoordinate2D)location;
  116 +
  117 +#pragma mark - 导航
  118 +
  119 +/**
  120 + 开启导航
  121 +
  122 + @param address 目标地址
  123 + @param location 坐标(高德坐标系)
  124 + @param actionCallBack 事件后回调
  125 + @return 结果
  126 + */
  127 +-(nonnull UIAlertController*)presentNaviAlertWithTargetAddress:(nonnull NSString*)address location:(nonnull CLLocation*)location actionCallBack:(nullable void (^)(void))actionCallBack;
  128 +
  129 +@end
  130 +
  131 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSNetworkDisposeModel.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSNetworkDisposeModel.h
  1 +//
  2 +// DSNetworkDisposeModel.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2018/11/1.
  6 +//
  7 +
  8 +#import <Foundation/Foundation.h>
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +//当请求网络成功,获取数据失败时显示提示信息 即 code!=200 && [message length] == 0
  12 +UIKIT_EXTERN NSString * _Nonnull const kDSRequestDataFailureMessage;
  13 +//网络请求失败时提示信息
  14 +UIKIT_EXTERN NSString * _Nonnull const kDSRequestFailureMessage;
  15 +
  16 +NS_ASSUME_NONNULL_BEGIN
  17 +
  18 +@interface DSNetworkDisposeModel : NSObject
  19 +
  20 +#pragma mark - 数据处理
  21 +
  22 +/**
  23 + 处理数据
  24 +
  25 + @param json 数据串
  26 + @param error 错误
  27 + @param result 结果
  28 + */
  29 ++(void)disposeJson:(id)json error:(NSError *)error result:(void (^)(id jsonData, NSString * errorMessage))result;
  30 +
  31 +/**
  32 + 处理数据(有特殊错误提示)
  33 +
  34 + @param json 数据串
  35 + @param error 错误
  36 + @param specialErrorMessage 特殊的错误提示
  37 + @param result 结果
  38 + */
  39 ++(void)disposeJson:(id)json error:(NSError *)error specialErrorMessage:(NSString * _Nullable)specialErrorMessage result:(void (^)(id jsonData, NSString * errorMessage))result;
  40 +
  41 +@end
  42 +
  43 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSNetworkRequest.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSNetworkRequest.h
  1 +//
  2 +// DSNetworkRequest.h
  3 +// MySelfFrame
  4 +//
  5 +// Created by BIKE on 2018/7/5.
  6 +// Copyright © 2017年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import <UIKit/UIKit.h>
  11 +#import <AFNetworking/AFNetworking.h>
  12 +#import "DSNetworkDisposeModel.h"
  13 +
  14 +@interface DSNetworkRequest : AFHTTPSessionManager
  15 +
  16 +#pragma mark - 单例
  17 +
  18 ++(nullable instancetype)shareClient;
  19 +
  20 +#pragma mark - 通用属性
  21 +
  22 +/// 用户id 用于储存缓存保存路径用户区分 请求头添加Uid
  23 +@property (nonatomic,copy,nullable) NSString * userId;
  24 +
  25 +#pragma mark - 网络时间
  26 +
  27 +/// 当前网络时间 没有网络是系统时间
  28 +@property (nonatomic,assign,readonly) NSTimeInterval networkTimestamp;
  29 +
  30 +/// 校准网络时间
  31 +-(void)adjustNetworkTimestamp;
  32 +
  33 +#pragma mark - 网络缓存
  34 +
  35 +/// 网络缓存存储路径 ~/Document/DSNRCache
  36 +@property (nonatomic,copy,nonnull,readonly) NSString * networkRequestCacheFileDir;
  37 +/// 当前用户网络缓存路径
  38 +/// 没userId ~/Document/DSNRCache/Common/
  39 +/// 有userId ~/Document/DSNRCache/userId_XXX/
  40 +@property (nonatomic,copy,nullable,readonly) NSString * useCacheFileDir;
  41 +
  42 +/// 计算网络请求目录下所有文件大小 单位字节b
  43 +-(CGFloat)calcNetworkRequestCacheSize;
  44 +
  45 +/// 清空网络缓存
  46 +/// @param completion 清空完成回调
  47 +-(void)clearNetworkRequestCacheCompletion:(nullable void (^)(void))completion;
  48 +
  49 +#pragma mark - POST
  50 +
  51 +/**
  52 + POST请求(不带默认数据处理)
  53 +
  54 + @param url 链接
  55 + @param params 参数
  56 + @param isCache 是否缓存
  57 + @param result 结果
  58 + */
  59 +-(void)postWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache result:(nullable void (^)(BOOL isCacheData, id _Nullable json, NSError * _Nullable error))result;
  60 +
  61 +/**
  62 + POST请求(普通数据处理)
  63 +
  64 + @param url 链接
  65 + @param params 参数
  66 + @param isCache 是否缓存
  67 + @param disposeResult 结果
  68 + */
  69 +-(void)postWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache disposeResult:(nullable void (^)(BOOL isCacheData, id _Nullable jsonData, NSString * _Nullable errorMessage))disposeResult;
  70 +
  71 +/**
  72 + POST请求(有特殊错误提示数据处理)
  73 +
  74 + @param url 链接
  75 + @param params 参数
  76 + @param isCache 是否缓存
  77 + @param specialErrorMessage 特殊的错误提示
  78 + @param disposeResult 结果
  79 + */
  80 +-(void)postWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache specialErrorMessage:(nullable NSString *)specialErrorMessage disposeResult:(nullable void (^)(BOOL isCacheData, id _Nullable jsonData, NSString * _Nullable errorMessage))disposeResult;
  81 +
  82 +#pragma mark - GET
  83 +
  84 +/**
  85 + GET请求(不带默认数据处理)
  86 +
  87 + @param url 链接
  88 + @param params 参数
  89 + @param isCache 是否缓存
  90 + @param result 结果
  91 + */
  92 +-(void)getWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache result:(nullable void (^)(BOOL isCacheData, id _Nullable json, NSError * _Nullable error))result;
  93 +
  94 +/**
  95 + GET请求(普通数据处理)
  96 +
  97 + @param url 链接
  98 + @param params 参数
  99 + @param isCache 是否缓存
  100 + @param disposeResult 结果
  101 + */
  102 +-(void)getWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache disposeResult:(nullable void (^)(BOOL isCacheData, id _Nullable jsonData, NSString * _Nullable errorMessage))disposeResult;
  103 +
  104 +/**
  105 + GET请求(有特殊错误提示数据处理)
  106 +
  107 + @param url 链接
  108 + @param params 参数
  109 + @param isCache 是否缓存
  110 + @param specialErrorMessage 特殊的错误提示
  111 + @param disposeResult 结果
  112 + */
  113 +-(void)getWithUrl:(nonnull NSString *)url params:(nullable NSDictionary *)params isCache:(BOOL)isCache specialErrorMessage:(nullable NSString *)specialErrorMessage disposeResult:(nullable void (^)(BOOL isCacheData, id _Nullable jsonData, NSString * _Nullable errorMessage))disposeResult;
  114 +
  115 +#pragma mark - 取消网络请求
  116 +
  117 +/**
  118 + 取消所有请求
  119 + */
  120 +-(void)cancelAllRequestOperations;
  121 +
  122 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSRoundedRectView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSRoundedRectView.h
  1 +//
  2 +// DSRoundedRectView.h
  3 +// BKProjectFramework
  4 +//
  5 +// Created by BIKE on 2018/7/11.
  6 +// Copyright © 2018年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface DSRoundedRectView : UIView
  12 +
  13 +/**
  14 + 填充色
  15 + */
  16 +@property (nonatomic,strong) UIColor * fillColor;
  17 +
  18 +/**
  19 + 边框色
  20 + */
  21 +@property (nonatomic,strong) UIColor * strokeColor;
  22 +
  23 +/**
  24 + 边框宽度
  25 + */
  26 +@property (nonatomic,assign) CGFloat strokeWidth;
  27 +
  28 +/**
  29 + 圆角度数 默认0
  30 + */
  31 +@property (nonatomic,assign) CGFloat radius;
  32 +
  33 +@end
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSTextView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSTextView.h
  1 +//
  2 +// DSTextView.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2018/10/24.
  6 +//
  7 +
  8 +#import <UIKit/UIKit.h>
  9 +
  10 +NS_ASSUME_NONNULL_BEGIN
  11 +
  12 +@interface DSTextView : UITextView
  13 +
  14 +@property (nonatomic,copy) NSString * placeholder;
  15 +@property (nonatomic,strong) UIColor * placeholderColor;
  16 +
  17 +@end
  18 +
  19 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSToolsModule-umbrella.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSToolsModule-umbrella.h
  1 +#ifdef __OBJC__
  2 +#import <UIKit/UIKit.h>
  3 +#else
  4 +#ifndef FOUNDATION_EXPORT
  5 +#if defined(__cplusplus)
  6 +#define FOUNDATION_EXPORT extern "C"
  7 +#else
  8 +#define FOUNDATION_EXPORT extern
  9 +#endif
  10 +#endif
  11 +#endif
  12 +
  13 +#import "BKCycleCollectionViewFlowLayout.h"
  14 +#import "BKCycleScrollCollectionViewCell.h"
  15 +#import "BKCycleScrollDataModel.h"
  16 +#import "BKCycleScrollImageView.h"
  17 +#import "BKCycleScrollPageControl.h"
  18 +#import "BKCycleScrollView.h"
  19 +#import "BKPageControlBgScrollView.h"
  20 +#import "BKPageControlMenu.h"
  21 +#import "BKPageControlMenuModel.h"
  22 +#import "BKPageControlMenuPropertyModel.h"
  23 +#import "BKPageControlMenuView.h"
  24 +#import "BKPageControlView.h"
  25 +#import "BKPageControlViewController.h"
  26 +#import "BKPCViewKVOChildControllerPModel.h"
  27 +#import "UIViewController+BKPageControlView.h"
  28 +#import "BKPickerConstant.h"
  29 +#import "BKPickerReusingModel.h"
  30 +#import "BKPickerSelectDateTools.h"
  31 +#import "BKPickerToolsView.h"
  32 +#import "BKPickerView.h"
  33 +#import "NSDate+BKPickerView.h"
  34 +#import "BKTimer.h"
  35 +#import "DSAlertView.h"
  36 +#import "DSCollectionViewFluidLayout.h"
  37 +#import "DSGradientView.h"
  38 +#import "DSImageManager.h"
  39 +#import "DSLocationManager.h"
  40 +#import "DSNetworkDisposeModel.h"
  41 +#import "DSNetworkRequest.h"
  42 +#import "NSDate+DSNetworkRequest.h"
  43 +#import "DSRoundedRectView.h"
  44 +#import "UIView+DSRoundedRectView.h"
  45 +#import "DSTextView.h"
  46 +#import "DSToolsModuleHeader.h"
  47 +
  48 +FOUNDATION_EXPORT double DSToolsModuleVersionNumber;
  49 +FOUNDATION_EXPORT const unsigned char DSToolsModuleVersionString[];
  50 +
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSToolsModuleHeader.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/DSToolsModuleHeader.h
  1 +//
  2 +// DSToolsModuleHeader.h
  3 +// DSToolsModule
  4 +//
  5 +// Created by zhaolin on 2020/2/20.
  6 +//
  7 +
  8 +#ifndef DSToolsModuleHeader_h
  9 +#define DSToolsModuleHeader_h
  10 +
  11 +#if __has_include("BKCycleScrollView.h")
  12 +#import "BKCycleScrollView.h"
  13 +#endif
  14 +
  15 +#if __has_include("BKPageControlView.h")
  16 +#import "BKPageControlView.h"
  17 +#endif
  18 +
  19 +#if __has_include("BKPickerView.h")
  20 +#import "BKPickerView.h"
  21 +#endif
  22 +
  23 +#if __has_include("BKTimer.h")
  24 +#import "BKTimer.h"
  25 +#endif
  26 +
  27 +#if __has_include("DSAlertView.h")
  28 +#import "DSAlertView.h"
  29 +#endif
  30 +
  31 +#if __has_include("DSCollectionViewFluidLayout.h")
  32 +#import "DSCollectionViewFluidLayout.h"
  33 +#endif
  34 +
  35 +#if __has_include("DSGradientView.h")
  36 +#import "DSGradientView.h"
  37 +#endif
  38 +
  39 +#if __has_include("DSImageManager.h")
  40 +#import "DSImageManager.h"
  41 +#endif
  42 +
  43 +#if __has_include("DSLocationManager.h")
  44 +#import "DSLocationManager.h"
  45 +#endif
  46 +
  47 +#if __has_include("DSNetworkRequest.h")
  48 +#import "DSNetworkRequest.h"
  49 +#import "NSDate+DSNetworkRequest.h"
  50 +#endif
  51 +
  52 +#if __has_include("DSRoundedRectView.h")
  53 +#import "DSRoundedRectView.h"
  54 +#import "UIView+DSRoundedRectView.h"
  55 +#endif
  56 +
  57 +#if __has_include("DSTextView.h")
  58 +#import "DSTextView.h"
  59 +#endif
  60 +
  61 +#endif /* DSToolsModuleHeader_h */
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/NSDate+BKPickerView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/NSDate+BKPickerView.h
  1 +//
  2 +// NSDate+BKPickerView.h
  3 +// BKPickerView
  4 +//
  5 +// Created by zhaolin on 2019/3/19.
  6 +// Copyright © 2019年 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface NSDate (BKPickerView)
  14 +
  15 +/**
  16 + 转化成年
  17 +
  18 + @return 年
  19 + */
  20 +-(NSUInteger)bk_transformYear;
  21 +
  22 +/**
  23 + 转化成月
  24 +
  25 + @return 月
  26 + */
  27 +-(NSUInteger)bk_transformMonth;
  28 +
  29 +/**
  30 + 转化成天
  31 +
  32 + @return 天
  33 + */
  34 +-(NSUInteger)bk_transformDay;
  35 +
  36 +/**
  37 + 转化成时
  38 +
  39 + @return 时
  40 + */
  41 +-(NSUInteger)bk_transformHour;
  42 +
  43 +/**
  44 + 转化成分
  45 +
  46 + @returnf 分
  47 + */
  48 +-(NSUInteger)bk_transformMinute;
  49 +
  50 +/**
  51 + 转化成秒
  52 +
  53 + @return 秒
  54 + */
  55 +-(NSUInteger)bk_transformSecond;
  56 +
  57 +@end
  58 +
  59 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/NSDate+DSNetworkRequest.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/NSDate+DSNetworkRequest.h
  1 +//
  2 +// NSDate+DSNetworkRequest.h
  3 +// Pods
  4 +//
  5 +// Created by zhaolin on 2020/2/20.
  6 +//
  7 +
  8 +#import <Foundation/Foundation.h>
  9 +
  10 +NS_ASSUME_NONNULL_BEGIN
  11 +
  12 +@interface NSDate (DSNetworkRequest)
  13 +
  14 +#pragma mark - 时间转换 XX前
  15 +
  16 +/**
  17 + 几(秒、分钟、小时、天、月、年)前
  18 +
  19 + @return 几(秒、分钟、小时、天、月、年)前
  20 + */
  21 +-(NSString*)transformStringTimesAgo;
  22 +
  23 +@end
  24 +
  25 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/UIView+DSRoundedRectView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/UIView+DSRoundedRectView.h
  1 +//
  2 +// UIView+DSRoundedRectView.h
  3 +// DSToolsModule
  4 +//
  5 +// Created by zhaolin on 2020/2/12.
  6 +//
  7 +
  8 +#import <UIKit/UIKit.h>
  9 +
  10 +NS_ASSUME_NONNULL_BEGIN
  11 +
  12 +@interface UIView (DSRoundedRectView)
  13 +
  14 +/**
  15 + 切角
  16 +
  17 + @param radius 度数
  18 + */
  19 +-(void)cutRadius:(CGFloat)radius;
  20 +
  21 +/**
  22 + 切角
  23 +
  24 + @param corner 哪个角
  25 + @param cornerRadii 大小
  26 + */
  27 +-(void)cutCorner:(UIRectCorner)corner cornerRadii:(CGSize)cornerRadii;
  28 +
  29 +/**
  30 + 加圆形边框(超出切掉)
  31 +
  32 + @param color 颜色
  33 + @param lineWidth 线宽
  34 + @param radius 度数
  35 + */
  36 +-(void)addRoundBorderWithColor:(nonnull UIColor*)color lineWidth:(CGFloat)lineWidth radius:(CGFloat)radius;
  37 +
  38 +/**
  39 + 删除切角
  40 + */
  41 +-(void)removeCutRadius;
  42 +
  43 +@end
  44 +
  45 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/UIViewController+BKPageControlView.h 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Headers/UIViewController+BKPageControlView.h
  1 +//
  2 +// UIViewController+BKPageControlView.h
  3 +// DSCnliveShopSDK
  4 +//
  5 +// Created by zhaolin on 2019/8/21.
  6 +// Copyright © 2019 BIKE. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +@class BKPageControlView;
  11 +
  12 +NS_ASSUME_NONNULL_BEGIN
  13 +
  14 +@interface UIViewController (BKPageControlView)
  15 +
  16 +/**
  17 + 所在索引
  18 + */
  19 +@property (nonatomic,assign) NSUInteger bk_index;
  20 +/**
  21 + 子控制器的主滚动视图(用于计算出BKPageControlView主视图的contentSize)
  22 + 此属性会自动获取,也可以自己赋值更改。
  23 + */
  24 +@property (nonatomic,weak,nullable) UIScrollView * bk_mainScrollView;
  25 +/**
  26 + 该索引下子控制器的主滚动视图是否能滑动(默认不允许滑动, 该属性在有头视图、有多层BKPageControlView时有效)
  27 + */
  28 +@property (nonatomic,assign) BOOL bk_MSVScrollEnable;
  29 +/**
  30 + 分页控制视图
  31 + */
  32 +@property (nonatomic,weak,nullable) BKPageControlView * bk_pageControlView;
  33 +/**
  34 + 子控制器主滚动视图是否跟随BKPageControlView主滚动视图一起向下滑动 (默认YES, 且BKPageControlView主滚动视图.scrollOrder == BKPageControlBgScrollViewScrollOrderFirstScrollContentView)
  35 + 有一种情况 当滑动顺序为内容视图时 父滚动视图的contentOffsetY==0 子控制器主滚动视图contentOffsetY>0 此时向下划有特殊需求时可以使用该属性来禁止跟随
  36 + */
  37 +@property (nonatomic,assign) BOOL bk_isFollowSuperScrollViewScrollDown;
  38 +
  39 +@end
  40 +
  41 +NS_ASSUME_NONNULL_END
... ...
DSToolsModuleF/Frameworks/DSToolsModule.framework/Info.plist 0 → 100644
No preview for this file type
DSToolsModuleF/Frameworks/DSToolsModule.framework/Modules/module.modulemap 0 → 100644
  1 +++ a/DSToolsModuleF/Frameworks/DSToolsModule.framework/Modules/module.modulemap
  1 +framework module DSToolsModule {
  2 + umbrella header "DSToolsModule-umbrella.h"
  3 +
  4 + export *
  5 + module * { export * }
  6 +}
... ...
Example/DSToolsModuleF.xcodeproj/project.pbxproj 0 → 100644
  1 +++ a/Example/DSToolsModuleF.xcodeproj/project.pbxproj
  1 +// !$*UTF8*$!
  2 +{
  3 + archiveVersion = 1;
  4 + classes = {
  5 + };
  6 + objectVersion = 46;
  7 + objects = {
  8 +
  9 +/* Begin PBXBuildFile section */
  10 + 0578847C452FCE0D6930F610 /* Pods_DSToolsModuleF_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9295B3C6F84E90B8E2126930 /* Pods_DSToolsModuleF_Example.framework */; };
  11 + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
  12 + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
  13 + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
  14 + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; };
  15 + 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; };
  16 + 6003F59E195388D20070C39A /* DSAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* DSAppDelegate.m */; };
  17 + 6003F5A7195388D20070C39A /* DSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5A6195388D20070C39A /* DSViewController.m */; };
  18 + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; };
  19 + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; };
  20 + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
  21 + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
  22 + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
  23 + 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
  24 + 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; };
  25 + 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
  26 + 9BEC89A2003F37EDBB64A0C6 /* Pods_DSToolsModuleF_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F832EA2CC0DF8D5B68AF4586 /* Pods_DSToolsModuleF_Tests.framework */; };
  27 +/* End PBXBuildFile section */
  28 +
  29 +/* Begin PBXContainerItemProxy section */
  30 + 6003F5B3195388D20070C39A /* PBXContainerItemProxy */ = {
  31 + isa = PBXContainerItemProxy;
  32 + containerPortal = 6003F582195388D10070C39A /* Project object */;
  33 + proxyType = 1;
  34 + remoteGlobalIDString = 6003F589195388D20070C39A;
  35 + remoteInfo = DSToolsModuleF;
  36 + };
  37 +/* End PBXContainerItemProxy section */
  38 +
  39 +/* Begin PBXFileReference section */
  40 + 3C8AD5A404889886EC4E68E8 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
  41 + 6003F58A195388D20070C39A /* DSToolsModuleF_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DSToolsModuleF_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
  42 + 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
  43 + 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
  44 + 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
  45 + 6003F595195388D20070C39A /* DSToolsModuleF-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DSToolsModuleF-Info.plist"; sourceTree = "<group>"; };
  46 + 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
  47 + 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
  48 + 6003F59B195388D20070C39A /* DSToolsModuleF-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DSToolsModuleF-Prefix.pch"; sourceTree = "<group>"; };
  49 + 6003F59C195388D20070C39A /* DSAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSAppDelegate.h; sourceTree = "<group>"; };
  50 + 6003F59D195388D20070C39A /* DSAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSAppDelegate.m; sourceTree = "<group>"; };
  51 + 6003F5A5195388D20070C39A /* DSViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DSViewController.h; sourceTree = "<group>"; };
  52 + 6003F5A6195388D20070C39A /* DSViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DSViewController.m; sourceTree = "<group>"; };
  53 + 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
  54 + 6003F5AE195388D20070C39A /* DSToolsModuleF_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DSToolsModuleF_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  55 + 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
  56 + 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; };
  57 + 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
  58 + 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; };
  59 + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = "<group>"; };
  60 + 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
  61 + 7A0740CF9D346ADC5576489E /* Pods-DSToolsModuleF_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DSToolsModuleF_Tests.release.xcconfig"; path = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests.release.xcconfig"; sourceTree = "<group>"; };
  62 + 7B2FD3FFC99BEC155D02DAC0 /* DSToolsModuleF.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = DSToolsModuleF.podspec; path = ../DSToolsModuleF.podspec; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
  63 + 81E3B679F0887E6E008175A9 /* Pods-DSToolsModuleF_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DSToolsModuleF_Example.release.xcconfig"; path = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example.release.xcconfig"; sourceTree = "<group>"; };
  64 + 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
  65 + 8F5623851B6E6D9D4605C2C4 /* Pods-DSToolsModuleF_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DSToolsModuleF_Example.debug.xcconfig"; path = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example.debug.xcconfig"; sourceTree = "<group>"; };
  66 + 9295B3C6F84E90B8E2126930 /* Pods_DSToolsModuleF_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DSToolsModuleF_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  67 + CEF32D9978BBC4FEB9F5D9FF /* Pods-DSToolsModuleF_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DSToolsModuleF_Tests.debug.xcconfig"; path = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests.debug.xcconfig"; sourceTree = "<group>"; };
  68 + ED8705898276AEA6F34A4F0E /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
  69 + F832EA2CC0DF8D5B68AF4586 /* Pods_DSToolsModuleF_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DSToolsModuleF_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  70 +/* End PBXFileReference section */
  71 +
  72 +/* Begin PBXFrameworksBuildPhase section */
  73 + 6003F587195388D20070C39A /* Frameworks */ = {
  74 + isa = PBXFrameworksBuildPhase;
  75 + buildActionMask = 2147483647;
  76 + files = (
  77 + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */,
  78 + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */,
  79 + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */,
  80 + 0578847C452FCE0D6930F610 /* Pods_DSToolsModuleF_Example.framework in Frameworks */,
  81 + );
  82 + runOnlyForDeploymentPostprocessing = 0;
  83 + };
  84 + 6003F5AB195388D20070C39A /* Frameworks */ = {
  85 + isa = PBXFrameworksBuildPhase;
  86 + buildActionMask = 2147483647;
  87 + files = (
  88 + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
  89 + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
  90 + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
  91 + 9BEC89A2003F37EDBB64A0C6 /* Pods_DSToolsModuleF_Tests.framework in Frameworks */,
  92 + );
  93 + runOnlyForDeploymentPostprocessing = 0;
  94 + };
  95 +/* End PBXFrameworksBuildPhase section */
  96 +
  97 +/* Begin PBXGroup section */
  98 + 4FDEF9B0B33EFF0A169AFA71 /* Pods */ = {
  99 + isa = PBXGroup;
  100 + children = (
  101 + 8F5623851B6E6D9D4605C2C4 /* Pods-DSToolsModuleF_Example.debug.xcconfig */,
  102 + 81E3B679F0887E6E008175A9 /* Pods-DSToolsModuleF_Example.release.xcconfig */,
  103 + CEF32D9978BBC4FEB9F5D9FF /* Pods-DSToolsModuleF_Tests.debug.xcconfig */,
  104 + 7A0740CF9D346ADC5576489E /* Pods-DSToolsModuleF_Tests.release.xcconfig */,
  105 + );
  106 + path = Pods;
  107 + sourceTree = "<group>";
  108 + };
  109 + 6003F581195388D10070C39A = {
  110 + isa = PBXGroup;
  111 + children = (
  112 + 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */,
  113 + 6003F593195388D20070C39A /* Example for DSToolsModuleF */,
  114 + 6003F5B5195388D20070C39A /* Tests */,
  115 + 6003F58C195388D20070C39A /* Frameworks */,
  116 + 6003F58B195388D20070C39A /* Products */,
  117 + 4FDEF9B0B33EFF0A169AFA71 /* Pods */,
  118 + );
  119 + sourceTree = "<group>";
  120 + };
  121 + 6003F58B195388D20070C39A /* Products */ = {
  122 + isa = PBXGroup;
  123 + children = (
  124 + 6003F58A195388D20070C39A /* DSToolsModuleF_Example.app */,
  125 + 6003F5AE195388D20070C39A /* DSToolsModuleF_Tests.xctest */,
  126 + );
  127 + name = Products;
  128 + sourceTree = "<group>";
  129 + };
  130 + 6003F58C195388D20070C39A /* Frameworks */ = {
  131 + isa = PBXGroup;
  132 + children = (
  133 + 6003F58D195388D20070C39A /* Foundation.framework */,
  134 + 6003F58F195388D20070C39A /* CoreGraphics.framework */,
  135 + 6003F591195388D20070C39A /* UIKit.framework */,
  136 + 6003F5AF195388D20070C39A /* XCTest.framework */,
  137 + 9295B3C6F84E90B8E2126930 /* Pods_DSToolsModuleF_Example.framework */,
  138 + F832EA2CC0DF8D5B68AF4586 /* Pods_DSToolsModuleF_Tests.framework */,
  139 + );
  140 + name = Frameworks;
  141 + sourceTree = "<group>";
  142 + };
  143 + 6003F593195388D20070C39A /* Example for DSToolsModuleF */ = {
  144 + isa = PBXGroup;
  145 + children = (
  146 + 6003F59C195388D20070C39A /* DSAppDelegate.h */,
  147 + 6003F59D195388D20070C39A /* DSAppDelegate.m */,
  148 + 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */,
  149 + 6003F5A5195388D20070C39A /* DSViewController.h */,
  150 + 6003F5A6195388D20070C39A /* DSViewController.m */,
  151 + 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */,
  152 + 6003F5A8195388D20070C39A /* Images.xcassets */,
  153 + 6003F594195388D20070C39A /* Supporting Files */,
  154 + );
  155 + name = "Example for DSToolsModuleF";
  156 + path = DSToolsModuleF;
  157 + sourceTree = "<group>";
  158 + };
  159 + 6003F594195388D20070C39A /* Supporting Files */ = {
  160 + isa = PBXGroup;
  161 + children = (
  162 + 6003F595195388D20070C39A /* DSToolsModuleF-Info.plist */,
  163 + 6003F596195388D20070C39A /* InfoPlist.strings */,
  164 + 6003F599195388D20070C39A /* main.m */,
  165 + 6003F59B195388D20070C39A /* DSToolsModuleF-Prefix.pch */,
  166 + );
  167 + name = "Supporting Files";
  168 + sourceTree = "<group>";
  169 + };
  170 + 6003F5B5195388D20070C39A /* Tests */ = {
  171 + isa = PBXGroup;
  172 + children = (
  173 + 6003F5BB195388D20070C39A /* Tests.m */,
  174 + 6003F5B6195388D20070C39A /* Supporting Files */,
  175 + );
  176 + path = Tests;
  177 + sourceTree = "<group>";
  178 + };
  179 + 6003F5B6195388D20070C39A /* Supporting Files */ = {
  180 + isa = PBXGroup;
  181 + children = (
  182 + 6003F5B7195388D20070C39A /* Tests-Info.plist */,
  183 + 6003F5B8195388D20070C39A /* InfoPlist.strings */,
  184 + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */,
  185 + );
  186 + name = "Supporting Files";
  187 + sourceTree = "<group>";
  188 + };
  189 + 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = {
  190 + isa = PBXGroup;
  191 + children = (
  192 + 7B2FD3FFC99BEC155D02DAC0 /* DSToolsModuleF.podspec */,
  193 + 3C8AD5A404889886EC4E68E8 /* README.md */,
  194 + ED8705898276AEA6F34A4F0E /* LICENSE */,
  195 + );
  196 + name = "Podspec Metadata";
  197 + sourceTree = "<group>";
  198 + };
  199 +/* End PBXGroup section */
  200 +
  201 +/* Begin PBXNativeTarget section */
  202 + 6003F589195388D20070C39A /* DSToolsModuleF_Example */ = {
  203 + isa = PBXNativeTarget;
  204 + buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "DSToolsModuleF_Example" */;
  205 + buildPhases = (
  206 + F18C9AA820D7C47300682B30 /* [CP] Check Pods Manifest.lock */,
  207 + 6003F586195388D20070C39A /* Sources */,
  208 + 6003F587195388D20070C39A /* Frameworks */,
  209 + 6003F588195388D20070C39A /* Resources */,
  210 + 9FBD3268C70F78A6B6D3C91D /* [CP] Embed Pods Frameworks */,
  211 + );
  212 + buildRules = (
  213 + );
  214 + dependencies = (
  215 + );
  216 + name = DSToolsModuleF_Example;
  217 + productName = DSToolsModuleF;
  218 + productReference = 6003F58A195388D20070C39A /* DSToolsModuleF_Example.app */;
  219 + productType = "com.apple.product-type.application";
  220 + };
  221 + 6003F5AD195388D20070C39A /* DSToolsModuleF_Tests */ = {
  222 + isa = PBXNativeTarget;
  223 + buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "DSToolsModuleF_Tests" */;
  224 + buildPhases = (
  225 + BB5A4AEB5143E29E825FEE03 /* [CP] Check Pods Manifest.lock */,
  226 + 6003F5AA195388D20070C39A /* Sources */,
  227 + 6003F5AB195388D20070C39A /* Frameworks */,
  228 + 6003F5AC195388D20070C39A /* Resources */,
  229 + );
  230 + buildRules = (
  231 + );
  232 + dependencies = (
  233 + 6003F5B4195388D20070C39A /* PBXTargetDependency */,
  234 + );
  235 + name = DSToolsModuleF_Tests;
  236 + productName = DSToolsModuleFTests;
  237 + productReference = 6003F5AE195388D20070C39A /* DSToolsModuleF_Tests.xctest */;
  238 + productType = "com.apple.product-type.bundle.unit-test";
  239 + };
  240 +/* End PBXNativeTarget section */
  241 +
  242 +/* Begin PBXProject section */
  243 + 6003F582195388D10070C39A /* Project object */ = {
  244 + isa = PBXProject;
  245 + attributes = {
  246 + CLASSPREFIX = DS;
  247 + LastUpgradeCheck = 0720;
  248 + ORGANIZATIONNAME = "694092596@qq.com";
  249 + TargetAttributes = {
  250 + 6003F589195388D20070C39A = {
  251 + DevelopmentTeam = 94X49GG3ZW;
  252 + };
  253 + 6003F5AD195388D20070C39A = {
  254 + TestTargetID = 6003F589195388D20070C39A;
  255 + };
  256 + };
  257 + };
  258 + buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "DSToolsModuleF" */;
  259 + compatibilityVersion = "Xcode 3.2";
  260 + developmentRegion = English;
  261 + hasScannedForEncodings = 0;
  262 + knownRegions = (
  263 + English,
  264 + en,
  265 + Base,
  266 + );
  267 + mainGroup = 6003F581195388D10070C39A;
  268 + productRefGroup = 6003F58B195388D20070C39A /* Products */;
  269 + projectDirPath = "";
  270 + projectRoot = "";
  271 + targets = (
  272 + 6003F589195388D20070C39A /* DSToolsModuleF_Example */,
  273 + 6003F5AD195388D20070C39A /* DSToolsModuleF_Tests */,
  274 + );
  275 + };
  276 +/* End PBXProject section */
  277 +
  278 +/* Begin PBXResourcesBuildPhase section */
  279 + 6003F588195388D20070C39A /* Resources */ = {
  280 + isa = PBXResourcesBuildPhase;
  281 + buildActionMask = 2147483647;
  282 + files = (
  283 + 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */,
  284 + 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */,
  285 + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */,
  286 + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */,
  287 + );
  288 + runOnlyForDeploymentPostprocessing = 0;
  289 + };
  290 + 6003F5AC195388D20070C39A /* Resources */ = {
  291 + isa = PBXResourcesBuildPhase;
  292 + buildActionMask = 2147483647;
  293 + files = (
  294 + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */,
  295 + );
  296 + runOnlyForDeploymentPostprocessing = 0;
  297 + };
  298 +/* End PBXResourcesBuildPhase section */
  299 +
  300 +/* Begin PBXShellScriptBuildPhase section */
  301 + 9FBD3268C70F78A6B6D3C91D /* [CP] Embed Pods Frameworks */ = {
  302 + isa = PBXShellScriptBuildPhase;
  303 + buildActionMask = 2147483647;
  304 + files = (
  305 + );
  306 + inputPaths = (
  307 + "${PODS_ROOT}/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-frameworks.sh",
  308 + "${BUILT_PRODUCTS_DIR}/DSToolsModuleF/DSToolsModuleF.framework",
  309 + );
  310 + name = "[CP] Embed Pods Frameworks";
  311 + outputPaths = (
  312 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSToolsModuleF.framework",
  313 + );
  314 + runOnlyForDeploymentPostprocessing = 0;
  315 + shellPath = /bin/sh;
  316 + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-frameworks.sh\"\n";
  317 + showEnvVarsInLog = 0;
  318 + };
  319 + BB5A4AEB5143E29E825FEE03 /* [CP] Check Pods Manifest.lock */ = {
  320 + isa = PBXShellScriptBuildPhase;
  321 + buildActionMask = 2147483647;
  322 + files = (
  323 + );
  324 + inputFileListPaths = (
  325 + );
  326 + inputPaths = (
  327 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
  328 + "${PODS_ROOT}/Manifest.lock",
  329 + );
  330 + name = "[CP] Check Pods Manifest.lock";
  331 + outputFileListPaths = (
  332 + );
  333 + outputPaths = (
  334 + "$(DERIVED_FILE_DIR)/Pods-DSToolsModuleF_Tests-checkManifestLockResult.txt",
  335 + );
  336 + runOnlyForDeploymentPostprocessing = 0;
  337 + shellPath = /bin/sh;
  338 + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
  339 + showEnvVarsInLog = 0;
  340 + };
  341 + F18C9AA820D7C47300682B30 /* [CP] Check Pods Manifest.lock */ = {
  342 + isa = PBXShellScriptBuildPhase;
  343 + buildActionMask = 2147483647;
  344 + files = (
  345 + );
  346 + inputFileListPaths = (
  347 + );
  348 + inputPaths = (
  349 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
  350 + "${PODS_ROOT}/Manifest.lock",
  351 + );
  352 + name = "[CP] Check Pods Manifest.lock";
  353 + outputFileListPaths = (
  354 + );
  355 + outputPaths = (
  356 + "$(DERIVED_FILE_DIR)/Pods-DSToolsModuleF_Example-checkManifestLockResult.txt",
  357 + );
  358 + runOnlyForDeploymentPostprocessing = 0;
  359 + shellPath = /bin/sh;
  360 + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
  361 + showEnvVarsInLog = 0;
  362 + };
  363 +/* End PBXShellScriptBuildPhase section */
  364 +
  365 +/* Begin PBXSourcesBuildPhase section */
  366 + 6003F586195388D20070C39A /* Sources */ = {
  367 + isa = PBXSourcesBuildPhase;
  368 + buildActionMask = 2147483647;
  369 + files = (
  370 + 6003F59E195388D20070C39A /* DSAppDelegate.m in Sources */,
  371 + 6003F5A7195388D20070C39A /* DSViewController.m in Sources */,
  372 + 6003F59A195388D20070C39A /* main.m in Sources */,
  373 + );
  374 + runOnlyForDeploymentPostprocessing = 0;
  375 + };
  376 + 6003F5AA195388D20070C39A /* Sources */ = {
  377 + isa = PBXSourcesBuildPhase;
  378 + buildActionMask = 2147483647;
  379 + files = (
  380 + 6003F5BC195388D20070C39A /* Tests.m in Sources */,
  381 + );
  382 + runOnlyForDeploymentPostprocessing = 0;
  383 + };
  384 +/* End PBXSourcesBuildPhase section */
  385 +
  386 +/* Begin PBXTargetDependency section */
  387 + 6003F5B4195388D20070C39A /* PBXTargetDependency */ = {
  388 + isa = PBXTargetDependency;
  389 + target = 6003F589195388D20070C39A /* DSToolsModuleF_Example */;
  390 + targetProxy = 6003F5B3195388D20070C39A /* PBXContainerItemProxy */;
  391 + };
  392 +/* End PBXTargetDependency section */
  393 +
  394 +/* Begin PBXVariantGroup section */
  395 + 6003F596195388D20070C39A /* InfoPlist.strings */ = {
  396 + isa = PBXVariantGroup;
  397 + children = (
  398 + 6003F597195388D20070C39A /* en */,
  399 + );
  400 + name = InfoPlist.strings;
  401 + sourceTree = "<group>";
  402 + };
  403 + 6003F5B8195388D20070C39A /* InfoPlist.strings */ = {
  404 + isa = PBXVariantGroup;
  405 + children = (
  406 + 6003F5B9195388D20070C39A /* en */,
  407 + );
  408 + name = InfoPlist.strings;
  409 + sourceTree = "<group>";
  410 + };
  411 + 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */ = {
  412 + isa = PBXVariantGroup;
  413 + children = (
  414 + 71719F9E1E33DC2100824A3D /* Base */,
  415 + );
  416 + name = LaunchScreen.storyboard;
  417 + sourceTree = "<group>";
  418 + };
  419 +/* End PBXVariantGroup section */
  420 +
  421 +/* Begin XCBuildConfiguration section */
  422 + 6003F5BD195388D20070C39A /* Debug */ = {
  423 + isa = XCBuildConfiguration;
  424 + buildSettings = {
  425 + ALWAYS_SEARCH_USER_PATHS = NO;
  426 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  427 + CLANG_CXX_LIBRARY = "libc++";
  428 + CLANG_ENABLE_MODULES = YES;
  429 + CLANG_ENABLE_OBJC_ARC = YES;
  430 + CLANG_WARN_BOOL_CONVERSION = YES;
  431 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  432 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  433 + CLANG_WARN_EMPTY_BODY = YES;
  434 + CLANG_WARN_ENUM_CONVERSION = YES;
  435 + CLANG_WARN_INT_CONVERSION = YES;
  436 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  437 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  438 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  439 + COPY_PHASE_STRIP = NO;
  440 + ENABLE_TESTABILITY = YES;
  441 + GCC_C_LANGUAGE_STANDARD = gnu99;
  442 + GCC_DYNAMIC_NO_PIC = NO;
  443 + GCC_OPTIMIZATION_LEVEL = 0;
  444 + GCC_PREPROCESSOR_DEFINITIONS = (
  445 + "DEBUG=1",
  446 + "$(inherited)",
  447 + );
  448 + GCC_SYMBOLS_PRIVATE_EXTERN = NO;
  449 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  450 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  451 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  452 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  453 + GCC_WARN_UNUSED_FUNCTION = YES;
  454 + GCC_WARN_UNUSED_VARIABLE = YES;
  455 + IPHONEOS_DEPLOYMENT_TARGET = 9.3;
  456 + ONLY_ACTIVE_ARCH = YES;
  457 + SDKROOT = iphoneos;
  458 + TARGETED_DEVICE_FAMILY = "1,2";
  459 + };
  460 + name = Debug;
  461 + };
  462 + 6003F5BE195388D20070C39A /* Release */ = {
  463 + isa = XCBuildConfiguration;
  464 + buildSettings = {
  465 + ALWAYS_SEARCH_USER_PATHS = NO;
  466 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  467 + CLANG_CXX_LIBRARY = "libc++";
  468 + CLANG_ENABLE_MODULES = YES;
  469 + CLANG_ENABLE_OBJC_ARC = YES;
  470 + CLANG_WARN_BOOL_CONVERSION = YES;
  471 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  472 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  473 + CLANG_WARN_EMPTY_BODY = YES;
  474 + CLANG_WARN_ENUM_CONVERSION = YES;
  475 + CLANG_WARN_INT_CONVERSION = YES;
  476 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  477 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  478 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  479 + COPY_PHASE_STRIP = YES;
  480 + ENABLE_NS_ASSERTIONS = NO;
  481 + GCC_C_LANGUAGE_STANDARD = gnu99;
  482 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  483 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  484 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  485 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  486 + GCC_WARN_UNUSED_FUNCTION = YES;
  487 + GCC_WARN_UNUSED_VARIABLE = YES;
  488 + IPHONEOS_DEPLOYMENT_TARGET = 9.3;
  489 + SDKROOT = iphoneos;
  490 + TARGETED_DEVICE_FAMILY = "1,2";
  491 + VALIDATE_PRODUCT = YES;
  492 + };
  493 + name = Release;
  494 + };
  495 + 6003F5C0195388D20070C39A /* Debug */ = {
  496 + isa = XCBuildConfiguration;
  497 + baseConfigurationReference = 8F5623851B6E6D9D4605C2C4 /* Pods-DSToolsModuleF_Example.debug.xcconfig */;
  498 + buildSettings = {
  499 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  500 + DEVELOPMENT_TEAM = 94X49GG3ZW;
  501 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
  502 + GCC_PREFIX_HEADER = "DSToolsModuleF/DSToolsModuleF-Prefix.pch";
  503 + INFOPLIST_FILE = "DSToolsModuleF/DSToolsModuleF-Info.plist";
  504 + MODULE_NAME = ExampleApp;
  505 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
  506 + PRODUCT_NAME = "$(TARGET_NAME)";
  507 + SWIFT_VERSION = 4.0;
  508 + WRAPPER_EXTENSION = app;
  509 + };
  510 + name = Debug;
  511 + };
  512 + 6003F5C1195388D20070C39A /* Release */ = {
  513 + isa = XCBuildConfiguration;
  514 + baseConfigurationReference = 81E3B679F0887E6E008175A9 /* Pods-DSToolsModuleF_Example.release.xcconfig */;
  515 + buildSettings = {
  516 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  517 + DEVELOPMENT_TEAM = 94X49GG3ZW;
  518 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
  519 + GCC_PREFIX_HEADER = "DSToolsModuleF/DSToolsModuleF-Prefix.pch";
  520 + INFOPLIST_FILE = "DSToolsModuleF/DSToolsModuleF-Info.plist";
  521 + MODULE_NAME = ExampleApp;
  522 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
  523 + PRODUCT_NAME = "$(TARGET_NAME)";
  524 + SWIFT_VERSION = 4.0;
  525 + WRAPPER_EXTENSION = app;
  526 + };
  527 + name = Release;
  528 + };
  529 + 6003F5C3195388D20070C39A /* Debug */ = {
  530 + isa = XCBuildConfiguration;
  531 + baseConfigurationReference = CEF32D9978BBC4FEB9F5D9FF /* Pods-DSToolsModuleF_Tests.debug.xcconfig */;
  532 + buildSettings = {
  533 + BUNDLE_LOADER = "$(TEST_HOST)";
  534 + FRAMEWORK_SEARCH_PATHS = (
  535 + "$(PLATFORM_DIR)/Developer/Library/Frameworks",
  536 + "$(inherited)",
  537 + "$(DEVELOPER_FRAMEWORKS_DIR)",
  538 + );
  539 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
  540 + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
  541 + GCC_PREPROCESSOR_DEFINITIONS = (
  542 + "DEBUG=1",
  543 + "$(inherited)",
  544 + );
  545 + INFOPLIST_FILE = "Tests/Tests-Info.plist";
  546 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
  547 + PRODUCT_NAME = "$(TARGET_NAME)";
  548 + SWIFT_VERSION = 4.0;
  549 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DSToolsModuleF_Example.app/DSToolsModuleF_Example";
  550 + WRAPPER_EXTENSION = xctest;
  551 + };
  552 + name = Debug;
  553 + };
  554 + 6003F5C4195388D20070C39A /* Release */ = {
  555 + isa = XCBuildConfiguration;
  556 + baseConfigurationReference = 7A0740CF9D346ADC5576489E /* Pods-DSToolsModuleF_Tests.release.xcconfig */;
  557 + buildSettings = {
  558 + BUNDLE_LOADER = "$(TEST_HOST)";
  559 + FRAMEWORK_SEARCH_PATHS = (
  560 + "$(PLATFORM_DIR)/Developer/Library/Frameworks",
  561 + "$(inherited)",
  562 + "$(DEVELOPER_FRAMEWORKS_DIR)",
  563 + );
  564 + GCC_PRECOMPILE_PREFIX_HEADER = YES;
  565 + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
  566 + INFOPLIST_FILE = "Tests/Tests-Info.plist";
  567 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
  568 + PRODUCT_NAME = "$(TARGET_NAME)";
  569 + SWIFT_VERSION = 4.0;
  570 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DSToolsModuleF_Example.app/DSToolsModuleF_Example";
  571 + WRAPPER_EXTENSION = xctest;
  572 + };
  573 + name = Release;
  574 + };
  575 +/* End XCBuildConfiguration section */
  576 +
  577 +/* Begin XCConfigurationList section */
  578 + 6003F585195388D10070C39A /* Build configuration list for PBXProject "DSToolsModuleF" */ = {
  579 + isa = XCConfigurationList;
  580 + buildConfigurations = (
  581 + 6003F5BD195388D20070C39A /* Debug */,
  582 + 6003F5BE195388D20070C39A /* Release */,
  583 + );
  584 + defaultConfigurationIsVisible = 0;
  585 + defaultConfigurationName = Release;
  586 + };
  587 + 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "DSToolsModuleF_Example" */ = {
  588 + isa = XCConfigurationList;
  589 + buildConfigurations = (
  590 + 6003F5C0195388D20070C39A /* Debug */,
  591 + 6003F5C1195388D20070C39A /* Release */,
  592 + );
  593 + defaultConfigurationIsVisible = 0;
  594 + defaultConfigurationName = Release;
  595 + };
  596 + 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "DSToolsModuleF_Tests" */ = {
  597 + isa = XCConfigurationList;
  598 + buildConfigurations = (
  599 + 6003F5C3195388D20070C39A /* Debug */,
  600 + 6003F5C4195388D20070C39A /* Release */,
  601 + );
  602 + defaultConfigurationIsVisible = 0;
  603 + defaultConfigurationName = Release;
  604 + };
  605 +/* End XCConfigurationList section */
  606 + };
  607 + rootObject = 6003F582195388D10070C39A /* Project object */;
  608 +}
... ...
Example/DSToolsModuleF.xcodeproj/project.xcworkspace/contents.xcworkspacedata 0 → 100644
  1 +++ a/Example/DSToolsModuleF.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "self:DSToolsModuleF.xcodeproj">
  6 + </FileRef>
  7 +</Workspace>
... ...
Example/DSToolsModuleF.xcodeproj/xcshareddata/xcschemes/DSToolsModuleF-Example.xcscheme 0 → 100644
  1 +++ a/Example/DSToolsModuleF.xcodeproj/xcshareddata/xcschemes/DSToolsModuleF-Example.xcscheme
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0720"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "6003F589195388D20070C39A"
  18 + BuildableName = "DSToolsModuleF_Example.app"
  19 + BlueprintName = "DSToolsModuleF_Example"
  20 + ReferencedContainer = "container:DSToolsModuleF.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + shouldUseLaunchSchemeArgsEnv = "YES">
  30 + <Testables>
  31 + <TestableReference
  32 + skipped = "NO">
  33 + <BuildableReference
  34 + BuildableIdentifier = "primary"
  35 + BlueprintIdentifier = "6003F5AD195388D20070C39A"
  36 + BuildableName = "DSToolsModuleF_Tests.xctest"
  37 + BlueprintName = "DSToolsModuleF_Tests"
  38 + ReferencedContainer = "container:DSToolsModuleF.xcodeproj">
  39 + </BuildableReference>
  40 + </TestableReference>
  41 + </Testables>
  42 + <MacroExpansion>
  43 + <BuildableReference
  44 + BuildableIdentifier = "primary"
  45 + BlueprintIdentifier = "6003F589195388D20070C39A"
  46 + BuildableName = "DSToolsModuleF_Example.app"
  47 + BlueprintName = "DSToolsModuleF_Example"
  48 + ReferencedContainer = "container:DSToolsModuleF.xcodeproj">
  49 + </BuildableReference>
  50 + </MacroExpansion>
  51 + <AdditionalOptions>
  52 + </AdditionalOptions>
  53 + </TestAction>
  54 + <LaunchAction
  55 + buildConfiguration = "Debug"
  56 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  57 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  58 + launchStyle = "0"
  59 + useCustomWorkingDirectory = "NO"
  60 + ignoresPersistentStateOnLaunch = "NO"
  61 + debugDocumentVersioning = "YES"
  62 + debugServiceExtension = "internal"
  63 + allowLocationSimulation = "YES">
  64 + <BuildableProductRunnable
  65 + runnableDebuggingMode = "0">
  66 + <BuildableReference
  67 + BuildableIdentifier = "primary"
  68 + BlueprintIdentifier = "6003F589195388D20070C39A"
  69 + BuildableName = "DSToolsModuleF_Example.app"
  70 + BlueprintName = "DSToolsModuleF_Example"
  71 + ReferencedContainer = "container:DSToolsModuleF.xcodeproj">
  72 + </BuildableReference>
  73 + </BuildableProductRunnable>
  74 + <AdditionalOptions>
  75 + </AdditionalOptions>
  76 + </LaunchAction>
  77 + <ProfileAction
  78 + buildConfiguration = "Release"
  79 + shouldUseLaunchSchemeArgsEnv = "YES"
  80 + savedToolIdentifier = ""
  81 + useCustomWorkingDirectory = "NO"
  82 + debugDocumentVersioning = "YES">
  83 + <BuildableProductRunnable
  84 + runnableDebuggingMode = "0">
  85 + <BuildableReference
  86 + BuildableIdentifier = "primary"
  87 + BlueprintIdentifier = "6003F589195388D20070C39A"
  88 + BuildableName = "DSToolsModuleF_Example.app"
  89 + BlueprintName = "DSToolsModuleF_Example"
  90 + ReferencedContainer = "container:DSToolsModuleF.xcodeproj">
  91 + </BuildableReference>
  92 + </BuildableProductRunnable>
  93 + </ProfileAction>
  94 + <AnalyzeAction
  95 + buildConfiguration = "Debug">
  96 + </AnalyzeAction>
  97 + <ArchiveAction
  98 + buildConfiguration = "Release"
  99 + revealArchiveInOrganizer = "YES">
  100 + </ArchiveAction>
  101 +</Scheme>
... ...
Example/DSToolsModuleF.xcworkspace/contents.xcworkspacedata 0 → 100644
  1 +++ a/Example/DSToolsModuleF.xcworkspace/contents.xcworkspacedata
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "group:DSToolsModuleF.xcodeproj">
  6 + </FileRef>
  7 + <FileRef
  8 + location = "group:Pods/Pods.xcodeproj">
  9 + </FileRef>
  10 +</Workspace>
... ...
Example/DSToolsModuleF.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 0 → 100644
  1 +++ a/Example/DSToolsModuleF.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>IDEDidComputeMac32BitWarning</key>
  6 + <true/>
  7 +</dict>
  8 +</plist>
... ...
Example/DSToolsModuleF/Base.lproj/LaunchScreen.storyboard 0 → 100644
  1 +++ a/Example/DSToolsModuleF/Base.lproj/LaunchScreen.storyboard
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <scenes>
  12 + <!--View Controller-->
  13 + <scene sceneID="EHf-IW-A2E">
  14 + <objects>
  15 + <viewController id="01J-lp-oVM" sceneMemberID="viewController">
  16 + <layoutGuides>
  17 + <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
  18 + <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
  19 + </layoutGuides>
  20 + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
  21 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  22 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  23 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  24 + </view>
  25 + </viewController>
  26 + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
  27 + </objects>
  28 + <point key="canvasLocation" x="53" y="375"/>
  29 + </scene>
  30 + </scenes>
  31 +</document>
... ...
Example/DSToolsModuleF/Base.lproj/Main.storyboard 0 → 100644
  1 +++ a/Example/DSToolsModuleF/Base.lproj/Main.storyboard
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="whP-gf-Uak">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <scenes>
  12 + <!--View Controller-->
  13 + <scene sceneID="wQg-tq-qST">
  14 + <objects>
  15 + <viewController id="whP-gf-Uak" customClass="DSViewController" sceneMemberID="viewController">
  16 + <layoutGuides>
  17 + <viewControllerLayoutGuide type="top" id="uEw-UM-LJ8"/>
  18 + <viewControllerLayoutGuide type="bottom" id="Mvr-aV-6Um"/>
  19 + </layoutGuides>
  20 + <view key="view" contentMode="scaleToFill" id="TpU-gO-2f1">
  21 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  22 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  23 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  24 + </view>
  25 + </viewController>
  26 + <placeholder placeholderIdentifier="IBFirstResponder" id="tc2-Qw-aMS" userLabel="First Responder" sceneMemberID="firstResponder"/>
  27 + </objects>
  28 + <point key="canvasLocation" x="305" y="433"/>
  29 + </scene>
  30 + </scenes>
  31 +</document>
... ...
Example/DSToolsModuleF/DSAppDelegate.h 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSAppDelegate.h
  1 +//
  2 +// DSAppDelegate.h
  3 +// DSToolsModuleF
  4 +//
  5 +// Created by 694092596@qq.com on 02/29/2020.
  6 +// Copyright (c) 2020 694092596@qq.com. All rights reserved.
  7 +//
  8 +
  9 +@import UIKit;
  10 +
  11 +@interface DSAppDelegate : UIResponder <UIApplicationDelegate>
  12 +
  13 +@property (strong, nonatomic) UIWindow *window;
  14 +
  15 +@end
... ...
Example/DSToolsModuleF/DSAppDelegate.m 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSAppDelegate.m
  1 +//
  2 +// DSAppDelegate.m
  3 +// DSToolsModuleF
  4 +//
  5 +// Created by 694092596@qq.com on 02/29/2020.
  6 +// Copyright (c) 2020 694092596@qq.com. All rights reserved.
  7 +//
  8 +
  9 +#import "DSAppDelegate.h"
  10 +
  11 +@implementation DSAppDelegate
  12 +
  13 +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  14 +{
  15 + // Override point for customization after application launch.
  16 + return YES;
  17 +}
  18 +
  19 +- (void)applicationWillResignActive:(UIApplication *)application
  20 +{
  21 + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
  22 + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
  23 +}
  24 +
  25 +- (void)applicationDidEnterBackground:(UIApplication *)application
  26 +{
  27 + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
  28 + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
  29 +}
  30 +
  31 +- (void)applicationWillEnterForeground:(UIApplication *)application
  32 +{
  33 + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
  34 +}
  35 +
  36 +- (void)applicationDidBecomeActive:(UIApplication *)application
  37 +{
  38 + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
  39 +}
  40 +
  41 +- (void)applicationWillTerminate:(UIApplication *)application
  42 +{
  43 + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
  44 +}
  45 +
  46 +@end
... ...
Example/DSToolsModuleF/DSToolsModuleF-Info.plist 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSToolsModuleF-Info.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleDisplayName</key>
  8 + <string>${PRODUCT_NAME}</string>
  9 + <key>CFBundleExecutable</key>
  10 + <string>${EXECUTABLE_NAME}</string>
  11 + <key>CFBundleIdentifier</key>
  12 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
  13 + <key>CFBundleInfoDictionaryVersion</key>
  14 + <string>6.0</string>
  15 + <key>CFBundleName</key>
  16 + <string>${PRODUCT_NAME}</string>
  17 + <key>CFBundlePackageType</key>
  18 + <string>APPL</string>
  19 + <key>CFBundleShortVersionString</key>
  20 + <string>1.0</string>
  21 + <key>CFBundleSignature</key>
  22 + <string>????</string>
  23 + <key>CFBundleVersion</key>
  24 + <string>1.0</string>
  25 + <key>LSRequiresIPhoneOS</key>
  26 + <true/>
  27 + <key>UILaunchStoryboardName</key>
  28 + <string>LaunchScreen</string>
  29 + <key>UIMainStoryboardFile</key>
  30 + <string>Main</string>
  31 + <key>UIRequiredDeviceCapabilities</key>
  32 + <array>
  33 + <string>armv7</string>
  34 + </array>
  35 + <key>UISupportedInterfaceOrientations</key>
  36 + <array>
  37 + <string>UIInterfaceOrientationPortrait</string>
  38 + <string>UIInterfaceOrientationLandscapeLeft</string>
  39 + <string>UIInterfaceOrientationLandscapeRight</string>
  40 + </array>
  41 + <key>UISupportedInterfaceOrientations~ipad</key>
  42 + <array>
  43 + <string>UIInterfaceOrientationPortrait</string>
  44 + <string>UIInterfaceOrientationPortraitUpsideDown</string>
  45 + <string>UIInterfaceOrientationLandscapeLeft</string>
  46 + <string>UIInterfaceOrientationLandscapeRight</string>
  47 + </array>
  48 +</dict>
  49 +</plist>
... ...
Example/DSToolsModuleF/DSToolsModuleF-Prefix.pch 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSToolsModuleF-Prefix.pch
  1 +//
  2 +// Prefix header
  3 +//
  4 +// The contents of this file are implicitly included at the beginning of every source file.
  5 +//
  6 +
  7 +#import <Availability.h>
  8 +
  9 +#ifndef __IPHONE_5_0
  10 +#warning "This project uses features only available in iOS SDK 5.0 and later."
  11 +#endif
  12 +
  13 +#ifdef __OBJC__
  14 + @import UIKit;
  15 + @import Foundation;
  16 +#endif
... ...
Example/DSToolsModuleF/DSViewController.h 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSViewController.h
  1 +//
  2 +// DSViewController.h
  3 +// DSToolsModuleF
  4 +//
  5 +// Created by 694092596@qq.com on 02/29/2020.
  6 +// Copyright (c) 2020 694092596@qq.com. All rights reserved.
  7 +//
  8 +
  9 +@import UIKit;
  10 +
  11 +@interface DSViewController : UIViewController
  12 +
  13 +@end
... ...
Example/DSToolsModuleF/DSViewController.m 0 → 100644
  1 +++ a/Example/DSToolsModuleF/DSViewController.m
  1 +//
  2 +// DSViewController.m
  3 +// DSToolsModuleF
  4 +//
  5 +// Created by 694092596@qq.com on 02/29/2020.
  6 +// Copyright (c) 2020 694092596@qq.com. All rights reserved.
  7 +//
  8 +
  9 +#import "DSViewController.h"
  10 +
  11 +@interface DSViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation DSViewController
  16 +
  17 +- (void)viewDidLoad
  18 +{
  19 + [super viewDidLoad];
  20 + // Do any additional setup after loading the view, typically from a nib.
  21 +}
  22 +
  23 +- (void)didReceiveMemoryWarning
  24 +{
  25 + [super didReceiveMemoryWarning];
  26 + // Dispose of any resources that can be recreated.
  27 +}
  28 +
  29 +@end
... ...
Example/DSToolsModuleF/Images.xcassets/AppIcon.appiconset/Contents.json 0 → 100644
  1 +++ a/Example/DSToolsModuleF/Images.xcassets/AppIcon.appiconset/Contents.json
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "iphone",
  5 + "size" : "20x20",
  6 + "scale" : "2x"
  7 + },
  8 + {
  9 + "idiom" : "iphone",
  10 + "size" : "20x20",
  11 + "scale" : "3x"
  12 + },
  13 + {
  14 + "idiom" : "iphone",
  15 + "size" : "29x29",
  16 + "scale" : "2x"
  17 + },
  18 + {
  19 + "idiom" : "iphone",
  20 + "size" : "29x29",
  21 + "scale" : "3x"
  22 + },
  23 + {
  24 + "idiom" : "iphone",
  25 + "size" : "40x40",
  26 + "scale" : "2x"
  27 + },
  28 + {
  29 + "idiom" : "iphone",
  30 + "size" : "40x40",
  31 + "scale" : "3x"
  32 + },
  33 + {
  34 + "idiom" : "iphone",
  35 + "size" : "60x60",
  36 + "scale" : "2x"
  37 + },
  38 + {
  39 + "idiom" : "iphone",
  40 + "size" : "60x60",
  41 + "scale" : "3x"
  42 + },
  43 + {
  44 + "idiom" : "ipad",
  45 + "size" : "20x20",
  46 + "scale" : "1x"
  47 + },
  48 + {
  49 + "idiom" : "ipad",
  50 + "size" : "20x20",
  51 + "scale" : "2x"
  52 + },
  53 + {
  54 + "idiom" : "ipad",
  55 + "size" : "29x29",
  56 + "scale" : "1x"
  57 + },
  58 + {
  59 + "idiom" : "ipad",
  60 + "size" : "29x29",
  61 + "scale" : "2x"
  62 + },
  63 + {
  64 + "idiom" : "ipad",
  65 + "size" : "40x40",
  66 + "scale" : "1x"
  67 + },
  68 + {
  69 + "idiom" : "ipad",
  70 + "size" : "40x40",
  71 + "scale" : "2x"
  72 + },
  73 + {
  74 + "idiom" : "ipad",
  75 + "size" : "76x76",
  76 + "scale" : "1x"
  77 + },
  78 + {
  79 + "idiom" : "ipad",
  80 + "size" : "76x76",
  81 + "scale" : "2x"
  82 + },
  83 + {
  84 + "idiom" : "ipad",
  85 + "size" : "83.5x83.5",
  86 + "scale" : "2x"
  87 + },
  88 + {
  89 + "idiom" : "ios-marketing",
  90 + "size" : "1024x1024",
  91 + "scale" : "1x"
  92 + }
  93 + ],
  94 + "info" : {
  95 + "version" : 1,
  96 + "author" : "xcode"
  97 + }
  98 +}
... ...
Example/DSToolsModuleF/en.lproj/InfoPlist.strings 0 → 100644
  1 +++ a/Example/DSToolsModuleF/en.lproj/InfoPlist.strings
  1 +/* Localized versions of Info.plist keys */
  2 +
... ...
Example/DSToolsModuleF/main.m 0 → 100644
  1 +++ a/Example/DSToolsModuleF/main.m
  1 +//
  2 +// main.m
  3 +// DSToolsModuleF
  4 +//
  5 +// Created by 694092596@qq.com on 02/29/2020.
  6 +// Copyright (c) 2020 694092596@qq.com. All rights reserved.
  7 +//
  8 +
  9 +@import UIKit;
  10 +#import "DSAppDelegate.h"
  11 +
  12 +int main(int argc, char * argv[])
  13 +{
  14 + @autoreleasepool {
  15 + return UIApplicationMain(argc, argv, nil, NSStringFromClass([DSAppDelegate class]));
  16 + }
  17 +}
... ...
Example/Podfile 0 → 100644
  1 +++ a/Example/Podfile
  1 +use_frameworks!
  2 +
  3 +platform :ios, '8.0'
  4 +
  5 +target 'DSToolsModuleF_Example' do
  6 + pod 'DSToolsModuleF', :path => '../'
  7 +
  8 + target 'DSToolsModuleF_Tests' do
  9 + inherit! :search_paths
  10 +
  11 +
  12 + end
  13 +end
... ...
Example/Podfile.lock 0 → 100644
  1 +++ a/Example/Podfile.lock
  1 +PODS:
  2 + - DSToolsModuleF (0.1.0)
  3 +
  4 +DEPENDENCIES:
  5 + - DSToolsModuleF (from `../`)
  6 +
  7 +EXTERNAL SOURCES:
  8 + DSToolsModuleF:
  9 + :path: "../"
  10 +
  11 +SPEC CHECKSUMS:
  12 + DSToolsModuleF: 64e2a40684f0650a32343488b9104041b6e9f7fb
  13 +
  14 +PODFILE CHECKSUM: 246bfbd3c43f04e7642bb628a4bd3882e1e9da43
  15 +
  16 +COCOAPODS: 1.8.4
... ...
Example/Pods/Local Podspecs/DSToolsModuleF.podspec.json 0 → 100644
  1 +++ a/Example/Pods/Local Podspecs/DSToolsModuleF.podspec.json
  1 +{
  2 + "name": "DSToolsModuleF",
  3 + "version": "0.1.0",
  4 + "summary": "A short description of DSToolsModuleF.",
  5 + "description": "TODO: Add long description of the pod here.",
  6 + "homepage": "https://github.com/694092596@qq.com/DSToolsModuleF",
  7 + "license": {
  8 + "type": "MIT",
  9 + "file": "LICENSE"
  10 + },
  11 + "authors": {
  12 + "694092596@qq.com": "694092596@qq.com"
  13 + },
  14 + "source": {
  15 + "git": "https://github.com/694092596@qq.com/DSToolsModuleF.git",
  16 + "tag": "0.1.0"
  17 + },
  18 + "platforms": {
  19 + "ios": "8.0"
  20 + },
  21 + "source_files": "DSToolsModuleF/Classes/**/*"
  22 +}
... ...
Example/Pods/Manifest.lock 0 → 100644
  1 +++ a/Example/Pods/Manifest.lock
  1 +PODS:
  2 + - DSToolsModuleF (0.1.0)
  3 +
  4 +DEPENDENCIES:
  5 + - DSToolsModuleF (from `../`)
  6 +
  7 +EXTERNAL SOURCES:
  8 + DSToolsModuleF:
  9 + :path: "../"
  10 +
  11 +SPEC CHECKSUMS:
  12 + DSToolsModuleF: 64e2a40684f0650a32343488b9104041b6e9f7fb
  13 +
  14 +PODFILE CHECKSUM: 246bfbd3c43f04e7642bb628a4bd3882e1e9da43
  15 +
  16 +COCOAPODS: 1.8.4
... ...
Example/Pods/Pods.xcodeproj/project.pbxproj 0 → 100644
  1 +++ a/Example/Pods/Pods.xcodeproj/project.pbxproj
  1 +// !$*UTF8*$!
  2 +{
  3 + archiveVersion = 1;
  4 + classes = {
  5 + };
  6 + objectVersion = 46;
  7 + objects = {
  8 +
  9 +/* Begin PBXBuildFile section */
  10 + 0B22D9B71370C5498B5C94DBFA3844A8 /* DSToolsModuleF-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EFCEF4FB5DF4C85465DFBA304F210AC /* DSToolsModuleF-dummy.m */; };
  11 + 199021182C095771D76106E4776530FE /* Pods-DSToolsModuleF_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 21C0BDBA30D72427E726AC70779ACC9E /* Pods-DSToolsModuleF_Example-dummy.m */; };
  12 + 4D0296B1D0ED8017E903A8E28B6FF03E /* DSToolsModuleF-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23880CAE51A87ABBA850815C141E83F3 /* DSToolsModuleF-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  13 + 59D0554474073F0EB3EE908B8E744C63 /* Pods-DSToolsModuleF_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CDBB482041A52BE8A18BF30A18EAE52 /* Pods-DSToolsModuleF_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  14 + 70067679233232EEBAD238058715CDAC /* Pods-DSToolsModuleF_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B7716E8FA02A8FDFB07D8F678E9B45CA /* Pods-DSToolsModuleF_Tests-dummy.m */; };
  15 + C8F0C499AECFBC30EE68611DE2BB3CDD /* ReplaceMe.m in Sources */ = {isa = PBXBuildFile; fileRef = 2625351C6E9330DF567969E6E67179F2 /* ReplaceMe.m */; };
  16 + CF783234DA1F10897324EF0C21A8EDB6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
  17 + E32881267F186C9F837C8AD7C9C6B0A5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
  18 + EF2812E9479F0BC93681D2051269F443 /* Pods-DSToolsModuleF_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F2BC3BD112FB24F51B1B0F8B90B446B9 /* Pods-DSToolsModuleF_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
  19 + EFA75CB9516CF5E0162D0CCFC8D51226 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
  20 +/* End PBXBuildFile section */
  21 +
  22 +/* Begin PBXContainerItemProxy section */
  23 + 21236490806A8AA65885666AED3E25C7 /* PBXContainerItemProxy */ = {
  24 + isa = PBXContainerItemProxy;
  25 + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
  26 + proxyType = 1;
  27 + remoteGlobalIDString = B2FD10A39A0D26B6A80E626DD510D013;
  28 + remoteInfo = DSToolsModuleF;
  29 + };
  30 + D31D04898FED37164CC6CA309511DC8F /* PBXContainerItemProxy */ = {
  31 + isa = PBXContainerItemProxy;
  32 + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
  33 + proxyType = 1;
  34 + remoteGlobalIDString = 276758D15B042655270CA85BAF937A66;
  35 + remoteInfo = "Pods-DSToolsModuleF_Example";
  36 + };
  37 +/* End PBXContainerItemProxy section */
  38 +
  39 +/* Begin PBXFileReference section */
  40 + 06118D7638C970194663E05D030DD8A1 /* Pods-DSToolsModuleF_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DSToolsModuleF_Tests-Info.plist"; sourceTree = "<group>"; };
  41 + 06BF57F56DC27486DF23BD11FBDA556C /* DSToolsModuleF.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DSToolsModuleF.modulemap; sourceTree = "<group>"; };
  42 + 0CDBB482041A52BE8A18BF30A18EAE52 /* Pods-DSToolsModuleF_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DSToolsModuleF_Tests-umbrella.h"; sourceTree = "<group>"; };
  43 + 124A6B62669FFFC40F0A86A9EB9CEB6C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
  44 + 13AE5110F0BB16C01849F597CE847B11 /* Pods-DSToolsModuleF_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-DSToolsModuleF_Example.modulemap"; sourceTree = "<group>"; };
  45 + 1C7511D7C18ACD45D9C4726FB6741421 /* Pods-DSToolsModuleF_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DSToolsModuleF_Tests-acknowledgements.plist"; sourceTree = "<group>"; };
  46 + 1EFCEF4FB5DF4C85465DFBA304F210AC /* DSToolsModuleF-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DSToolsModuleF-dummy.m"; sourceTree = "<group>"; };
  47 + 21C0BDBA30D72427E726AC70779ACC9E /* Pods-DSToolsModuleF_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DSToolsModuleF_Example-dummy.m"; sourceTree = "<group>"; };
  48 + 23880CAE51A87ABBA850815C141E83F3 /* DSToolsModuleF-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DSToolsModuleF-umbrella.h"; sourceTree = "<group>"; };
  49 + 2625351C6E9330DF567969E6E67179F2 /* ReplaceMe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ReplaceMe.m; path = DSToolsModuleF/Classes/ReplaceMe.m; sourceTree = "<group>"; };
  50 + 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
  51 + 3C06E6CE14BAF731D560223DD8181F41 /* Pods-DSToolsModuleF_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DSToolsModuleF_Example-Info.plist"; sourceTree = "<group>"; };
  52 + 60564F1E60C152B9216287AFFA744BB2 /* Pods_DSToolsModuleF_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_DSToolsModuleF_Tests.framework; path = "Pods-DSToolsModuleF_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
  53 + 62DF44CA252337AFEAE58F66678C70B2 /* Pods-DSToolsModuleF_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DSToolsModuleF_Example.debug.xcconfig"; sourceTree = "<group>"; };
  54 + 63FEE4EF3BAC7216717F732DFBB87702 /* Pods-DSToolsModuleF_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DSToolsModuleF_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
  55 + 78E734D749671684C59A2365FF23587C /* Pods-DSToolsModuleF_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DSToolsModuleF_Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
  56 + 7EA3F163DCA2C191281C9F5BD723F94F /* DSToolsModuleF-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DSToolsModuleF-prefix.pch"; sourceTree = "<group>"; };
  57 + 8067C0DA3A3027F7D74B0E104F0AFB21 /* Pods-DSToolsModuleF_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DSToolsModuleF_Example-acknowledgements.plist"; sourceTree = "<group>"; };
  58 + 81FDCE0993A40362F3A69F7F792C9582 /* DSToolsModuleF.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DSToolsModuleF.framework; path = DSToolsModuleF.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  59 + 909E829256B1475F6DAC5EAD987BAF2F /* Pods-DSToolsModuleF_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DSToolsModuleF_Tests.release.xcconfig"; sourceTree = "<group>"; };
  60 + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
  61 + A1568D4C4711059CD3D5ED6995B2CAC6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
  62 + A185216E628CB4710A5CABD4F7D6FF8F /* Pods_DSToolsModuleF_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_DSToolsModuleF_Example.framework; path = "Pods-DSToolsModuleF_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
  63 + ABEF456DFC2CF4DA219CE5838FA3FE5C /* DSToolsModuleF.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = DSToolsModuleF.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
  64 + B7716E8FA02A8FDFB07D8F678E9B45CA /* Pods-DSToolsModuleF_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DSToolsModuleF_Tests-dummy.m"; sourceTree = "<group>"; };
  65 + BE2C801C63C1FB5E80DE5CC0F0825E39 /* Pods-DSToolsModuleF_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-DSToolsModuleF_Example-frameworks.sh"; sourceTree = "<group>"; };
  66 + CA180B2905229EB25B453FAF1440524D /* DSToolsModuleF-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "DSToolsModuleF-Info.plist"; sourceTree = "<group>"; };
  67 + EBB021B01C29B57E166678425DE9D9A1 /* Pods-DSToolsModuleF_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-DSToolsModuleF_Tests.modulemap"; sourceTree = "<group>"; };
  68 + F2BC3BD112FB24F51B1B0F8B90B446B9 /* Pods-DSToolsModuleF_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DSToolsModuleF_Example-umbrella.h"; sourceTree = "<group>"; };
  69 + F2F00C6F978112AF9CF63CECE354E0D3 /* Pods-DSToolsModuleF_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DSToolsModuleF_Example.release.xcconfig"; sourceTree = "<group>"; };
  70 + F669EA74B3DF3B98D45E62ECB012644F /* DSToolsModuleF.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DSToolsModuleF.xcconfig; sourceTree = "<group>"; };
  71 + F9FA44F69B4FDB60DA0B19EECC499049 /* Pods-DSToolsModuleF_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DSToolsModuleF_Tests.debug.xcconfig"; sourceTree = "<group>"; };
  72 +/* End PBXFileReference section */
  73 +
  74 +/* Begin PBXFrameworksBuildPhase section */
  75 + 54D34875CA7BF2EE83F27C5B58D9B4CC /* Frameworks */ = {
  76 + isa = PBXFrameworksBuildPhase;
  77 + buildActionMask = 2147483647;
  78 + files = (
  79 + CF783234DA1F10897324EF0C21A8EDB6 /* Foundation.framework in Frameworks */,
  80 + );
  81 + runOnlyForDeploymentPostprocessing = 0;
  82 + };
  83 + F488BA69EE6485A64BE7D60F7FB6BC19 /* Frameworks */ = {
  84 + isa = PBXFrameworksBuildPhase;
  85 + buildActionMask = 2147483647;
  86 + files = (
  87 + E32881267F186C9F837C8AD7C9C6B0A5 /* Foundation.framework in Frameworks */,
  88 + );
  89 + runOnlyForDeploymentPostprocessing = 0;
  90 + };
  91 + FBE6750DD44FA6699E37AF885F6FFBCB /* Frameworks */ = {
  92 + isa = PBXFrameworksBuildPhase;
  93 + buildActionMask = 2147483647;
  94 + files = (
  95 + EFA75CB9516CF5E0162D0CCFC8D51226 /* Foundation.framework in Frameworks */,
  96 + );
  97 + runOnlyForDeploymentPostprocessing = 0;
  98 + };
  99 +/* End PBXFrameworksBuildPhase section */
  100 +
  101 +/* Begin PBXGroup section */
  102 + 0A63EA4695FA2AC1CD84F492446A6202 /* DSToolsModuleF */ = {
  103 + isa = PBXGroup;
  104 + children = (
  105 + 2625351C6E9330DF567969E6E67179F2 /* ReplaceMe.m */,
  106 + A7092D8BF2EADA3E6917BBBCBD779357 /* Pod */,
  107 + D0C519AE0B5CF96757EAB09B7F735263 /* Support Files */,
  108 + );
  109 + name = DSToolsModuleF;
  110 + path = ../..;
  111 + sourceTree = "<group>";
  112 + };
  113 + 4A409BE805992B993BE971DD00A4AB84 /* Pods-DSToolsModuleF_Tests */ = {
  114 + isa = PBXGroup;
  115 + children = (
  116 + EBB021B01C29B57E166678425DE9D9A1 /* Pods-DSToolsModuleF_Tests.modulemap */,
  117 + 78E734D749671684C59A2365FF23587C /* Pods-DSToolsModuleF_Tests-acknowledgements.markdown */,
  118 + 1C7511D7C18ACD45D9C4726FB6741421 /* Pods-DSToolsModuleF_Tests-acknowledgements.plist */,
  119 + B7716E8FA02A8FDFB07D8F678E9B45CA /* Pods-DSToolsModuleF_Tests-dummy.m */,
  120 + 06118D7638C970194663E05D030DD8A1 /* Pods-DSToolsModuleF_Tests-Info.plist */,
  121 + 0CDBB482041A52BE8A18BF30A18EAE52 /* Pods-DSToolsModuleF_Tests-umbrella.h */,
  122 + F9FA44F69B4FDB60DA0B19EECC499049 /* Pods-DSToolsModuleF_Tests.debug.xcconfig */,
  123 + 909E829256B1475F6DAC5EAD987BAF2F /* Pods-DSToolsModuleF_Tests.release.xcconfig */,
  124 + );
  125 + name = "Pods-DSToolsModuleF_Tests";
  126 + path = "Target Support Files/Pods-DSToolsModuleF_Tests";
  127 + sourceTree = "<group>";
  128 + };
  129 + A1B0AA888E8316607BE1DCC366E860F2 /* Targets Support Files */ = {
  130 + isa = PBXGroup;
  131 + children = (
  132 + F309A405FD4C808953E2FCE5415F2702 /* Pods-DSToolsModuleF_Example */,
  133 + 4A409BE805992B993BE971DD00A4AB84 /* Pods-DSToolsModuleF_Tests */,
  134 + );
  135 + name = "Targets Support Files";
  136 + sourceTree = "<group>";
  137 + };
  138 + A7092D8BF2EADA3E6917BBBCBD779357 /* Pod */ = {
  139 + isa = PBXGroup;
  140 + children = (
  141 + ABEF456DFC2CF4DA219CE5838FA3FE5C /* DSToolsModuleF.podspec */,
  142 + 124A6B62669FFFC40F0A86A9EB9CEB6C /* LICENSE */,
  143 + A1568D4C4711059CD3D5ED6995B2CAC6 /* README.md */,
  144 + );
  145 + name = Pod;
  146 + sourceTree = "<group>";
  147 + };
  148 + C0834CEBB1379A84116EF29F93051C60 /* iOS */ = {
  149 + isa = PBXGroup;
  150 + children = (
  151 + 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */,
  152 + );
  153 + name = iOS;
  154 + sourceTree = "<group>";
  155 + };
  156 + C7FE9A96B5393F55830A36B7BD231700 /* Products */ = {
  157 + isa = PBXGroup;
  158 + children = (
  159 + 81FDCE0993A40362F3A69F7F792C9582 /* DSToolsModuleF.framework */,
  160 + A185216E628CB4710A5CABD4F7D6FF8F /* Pods_DSToolsModuleF_Example.framework */,
  161 + 60564F1E60C152B9216287AFFA744BB2 /* Pods_DSToolsModuleF_Tests.framework */,
  162 + );
  163 + name = Products;
  164 + sourceTree = "<group>";
  165 + };
  166 + CF1408CF629C7361332E53B88F7BD30C = {
  167 + isa = PBXGroup;
  168 + children = (
  169 + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
  170 + EDF672D12C23B6EC699028DEC1E504E5 /* Development Pods */,
  171 + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
  172 + C7FE9A96B5393F55830A36B7BD231700 /* Products */,
  173 + A1B0AA888E8316607BE1DCC366E860F2 /* Targets Support Files */,
  174 + );
  175 + sourceTree = "<group>";
  176 + };
  177 + D0C519AE0B5CF96757EAB09B7F735263 /* Support Files */ = {
  178 + isa = PBXGroup;
  179 + children = (
  180 + 06BF57F56DC27486DF23BD11FBDA556C /* DSToolsModuleF.modulemap */,
  181 + F669EA74B3DF3B98D45E62ECB012644F /* DSToolsModuleF.xcconfig */,
  182 + 1EFCEF4FB5DF4C85465DFBA304F210AC /* DSToolsModuleF-dummy.m */,
  183 + CA180B2905229EB25B453FAF1440524D /* DSToolsModuleF-Info.plist */,
  184 + 7EA3F163DCA2C191281C9F5BD723F94F /* DSToolsModuleF-prefix.pch */,
  185 + 23880CAE51A87ABBA850815C141E83F3 /* DSToolsModuleF-umbrella.h */,
  186 + );
  187 + name = "Support Files";
  188 + path = "Example/Pods/Target Support Files/DSToolsModuleF";
  189 + sourceTree = "<group>";
  190 + };
  191 + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
  192 + isa = PBXGroup;
  193 + children = (
  194 + C0834CEBB1379A84116EF29F93051C60 /* iOS */,
  195 + );
  196 + name = Frameworks;
  197 + sourceTree = "<group>";
  198 + };
  199 + EDF672D12C23B6EC699028DEC1E504E5 /* Development Pods */ = {
  200 + isa = PBXGroup;
  201 + children = (
  202 + 0A63EA4695FA2AC1CD84F492446A6202 /* DSToolsModuleF */,
  203 + );
  204 + name = "Development Pods";
  205 + sourceTree = "<group>";
  206 + };
  207 + F309A405FD4C808953E2FCE5415F2702 /* Pods-DSToolsModuleF_Example */ = {
  208 + isa = PBXGroup;
  209 + children = (
  210 + 13AE5110F0BB16C01849F597CE847B11 /* Pods-DSToolsModuleF_Example.modulemap */,
  211 + 63FEE4EF3BAC7216717F732DFBB87702 /* Pods-DSToolsModuleF_Example-acknowledgements.markdown */,
  212 + 8067C0DA3A3027F7D74B0E104F0AFB21 /* Pods-DSToolsModuleF_Example-acknowledgements.plist */,
  213 + 21C0BDBA30D72427E726AC70779ACC9E /* Pods-DSToolsModuleF_Example-dummy.m */,
  214 + BE2C801C63C1FB5E80DE5CC0F0825E39 /* Pods-DSToolsModuleF_Example-frameworks.sh */,
  215 + 3C06E6CE14BAF731D560223DD8181F41 /* Pods-DSToolsModuleF_Example-Info.plist */,
  216 + F2BC3BD112FB24F51B1B0F8B90B446B9 /* Pods-DSToolsModuleF_Example-umbrella.h */,
  217 + 62DF44CA252337AFEAE58F66678C70B2 /* Pods-DSToolsModuleF_Example.debug.xcconfig */,
  218 + F2F00C6F978112AF9CF63CECE354E0D3 /* Pods-DSToolsModuleF_Example.release.xcconfig */,
  219 + );
  220 + name = "Pods-DSToolsModuleF_Example";
  221 + path = "Target Support Files/Pods-DSToolsModuleF_Example";
  222 + sourceTree = "<group>";
  223 + };
  224 +/* End PBXGroup section */
  225 +
  226 +/* Begin PBXHeadersBuildPhase section */
  227 + 7E59E44560A79B7FE90606CEFEFDECE2 /* Headers */ = {
  228 + isa = PBXHeadersBuildPhase;
  229 + buildActionMask = 2147483647;
  230 + files = (
  231 + 59D0554474073F0EB3EE908B8E744C63 /* Pods-DSToolsModuleF_Tests-umbrella.h in Headers */,
  232 + );
  233 + runOnlyForDeploymentPostprocessing = 0;
  234 + };
  235 + C5801A9945BE10EF02695B4BC727B4C6 /* Headers */ = {
  236 + isa = PBXHeadersBuildPhase;
  237 + buildActionMask = 2147483647;
  238 + files = (
  239 + 4D0296B1D0ED8017E903A8E28B6FF03E /* DSToolsModuleF-umbrella.h in Headers */,
  240 + );
  241 + runOnlyForDeploymentPostprocessing = 0;
  242 + };
  243 + F3631EDC0EA2A5B17F81BE0F49D96526 /* Headers */ = {
  244 + isa = PBXHeadersBuildPhase;
  245 + buildActionMask = 2147483647;
  246 + files = (
  247 + EF2812E9479F0BC93681D2051269F443 /* Pods-DSToolsModuleF_Example-umbrella.h in Headers */,
  248 + );
  249 + runOnlyForDeploymentPostprocessing = 0;
  250 + };
  251 +/* End PBXHeadersBuildPhase section */
  252 +
  253 +/* Begin PBXNativeTarget section */
  254 + 276758D15B042655270CA85BAF937A66 /* Pods-DSToolsModuleF_Example */ = {
  255 + isa = PBXNativeTarget;
  256 + buildConfigurationList = C586C994D0BEA02BEA4E2F2C47B6C093 /* Build configuration list for PBXNativeTarget "Pods-DSToolsModuleF_Example" */;
  257 + buildPhases = (
  258 + F3631EDC0EA2A5B17F81BE0F49D96526 /* Headers */,
  259 + 6923F626678A3D88E650338E6E9B61D6 /* Sources */,
  260 + FBE6750DD44FA6699E37AF885F6FFBCB /* Frameworks */,
  261 + BBC718E2E427685EBB3AEA040DD1F87C /* Resources */,
  262 + );
  263 + buildRules = (
  264 + );
  265 + dependencies = (
  266 + 3BBF6E5540093D0A29229C30C5CFF227 /* PBXTargetDependency */,
  267 + );
  268 + name = "Pods-DSToolsModuleF_Example";
  269 + productName = "Pods-DSToolsModuleF_Example";
  270 + productReference = A185216E628CB4710A5CABD4F7D6FF8F /* Pods_DSToolsModuleF_Example.framework */;
  271 + productType = "com.apple.product-type.framework";
  272 + };
  273 + 5F4663E160DA9416A35D9C0427F7BC3F /* Pods-DSToolsModuleF_Tests */ = {
  274 + isa = PBXNativeTarget;
  275 + buildConfigurationList = 54B61EC3B922F7D336F718D9390BEC3A /* Build configuration list for PBXNativeTarget "Pods-DSToolsModuleF_Tests" */;
  276 + buildPhases = (
  277 + 7E59E44560A79B7FE90606CEFEFDECE2 /* Headers */,
  278 + 2C0E601B34AB0DE6221C2E92B2948D3E /* Sources */,
  279 + 54D34875CA7BF2EE83F27C5B58D9B4CC /* Frameworks */,
  280 + 1FE25D3745B4D50B800CA3B3DD0C0DD3 /* Resources */,
  281 + );
  282 + buildRules = (
  283 + );
  284 + dependencies = (
  285 + 0D51293B5B00C389D490CF1D5ACBA8DA /* PBXTargetDependency */,
  286 + );
  287 + name = "Pods-DSToolsModuleF_Tests";
  288 + productName = "Pods-DSToolsModuleF_Tests";
  289 + productReference = 60564F1E60C152B9216287AFFA744BB2 /* Pods_DSToolsModuleF_Tests.framework */;
  290 + productType = "com.apple.product-type.framework";
  291 + };
  292 + B2FD10A39A0D26B6A80E626DD510D013 /* DSToolsModuleF */ = {
  293 + isa = PBXNativeTarget;
  294 + buildConfigurationList = EE5F123507A689124C99932CC3EEBDF2 /* Build configuration list for PBXNativeTarget "DSToolsModuleF" */;
  295 + buildPhases = (
  296 + C5801A9945BE10EF02695B4BC727B4C6 /* Headers */,
  297 + AC24E42A04C3C80E3D156EBB2D95FBFB /* Sources */,
  298 + F488BA69EE6485A64BE7D60F7FB6BC19 /* Frameworks */,
  299 + 2AF5444F25B796C3E73E44442440BC27 /* Resources */,
  300 + );
  301 + buildRules = (
  302 + );
  303 + dependencies = (
  304 + );
  305 + name = DSToolsModuleF;
  306 + productName = DSToolsModuleF;
  307 + productReference = 81FDCE0993A40362F3A69F7F792C9582 /* DSToolsModuleF.framework */;
  308 + productType = "com.apple.product-type.framework";
  309 + };
  310 +/* End PBXNativeTarget section */
  311 +
  312 +/* Begin PBXProject section */
  313 + BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
  314 + isa = PBXProject;
  315 + attributes = {
  316 + LastSwiftUpdateCheck = 1100;
  317 + LastUpgradeCheck = 1100;
  318 + };
  319 + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
  320 + compatibilityVersion = "Xcode 3.2";
  321 + developmentRegion = en;
  322 + hasScannedForEncodings = 0;
  323 + knownRegions = (
  324 + en,
  325 + Base,
  326 + );
  327 + mainGroup = CF1408CF629C7361332E53B88F7BD30C;
  328 + productRefGroup = C7FE9A96B5393F55830A36B7BD231700 /* Products */;
  329 + projectDirPath = "";
  330 + projectRoot = "";
  331 + targets = (
  332 + B2FD10A39A0D26B6A80E626DD510D013 /* DSToolsModuleF */,
  333 + 276758D15B042655270CA85BAF937A66 /* Pods-DSToolsModuleF_Example */,
  334 + 5F4663E160DA9416A35D9C0427F7BC3F /* Pods-DSToolsModuleF_Tests */,
  335 + );
  336 + };
  337 +/* End PBXProject section */
  338 +
  339 +/* Begin PBXResourcesBuildPhase section */
  340 + 1FE25D3745B4D50B800CA3B3DD0C0DD3 /* Resources */ = {
  341 + isa = PBXResourcesBuildPhase;
  342 + buildActionMask = 2147483647;
  343 + files = (
  344 + );
  345 + runOnlyForDeploymentPostprocessing = 0;
  346 + };
  347 + 2AF5444F25B796C3E73E44442440BC27 /* Resources */ = {
  348 + isa = PBXResourcesBuildPhase;
  349 + buildActionMask = 2147483647;
  350 + files = (
  351 + );
  352 + runOnlyForDeploymentPostprocessing = 0;
  353 + };
  354 + BBC718E2E427685EBB3AEA040DD1F87C /* Resources */ = {
  355 + isa = PBXResourcesBuildPhase;
  356 + buildActionMask = 2147483647;
  357 + files = (
  358 + );
  359 + runOnlyForDeploymentPostprocessing = 0;
  360 + };
  361 +/* End PBXResourcesBuildPhase section */
  362 +
  363 +/* Begin PBXSourcesBuildPhase section */
  364 + 2C0E601B34AB0DE6221C2E92B2948D3E /* Sources */ = {
  365 + isa = PBXSourcesBuildPhase;
  366 + buildActionMask = 2147483647;
  367 + files = (
  368 + 70067679233232EEBAD238058715CDAC /* Pods-DSToolsModuleF_Tests-dummy.m in Sources */,
  369 + );
  370 + runOnlyForDeploymentPostprocessing = 0;
  371 + };
  372 + 6923F626678A3D88E650338E6E9B61D6 /* Sources */ = {
  373 + isa = PBXSourcesBuildPhase;
  374 + buildActionMask = 2147483647;
  375 + files = (
  376 + 199021182C095771D76106E4776530FE /* Pods-DSToolsModuleF_Example-dummy.m in Sources */,
  377 + );
  378 + runOnlyForDeploymentPostprocessing = 0;
  379 + };
  380 + AC24E42A04C3C80E3D156EBB2D95FBFB /* Sources */ = {
  381 + isa = PBXSourcesBuildPhase;
  382 + buildActionMask = 2147483647;
  383 + files = (
  384 + 0B22D9B71370C5498B5C94DBFA3844A8 /* DSToolsModuleF-dummy.m in Sources */,
  385 + C8F0C499AECFBC30EE68611DE2BB3CDD /* ReplaceMe.m in Sources */,
  386 + );
  387 + runOnlyForDeploymentPostprocessing = 0;
  388 + };
  389 +/* End PBXSourcesBuildPhase section */
  390 +
  391 +/* Begin PBXTargetDependency section */
  392 + 0D51293B5B00C389D490CF1D5ACBA8DA /* PBXTargetDependency */ = {
  393 + isa = PBXTargetDependency;
  394 + name = "Pods-DSToolsModuleF_Example";
  395 + target = 276758D15B042655270CA85BAF937A66 /* Pods-DSToolsModuleF_Example */;
  396 + targetProxy = D31D04898FED37164CC6CA309511DC8F /* PBXContainerItemProxy */;
  397 + };
  398 + 3BBF6E5540093D0A29229C30C5CFF227 /* PBXTargetDependency */ = {
  399 + isa = PBXTargetDependency;
  400 + name = DSToolsModuleF;
  401 + target = B2FD10A39A0D26B6A80E626DD510D013 /* DSToolsModuleF */;
  402 + targetProxy = 21236490806A8AA65885666AED3E25C7 /* PBXContainerItemProxy */;
  403 + };
  404 +/* End PBXTargetDependency section */
  405 +
  406 +/* Begin XCBuildConfiguration section */
  407 + 0F0969FCB5508777601F5C357FEB1B17 /* Debug */ = {
  408 + isa = XCBuildConfiguration;
  409 + baseConfigurationReference = F669EA74B3DF3B98D45E62ECB012644F /* DSToolsModuleF.xcconfig */;
  410 + buildSettings = {
  411 + CODE_SIGN_IDENTITY = "";
  412 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  413 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  414 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  415 + CURRENT_PROJECT_VERSION = 1;
  416 + DEFINES_MODULE = YES;
  417 + DYLIB_COMPATIBILITY_VERSION = 1;
  418 + DYLIB_CURRENT_VERSION = 1;
  419 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  420 + GCC_PREFIX_HEADER = "Target Support Files/DSToolsModuleF/DSToolsModuleF-prefix.pch";
  421 + INFOPLIST_FILE = "Target Support Files/DSToolsModuleF/DSToolsModuleF-Info.plist";
  422 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  423 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  424 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  425 + MODULEMAP_FILE = "Target Support Files/DSToolsModuleF/DSToolsModuleF.modulemap";
  426 + PRODUCT_MODULE_NAME = DSToolsModuleF;
  427 + PRODUCT_NAME = DSToolsModuleF;
  428 + SDKROOT = iphoneos;
  429 + SKIP_INSTALL = YES;
  430 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  431 + SWIFT_VERSION = 4.0;
  432 + TARGETED_DEVICE_FAMILY = "1,2";
  433 + VERSIONING_SYSTEM = "apple-generic";
  434 + VERSION_INFO_PREFIX = "";
  435 + };
  436 + name = Debug;
  437 + };
  438 + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = {
  439 + isa = XCBuildConfiguration;
  440 + buildSettings = {
  441 + ALWAYS_SEARCH_USER_PATHS = NO;
  442 + CLANG_ANALYZER_NONNULL = YES;
  443 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  444 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  445 + CLANG_CXX_LIBRARY = "libc++";
  446 + CLANG_ENABLE_MODULES = YES;
  447 + CLANG_ENABLE_OBJC_ARC = YES;
  448 + CLANG_ENABLE_OBJC_WEAK = YES;
  449 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  450 + CLANG_WARN_BOOL_CONVERSION = YES;
  451 + CLANG_WARN_COMMA = YES;
  452 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  453 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  454 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  455 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  456 + CLANG_WARN_EMPTY_BODY = YES;
  457 + CLANG_WARN_ENUM_CONVERSION = YES;
  458 + CLANG_WARN_INFINITE_RECURSION = YES;
  459 + CLANG_WARN_INT_CONVERSION = YES;
  460 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  461 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  462 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  463 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  464 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  465 + CLANG_WARN_STRICT_PROTOTYPES = YES;
  466 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  467 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  468 + CLANG_WARN_UNREACHABLE_CODE = YES;
  469 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  470 + COPY_PHASE_STRIP = NO;
  471 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  472 + ENABLE_NS_ASSERTIONS = NO;
  473 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  474 + GCC_C_LANGUAGE_STANDARD = gnu11;
  475 + GCC_NO_COMMON_BLOCKS = YES;
  476 + GCC_PREPROCESSOR_DEFINITIONS = (
  477 + "POD_CONFIGURATION_RELEASE=1",
  478 + "$(inherited)",
  479 + );
  480 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  481 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  482 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  483 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  484 + GCC_WARN_UNUSED_FUNCTION = YES;
  485 + GCC_WARN_UNUSED_VARIABLE = YES;
  486 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  487 + MTL_ENABLE_DEBUG_INFO = NO;
  488 + MTL_FAST_MATH = YES;
  489 + PRODUCT_NAME = "$(TARGET_NAME)";
  490 + STRIP_INSTALLED_PRODUCT = NO;
  491 + SWIFT_COMPILATION_MODE = wholemodule;
  492 + SWIFT_OPTIMIZATION_LEVEL = "-O";
  493 + SWIFT_VERSION = 5.0;
  494 + SYMROOT = "${SRCROOT}/../build";
  495 + };
  496 + name = Release;
  497 + };
  498 + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = {
  499 + isa = XCBuildConfiguration;
  500 + buildSettings = {
  501 + ALWAYS_SEARCH_USER_PATHS = NO;
  502 + CLANG_ANALYZER_NONNULL = YES;
  503 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  504 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  505 + CLANG_CXX_LIBRARY = "libc++";
  506 + CLANG_ENABLE_MODULES = YES;
  507 + CLANG_ENABLE_OBJC_ARC = YES;
  508 + CLANG_ENABLE_OBJC_WEAK = YES;
  509 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  510 + CLANG_WARN_BOOL_CONVERSION = YES;
  511 + CLANG_WARN_COMMA = YES;
  512 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  513 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  514 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  515 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  516 + CLANG_WARN_EMPTY_BODY = YES;
  517 + CLANG_WARN_ENUM_CONVERSION = YES;
  518 + CLANG_WARN_INFINITE_RECURSION = YES;
  519 + CLANG_WARN_INT_CONVERSION = YES;
  520 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  521 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  522 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  523 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  524 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  525 + CLANG_WARN_STRICT_PROTOTYPES = YES;
  526 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  527 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  528 + CLANG_WARN_UNREACHABLE_CODE = YES;
  529 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  530 + COPY_PHASE_STRIP = NO;
  531 + DEBUG_INFORMATION_FORMAT = dwarf;
  532 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  533 + ENABLE_TESTABILITY = YES;
  534 + GCC_C_LANGUAGE_STANDARD = gnu11;
  535 + GCC_DYNAMIC_NO_PIC = NO;
  536 + GCC_NO_COMMON_BLOCKS = YES;
  537 + GCC_OPTIMIZATION_LEVEL = 0;
  538 + GCC_PREPROCESSOR_DEFINITIONS = (
  539 + "POD_CONFIGURATION_DEBUG=1",
  540 + "DEBUG=1",
  541 + "$(inherited)",
  542 + );
  543 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  544 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  545 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  546 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  547 + GCC_WARN_UNUSED_FUNCTION = YES;
  548 + GCC_WARN_UNUSED_VARIABLE = YES;
  549 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  550 + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
  551 + MTL_FAST_MATH = YES;
  552 + ONLY_ACTIVE_ARCH = YES;
  553 + PRODUCT_NAME = "$(TARGET_NAME)";
  554 + STRIP_INSTALLED_PRODUCT = NO;
  555 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  556 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  557 + SWIFT_VERSION = 5.0;
  558 + SYMROOT = "${SRCROOT}/../build";
  559 + };
  560 + name = Debug;
  561 + };
  562 + 878EAAAF9B096BE143DD210306CEA60D /* Release */ = {
  563 + isa = XCBuildConfiguration;
  564 + baseConfigurationReference = F2F00C6F978112AF9CF63CECE354E0D3 /* Pods-DSToolsModuleF_Example.release.xcconfig */;
  565 + buildSettings = {
  566 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
  567 + CODE_SIGN_IDENTITY = "";
  568 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  569 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  570 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  571 + CURRENT_PROJECT_VERSION = 1;
  572 + DEFINES_MODULE = YES;
  573 + DYLIB_COMPATIBILITY_VERSION = 1;
  574 + DYLIB_CURRENT_VERSION = 1;
  575 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  576 + INFOPLIST_FILE = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-Info.plist";
  577 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  578 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  579 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  580 + MACH_O_TYPE = staticlib;
  581 + MODULEMAP_FILE = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example.modulemap";
  582 + OTHER_LDFLAGS = "";
  583 + OTHER_LIBTOOLFLAGS = "";
  584 + PODS_ROOT = "$(SRCROOT)";
  585 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
  586 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
  587 + SDKROOT = iphoneos;
  588 + SKIP_INSTALL = YES;
  589 + TARGETED_DEVICE_FAMILY = "1,2";
  590 + VALIDATE_PRODUCT = YES;
  591 + VERSIONING_SYSTEM = "apple-generic";
  592 + VERSION_INFO_PREFIX = "";
  593 + };
  594 + name = Release;
  595 + };
  596 + 9BB4DC1FB5BDD8CF1AA4B8F17C312974 /* Debug */ = {
  597 + isa = XCBuildConfiguration;
  598 + baseConfigurationReference = F9FA44F69B4FDB60DA0B19EECC499049 /* Pods-DSToolsModuleF_Tests.debug.xcconfig */;
  599 + buildSettings = {
  600 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
  601 + CODE_SIGN_IDENTITY = "";
  602 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  603 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  604 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  605 + CURRENT_PROJECT_VERSION = 1;
  606 + DEFINES_MODULE = YES;
  607 + DYLIB_COMPATIBILITY_VERSION = 1;
  608 + DYLIB_CURRENT_VERSION = 1;
  609 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  610 + INFOPLIST_FILE = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests-Info.plist";
  611 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  612 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  613 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  614 + MACH_O_TYPE = staticlib;
  615 + MODULEMAP_FILE = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests.modulemap";
  616 + OTHER_LDFLAGS = "";
  617 + OTHER_LIBTOOLFLAGS = "";
  618 + PODS_ROOT = "$(SRCROOT)";
  619 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
  620 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
  621 + SDKROOT = iphoneos;
  622 + SKIP_INSTALL = YES;
  623 + TARGETED_DEVICE_FAMILY = "1,2";
  624 + VERSIONING_SYSTEM = "apple-generic";
  625 + VERSION_INFO_PREFIX = "";
  626 + };
  627 + name = Debug;
  628 + };
  629 + D791EB9502186EFCA09941AD8D4C6D65 /* Debug */ = {
  630 + isa = XCBuildConfiguration;
  631 + baseConfigurationReference = 62DF44CA252337AFEAE58F66678C70B2 /* Pods-DSToolsModuleF_Example.debug.xcconfig */;
  632 + buildSettings = {
  633 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
  634 + CODE_SIGN_IDENTITY = "";
  635 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  636 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  637 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  638 + CURRENT_PROJECT_VERSION = 1;
  639 + DEFINES_MODULE = YES;
  640 + DYLIB_COMPATIBILITY_VERSION = 1;
  641 + DYLIB_CURRENT_VERSION = 1;
  642 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  643 + INFOPLIST_FILE = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-Info.plist";
  644 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  645 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  646 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  647 + MACH_O_TYPE = staticlib;
  648 + MODULEMAP_FILE = "Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example.modulemap";
  649 + OTHER_LDFLAGS = "";
  650 + OTHER_LIBTOOLFLAGS = "";
  651 + PODS_ROOT = "$(SRCROOT)";
  652 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
  653 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
  654 + SDKROOT = iphoneos;
  655 + SKIP_INSTALL = YES;
  656 + TARGETED_DEVICE_FAMILY = "1,2";
  657 + VERSIONING_SYSTEM = "apple-generic";
  658 + VERSION_INFO_PREFIX = "";
  659 + };
  660 + name = Debug;
  661 + };
  662 + EDA75B4DB7ED0C7B08A2150D97C34242 /* Release */ = {
  663 + isa = XCBuildConfiguration;
  664 + baseConfigurationReference = 909E829256B1475F6DAC5EAD987BAF2F /* Pods-DSToolsModuleF_Tests.release.xcconfig */;
  665 + buildSettings = {
  666 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
  667 + CODE_SIGN_IDENTITY = "";
  668 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  669 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  670 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  671 + CURRENT_PROJECT_VERSION = 1;
  672 + DEFINES_MODULE = YES;
  673 + DYLIB_COMPATIBILITY_VERSION = 1;
  674 + DYLIB_CURRENT_VERSION = 1;
  675 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  676 + INFOPLIST_FILE = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests-Info.plist";
  677 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  678 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  679 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  680 + MACH_O_TYPE = staticlib;
  681 + MODULEMAP_FILE = "Target Support Files/Pods-DSToolsModuleF_Tests/Pods-DSToolsModuleF_Tests.modulemap";
  682 + OTHER_LDFLAGS = "";
  683 + OTHER_LIBTOOLFLAGS = "";
  684 + PODS_ROOT = "$(SRCROOT)";
  685 + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
  686 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
  687 + SDKROOT = iphoneos;
  688 + SKIP_INSTALL = YES;
  689 + TARGETED_DEVICE_FAMILY = "1,2";
  690 + VALIDATE_PRODUCT = YES;
  691 + VERSIONING_SYSTEM = "apple-generic";
  692 + VERSION_INFO_PREFIX = "";
  693 + };
  694 + name = Release;
  695 + };
  696 + EF836BF922744E754888243773861186 /* Release */ = {
  697 + isa = XCBuildConfiguration;
  698 + baseConfigurationReference = F669EA74B3DF3B98D45E62ECB012644F /* DSToolsModuleF.xcconfig */;
  699 + buildSettings = {
  700 + CODE_SIGN_IDENTITY = "";
  701 + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
  702 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
  703 + "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
  704 + CURRENT_PROJECT_VERSION = 1;
  705 + DEFINES_MODULE = YES;
  706 + DYLIB_COMPATIBILITY_VERSION = 1;
  707 + DYLIB_CURRENT_VERSION = 1;
  708 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  709 + GCC_PREFIX_HEADER = "Target Support Files/DSToolsModuleF/DSToolsModuleF-prefix.pch";
  710 + INFOPLIST_FILE = "Target Support Files/DSToolsModuleF/DSToolsModuleF-Info.plist";
  711 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  712 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  713 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  714 + MODULEMAP_FILE = "Target Support Files/DSToolsModuleF/DSToolsModuleF.modulemap";
  715 + PRODUCT_MODULE_NAME = DSToolsModuleF;
  716 + PRODUCT_NAME = DSToolsModuleF;
  717 + SDKROOT = iphoneos;
  718 + SKIP_INSTALL = YES;
  719 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
  720 + SWIFT_VERSION = 4.0;
  721 + TARGETED_DEVICE_FAMILY = "1,2";
  722 + VALIDATE_PRODUCT = YES;
  723 + VERSIONING_SYSTEM = "apple-generic";
  724 + VERSION_INFO_PREFIX = "";
  725 + };
  726 + name = Release;
  727 + };
  728 +/* End XCBuildConfiguration section */
  729 +
  730 +/* Begin XCConfigurationList section */
  731 + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
  732 + isa = XCConfigurationList;
  733 + buildConfigurations = (
  734 + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */,
  735 + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */,
  736 + );
  737 + defaultConfigurationIsVisible = 0;
  738 + defaultConfigurationName = Release;
  739 + };
  740 + 54B61EC3B922F7D336F718D9390BEC3A /* Build configuration list for PBXNativeTarget "Pods-DSToolsModuleF_Tests" */ = {
  741 + isa = XCConfigurationList;
  742 + buildConfigurations = (
  743 + 9BB4DC1FB5BDD8CF1AA4B8F17C312974 /* Debug */,
  744 + EDA75B4DB7ED0C7B08A2150D97C34242 /* Release */,
  745 + );
  746 + defaultConfigurationIsVisible = 0;
  747 + defaultConfigurationName = Release;
  748 + };
  749 + C586C994D0BEA02BEA4E2F2C47B6C093 /* Build configuration list for PBXNativeTarget "Pods-DSToolsModuleF_Example" */ = {
  750 + isa = XCConfigurationList;
  751 + buildConfigurations = (
  752 + D791EB9502186EFCA09941AD8D4C6D65 /* Debug */,
  753 + 878EAAAF9B096BE143DD210306CEA60D /* Release */,
  754 + );
  755 + defaultConfigurationIsVisible = 0;
  756 + defaultConfigurationName = Release;
  757 + };
  758 + EE5F123507A689124C99932CC3EEBDF2 /* Build configuration list for PBXNativeTarget "DSToolsModuleF" */ = {
  759 + isa = XCConfigurationList;
  760 + buildConfigurations = (
  761 + 0F0969FCB5508777601F5C357FEB1B17 /* Debug */,
  762 + EF836BF922744E754888243773861186 /* Release */,
  763 + );
  764 + defaultConfigurationIsVisible = 0;
  765 + defaultConfigurationName = Release;
  766 + };
  767 +/* End XCConfigurationList section */
  768 + };
  769 + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
  770 +}
... ...
Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/DSToolsModuleF.xcscheme 0 → 100644
  1 +++ a/Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/DSToolsModuleF.xcscheme
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "1100"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForAnalyzing = "YES"
  11 + buildForTesting = "YES"
  12 + buildForRunning = "YES"
  13 + buildForProfiling = "YES"
  14 + buildForArchiving = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "B2FD10A39A0D26B6A80E626DD510D013"
  18 + BuildableName = "DSToolsModuleF.framework"
  19 + BlueprintName = "DSToolsModuleF"
  20 + ReferencedContainer = "container:Pods.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  27 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  28 + shouldUseLaunchSchemeArgsEnv = "YES"
  29 + buildConfiguration = "Debug">
  30 + <AdditionalOptions>
  31 + </AdditionalOptions>
  32 + </TestAction>
  33 + <LaunchAction
  34 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  35 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  36 + launchStyle = "0"
  37 + useCustomWorkingDirectory = "NO"
  38 + ignoresPersistentStateOnLaunch = "NO"
  39 + debugDocumentVersioning = "YES"
  40 + debugServiceExtension = "internal"
  41 + buildConfiguration = "Debug"
  42 + allowLocationSimulation = "YES">
  43 + <AdditionalOptions>
  44 + </AdditionalOptions>
  45 + </LaunchAction>
  46 + <ProfileAction
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES"
  50 + buildConfiguration = "Release"
  51 + shouldUseLaunchSchemeArgsEnv = "YES">
  52 + </ProfileAction>
  53 + <AnalyzeAction
  54 + buildConfiguration = "Debug">
  55 + </AnalyzeAction>
  56 + <ArchiveAction
  57 + buildConfiguration = "Release"
  58 + revealArchiveInOrganizer = "YES">
  59 + </ArchiveAction>
  60 +</Scheme>
... ...
Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/Pods-DSToolsModuleF_Example.xcscheme 0 → 100644
  1 +++ a/Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/Pods-DSToolsModuleF_Example.xcscheme
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "1100"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "276758D15B042655270CA85BAF937A66"
  18 + BuildableName = "Pods_DSToolsModuleF_Example.framework"
  19 + BlueprintName = "Pods-DSToolsModuleF_Example"
  20 + ReferencedContainer = "container:Pods.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + shouldUseLaunchSchemeArgsEnv = "YES">
  30 + <Testables>
  31 + </Testables>
  32 + </TestAction>
  33 + <LaunchAction
  34 + buildConfiguration = "Debug"
  35 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  36 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  37 + launchStyle = "0"
  38 + useCustomWorkingDirectory = "NO"
  39 + ignoresPersistentStateOnLaunch = "NO"
  40 + debugDocumentVersioning = "YES"
  41 + debugServiceExtension = "internal"
  42 + allowLocationSimulation = "YES">
  43 + </LaunchAction>
  44 + <ProfileAction
  45 + buildConfiguration = "Release"
  46 + shouldUseLaunchSchemeArgsEnv = "YES"
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES">
  50 + </ProfileAction>
  51 + <AnalyzeAction
  52 + buildConfiguration = "Debug">
  53 + </AnalyzeAction>
  54 + <ArchiveAction
  55 + buildConfiguration = "Release"
  56 + revealArchiveInOrganizer = "YES">
  57 + </ArchiveAction>
  58 +</Scheme>
... ...
Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/Pods-DSToolsModuleF_Tests.xcscheme 0 → 100644
  1 +++ a/Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/Pods-DSToolsModuleF_Tests.xcscheme
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "1100"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "5F4663E160DA9416A35D9C0427F7BC3F"
  18 + BuildableName = "Pods_DSToolsModuleF_Tests.framework"
  19 + BlueprintName = "Pods-DSToolsModuleF_Tests"
  20 + ReferencedContainer = "container:Pods.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + shouldUseLaunchSchemeArgsEnv = "YES">
  30 + <Testables>
  31 + </Testables>
  32 + </TestAction>
  33 + <LaunchAction
  34 + buildConfiguration = "Debug"
  35 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  36 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  37 + launchStyle = "0"
  38 + useCustomWorkingDirectory = "NO"
  39 + ignoresPersistentStateOnLaunch = "NO"
  40 + debugDocumentVersioning = "YES"
  41 + debugServiceExtension = "internal"
  42 + allowLocationSimulation = "YES">
  43 + </LaunchAction>
  44 + <ProfileAction
  45 + buildConfiguration = "Release"
  46 + shouldUseLaunchSchemeArgsEnv = "YES"
  47 + savedToolIdentifier = ""
  48 + useCustomWorkingDirectory = "NO"
  49 + debugDocumentVersioning = "YES">
  50 + </ProfileAction>
  51 + <AnalyzeAction
  52 + buildConfiguration = "Debug">
  53 + </AnalyzeAction>
  54 + <ArchiveAction
  55 + buildConfiguration = "Release"
  56 + revealArchiveInOrganizer = "YES">
  57 + </ArchiveAction>
  58 +</Scheme>
... ...
Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/xcschememanagement.plist 0 → 100644
  1 +++ a/Example/Pods/Pods.xcodeproj/xcuserdata/zhaolin.xcuserdatad/xcschemes/xcschememanagement.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>SchemeUserState</key>
  6 + <dict>
  7 + <key>DSToolsModuleF.xcscheme</key>
  8 + <dict>
  9 + <key>isShown</key>
  10 + <false/>
  11 + </dict>
  12 + <key>Pods-DSToolsModuleF_Example.xcscheme</key>
  13 + <dict>
  14 + <key>isShown</key>
  15 + <false/>
  16 + </dict>
  17 + <key>Pods-DSToolsModuleF_Tests.xcscheme</key>
  18 + <dict>
  19 + <key>isShown</key>
  20 + <false/>
  21 + </dict>
  22 + </dict>
  23 + <key>SuppressBuildableAutocreation</key>
  24 + <dict/>
  25 +</dict>
  26 +</plist>
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-Info.plist 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-Info.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>${EXECUTABLE_NAME}</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>${PRODUCT_NAME}</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>0.1.0</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>${CURRENT_PROJECT_VERSION}</string>
  23 + <key>NSPrincipalClass</key>
  24 + <string></string>
  25 +</dict>
  26 +</plist>
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-dummy.m 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-dummy.m
  1 +#import <Foundation/Foundation.h>
  2 +@interface PodsDummy_DSToolsModuleF : NSObject
  3 +@end
  4 +@implementation PodsDummy_DSToolsModuleF
  5 +@end
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-prefix.pch 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-prefix.pch
  1 +#ifdef __OBJC__
  2 +#import <UIKit/UIKit.h>
  3 +#else
  4 +#ifndef FOUNDATION_EXPORT
  5 +#if defined(__cplusplus)
  6 +#define FOUNDATION_EXPORT extern "C"
  7 +#else
  8 +#define FOUNDATION_EXPORT extern
  9 +#endif
  10 +#endif
  11 +#endif
  12 +
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-umbrella.h 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF-umbrella.h
  1 +#ifdef __OBJC__
  2 +#import <UIKit/UIKit.h>
  3 +#else
  4 +#ifndef FOUNDATION_EXPORT
  5 +#if defined(__cplusplus)
  6 +#define FOUNDATION_EXPORT extern "C"
  7 +#else
  8 +#define FOUNDATION_EXPORT extern
  9 +#endif
  10 +#endif
  11 +#endif
  12 +
  13 +
  14 +FOUNDATION_EXPORT double DSToolsModuleFVersionNumber;
  15 +FOUNDATION_EXPORT const unsigned char DSToolsModuleFVersionString[];
  16 +
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF.modulemap 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF.modulemap
  1 +framework module DSToolsModuleF {
  2 + umbrella header "DSToolsModuleF-umbrella.h"
  3 +
  4 + export *
  5 + module * { export * }
  6 +}
... ...
Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF.xcconfig 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/DSToolsModuleF/DSToolsModuleF.xcconfig
  1 +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/DSToolsModuleF
  2 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
  3 +PODS_BUILD_DIR = ${BUILD_DIR}
  4 +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
  5 +PODS_ROOT = ${SRCROOT}
  6 +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
  7 +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
  8 +SKIP_INSTALL = YES
  9 +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
... ...
Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-Info.plist 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-Info.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>${EXECUTABLE_NAME}</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>${PRODUCT_NAME}</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>1.0.0</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>${CURRENT_PROJECT_VERSION}</string>
  23 + <key>NSPrincipalClass</key>
  24 + <string></string>
  25 +</dict>
  26 +</plist>
... ...
Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-acknowledgements.markdown 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-acknowledgements.markdown
  1 +# Acknowledgements
  2 +This application makes use of the following third party libraries:
  3 +
  4 +## DSToolsModuleF
  5 +
  6 +Copyright (c) 2020 694092596@qq.com <694092596@qq.com>
  7 +
  8 +Permission is hereby granted, free of charge, to any person obtaining a copy
  9 +of this software and associated documentation files (the "Software"), to deal
  10 +in the Software without restriction, including without limitation the rights
  11 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  12 +copies of the Software, and to permit persons to whom the Software is
  13 +furnished to do so, subject to the following conditions:
  14 +
  15 +The above copyright notice and this permission notice shall be included in
  16 +all copies or substantial portions of the Software.
  17 +
  18 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  19 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  20 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  21 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  22 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  23 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  24 +THE SOFTWARE.
  25 +
  26 +Generated by CocoaPods - https://cocoapods.org
... ...
Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-acknowledgements.plist 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-acknowledgements.plist
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>PreferenceSpecifiers</key>
  6 + <array>
  7 + <dict>
  8 + <key>FooterText</key>
  9 + <string>This application makes use of the following third party libraries:</string>
  10 + <key>Title</key>
  11 + <string>Acknowledgements</string>
  12 + <key>Type</key>
  13 + <string>PSGroupSpecifier</string>
  14 + </dict>
  15 + <dict>
  16 + <key>FooterText</key>
  17 + <string>Copyright (c) 2020 694092596@qq.com &lt;694092596@qq.com&gt;
  18 +
  19 +Permission is hereby granted, free of charge, to any person obtaining a copy
  20 +of this software and associated documentation files (the "Software"), to deal
  21 +in the Software without restriction, including without limitation the rights
  22 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  23 +copies of the Software, and to permit persons to whom the Software is
  24 +furnished to do so, subject to the following conditions:
  25 +
  26 +The above copyright notice and this permission notice shall be included in
  27 +all copies or substantial portions of the Software.
  28 +
  29 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  30 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  31 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  32 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  33 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  34 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  35 +THE SOFTWARE.
  36 +</string>
  37 + <key>License</key>
  38 + <string>MIT</string>
  39 + <key>Title</key>
  40 + <string>DSToolsModuleF</string>
  41 + <key>Type</key>
  42 + <string>PSGroupSpecifier</string>
  43 + </dict>
  44 + <dict>
  45 + <key>FooterText</key>
  46 + <string>Generated by CocoaPods - https://cocoapods.org</string>
  47 + <key>Title</key>
  48 + <string></string>
  49 + <key>Type</key>
  50 + <string>PSGroupSpecifier</string>
  51 + </dict>
  52 + </array>
  53 + <key>StringsTable</key>
  54 + <string>Acknowledgements</string>
  55 + <key>Title</key>
  56 + <string>Acknowledgements</string>
  57 +</dict>
  58 +</plist>
... ...
Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-dummy.m 0 → 100644
  1 +++ a/Example/Pods/Target Support Files/Pods-DSToolsModuleF_Example/Pods-DSToolsModuleF_Example-dummy.m
  1 +#import <Foundation/Foundation.h>
  2 +@interface PodsDummy_Pods_DSToolsModuleF_Example : NSObject
  3 +@end
  4 +@implementation PodsDummy_Pods_DSToolsModuleF_Example
  5 +@end
... ...