Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
e0f08066
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
12 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e0f08066
编写于
6月 24, 2019
作者:
Y
yixiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
消除SDK warning
上级
3e66eca0
变更
41
隐藏空白更改
内联
并排
Showing
41 changed file
with
101 addition
and
105 deletion
+101
-105
iOS/DoraemonKit/Src/Core/CommonUI/Visual/DoraemonVisualInfoWindow.m
...onKit/Src/Core/CommonUI/Visual/DoraemonVisualInfoWindow.m
+12
-12
iOS/DoraemonKit/Src/Core/Entry/DoraemonEntryView.m
iOS/DoraemonKit/Src/Core/Entry/DoraemonEntryView.m
+0
-1
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
+1
-1
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.m
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.m
+1
-1
iOS/DoraemonKit/Src/Core/Network/Interceptor/DoraemonNetworkInterceptor.m
...Src/Core/Network/Interceptor/DoraemonNetworkInterceptor.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
.../Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/AppInfo/DoraemonAppInfoUtil.m
...DoraemonKit/Src/Core/Plugin/AppInfo/DoraemonAppInfoUtil.m
+18
-28
iOS/DoraemonKit/Src/Core/Plugin/AppInfo/DoraemonAppInfoViewController.m
...t/Src/Core/Plugin/AppInfo/DoraemonAppInfoViewController.m
+24
-18
iOS/DoraemonKit/Src/Core/Plugin/CPU/DoraemonCPUViewController.m
...raemonKit/Src/Core/Plugin/CPU/DoraemonCPUViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/CPU/Function/DoraemonCPUOscillogramViewController.m
...lugin/CPU/Function/DoraemonCPUOscillogramViewController.m
+0
-1
iOS/DoraemonKit/Src/Core/Plugin/Crash/DoraemonCrashViewController.m
...onKit/Src/Core/Plugin/Crash/DoraemonCrashViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/DeleteLocalData/DoraemonDeleteLocalDataViewController.m
...n/DeleteLocalData/DoraemonDeleteLocalDataViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/FPS/DoraemonFPSViewController.m
...raemonKit/Src/Core/Plugin/FPS/DoraemonFPSViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Detail/DoraemonImageDetectionCell.m
...n/LargeImageDetection/Detail/DoraemonImageDetectionCell.m
+0
-1
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Detail/DoraemonResponseImageModel.m
...n/LargeImageDetection/Detail/DoraemonResponseImageModel.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Function/DoraemonLargeImageDetectionManager.m
...geDetection/Function/DoraemonLargeImageDetectionManager.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Function/UIImageView+DoraemonSDImage.m
...argeImageDetection/Function/UIImageView+DoraemonSDImage.m
+3
-1
iOS/DoraemonKit/Src/Core/Plugin/Memory/DoraemonMemoryViewController.m
...Kit/Src/Core/Plugin/Memory/DoraemonMemoryViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/NSLog/DoraemonNSLogViewController.m
...onKit/Src/Core/Plugin/NSLog/DoraemonNSLogViewController.m
+2
-2
iOS/DoraemonKit/Src/Core/Plugin/NSLog/List/DoraemonNSLogListCell.h
...monKit/Src/Core/Plugin/NSLog/List/DoraemonNSLogListCell.h
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Detail/DoraemonNetFlowDetailViewController.m
...ugin/NetFlow/Detail/DoraemonNetFlowDetailViewController.m
+2
-3
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/DoraemonNetFlowViewController.m
...t/Src/Core/Plugin/NetFlow/DoraemonNetFlowViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/DoraemonNetFlowHttpModel.m
...c/Core/Plugin/NetFlow/Function/DoraemonNetFlowHttpModel.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.h
...t/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.h
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.m
...t/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/Util/DoraemonDBManager.m
...raemonKit/Src/Core/Plugin/Sanbox/Util/DoraemonDBManager.m
+2
-2
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
...Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/SubThreadUICheck/DoraemonSubThreadUICheckViewController.m
...SubThreadUICheck/DoraemonSubThreadUICheckViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/ViewCheck/Function/DoraemonViewCheckView.m
...rc/Core/Plugin/ViewCheck/Function/DoraemonViewCheckView.m
+1
-1
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
+2
-2
iOS/DoraemonKit/Src/GPS/Function/CLLocationManager+Doraemon.m
...DoraemonKit/Src/GPS/Function/CLLocationManager+Doraemon.m
+0
-1
iOS/DoraemonKit/Src/Logger/DoraemonCocoaLumberjackViewController.m
...monKit/Src/Logger/DoraemonCocoaLumberjackViewController.m
+2
-2
iOS/DoraemonKit/Src/Logger/List/DoraemonCocoaLumberjackListCell.h
...emonKit/Src/Logger/List/DoraemonCocoaLumberjackListCell.h
+1
-1
iOS/DoraemonKit/Src/Logger/List/DoraemonCocoaLumberjackListViewController.m
...c/Logger/List/DoraemonCocoaLumberjackListViewController.m
+2
-2
iOS/DoraemonKit/Src/MethodUseTime/DoraemonMethodUseTimeViewController.m
...t/Src/MethodUseTime/DoraemonMethodUseTimeViewController.m
+2
-2
iOS/DoraemonKit/Src/MethodUseTime/List/DoraemonMethodUseTimeListViewController.m
...hodUseTime/List/DoraemonMethodUseTimeListViewController.m
+1
-1
iOS/DoraemonKit/Src/Weex/Log/Model/DoraemonWeexLogModel.h
iOS/DoraemonKit/Src/Weex/Log/Model/DoraemonWeexLogModel.h
+2
-1
iOS/DoraemonKit/Src/Weex/Log/View/DoraemonWeexLogCell.h
iOS/DoraemonKit/Src/Weex/Log/View/DoraemonWeexLogCell.h
+3
-2
iOS/DoraemonKitDemo/DoraemonKitDemo/DemoVC/Net/Image/DoraemonDemoImageViewController.m
...itDemo/DemoVC/Net/Image/DoraemonDemoImageViewController.m
+1
-1
iOS/DoraemonKitDemo/Podfile
iOS/DoraemonKitDemo/Podfile
+2
-1
iOS/DoraemonKitDemo/Podfile.lock
iOS/DoraemonKitDemo/Podfile.lock
+1
-1
未找到文件。
iOS/DoraemonKit/Src/Core/CommonUI/Visual/DoraemonVisualInfoWindow.m
浏览文件 @
e0f08066
...
...
@@ -28,20 +28,20 @@
CGFloat
closeWidth
=
kDoraemonSizeFrom750_Landscape
(
44
);
CGFloat
closeHeight
=
kDoraemonSizeFrom750_Landscape
(
44
);
_
closeBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
viewSize
.
width
-
closeWidth
-
kDoraemonSizeFrom750_Landscape
(
16
),
kDoraemonSizeFrom750_Landscape
(
16
),
closeWidth
,
closeHeight
)];
self
.
closeBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
viewSize
.
width
-
closeWidth
-
kDoraemonSizeFrom750_Landscape
(
16
),
kDoraemonSizeFrom750_Landscape
(
16
),
closeWidth
,
closeHeight
)];
[
_
closeBtn
setBackgroundImage
:[
UIImage
doraemon_imageNamed
:
@"doraemon_close"
]
forState
:
UIControlStateNormal
];
[
_
closeBtn
addTarget
:
self
action
:
@selector
(
closeBtnClicked
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
view
addSubview
:
_
closeBtn
];
[
self
.
closeBtn
setBackgroundImage
:[
UIImage
doraemon_imageNamed
:
@"doraemon_close"
]
forState
:
UIControlStateNormal
];
[
self
.
closeBtn
addTarget
:
self
action
:
@selector
(
closeBtnClicked
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
view
addSubview
:
self
.
closeBtn
];
_
infoLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectMake
(
kDoraemonSizeFrom750_Landscape
(
32
),
0
,
viewSize
.
width
-
kDoraemonSizeFrom750_Landscape
(
32
+
16
)
-
closeWidth
,
viewSize
.
height
)];
_
infoLabel
.
backgroundColor
=
[
UIColor
clearColor
];
_
infoLabel
.
textColor
=
[
UIColor
doraemon_black_1
];
_
infoLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750_Landscape
(
24
)];
_
infoLabel
.
numberOfLines
=
0
;
[
self
.
view
addSubview
:
_
infoLabel
];
self
.
infoLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectMake
(
kDoraemonSizeFrom750_Landscape
(
32
),
0
,
viewSize
.
width
-
kDoraemonSizeFrom750_Landscape
(
32
+
16
)
-
closeWidth
,
viewSize
.
height
)];
self
.
infoLabel
.
backgroundColor
=
[
UIColor
clearColor
];
self
.
infoLabel
.
textColor
=
[
UIColor
doraemon_black_1
];
self
.
infoLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750_Landscape
(
24
)];
self
.
infoLabel
.
numberOfLines
=
0
;
[
self
.
view
addSubview
:
self
.
infoLabel
];
[(
id
)
self
.
view
.
window
setInfoLabel
:
_
infoLabel
];
[(
id
)
self
.
view
.
window
setInfoLabel
:
self
.
infoLabel
];
});
}
...
...
@@ -53,7 +53,7 @@
-
(
void
)
viewWillTransitionToSize
:(
CGSize
)
size
withTransitionCoordinator
:(
id
<
UIViewControllerTransitionCoordinator
>
)
coordinator
{
[
super
viewWillTransitionToSize
:
size
withTransitionCoordinator
:
coordinator
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
self
.
view
.
window
.
frame
=
CGRectMake
(
kDoraemonSizeFrom750_Landscape
(
30
),
DoraemonScreenHeight
-
_
infoLabel
.
frame
.
size
.
height
-
kDoraemonSizeFrom750_Landscape
(
30
),
size
.
height
,
size
.
width
);
self
.
view
.
window
.
frame
=
CGRectMake
(
kDoraemonSizeFrom750_Landscape
(
30
),
DoraemonScreenHeight
-
self
.
infoLabel
.
frame
.
size
.
height
-
kDoraemonSizeFrom750_Landscape
(
30
),
size
.
height
,
size
.
width
);
});
}
...
...
iOS/DoraemonKit/Src/Core/Entry/DoraemonEntryView.m
浏览文件 @
e0f08066
...
...
@@ -57,7 +57,6 @@
}
-
(
void
)
showClose
:(
NSNotification
*
)
notification
{
NSDictionary
*
userInfo
=
notification
.
userInfo
;
[
_entryBtn
setImage
:[
UIImage
doraemon_imageNamed
:
@"doraemon_close"
]
forState
:
UIControlStateNormal
];
[
_entryBtn
removeTarget
:
self
action
:
@selector
(
showClose
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
_entryBtn
addTarget
:
self
action
:
@selector
(
closePluginClick
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
...
...
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
浏览文件 @
e0f08066
...
...
@@ -84,7 +84,7 @@ typedef NS_ENUM(NSUInteger, DoraemonManagerPluginType) {
-
(
void
)
install
;
-
(
void
)
installWithCustomBlock
:(
void
(
^
)())
customBlock
;
-
(
void
)
installWithCustomBlock
:(
void
(
^
)(
void
))
customBlock
;
@property
(
nonatomic
,
strong
)
NSMutableArray
*
dataArray
;
...
...
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.m
浏览文件 @
e0f08066
...
...
@@ -77,7 +77,7 @@ typedef void (^DoraemonPerformanceBlock)(NSDictionary *);
}];
}
-
(
void
)
installWithCustomBlock
:(
void
(
^
)())
customBlock
{
-
(
void
)
installWithCustomBlock
:(
void
(
^
)(
void
))
customBlock
{
for
(
int
i
=
0
;
i
<
_startPlugins
.
count
;
i
++
)
{
NSString
*
pluginName
=
_startPlugins
[
i
];
Class
pluginClass
=
NSClassFromString
(
pluginName
);
...
...
iOS/DoraemonKit/Src/Core/Network/Interceptor/DoraemonNetworkInterceptor.m
浏览文件 @
e0f08066
...
...
@@ -86,7 +86,7 @@ static DoraemonNetworkInterceptor *instance = nil;
}
-
(
void
)
updateInterceptStatusForSessionConfiguration
:
(
NSURLSessionConfiguration
*
)
sessionConfiguration
{
BOOL
shouldIntercept
=
[
self
shouldIntercept
];
//
BOOL shouldIntercept = [self shouldIntercept];
if
([
sessionConfiguration
respondsToSelector
:
@selector
(
protocolClasses
)]
&&
[
sessionConfiguration
respondsToSelector
:
@selector
(
setProtocolClasses
:)])
{
NSMutableArray
*
urlProtocolClasses
=
[
NSMutableArray
arrayWithArray
:
sessionConfiguration
.
protocolClasses
];
...
...
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
浏览文件 @
e0f08066
...
...
@@ -35,7 +35,7 @@
_anrTimeLabel
.
textColor
=
[
UIColor
doraemon_black_1
];
_anrTimeLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750
(
16
)];
_anrTimeLabel
.
text
=
[
NSString
stringWithFormat
:
@"卡顿耗时 : %@s"
,
_anrInfo
[
@"duration"
]];
_anrTimeLabel
.
sizeToFit
;
[
_anrTimeLabel
sizeToFit
]
;
_anrTimeLabel
.
frame
=
CGRectMake
(
20
,
_contentLabel
.
doraemon_bottom
+
20
,
_anrTimeLabel
.
doraemon_width
,
_anrTimeLabel
.
doraemon_height
);
[
self
.
view
addSubview
:
_anrTimeLabel
];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/AppInfo/DoraemonAppInfoUtil.m
浏览文件 @
e0f08066
...
...
@@ -132,14 +132,8 @@
}
+
(
NSString
*
)
pushAuthority
{
if
(
IOS8
)
{
//iOS8以上包含iOS8
if
([[
UIApplication
sharedApplication
]
currentUserNotificationSettings
].
types
==
UIRemoteNotificationTypeNone
)
{
return
@"NO"
;
}
}
else
{
// ios7 一下
if
([[
UIApplication
sharedApplication
]
enabledRemoteNotificationTypes
]
==
UIRemoteNotificationTypeNone
)
{
return
@"NO"
;
}
if
([[
UIApplication
sharedApplication
]
currentUserNotificationSettings
].
types
==
UIRemoteNotificationTypeNone
)
{
return
@"NO"
;
}
return
@"YES"
;
}
...
...
@@ -250,51 +244,47 @@
+
(
NSString
*
)
addressAuthority
{
NSString
*
authority
=
@""
;
//iOS9.0之前
if
([[
UIDevice
currentDevice
].
systemVersion
floatValue
]
<=
__IPHONE_9_0
)
{
ABAuthorizationStatus
authorStatus
=
ABAddressBookGetAuthorizationStatus
();
switch
(
authorStatus
)
{
case
kABAuthorizationStatusAuthorized
:
if
(
@available
(
iOS
9
.
0
,
*
))
{
//iOS9.0之后
CNAuthorizationStatus
authStatus
=
[
CNContactStore
authorizationStatusForEntityType
:
CNEntityTypeContacts
];
switch
(
authStatus
)
{
case
CNAuthorizationStatusAuthorized
:
authority
=
@"Authorized"
;
break
;
case
kAB
AuthorizationStatusDenied
:
case
CN
AuthorizationStatusDenied
:
{
authority
=
@"Denied"
;
}
break
;
case
kAB
AuthorizationStatusNotDetermined
:
case
CN
AuthorizationStatusNotDetermined
:
{
authority
=
@"NotDetermined"
;
}
break
;
case
kAB
AuthorizationStatusRestricted
:
case
CN
AuthorizationStatusRestricted
:
authority
=
@"Restricted"
;
break
;
default:
break
;
}
}
else
//iOS9.0之后
{
CNAuthorizationStatus
authStatus
=
[
CNContactStore
authorizationStatusForEntityType
:
CNEntityTypeContacts
];
switch
(
authStatus
)
{
case
CNAuthorizationStatusAuthorized
:
}
else
{
//iOS9.0之前
ABAuthorizationStatus
authorStatus
=
ABAddressBookGetAuthorizationStatus
();
switch
(
authorStatus
)
{
case
kABAuthorizationStatusAuthorized
:
authority
=
@"Authorized"
;
break
;
case
CN
AuthorizationStatusDenied
:
case
kAB
AuthorizationStatusDenied
:
{
authority
=
@"Denied"
;
}
break
;
case
CN
AuthorizationStatusNotDetermined
:
case
kAB
AuthorizationStatusNotDetermined
:
{
authority
=
@"NotDetermined"
;
}
break
;
case
CN
AuthorizationStatusRestricted
:
case
kAB
AuthorizationStatusRestricted
:
authority
=
@"Restricted"
;
break
;
default:
break
;
}
}
return
authority
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/AppInfo/DoraemonAppInfoViewController.m
浏览文件 @
e0f08066
...
...
@@ -23,7 +23,9 @@
@end
@implementation
DoraemonAppInfoViewController
@implementation
DoraemonAppInfoViewController
{
}
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
...
...
@@ -34,8 +36,10 @@
-
(
void
)
viewDidDisappear
:(
BOOL
)
animated
{
[
super
viewDidDisappear
:
animated
];
_cellularData
.
cellularDataRestrictionDidUpdateNotifier
=
nil
;
_cellularData
=
nil
;
if
(
@available
(
iOS
9
.
0
,
*
)){
_cellularData
.
cellularDataRestrictionDidUpdateNotifier
=
nil
;
_cellularData
=
nil
;
}
}
-
(
BOOL
)
needBigTitleView
{
...
...
@@ -81,21 +85,23 @@
NSString
*
locationAuthority
=
[
DoraemonAppInfoUtil
locationAuthority
];
//获取网络权限
_cellularData
=
[[
CTCellularData
alloc
]
init
];
__weak
typeof
(
self
)
weakSelf
=
self
;
_cellularData
.
cellularDataRestrictionDidUpdateNotifier
=
^
(
CTCellularDataRestrictedState
state
)
{
if
(
state
==
kCTCellularDataRestricted
)
{
weakSelf
.
authority
=
@"Restricted"
;
}
else
if
(
state
==
kCTCellularDataNotRestricted
){
weakSelf
.
authority
=
@"NotRestricted"
;
}
else
{
weakSelf
.
authority
=
@"Unknown"
;
}
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
weakSelf
.
tableView
reloadData
];
});
};
if
(
@available
(
iOS
9
.
0
,
*
))
{
_cellularData
=
[[
CTCellularData
alloc
]
init
];
__weak
typeof
(
self
)
weakSelf
=
self
;
_cellularData
.
cellularDataRestrictionDidUpdateNotifier
=
^
(
CTCellularDataRestrictedState
state
)
{
if
(
state
==
kCTCellularDataRestricted
)
{
weakSelf
.
authority
=
@"Restricted"
;
}
else
if
(
state
==
kCTCellularDataNotRestricted
){
weakSelf
.
authority
=
@"NotRestricted"
;
}
else
{
weakSelf
.
authority
=
@"Unknown"
;
}
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
weakSelf
.
tableView
reloadData
];
});
};
}
//获取push权限
NSString
*
pushAuthority
=
[
DoraemonAppInfoUtil
pushAuthority
];
...
...
iOS/DoraemonKit/Src/Core/Plugin/CPU/DoraemonCPUViewController.m
浏览文件 @
e0f08066
...
...
@@ -13,7 +13,7 @@
#import "DoraemonCellSwitch.h"
#import "DoraemonDefine.h"
@interface
DoraemonCPUViewController
()
@interface
DoraemonCPUViewController
()
<
DoraemonSwitchViewDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/CPU/Function/DoraemonCPUOscillogramViewController.m
浏览文件 @
e0f08066
...
...
@@ -49,7 +49,6 @@
cpuUsage
=
cpuUsage
*
100
;
}
// 0~100 对应 高度0~_oscillogramView.doraemon_height
NSTimeInterval
time
=
[[
NSDate
date
]
timeIntervalSince1970
];
[
self
.
oscillogramView
addHeightValue
:
cpuUsage
*
self
.
oscillogramView
.
doraemon_height
/
100
.
andTipValue
:[
NSString
stringWithFormat
:
@"%.f"
,
cpuUsage
]];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/Crash/DoraemonCrashViewController.m
浏览文件 @
e0f08066
...
...
@@ -70,7 +70,7 @@
[[
DoraemonCacheManager
sharedInstance
]
saveCrashSwitch
:
on
];
exit
(
0
);
}
cancleBlock
:^
{
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
}];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/DeleteLocalData/DoraemonDeleteLocalDataViewController.m
浏览文件 @
e0f08066
...
...
@@ -11,7 +11,7 @@
#import "DoraemonCellButton.h"
#import "DoraemonDefine.h"
@interface
DoraemonDeleteLocalDataViewController
()
@interface
DoraemonDeleteLocalDataViewController
()
<
DoraemonCellButtonDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellButton
*
cellBtn
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/FPS/DoraemonFPSViewController.m
浏览文件 @
e0f08066
...
...
@@ -12,7 +12,7 @@
#import "DoraemonCellSwitch.h"
#import "DoraemonDefine.h"
@interface
DoraemonFPSViewController
()
@interface
DoraemonFPSViewController
()
<
DoraemonSwitchViewDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Detail/DoraemonImageDetectionCell.m
浏览文件 @
e0f08066
...
...
@@ -35,7 +35,6 @@
}
-
(
void
)
initUI
{
CGFloat
buttonWidth
=
44
;
CGFloat
space
=
8
;
self
.
previewImageView
=
[[
UIImageView
alloc
]
initWithFrame
:
CGRectMake
(
space
,
space
,
100
,
100
)];
...
...
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Detail/DoraemonResponseImageModel.m
浏览文件 @
e0f08066
...
...
@@ -14,7 +14,7 @@
self
=
[[
DoraemonResponseImageModel
alloc
]
init
];
self
.
url
=
response
.
URL
;
self
.
data
=
data
;
int64_t
byte
=
[
DoraemonUrlUtil
getResponseLength
:
response
data
:
data
];
int64_t
byte
=
[
DoraemonUrlUtil
getResponseLength
:
(
NSHTTPURLResponse
*
)
response
data
:
data
];
self
.
size
=
[
NSByteCountFormatter
stringFromByteCount
:
byte
countStyle
:
NSByteCountFormatterCountStyleBinary
];
return
self
;
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Function/DoraemonLargeImageDetectionManager.m
浏览文件 @
e0f08066
...
...
@@ -61,7 +61,7 @@ static DoraemonLargeImageDetectionManager *instance = nil;
if
(
!
[
response
.
MIMEType
hasPrefix
:
@"image/"
])
{
return
;
}
if
([
DoraemonUrlUtil
getResponseLength
:
response
data
:
data
]
<
self
.
minimumDetectionSize
)
{
if
([
DoraemonUrlUtil
getResponseLength
:
(
NSHTTPURLResponse
*
)
response
data
:
data
]
<
self
.
minimumDetectionSize
)
{
return
;
}
dispatch_semaphore_wait
(
semaphore
,
DISPATCH_TIME_FOREVER
);
...
...
iOS/DoraemonKit/Src/Core/Plugin/LargeImageDetection/Function/UIImageView+DoraemonSDImage.m
浏览文件 @
e0f08066
...
...
@@ -15,7 +15,8 @@
@implementation
UIImageView
(
DoraemonSDImage
)
+
(
void
)
load
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
Method
originAddObserverMethod
=
class_getInstanceMethod
(
self
,
@selector
(
sd_setImageWithURL
:
placeholderImage
:
options
:
context
:
progress
:
completed
:
));
if
(
originAddObserverMethod
)
{
...
...
@@ -27,6 +28,7 @@
[
self
doraemon_swizzleInstanceMethodWithOriginSel
:
@selector
(
sd_setImageWithURL
:
placeholderImage
:
options
:
progress
:
completed
:
)
swizzledSel
:
@selector
(
doraemon_sd_setImageWithURL
:
placeholderImage
:
options
:
progress
:
completed
:
)];
}
//估计以后还会兼容其他版本啊。哭。
#pragma clang diagnostic pop
}
-
(
void
)
doraemon_sd_setImageWithURL
:(
nullable
NSURL
*
)
url
...
...
iOS/DoraemonKit/Src/Core/Plugin/Memory/DoraemonMemoryViewController.m
浏览文件 @
e0f08066
...
...
@@ -12,7 +12,7 @@
#import "DoraemonCellSwitch.h"
#import "DoraemonDefine.h"
@interface
DoraemonMemoryViewController
()
@interface
DoraemonMemoryViewController
()
<
DoraemonSwitchViewDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/NSLog/DoraemonNSLogViewController.m
浏览文件 @
e0f08066
...
...
@@ -12,7 +12,7 @@
#import "DoraemonNSLogListViewController.h"
#import "DoraemonDefine.h"
@interface
DoraemonNSLogViewController
()
@interface
DoraemonNSLogViewController
()
<
DoraemonSwitchViewDelegate
,
DoraemonCellButtonDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
@property
(
nonatomic
,
strong
)
DoraemonCellButton
*
cellBtn
;
...
...
@@ -51,7 +51,7 @@
[[
DoraemonCacheManager
sharedInstance
]
saveNSLogSwitch
:
on
];
exit
(
0
);
}
cancleBlock
:^
{
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
}];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/NSLog/List/DoraemonNSLogListCell.h
浏览文件 @
e0f08066
...
...
@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
-
(
void
)
renderCellWithData
:(
DoraemonNSLogModel
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
DoraemonNSLogModel
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
nullable
DoraemonNSLogModel
*
)
model
;
@end
...
...
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Detail/DoraemonNetFlowDetailViewController.m
浏览文件 @
e0f08066
...
...
@@ -67,7 +67,7 @@ typedef NS_ENUM(NSUInteger, NetFlowSelectState) {
[
allHTTPHeaderString
appendFormat
:
@"%@ : %@
\r\n
"
,
key
,
value
];
}
if
(
allHTTPHeaderString
.
length
==
0
)
{
allHTTPHeaderString
=
@"NULL"
;
allHTTPHeaderString
=
[
NSMutableString
stringWithFormat
:
@"NULL"
]
;
}
NSString
*
requestBody
=
self
.
httpModel
.
requestBody
;
...
...
@@ -95,14 +95,13 @@ typedef NS_ENUM(NSUInteger, NetFlowSelectState) {
NSString
*
respanseDataSize
=
[
NSString
stringWithFormat
:
DoraemonLocalizedString
(
@"数据大小 : %@"
),[
DoraemonUtil
formatByte
:[
self
.
httpModel
.
downFlow
floatValue
]]];
NSString
*
mineType
=
[
NSString
stringWithFormat
:
@"mineType : %@"
,
self
.
httpModel
.
mineType
];
NSDictionary
<
NSString
*
,
NSString
*>
*
responseHeaderFields
=
(
NSHTTPURLResponse
*
)
self
.
httpModel
.
response
;;
NSMutableString
*
responseHeaderString
=
[
NSMutableString
string
];
for
(
NSString
*
key
in
allHTTPHeaderFields
)
{
NSString
*
value
=
allHTTPHeaderFields
[
key
];
[
responseHeaderString
appendFormat
:
@"%@ : %@
\r\n
"
,
key
,
value
];
}
if
(
responseHeaderString
.
length
==
0
)
{
responseHeaderString
=
@"NULL"
;
responseHeaderString
=
[
NSMutableString
stringWithFormat
:
@"NULL"
]
;
}
NSString
*
responseBody
=
self
.
httpModel
.
responseBody
;
if
(
!
responseBody
||
requestBody
.
length
==
0
)
{
...
...
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/DoraemonNetFlowViewController.m
浏览文件 @
e0f08066
...
...
@@ -21,7 +21,7 @@
#import "DoraemonDefine.h"
@interface
DoraemonNetFlowViewController
()
@interface
DoraemonNetFlowViewController
()
<
DoraemonSwitchViewDelegate
>
@property
(
nonatomic
,
strong
)
UITabBarController
*
tabBar
;
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/DoraemonNetFlowHttpModel.m
浏览文件 @
e0f08066
...
...
@@ -32,7 +32,7 @@
httpModel
.
responseData
=
responseData
;
httpModel
.
responseBody
=
[
DoraemonUrlUtil
convertJsonFromData
:
responseData
];
httpModel
.
totalDuration
=
[
NSString
stringWithFormat
:
@"%fs"
,[[
NSDate
date
]
timeIntervalSince1970
]
-
request
.
startTime
.
doubleValue
];
httpModel
.
downFlow
=
[
NSString
stringWithFormat
:
@"%
zi"
,[
DoraemonUrlUtil
getResponseLength
:
response
data
:
responseData
]];
httpModel
.
downFlow
=
[
NSString
stringWithFormat
:
@"%
lli"
,[
DoraemonUrlUtil
getResponseLength
:(
NSHTTPURLResponse
*
)
response
data
:
responseData
]];
return
httpModel
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.h
浏览文件 @
e0f08066
...
...
@@ -19,6 +19,6 @@
+
(
int64_t
)
getResponseLength
:(
NSHTTPURLResponse
*
)
response
data
:(
NSData
*
)
responseData
;
+
(
NS
String
*
)
getHttpBodyFromRequest
:(
NSURLRequest
*
)
request
;
+
(
NS
Data
*
)
getHttpBodyFromRequest
:(
NSURLRequest
*
)
request
;
@end
iOS/DoraemonKit/Src/Core/Plugin/NetFlow/Function/Util/DoraemonUrlUtil.m
浏览文件 @
e0f08066
...
...
@@ -36,7 +36,7 @@
}
NSUInteger
headersLength
=
[
self
getHeadersLength
:
headerFields
];
NSData
*
httpBody
=
[
self
getHttpBodyFromRequest
:
request
];
NSData
*
httpBody
=
[
[
self
class
]
getHttpBodyFromRequest
:
request
];
NSUInteger
bodyLength
=
[
httpBody
length
];
return
headersLength
+
bodyLength
;
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/Util/DoraemonDBManager.m
浏览文件 @
e0f08066
...
...
@@ -46,8 +46,8 @@
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
)
{
const
unsigned
char
*
type_c
=
sqlite3_column_text
(
stmt
,
0
);
const
unsigned
char
*
tbl_name_c
=
sqlite3_column_text
(
stmt
,
1
);
NSString
*
type
=
[
NSString
stringWithUTF8String
:
type_c
];
NSString
*
tbl_name
=
[
NSString
stringWithUTF8String
:
tbl_name_c
];
NSString
*
type
=
[
NSString
stringWithUTF8String
:
(
const
char
*
)
type_c
];
NSString
*
tbl_name
=
[
NSString
stringWithUTF8String
:
(
const
char
*
)
tbl_name_c
];
if
(
type
&&
[
type
isEqualToString
:
@"table"
])
{
[
tableNameArray
addObject
:
tbl_name
];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
浏览文件 @
e0f08066
...
...
@@ -7,11 +7,11 @@
#import "DoraemonSandboxViewController.h"
#import "DoraemonSandboxModel.h"
#import "DoraemonSandBoxCell.h"
#import "DoraemonSanboxDetailViewController.h"
#import "DoraemonNavBarItemModel.h"
#import "DoraemonAppInfoUtil.h"
#import "DoraemonDefine.h"
#import "DoraemonSandboxCell.h"
@interface
DoraemonSandboxViewController
()
<
UITableViewDelegate
,
UITableViewDataSource
>
...
...
iOS/DoraemonKit/Src/Core/Plugin/SubThreadUICheck/DoraemonSubThreadUICheckViewController.m
浏览文件 @
e0f08066
...
...
@@ -52,7 +52,7 @@
[[
DoraemonCacheManager
sharedInstance
]
saveSubThreadUICheckSwitch
:
on
];
exit
(
0
);
}
cancleBlock
:^
{
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
}];
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/ViewCheck/Function/DoraemonViewCheckView.m
浏览文件 @
e0f08066
...
...
@@ -165,7 +165,7 @@ static CGFloat const kViewCheckSize = 62;
[
showString
appendString
:
tempString
];
}
NSString
*
string
=
[
NSString
stringWithFormat
:
showString
];
NSString
*
string
=
[
NSString
stringWithFormat
:
@"%@"
,
showString
];
// 行间距
NSMutableParagraphStyle
*
style
=
[
NSMutableParagraphStyle
new
];
style
.
lineSpacing
=
kDoraemonSizeFrom750_Landscape
(
12
);
...
...
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
浏览文件 @
e0f08066
...
...
@@ -151,7 +151,7 @@
NSArray
*
dirArray
=
[
fileManger
contentsOfDirectoryAtPath
:
path
error
:
nil
];
NSString
*
subPath
=
nil
;
for
(
NSString
*
str
in
dirArray
)
{
subPath
=
[
path
stringByAppendingPathComponent
:
str
];
subPath
=
[
path
stringByAppendingPathComponent
:
str
];
[
self
getFileSizeWithPath
:
subPath
];
}
}
else
{
...
...
@@ -169,7 +169,7 @@
//删除某一路径下的所有文件
+
(
void
)
clearFileWithPath
:(
NSString
*
)
path
{
NSFileManager
*
fm
=
[
NSFileManager
defaultManager
];
NSArray
*
files
=
[
[
NSFileManager
defaultManager
]
subpathsAtPath
:
path
];
NSArray
*
files
=
[
fm
subpathsAtPath
:
path
];
for
(
NSString
*
file
in
files
)
{
NSError
*
error
;
NSString
*
filePath
=
[
path
stringByAppendingPathComponent
:
file
];
...
...
iOS/DoraemonKit/Src/GPS/Function/CLLocationManager+Doraemon.m
浏览文件 @
e0f08066
...
...
@@ -19,7 +19,6 @@
Protocol
*
proto
=
objc_getProtocol
(
"CLLocationManagerDelegate"
);
unsigned
int
count
;
struct
objc_method_description
*
methods
=
protocol_copyMethodDescriptionList
(
proto
,
NO
,
YES
,
&
count
);
NSMutableArray
*
array
=
[
NSMutableArray
array
];
for
(
unsigned
i
=
0
;
i
<
count
;
i
++
)
{
SEL
sel
=
methods
[
i
].
name
;
...
...
iOS/DoraemonKit/Src/Logger/DoraemonCocoaLumberjackViewController.m
浏览文件 @
e0f08066
...
...
@@ -12,7 +12,7 @@
#import "DoraemonCacheManager.h"
#import "DoraemonCocoaLumberjackListViewController.h"
@interface
DoraemonCocoaLumberjackViewController
()
@interface
DoraemonCocoaLumberjackViewController
()
<
DoraemonSwitchViewDelegate
,
DoraemonCellButtonDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
@property
(
nonatomic
,
strong
)
DoraemonCellButton
*
cellBtn
;
...
...
@@ -51,7 +51,7 @@
[[
DoraemonCacheManager
sharedInstance
]
saveLoggerSwitch
:
on
];
exit
(
0
);
}
cancleBlock
:^
{
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
}];
}
...
...
iOS/DoraemonKit/Src/Logger/List/DoraemonCocoaLumberjackListCell.h
浏览文件 @
e0f08066
...
...
@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
-
(
void
)
renderCellWithData
:(
DoraemonDDLogMessage
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
DoraemonDDLogMessage
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
nullable
DoraemonDDLogMessage
*
)
model
;
@end
...
...
iOS/DoraemonKit/Src/Logger/List/DoraemonCocoaLumberjackListViewController.m
浏览文件 @
e0f08066
...
...
@@ -60,7 +60,7 @@
}
-
(
CGFloat
)
tableView
:(
UITableView
*
)
tableView
heightForRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
Doraemon
CocoaLumberjackListCell
*
model
=
[
self
.
dataArray
objectAtIndex
:
indexPath
.
row
];
Doraemon
DDLogMessage
*
model
=
[
self
.
dataArray
objectAtIndex
:
indexPath
.
row
];
return
[
DoraemonCocoaLumberjackListCell
cellHeightWith
:
model
];
}
...
...
@@ -132,7 +132,7 @@
NSArray
*
dataArray
=
self
.
origArray
;
NSMutableArray
*
resultArray
=
[[
NSMutableArray
alloc
]
init
];
for
(
DoraemonDDLogMessage
*
model
in
dataArray
){
DDLogFlag
*
modelFlag
=
model
.
flag
;
DDLogFlag
modelFlag
=
model
.
flag
;
if
(
modelFlag
<=
flag
)
{
[
resultArray
addObject
:
model
];
}
...
...
iOS/DoraemonKit/Src/MethodUseTime/DoraemonMethodUseTimeViewController.m
浏览文件 @
e0f08066
...
...
@@ -13,7 +13,7 @@
#import "DoraemonMethodUseTimeManager.h"
#import "DoraemonMethodUseTimeListViewController.h"
@interface
DoraemonMethodUseTimeViewController
()
@interface
DoraemonMethodUseTimeViewController
()
<
DoraemonSwitchViewDelegate
,
DoraemonCellButtonDelegate
>
@property
(
nonatomic
,
strong
)
DoraemonCellSwitch
*
switchView
;
@property
(
nonatomic
,
strong
)
DoraemonCellButton
*
cellBtn
;
...
...
@@ -51,7 +51,7 @@
[
DoraemonMethodUseTimeManager
sharedInstance
].
on
=
on
;
exit
(
0
);
}
cancleBlock
:^
{
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
weakSelf
.
switchView
.
switchView
.
on
=
!
on
;
}];
}
...
...
iOS/DoraemonKit/Src/MethodUseTime/List/DoraemonMethodUseTimeListViewController.m
浏览文件 @
e0f08066
...
...
@@ -10,7 +10,7 @@
#import "DoraemonDefine.h"
#import "DoraemonMethodUseTimeListCell.h"
@interface
DoraemonMethodUseTimeListViewController
()
@interface
DoraemonMethodUseTimeListViewController
()
<
UITableViewDelegate
,
UITableViewDataSource
>
@property
(
nonatomic
,
copy
)
NSMutableArray
*
loadModelArray
;
@property
(
nonatomic
,
strong
)
UITableView
*
tableView
;
...
...
iOS/DoraemonKit/Src/Weex/Log/Model/DoraemonWeexLogModel.h
浏览文件 @
e0f08066
...
...
@@ -9,7 +9,7 @@
#import <Foundation/Foundation.h>
#import <WeexSDK/WeexSDK.h>
NS_ASSUME_NONNULL_BEGIN
@interface
DoraemonWeexLogModel
:
NSObject
@property
(
nonatomic
,
copy
)
NSString
*
content
;
...
...
@@ -18,4 +18,5 @@
@property
(
nonatomic
,
assign
)
WXLogFlag
flag
;
@end
NS_ASSUME_NONNULL_END
iOS/DoraemonKit/Src/Weex/Log/View/DoraemonWeexLogCell.h
浏览文件 @
e0f08066
...
...
@@ -9,12 +9,13 @@
#import <UIKit/UIKit.h>
#import "DoraemonWeexLogModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface
DoraemonWeexLogCell
:
UITableViewCell
-
(
void
)
renderCellWithData
:(
DoraemonWeexLogModel
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
DoraemonWeexLogModel
*
)
model
;
+
(
CGFloat
)
cellHeightWith
:(
nullable
DoraemonWeexLogModel
*
)
model
;
@end
NS_ASSUME_NONNULL_END
iOS/DoraemonKitDemo/DoraemonKitDemo/DemoVC/Net/Image/DoraemonDemoImageViewController.m
浏览文件 @
e0f08066
...
...
@@ -64,7 +64,7 @@
}
-
(
void
)
sdWebImage
{
NSURL
*
imageUrl
=
[
NSURL
URLWithString
:
self
.
picUrl
];
//
NSURL *imageUrl = [NSURL URLWithString:self.picUrl];
// [[SDWebImageManager sharedManager] loadImageWithURL:imageUrl options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {
// //
// } completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {
...
...
iOS/DoraemonKitDemo/Podfile
浏览文件 @
e0f08066
platform
:ios
,
’
8.0
’
#use_frameworks!
inhibit_all_warnings!
#inhibit_all_warnings! #消除第三方仓库的警告
source
'git@github.com:CocoaPods/Specs.git'
post_install
do
|
installer
|
...
...
@@ -13,6 +13,7 @@ end
target
:'DoraemonKitDemo'
do
pod
'DoraemonKit'
,
:subspecs
=>
[
'Core'
,
'WithLogger'
,
'WithGPS'
,
'WithLoad'
,
'WithWeex'
],
:path
=>
'../../'
#pod 'DoraemonKit', :subspecs => ['Core','WithLogger','WithGPS','WithLoad'], :path => '../../'
pod
'AFNetworking'
,
'2.6.3'
pod
'SDWebImage'
,
'3.7.6'
##pod 'SDWebImage', '5.0.6'
...
...
iOS/DoraemonKitDemo/Podfile.lock
浏览文件 @
e0f08066
...
...
@@ -111,6 +111,6 @@ SPEC CHECKSUMS:
WeexSDK: 5bd35be9c035c67c84d1ba15712360bb0d0ba6b5
WXDevtool: 833dd3e835df1f5f278fc8865c865d48196bfdab
PODFILE CHECKSUM:
e9faca58dae8c6c0cc8affa40011ac98b192bf6a
PODFILE CHECKSUM:
b19417e5832068e0d7ce2a165e19836badb382e7
COCOAPODS: 1.6.2
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录