From d4d43ff04a96e8af2017fb64c509e8a05823066e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=95=85=E4=B8=89=E6=B1=9F?= Date: Thu, 31 Oct 2019 18:11:26 +0800 Subject: [PATCH] Release 3.0.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 现在可以单独设置 BottomIndicator 的轨道和轨迹颜色了 - 现在可以设置富文本标题了 --- Example/.DS_Store | Bin 8196 -> 8196 bytes Example/Podfile.lock | 204 ++-- .../SJUIKit/SJSQLite3+FoundationExtended.h | 1 + .../Private/SJUIKit/SJSQLite3+QueryExtended.h | 1 + .../SJUIKit/SJSQLite3+SJSQLite3Extended.h | 1 - .../SJUIKit/SJSQLite3+FoundationExtended.h | 1 + .../Public/SJUIKit/SJSQLite3+QueryExtended.h | 1 + .../SJUIKit/SJSQLite3+SJSQLite3Extended.h | 1 - .../SJBaseVideoPlayer.podspec.json | 4 +- .../Local Podspecs/SJVideoPlayer.podspec.json | 4 +- Example/Pods/Manifest.lock | 204 ++-- Example/Pods/Pods.xcodeproj/project.pbxproj | 1074 +++++++++-------- .../SDWebImage/Core/SDAnimatedImageView.m | 14 +- .../SDWebImage/Core/UIView+WebCache.m | 4 +- Example/Pods/SJBaseVideoPlayer/README.md | 16 + .../AVPlayer/Core/SJAVBasePlayer.m | 2 +- .../AVPlayer/SJAVMediaPlaybackController.m | 1 + .../SJBaseVideoPlayer/SJBaseVideoPlayer.m | 2 +- .../SJBaseVideoPlayer/Tool/SJReachability.m | 2 +- .../UIScrollView+ListViewAutoplaySJAdd.m | 13 +- .../ObjC/SJFullscreenPopGesture.h | 2 +- .../ObjC/SJFullscreenPopGesture.m | 9 +- .../SJUIKit/SJUIKit/Other/SJApplicationInfo.m | 6 +- .../SJUIKit/SQLite3/Core/SJSQLiteCore.h | 40 +- .../SJUIKit/SQLite3/Core/SJSQLiteCore.m | 84 +- .../SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m | 2 +- .../SQLite3/SJSQLite3+FoundationExtended.h | 32 + .../SQLite3/SJSQLite3+FoundationExtended.m | 133 ++ ...e3Extended.h => SJSQLite3+QueryExtended.h} | 8 +- ...e3Extended.m => SJSQLite3+QueryExtended.m} | 28 +- .../Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3.m | 60 +- .../UserInterfaceState.xcuserstate | Bin 456885 -> 483087 bytes .../Demos/Test/SJTestViewController.m | 15 - .../iPad Demo/SJiPadDemoViewController1.m | 15 - .../SJViewController4.m | 21 +- .../SJViewController4.xib | 19 +- .../CustomControlLayer/SJViewController12.m | 11 - .../SJViewController10.m | 15 - .../iPhone Demo/Other/SJViewController11.m | 15 - .../Pop Prompt/SJViewController6.m | 15 - .../Pop Prompt/SJViewController8.m | 15 - .../1/SJRotationModeDemoViewController1.m | 29 +- .../1/SJRotationModeDemoViewController1.xib | 18 + .../2/SJRotationModeDemoViewController2.m | 14 - .../3/SJRotationModeDemoViewController3.m | 11 - .../SJViewController7.m | 15 - .../SJViewController5.m | 15 - .../Float Small View/SJViewController3.m | 6 - .../SJListViewAutoplayViewController.m | 11 - .../Nested View/SJViewController5n.m | 13 - README.md | 64 +- SJVideoPlayer.podspec | 2 +- .../SJEdgeControlLayerSettings.h | 3 + .../SJEdgeControlLayer/SJEdgeControlLayer.m | 6 +- SJVideoPlayer/SJVideoPlayer.m | 2 +- .../Settings/SJVideoPlayerSettings.h | 3 + 56 files changed, 1160 insertions(+), 1147 deletions(-) create mode 120000 Example/Pods/Headers/Private/SJUIKit/SJSQLite3+FoundationExtended.h create mode 120000 Example/Pods/Headers/Private/SJUIKit/SJSQLite3+QueryExtended.h delete mode 120000 Example/Pods/Headers/Private/SJUIKit/SJSQLite3+SJSQLite3Extended.h create mode 120000 Example/Pods/Headers/Public/SJUIKit/SJSQLite3+FoundationExtended.h create mode 120000 Example/Pods/Headers/Public/SJUIKit/SJSQLite3+QueryExtended.h delete mode 120000 Example/Pods/Headers/Public/SJUIKit/SJSQLite3+SJSQLite3Extended.h create mode 100644 Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h create mode 100644 Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.m rename Example/Pods/SJUIKit/SJUIKit/SQLite3/{SJSQLite3+SJSQLite3Extended.h => SJSQLite3+QueryExtended.h} (95%) rename Example/Pods/SJUIKit/SJUIKit/SQLite3/{SJSQLite3+SJSQLite3Extended.m => SJSQLite3+QueryExtended.m} (93%) diff --git a/Example/.DS_Store b/Example/.DS_Store index d6392498b3117e9f4e0e1d42e7aa4f42d5b3fe7d..7a4cb346dbf6bde4e435319e10e122f3b60506cf 100644 GIT binary patch delta 93 zcmZp1XmOa}&nUDpU^hRb(BuLEh0QtwN0^y;T{0%G6*d#e&3AE0%E?b+U|`??Vxc$F Y4mv_5Qm{%)))e7mn!vF6tcW=`02hQCX#fBK delta 51 zcmZp1XmOa}&nU1lU^hRbz~lk}h0QtwN0^y;4kt}sD{MA-uLvJd*ilA)b2!fi=FRL9 Gf7t=4G7u~P diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 7a08f241e..c9490ed48 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -2,59 +2,59 @@ PODS: - Masonry (1.1.0) - MJRefresh (3.2.0) - Reachability (3.2) - - SDWebImage (5.2.3): - - SDWebImage/Core (= 5.2.3) - - SDWebImage/Core (5.2.3) - - SJBaseVideoPlayer (3.0.4): + - SDWebImage (5.2.5): + - SDWebImage/Core (= 5.2.5) + - SDWebImage/Core (5.2.5) + - SJBaseVideoPlayer (3.0.6): - Masonry - Reachability - - SJBaseVideoPlayer/AVPlayer (= 3.0.4) - - SJBaseVideoPlayer/Const (= 3.0.4) - - SJBaseVideoPlayer/Header (= 3.0.4) - - SJBaseVideoPlayer/Model (= 3.0.4) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (= 3.0.4) - - SJBaseVideoPlayer/Tool (= 3.0.4) + - SJBaseVideoPlayer/AVPlayer (= 3.0.6) + - SJBaseVideoPlayer/Const (= 3.0.6) + - SJBaseVideoPlayer/Header (= 3.0.6) + - SJBaseVideoPlayer/Model (= 3.0.6) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (= 3.0.6) + - SJBaseVideoPlayer/Tool (= 3.0.6) - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/AVPlayer (3.0.4): + - SJBaseVideoPlayer/AVPlayer (3.0.6): - Masonry - Reachability - - SJBaseVideoPlayer/AVPlayer/Core (= 3.0.4) + - SJBaseVideoPlayer/AVPlayer/Core (= 3.0.6) - SJBaseVideoPlayer/Tool - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/AVPlayer/Core (3.0.4): + - SJBaseVideoPlayer/AVPlayer/Core (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Tool - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Const (3.0.4): + - SJBaseVideoPlayer/Const (3.0.6): - Masonry - Reachability - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Header (3.0.4): + - SJBaseVideoPlayer/Header (3.0.6): - Masonry - Reachability - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Model (3.0.4): + - SJBaseVideoPlayer/Model (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Header - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const - SJBaseVideoPlayer/Header - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (= 3.0.4) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (= 3.0.4) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (= 3.0.6) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (= 3.0.6) - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const @@ -62,14 +62,14 @@ PODS: - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const - SJBaseVideoPlayer/Header - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Tool (3.0.4): + - SJBaseVideoPlayer/Tool (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const @@ -84,96 +84,96 @@ PODS: - SJRouter (0.0.12): - SJRouter/Core (= 0.0.12) - SJRouter/Core (0.0.12) - - SJUIKit (0.0.0.36): - - SJUIKit/AsyncLoad (= 0.0.0.36) - - SJUIKit/AttributesFactory (= 0.0.0.36) - - SJUIKit/Base (= 0.0.0.36) - - SJUIKit/CornerMask (= 0.0.0.36) - - SJUIKit/Date (= 0.0.0.36) - - SJUIKit/ObserverHelper (= 0.0.0.36) - - SJUIKit/Other (= 0.0.0.36) - - SJUIKit/Photo (= 0.0.0.36) - - SJUIKit/Queues (= 0.0.0.36) - - SJUIKit/Refresh (= 0.0.0.36) - - SJUIKit/SQLite3 (= 0.0.0.36) - - SJUIKit/Thread (= 0.0.0.36) - - SJUIKit/UIMaker (= 0.0.0.36) - - SJUIKit/AsyncLoad (0.0.0.36): + - SJUIKit (0.0.0.37): + - SJUIKit/AsyncLoad (= 0.0.0.37) + - SJUIKit/AttributesFactory (= 0.0.0.37) + - SJUIKit/Base (= 0.0.0.37) + - SJUIKit/CornerMask (= 0.0.0.37) + - SJUIKit/Date (= 0.0.0.37) + - SJUIKit/ObserverHelper (= 0.0.0.37) + - SJUIKit/Other (= 0.0.0.37) + - SJUIKit/Photo (= 0.0.0.37) + - SJUIKit/Queues (= 0.0.0.37) + - SJUIKit/Refresh (= 0.0.0.37) + - SJUIKit/SQLite3 (= 0.0.0.37) + - SJUIKit/Thread (= 0.0.0.37) + - SJUIKit/UIMaker (= 0.0.0.37) + - SJUIKit/AsyncLoad (0.0.0.37): - SJUIKit/CornerMask - - SJUIKit/AttributesFactory (0.0.0.36): - - SJUIKit/AttributesFactory/Deprecated (= 0.0.0.36) - - SJUIKit/AttributesFactory/UIKitText (= 0.0.0.36) - - SJUIKit/AttributesFactory/Deprecated (0.0.0.36) - - SJUIKit/AttributesFactory/UIKitText (0.0.0.36) - - SJUIKit/Base (0.0.0.36): - - SJUIKit/Base/Core (= 0.0.0.36) + - SJUIKit/AttributesFactory (0.0.0.37): + - SJUIKit/AttributesFactory/Deprecated (= 0.0.0.37) + - SJUIKit/AttributesFactory/UIKitText (= 0.0.0.37) + - SJUIKit/AttributesFactory/Deprecated (0.0.0.37) + - SJUIKit/AttributesFactory/UIKitText (0.0.0.37) + - SJUIKit/Base (0.0.0.37): + - SJUIKit/Base/Core (= 0.0.0.37) - SJUIKit/ObserverHelper - - SJUIKit/Base/Core (0.0.0.36): + - SJUIKit/Base/Core (0.0.0.37): - SJUIKit/ObserverHelper - - SJUIKit/CornerMask (0.0.0.36): + - SJUIKit/CornerMask (0.0.0.37): - SJUIKit/ObserverHelper - - SJUIKit/Date (0.0.0.36) - - SJUIKit/ObserverHelper (0.0.0.36) - - SJUIKit/Other (0.0.0.36): + - SJUIKit/Date (0.0.0.37) + - SJUIKit/ObserverHelper (0.0.0.37) + - SJUIKit/Other (0.0.0.37): - SJUIKit/Date - - SJUIKit/Photo (0.0.0.36) - - SJUIKit/Queues (0.0.0.36) - - SJUIKit/Refresh (0.0.0.36): + - SJUIKit/Photo (0.0.0.37) + - SJUIKit/Queues (0.0.0.37) + - SJUIKit/Refresh (0.0.0.37): - MJRefresh - - SJUIKit/SQLite3 (0.0.0.36): - - SJUIKit/SQLite3/Core (= 0.0.0.36) - - SJUIKit/SQLite3/Protocol (= 0.0.0.36) - - SJUIKit/SQLite3/Core (0.0.0.36): + - SJUIKit/SQLite3 (0.0.0.37): + - SJUIKit/SQLite3/Core (= 0.0.0.37) + - SJUIKit/SQLite3/Protocol (= 0.0.0.37) + - SJUIKit/SQLite3/Core (0.0.0.37): - SJUIKit/SQLite3/Protocol - - SJUIKit/SQLite3/Protocol (0.0.0.36) - - SJUIKit/Thread (0.0.0.36) - - SJUIKit/UIMaker (0.0.0.36): - - SJUIKit/UIMaker/Core (= 0.0.0.36) - - SJUIKit/UIMaker/Core (0.0.0.36) - - SJVideoPlayer (3.0.2): + - SJUIKit/SQLite3/Protocol (0.0.0.37) + - SJUIKit/Thread (0.0.0.37) + - SJUIKit/UIMaker (0.0.0.37): + - SJUIKit/UIMaker/Core (= 0.0.0.37) + - SJUIKit/UIMaker/Core (0.0.0.37) + - SJVideoPlayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/Adapters (= 3.0.2) - - SJVideoPlayer/Common (= 3.0.2) - - SJVideoPlayer/Settings (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer (= 3.0.2) - - SJVideoPlayer/SJFilmEditingControlLayer (= 3.0.2) - - SJVideoPlayer/SJFloatSmallViewControlLayer (= 3.0.2) - - SJVideoPlayer/SJLoadFailedControlLayer (= 3.0.2) - - SJVideoPlayer/SJMoreSettingControlLayer (= 3.0.2) - - SJVideoPlayer/SJNotReachableControlLayer (= 3.0.2) - - SJVideoPlayer/SJProgressSlider (= 3.0.2) - - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (= 3.0.2) - - SJVideoPlayer/Switcher (= 3.0.2) - - SJVideoPlayer/Adapters (3.0.2): + - SJVideoPlayer/Adapters (= 3.0.3) + - SJVideoPlayer/Common (= 3.0.3) + - SJVideoPlayer/Settings (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer (= 3.0.3) + - SJVideoPlayer/SJFilmEditingControlLayer (= 3.0.3) + - SJVideoPlayer/SJFloatSmallViewControlLayer (= 3.0.3) + - SJVideoPlayer/SJLoadFailedControlLayer (= 3.0.3) + - SJVideoPlayer/SJMoreSettingControlLayer (= 3.0.3) + - SJVideoPlayer/SJNotReachableControlLayer (= 3.0.3) + - SJVideoPlayer/SJProgressSlider (= 3.0.3) + - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (= 3.0.3) + - SJVideoPlayer/Switcher (= 3.0.3) + - SJVideoPlayer/Adapters (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Common - - SJVideoPlayer/Common (3.0.2): + - SJVideoPlayer/Common (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/Settings (3.0.2): + - SJVideoPlayer/Settings (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader - - SJVideoPlayer/SJEdgeControlLayer (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - - SJVideoPlayer/SJEdgeControlLayer/Defines (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer/View (= 3.0.2) + - SJVideoPlayer/SJEdgeControlLayer/Defines (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer/View (= 3.0.3) - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/Defines (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/Defines (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -181,7 +181,7 @@ PODS: - SJVideoPlayer/Common - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -189,7 +189,7 @@ PODS: - SJVideoPlayer/Common - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/View (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/View (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -199,16 +199,16 @@ PODS: - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - - SJVideoPlayer/SJFilmEditingControlLayer/Core (= 3.0.2) - - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (= 3.0.2) + - SJVideoPlayer/SJFilmEditingControlLayer/Core (= 3.0.3) + - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (= 3.0.3) - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer/Core (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer/Core (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -216,55 +216,55 @@ PODS: - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFloatSmallViewControlLayer (3.0.2): + - SJVideoPlayer/SJFloatSmallViewControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (= 3.0.2) + - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (= 3.0.3) - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - SJVideoPlayer/Switcher - - SJVideoPlayer/SJLoadFailedControlLayer (3.0.2): + - SJVideoPlayer/SJLoadFailedControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJNotReachableControlLayer - - SJVideoPlayer/SJMoreSettingControlLayer (3.0.2): + - SJVideoPlayer/SJMoreSettingControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer - - SJVideoPlayer/SJNotReachableControlLayer (3.0.2): + - SJVideoPlayer/SJNotReachableControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer - - SJVideoPlayer/SJProgressSlider (3.0.2): + - SJVideoPlayer/SJProgressSlider (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (3.0.2): + - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - SJVideoPlayer/Switcher - - SJVideoPlayer/Switcher (3.0.2): + - SJVideoPlayer/Switcher (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -300,13 +300,13 @@ SPEC CHECKSUMS: Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 MJRefresh: ed450d6eb9d3346a2cb033ab7eb6de090aeef437 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 - SDWebImage: 46a7f73228f84ce80990c786e4372cf4db5875ce - SJBaseVideoPlayer: cb59276fc51168c27086361c448bdf1fe81fca6f + SDWebImage: 4eabf2fa6695c95c47724214417a9c036c965e4a + SJBaseVideoPlayer: c0816f30f34fb978f6a1bdde5fd043224a79f964 SJFullscreenPopGesture: 15751a2258e4e087cc1fd07bb76195066ba64710 SJPlaybackListController: e135c789fcd63d63a62d5e2e2965ab1e6d52a2bd SJRouter: 702a0d06811fc2da02d6145bc7abb9f633fdc612 - SJUIKit: 5171ea88d7c2715c7a58f0fee2fb61cfb146d29b - SJVideoPlayer: 3c7953a8d0b8f191f5c426d05f70ac84fbdbd045 + SJUIKit: 8c7a420af127f41cc0fcd498c85f14a9258d7149 + SJVideoPlayer: 9514714769bc0a42663ad515f9c65dcb848fdcd2 PODFILE CHECKSUM: 3f60eca46bcc29e97e1554f236541ff095afbde1 diff --git a/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+FoundationExtended.h b/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+FoundationExtended.h new file mode 120000 index 000000000..fb13afa12 --- /dev/null +++ b/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+FoundationExtended.h @@ -0,0 +1 @@ +../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+QueryExtended.h b/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+QueryExtended.h new file mode 120000 index 000000000..64ae1d881 --- /dev/null +++ b/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+QueryExtended.h @@ -0,0 +1 @@ +../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+SJSQLite3Extended.h b/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+SJSQLite3Extended.h deleted file mode 120000 index 7fc7f3a4a..000000000 --- a/Example/Pods/Headers/Private/SJUIKit/SJSQLite3+SJSQLite3Extended.h +++ /dev/null @@ -1 +0,0 @@ -../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+FoundationExtended.h b/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+FoundationExtended.h new file mode 120000 index 000000000..fb13afa12 --- /dev/null +++ b/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+FoundationExtended.h @@ -0,0 +1 @@ +../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+QueryExtended.h b/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+QueryExtended.h new file mode 120000 index 000000000..64ae1d881 --- /dev/null +++ b/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+QueryExtended.h @@ -0,0 +1 @@ +../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+SJSQLite3Extended.h b/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+SJSQLite3Extended.h deleted file mode 120000 index 7fc7f3a4a..000000000 --- a/Example/Pods/Headers/Public/SJUIKit/SJSQLite3+SJSQLite3Extended.h +++ /dev/null @@ -1 +0,0 @@ -../../../SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/SJBaseVideoPlayer.podspec.json b/Example/Pods/Local Podspecs/SJBaseVideoPlayer.podspec.json index a28c99f1f..27370cf27 100644 --- a/Example/Pods/Local Podspecs/SJBaseVideoPlayer.podspec.json +++ b/Example/Pods/Local Podspecs/SJBaseVideoPlayer.podspec.json @@ -1,6 +1,6 @@ { "name": "SJBaseVideoPlayer", - "version": "3.0.4", + "version": "3.0.5", "summary": "video player.", "description": "https://github.com/changsanjiang/SJBaseVideoPlayer/blob/master/README.md", "homepage": "https://github.com/changsanjiang/SJBaseVideoPlayer", @@ -16,7 +16,7 @@ }, "source": { "git": "https://github.com/changsanjiang/SJBaseVideoPlayer.git", - "tag": "v3.0.4" + "tag": "v3.0.5" }, "frameworks": [ "UIKit", diff --git a/Example/Pods/Local Podspecs/SJVideoPlayer.podspec.json b/Example/Pods/Local Podspecs/SJVideoPlayer.podspec.json index 3abbebafc..f58b9ab18 100644 --- a/Example/Pods/Local Podspecs/SJVideoPlayer.podspec.json +++ b/Example/Pods/Local Podspecs/SJVideoPlayer.podspec.json @@ -1,6 +1,6 @@ { "name": "SJVideoPlayer", - "version": "3.0.2", + "version": "3.0.3", "summary": "video player.", "description": "https://github.com/changsanjiang/SJVideoPlayer/blob/master/README.md", "homepage": "https://github.com/changsanjiang/SJVideoPlayer", @@ -16,7 +16,7 @@ }, "source": { "git": "https://github.com/changsanjiang/SJVideoPlayer.git", - "tag": "v3.0.2" + "tag": "v3.0.3" }, "requires_arc": true, "dependencies": { diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 7a08f241e..c9490ed48 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -2,59 +2,59 @@ PODS: - Masonry (1.1.0) - MJRefresh (3.2.0) - Reachability (3.2) - - SDWebImage (5.2.3): - - SDWebImage/Core (= 5.2.3) - - SDWebImage/Core (5.2.3) - - SJBaseVideoPlayer (3.0.4): + - SDWebImage (5.2.5): + - SDWebImage/Core (= 5.2.5) + - SDWebImage/Core (5.2.5) + - SJBaseVideoPlayer (3.0.6): - Masonry - Reachability - - SJBaseVideoPlayer/AVPlayer (= 3.0.4) - - SJBaseVideoPlayer/Const (= 3.0.4) - - SJBaseVideoPlayer/Header (= 3.0.4) - - SJBaseVideoPlayer/Model (= 3.0.4) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (= 3.0.4) - - SJBaseVideoPlayer/Tool (= 3.0.4) + - SJBaseVideoPlayer/AVPlayer (= 3.0.6) + - SJBaseVideoPlayer/Const (= 3.0.6) + - SJBaseVideoPlayer/Header (= 3.0.6) + - SJBaseVideoPlayer/Model (= 3.0.6) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (= 3.0.6) + - SJBaseVideoPlayer/Tool (= 3.0.6) - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/AVPlayer (3.0.4): + - SJBaseVideoPlayer/AVPlayer (3.0.6): - Masonry - Reachability - - SJBaseVideoPlayer/AVPlayer/Core (= 3.0.4) + - SJBaseVideoPlayer/AVPlayer/Core (= 3.0.6) - SJBaseVideoPlayer/Tool - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/AVPlayer/Core (3.0.4): + - SJBaseVideoPlayer/AVPlayer/Core (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Tool - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Const (3.0.4): + - SJBaseVideoPlayer/Const (3.0.6): - Masonry - Reachability - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Header (3.0.4): + - SJBaseVideoPlayer/Header (3.0.6): - Masonry - Reachability - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Model (3.0.4): + - SJBaseVideoPlayer/Model (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Header - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const - SJBaseVideoPlayer/Header - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (= 3.0.4) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (= 3.0.4) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (= 3.0.6) + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (= 3.0.6) - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const @@ -62,14 +62,14 @@ PODS: - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (3.0.4): + - SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const - SJBaseVideoPlayer/Header - SJUIKit/ObserverHelper (>= 0.0.0.31) - SJUIKit/Queues (>= 0.0.0.31) - - SJBaseVideoPlayer/Tool (3.0.4): + - SJBaseVideoPlayer/Tool (3.0.6): - Masonry - Reachability - SJBaseVideoPlayer/Const @@ -84,96 +84,96 @@ PODS: - SJRouter (0.0.12): - SJRouter/Core (= 0.0.12) - SJRouter/Core (0.0.12) - - SJUIKit (0.0.0.36): - - SJUIKit/AsyncLoad (= 0.0.0.36) - - SJUIKit/AttributesFactory (= 0.0.0.36) - - SJUIKit/Base (= 0.0.0.36) - - SJUIKit/CornerMask (= 0.0.0.36) - - SJUIKit/Date (= 0.0.0.36) - - SJUIKit/ObserverHelper (= 0.0.0.36) - - SJUIKit/Other (= 0.0.0.36) - - SJUIKit/Photo (= 0.0.0.36) - - SJUIKit/Queues (= 0.0.0.36) - - SJUIKit/Refresh (= 0.0.0.36) - - SJUIKit/SQLite3 (= 0.0.0.36) - - SJUIKit/Thread (= 0.0.0.36) - - SJUIKit/UIMaker (= 0.0.0.36) - - SJUIKit/AsyncLoad (0.0.0.36): + - SJUIKit (0.0.0.37): + - SJUIKit/AsyncLoad (= 0.0.0.37) + - SJUIKit/AttributesFactory (= 0.0.0.37) + - SJUIKit/Base (= 0.0.0.37) + - SJUIKit/CornerMask (= 0.0.0.37) + - SJUIKit/Date (= 0.0.0.37) + - SJUIKit/ObserverHelper (= 0.0.0.37) + - SJUIKit/Other (= 0.0.0.37) + - SJUIKit/Photo (= 0.0.0.37) + - SJUIKit/Queues (= 0.0.0.37) + - SJUIKit/Refresh (= 0.0.0.37) + - SJUIKit/SQLite3 (= 0.0.0.37) + - SJUIKit/Thread (= 0.0.0.37) + - SJUIKit/UIMaker (= 0.0.0.37) + - SJUIKit/AsyncLoad (0.0.0.37): - SJUIKit/CornerMask - - SJUIKit/AttributesFactory (0.0.0.36): - - SJUIKit/AttributesFactory/Deprecated (= 0.0.0.36) - - SJUIKit/AttributesFactory/UIKitText (= 0.0.0.36) - - SJUIKit/AttributesFactory/Deprecated (0.0.0.36) - - SJUIKit/AttributesFactory/UIKitText (0.0.0.36) - - SJUIKit/Base (0.0.0.36): - - SJUIKit/Base/Core (= 0.0.0.36) + - SJUIKit/AttributesFactory (0.0.0.37): + - SJUIKit/AttributesFactory/Deprecated (= 0.0.0.37) + - SJUIKit/AttributesFactory/UIKitText (= 0.0.0.37) + - SJUIKit/AttributesFactory/Deprecated (0.0.0.37) + - SJUIKit/AttributesFactory/UIKitText (0.0.0.37) + - SJUIKit/Base (0.0.0.37): + - SJUIKit/Base/Core (= 0.0.0.37) - SJUIKit/ObserverHelper - - SJUIKit/Base/Core (0.0.0.36): + - SJUIKit/Base/Core (0.0.0.37): - SJUIKit/ObserverHelper - - SJUIKit/CornerMask (0.0.0.36): + - SJUIKit/CornerMask (0.0.0.37): - SJUIKit/ObserverHelper - - SJUIKit/Date (0.0.0.36) - - SJUIKit/ObserverHelper (0.0.0.36) - - SJUIKit/Other (0.0.0.36): + - SJUIKit/Date (0.0.0.37) + - SJUIKit/ObserverHelper (0.0.0.37) + - SJUIKit/Other (0.0.0.37): - SJUIKit/Date - - SJUIKit/Photo (0.0.0.36) - - SJUIKit/Queues (0.0.0.36) - - SJUIKit/Refresh (0.0.0.36): + - SJUIKit/Photo (0.0.0.37) + - SJUIKit/Queues (0.0.0.37) + - SJUIKit/Refresh (0.0.0.37): - MJRefresh - - SJUIKit/SQLite3 (0.0.0.36): - - SJUIKit/SQLite3/Core (= 0.0.0.36) - - SJUIKit/SQLite3/Protocol (= 0.0.0.36) - - SJUIKit/SQLite3/Core (0.0.0.36): + - SJUIKit/SQLite3 (0.0.0.37): + - SJUIKit/SQLite3/Core (= 0.0.0.37) + - SJUIKit/SQLite3/Protocol (= 0.0.0.37) + - SJUIKit/SQLite3/Core (0.0.0.37): - SJUIKit/SQLite3/Protocol - - SJUIKit/SQLite3/Protocol (0.0.0.36) - - SJUIKit/Thread (0.0.0.36) - - SJUIKit/UIMaker (0.0.0.36): - - SJUIKit/UIMaker/Core (= 0.0.0.36) - - SJUIKit/UIMaker/Core (0.0.0.36) - - SJVideoPlayer (3.0.2): + - SJUIKit/SQLite3/Protocol (0.0.0.37) + - SJUIKit/Thread (0.0.0.37) + - SJUIKit/UIMaker (0.0.0.37): + - SJUIKit/UIMaker/Core (= 0.0.0.37) + - SJUIKit/UIMaker/Core (0.0.0.37) + - SJVideoPlayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/Adapters (= 3.0.2) - - SJVideoPlayer/Common (= 3.0.2) - - SJVideoPlayer/Settings (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer (= 3.0.2) - - SJVideoPlayer/SJFilmEditingControlLayer (= 3.0.2) - - SJVideoPlayer/SJFloatSmallViewControlLayer (= 3.0.2) - - SJVideoPlayer/SJLoadFailedControlLayer (= 3.0.2) - - SJVideoPlayer/SJMoreSettingControlLayer (= 3.0.2) - - SJVideoPlayer/SJNotReachableControlLayer (= 3.0.2) - - SJVideoPlayer/SJProgressSlider (= 3.0.2) - - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (= 3.0.2) - - SJVideoPlayer/Switcher (= 3.0.2) - - SJVideoPlayer/Adapters (3.0.2): + - SJVideoPlayer/Adapters (= 3.0.3) + - SJVideoPlayer/Common (= 3.0.3) + - SJVideoPlayer/Settings (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer (= 3.0.3) + - SJVideoPlayer/SJFilmEditingControlLayer (= 3.0.3) + - SJVideoPlayer/SJFloatSmallViewControlLayer (= 3.0.3) + - SJVideoPlayer/SJLoadFailedControlLayer (= 3.0.3) + - SJVideoPlayer/SJMoreSettingControlLayer (= 3.0.3) + - SJVideoPlayer/SJNotReachableControlLayer (= 3.0.3) + - SJVideoPlayer/SJProgressSlider (= 3.0.3) + - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (= 3.0.3) + - SJVideoPlayer/Switcher (= 3.0.3) + - SJVideoPlayer/Adapters (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Common - - SJVideoPlayer/Common (3.0.2): + - SJVideoPlayer/Common (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/Settings (3.0.2): + - SJVideoPlayer/Settings (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader - - SJVideoPlayer/SJEdgeControlLayer (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - - SJVideoPlayer/SJEdgeControlLayer/Defines (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (= 3.0.2) - - SJVideoPlayer/SJEdgeControlLayer/View (= 3.0.2) + - SJVideoPlayer/SJEdgeControlLayer/Defines (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (= 3.0.3) + - SJVideoPlayer/SJEdgeControlLayer/View (= 3.0.3) - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/Defines (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/Defines (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -181,7 +181,7 @@ PODS: - SJVideoPlayer/Common - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -189,7 +189,7 @@ PODS: - SJVideoPlayer/Common - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJEdgeControlLayer/View (3.0.2): + - SJVideoPlayer/SJEdgeControlLayer/View (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -199,16 +199,16 @@ PODS: - SJVideoPlayer/SJEdgeControlLayer/ResourceLoader - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - - SJVideoPlayer/SJFilmEditingControlLayer/Core (= 3.0.2) - - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (= 3.0.2) + - SJVideoPlayer/SJFilmEditingControlLayer/Core (= 3.0.3) + - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (= 3.0.3) - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer/Core (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer/Core (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -216,55 +216,55 @@ PODS: - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/SJProgressSlider - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFloatSmallViewControlLayer (3.0.2): + - SJVideoPlayer/SJFloatSmallViewControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (= 3.0.2) + - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (= 3.0.3) - SJVideoPlayer/Switcher - - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (3.0.2): + - SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - SJVideoPlayer/Switcher - - SJVideoPlayer/SJLoadFailedControlLayer (3.0.2): + - SJVideoPlayer/SJLoadFailedControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJNotReachableControlLayer - - SJVideoPlayer/SJMoreSettingControlLayer (3.0.2): + - SJVideoPlayer/SJMoreSettingControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer - - SJVideoPlayer/SJNotReachableControlLayer (3.0.2): + - SJVideoPlayer/SJNotReachableControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/SJEdgeControlLayer - - SJVideoPlayer/SJProgressSlider (3.0.2): + - SJVideoPlayer/SJProgressSlider (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (3.0.2): + - SJVideoPlayer/SJSwitchVideoDefinitionControlLayer (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory - SJVideoPlayer/Adapters - SJVideoPlayer/Common - SJVideoPlayer/Switcher - - SJVideoPlayer/Switcher (3.0.2): + - SJVideoPlayer/Switcher (3.0.3): - Masonry - SJBaseVideoPlayer (>= 3.0.0) - SJUIKit/AttributesFactory @@ -300,13 +300,13 @@ SPEC CHECKSUMS: Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 MJRefresh: ed450d6eb9d3346a2cb033ab7eb6de090aeef437 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 - SDWebImage: 46a7f73228f84ce80990c786e4372cf4db5875ce - SJBaseVideoPlayer: cb59276fc51168c27086361c448bdf1fe81fca6f + SDWebImage: 4eabf2fa6695c95c47724214417a9c036c965e4a + SJBaseVideoPlayer: c0816f30f34fb978f6a1bdde5fd043224a79f964 SJFullscreenPopGesture: 15751a2258e4e087cc1fd07bb76195066ba64710 SJPlaybackListController: e135c789fcd63d63a62d5e2e2965ab1e6d52a2bd SJRouter: 702a0d06811fc2da02d6145bc7abb9f633fdc612 - SJUIKit: 5171ea88d7c2715c7a58f0fee2fb61cfb146d29b - SJVideoPlayer: 3c7953a8d0b8f191f5c426d05f70ac84fbdbd045 + SJUIKit: 8c7a420af127f41cc0fcd498c85f14a9258d7149 + SJVideoPlayer: 9514714769bc0a42663ad515f9c65dcb848fdcd2 PODFILE CHECKSUM: 3f60eca46bcc29e97e1554f236541ff095afbde1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 97a419955..3fe70aaa9 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 001A27A39D45EAA91B779F488BCC99D1 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = ABD69F5384607D5AB3F6C78125C96658 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 00F0DCBC252AF54EC576BF1811789B15 /* UIViewController+SJModalAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = 796429D825DE9340F1D82F2211FB7474 /* UIViewController+SJModalAlert.h */; settings = {ATTRIBUTES = (Project, ); }; }; 012DEEFBEE400A346E6D7690D03C442D /* SJPlaybackListController.h in Headers */ = {isa = PBXBuildFile; fileRef = BF5EB961A93EA0F7C217B02013B24D2A /* SJPlaybackListController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 016E3DD1A05996B95988A0F92C603610 /* MJRefreshAutoGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AEAB6CB85A31C15C790E9AAA0E2128A /* MJRefreshAutoGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 017157E014CEB0A0EDFB45BB548BDBCE /* SJVideoDefinitionSwitchingInfo+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 59029A9AA5CE30DEC2EC5D67CD4FE1B3 /* SJVideoDefinitionSwitchingInfo+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -17,76 +18,73 @@ 031B5492C69D9F8CD12757A3FAFD3A36 /* NSBundle+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 43ED28865D5E8EB81FB1151FB90F19B0 /* NSBundle+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; 032B00C748FE79147F65DB862EE69E37 /* MJRefreshBackNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F0AD1997FD2588BF0FD99C7FE450254 /* MJRefreshBackNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 03552D845550E0E914B08624DF33B3AC /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9AB0B4408F248A6E011E12E8D3E187 /* MJRefreshConst.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 03ECB5C8D2EB35B08D23F529BFE86481 /* UIImagePickerController+SJUIKitExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E6898549CD02FC815FCC6AC04B23AE /* UIImagePickerController+SJUIKitExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0405C95B884D1054E9CD4C2F44157459 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 212589237B054570B2E5685B0A08156F /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; 04435408DE2E5440A869DFE2C89AD441 /* SJVideoPlayerSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = E2E871DDE96703D2EF57039D2882FFCE /* SJVideoPlayerSettings.m */; }; 0456A9456F476786716E681524C3FEC6 /* SJButtonProgressSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C850110A7C7FDFCF9606DFB76D86241 /* SJButtonProgressSlider.m */; }; - 04C0DDD01540A87E03B6419086466B58 /* SJResidentThread.h in Headers */ = {isa = PBXBuildFile; fileRef = D9EA43E53FF901D0C11E37A4782CA3EA /* SJResidentThread.h */; settings = {ATTRIBUTES = (Project, ); }; }; 04C7ACAE46D660F1890796E9A6C6EFBE /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3909DD81C8B2B2ABEA6E90C1FF926A52 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0510063D02C8350551A38EB6C070444A /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = A6F034E1599E04D8EAD5333A0830DAD4 /* SDImageCoderHelper.m */; }; - 052CC8C52F862C7E015FB540713B763E /* SJSQLiteCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 41C1CA26457B5BE489E3F6F60A1C8CE5 /* SJSQLiteCore.m */; }; 052EBA93D988D9066956B8124479A197 /* SJFloatSmallViewControlLayerResourceLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 00726FC76596ADCBC9524072E3C27830 /* SJFloatSmallViewControlLayerResourceLoader.m */; }; - 055C62023B12D6F05B07AB0A5F245B0B /* NSObject+SJObserverHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 18838AEFD621717E52F2306B8E7A4674 /* NSObject+SJObserverHelper.m */; }; + 056E109274591D9C831A579CF0939200 /* SJSQLite3+QueryExtended.h in Headers */ = {isa = PBXBuildFile; fileRef = EC276C5EDF347F1C108D781BDA62EF41 /* SJSQLite3+QueryExtended.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 066BACB51330F484AB3EFE5831FC1E9E /* UIScrollView+SJRefreshAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 72ED3101886FF485364EF284D1246726 /* UIScrollView+SJRefreshAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; 06864178C1A61874204AEA21FF603738 /* SJEdgeControlLayerAdapters.m in Sources */ = {isa = PBXBuildFile; fileRef = 04CF7CF88A68AFB4F775C0BBDC50AF62 /* SJEdgeControlLayerAdapters.m */; }; 06B5D804B11C24FF7120199104914203 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 210C2097B495CAAC4A654136B795EAFF /* SDImageIOCoder.m */; }; 071F6CD38CC155681792E5A23DBFABB1 /* SJFloatSmallViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4D927B393D48BEF218C7D9E9D0B75A /* SJFloatSmallViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0787EB107E6A1CDE4917DCAB1B8CDA9D /* SJObjectContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 735AE62BD528A48688E7A1707B1CCBCF /* SJObjectContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 088D39F40F437362D3425E7878F4D7CA /* SJSQLite3.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C540D36AE3BBC3B0C49576D788DF868 /* SJSQLite3.m */; }; - 08B320A436C903386710C87A89339639 /* UIButton+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = EF438F69648668C20BD5E858FCF9B4A9 /* UIButton+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08AE97E6FA9CDEC5413B15B797DC52BB /* SJResidentThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 972E67A1F4216FA5970803C712431109 /* SJResidentThread.m */; }; 08FA8C552C284E620F6D60CBD7EF5F96 /* MJRefreshAutoNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DEA36310AD392D5A3011851C8AB5625 /* MJRefreshAutoNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0916BE293FA430D2521B3545D3338726 /* SJPopPromptController.h in Headers */ = {isa = PBXBuildFile; fileRef = 82B07B53DFE423FEFB5DAAAD4FB30AAF /* SJPopPromptController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 091DC67346F0EB1E8CAA0FED6B64A6B9 /* SJAppearStateObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D8CB554BE5D14D81B4E2CF6BEBCF12D /* SJAppearStateObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0A0B05289BBA04B40F1279144E77C4EF /* SJControlLayerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 234823C41486AB4B0D2656ABF56C81F6 /* SJControlLayerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0BB15969D104CDC85A29001331384FC6 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AC5DB3464E6F33350536484E5752D647 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0C88EA89F59F5CDF3E21C8BA5A3FDC61 /* SJPlayerAutoplayConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 91F1394F8C250C5121F7B8A37254F26B /* SJPlayerAutoplayConfig.m */; }; 0E29AF41A9E2BCC9AC1432BE4D52299C /* SJVideoPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3ADC4EB853F30B5DC8FCEEFE2514E06 /* SJVideoPlayer-dummy.m */; }; - 0E5A68C7446BB84F85EA798CCE52C09D /* SJAttributesRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE7E8BAE1E13676D028B66EF4ADFF2D /* SJAttributesRecorder.m */; }; + 0E2F5F5DD465303748A994B4F104866E /* SJUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DC2C5B711C47F2C949838E2407B2ABA /* SJUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EE1410120AADD5685B4DA9C1187ED78 /* SJUTRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = A91FC8D141005A04BD2D3974431A6BCD /* SJUTRecorder.m */; }; 1009FCCCB1D18AF747FFF6ABD00DE7DF /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC8EE27E945E45B2704F1BDD3190AD4 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1067B006A153EA4C25FF27C1CB924973 /* SJFilmEditingGenerateResultControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D57F297C7AD51B029FB1272AE7E77249 /* SJFilmEditingGenerateResultControlLayer.m */; }; 10CF3B532BC788731F59386EF7F8C612 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 44DB2371A8D348CA965989EDFA2D3D07 /* SDWebImagePrefetcher.m */; }; 11132C66A4D174BD4D62BAD82D1C73F9 /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 27AB20F1C9EE287876F8B2836E7D4E9D /* MJRefreshAutoStateFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 112834DC2F7C7F440C949046D4939E34 /* SJAttributeWorker.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E92063949508ADC4CC8322A5B0E0E95 /* SJAttributeWorker.h */; settings = {ATTRIBUTES = (Project, ); }; }; 115ACCE253A886181B55773DDC70D6ED /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D04C93BA45879C468536964393928A8 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1160BDF2F7AF6206251A6396D599C34B /* SJBaseVideoPlayerConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A67D0A97EC91386099250DEB5CA443A /* SJBaseVideoPlayerConst.m */; }; + 11644E6DA938343B15DC9E1B8424B645 /* SJSQLiteTableModelConstraints.m in Sources */ = {isa = PBXBuildFile; fileRef = 6116DC8D7607B9C53622B06A3E640F7F /* SJSQLiteTableModelConstraints.m */; }; 12783145831421BA3E33842487ACD46E /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C56A2AF2F80698ED528515264E81961 /* SDImageLoadersManager.m */; }; 12784159EDF62CA7CFE529452BA52061 /* SJFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 82A912B0418602D0AE7BF3BA2A243D33 /* SJFullscreenPopGesture.m */; }; - 13C9179471DDB19EAA3F3AA36DBAFC28 /* SJBase.h in Headers */ = {isa = PBXBuildFile; fileRef = D29F9E2CC4D10AA08A836A960799BC42 /* SJBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 15219053FB39BC033F368BDEC2E1607A /* SJAttributesRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = F4CD2F77A1539C088FA4DCD3B68CF5D1 /* SJAttributesRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 14162E7B75E41EE4EDA81B417119DC52 /* UILabel+AsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F0E98CE734C0A577DE7D063FFA043BC /* UILabel+AsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; 153189A8392FCA8F644EDF66995DFAAB /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = BE79ED040BAD64CBD4669177C89D4F88 /* SDWebImageCacheSerializer.m */; }; - 158155FD622E4153056762EF5EF42E5B /* SJSQLiteTableModelConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 870F3B05F79A2B24909342899AE7B1F7 /* SJSQLiteTableModelConstraints.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 154CFBE7801A3AADC7D523ADA6D1F7BE /* SJStatusBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 439A30CEBC0A1E60C3CC90B9C2474AE3 /* SJStatusBarManager.m */; }; 16ADD9DC67A43BD775BF064CC572F5B0 /* SJAVMediaDefinitionPrepareStatusObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 08AF1C3E0A347BB63EBC88CD6B8610F5 /* SJAVMediaDefinitionPrepareStatusObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; 16B9DC8CB012DAA7A6ECFDD446FA8BBE /* MJRefreshConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B54DB46D6D944A174CE16E857E1A455 /* MJRefreshConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; 16BB1FB5C17ECFB23AEB70ED9147E299 /* SJControlLayerSwitcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FB48D5C8BE230FCB3A37221F18DE254 /* SJControlLayerSwitcher.m */; }; 16E8FB56839E58FFF68611E105BDDF0C /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = EE95C31F145F13B2F3DC2CB7D6F5DABD /* SDWebImageError.m */; }; 16E9457D502C13196DDBFB794DB32C21 /* SJPlayModelPropertiesObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = A58698D1D7F93D78B8C0A0C818FCED4D /* SJPlayModelPropertiesObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 172064FD97C8B5DC0F5EC3E8D753A4BB /* UISearchBar+AsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = B7900355130F873EFEF39E3C6DD82DF9 /* UISearchBar+AsyncLoad.m */; }; 1737EC04A46742556106E395AD59636B /* SJDeviceVolumeAndBrightnessManagerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 956F460622F4B5EAF4638190612B4A4D /* SJDeviceVolumeAndBrightnessManagerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 174B43CE4591C309482C8C7FD1DAEBA1 /* SJTimerControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CAB060AC111261A41F14B018961F606 /* SJTimerControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 17500F12CDDF3903A2896BC0B063A8DE /* MJRefreshBackFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 84C7C4B6CD613289A62EBCA65261B1EC /* MJRefreshBackFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 181B2691FF506F26F7F71F711C724B81 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 912FCA90335380479672B979BF38744B /* MASConstraintMaker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 19CC06D77F2270A52DDB5E0115B1E80F /* SJUTRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 63779788EC51D326E0531169CD89FD66 /* SJUTRangeHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1BE52C199A267965D1D8301E3B470763 /* UIColor+HexString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E72F43B9208F9B7FF10ECF4065B721B /* UIColor+HexString.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1D5B64E9DD8C222486A60E0B6862617D /* SJNotReachableControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 23FB3A93D30E7FA5F7F91491B63E8BBF /* SJNotReachableControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DB59F6DC3CF84194EED435F7D35D8EC /* UIImagePickerController+SJUIKitExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 9047E47E21AC76219B89FA63A5D14CEE /* UIImagePickerController+SJUIKitExtension.m */; }; + 1DCA797C0B5C411CE6F78AF7E212DFAD /* NSAttributedString+SJMake.m in Sources */ = {isa = PBXBuildFile; fileRef = 93737B08C2651E3972DE494F2CE35EA7 /* NSAttributedString+SJMake.m */; }; 1DF17C1EE3E8F2716A13AA4E22DEF38D /* SJAVBasePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B3E08B58C28C995B63211F3C2652B0 /* SJAVBasePlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1ECCD52A0127F71DEC8182C09D0B3B4B /* SJBaseCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E0A8C9387250BF80491F5110ECD57D0E /* SJBaseCollectionViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1EFB6FE4E1AE1E5BC02F440162CA8948 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = EB7540B939B23BA582E41E67B0AD35BA /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1F8255AFC7A497258E776780E631F0F9 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 1362A43C1610AFF2D406C715B3C581A5 /* NSImage+Compatibility.m */; }; 1FBC2B7CBE286DFB4BD6A7BA04F4D254 /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 53BF2F8323828D4BA38E36D1A40E7771 /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 20E2F8001CC8A41A0E1B50694BE7875D /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6440ACD02B9CEC698FF6949933BC5A12 /* NSArray+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 21079968871FAC5FAF41495103274B33 /* SJVideoPlayerAnimationHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C2A0F0E378120700CA86A584FE76EB8 /* SJVideoPlayerAnimationHeader.m */; }; - 224D65B49E14D5656AC980791AF24637 /* SJSQLite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 189FB005C43CC693B758021189DAE19A /* SJSQLite3.h */; settings = {ATTRIBUTES = (Project, ); }; }; 22900476BA43DFAAE47C55A8C550DF2A /* NSBundle+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D0EC97AE1A520FB53CF7DE4045F3786 /* NSBundle+MJRefresh.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 2296F94BF77834146D17FBFB52C9494A /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 767E18FB88E801846A3000307668A7FA /* SDImageFrame.m */; }; 2297ED7B30935B4426F2F3D6A76B2D3E /* SJRotationManagerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = B2DF32DA77CB62332634431576021AF9 /* SJRotationManagerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 22ED95BCE334EA5D447A4B8876FD549B /* SJVideoDefinitionSwitchingInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 10755DDE1A9B9818AFD5954ECEDEBC8D /* SJVideoDefinitionSwitchingInfo.m */; }; 239E0A75AA82C5BD446D32E6523F6DEC /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = DF487E772650F7EABD0E379476AE3DB8 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 248112E50E4CD78702485B9462CE741F /* SJUIKitTextMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 84510DDCD523C8788EAE46EF5D292E4E /* SJUIKitTextMaker.m */; }; 248C9ACA1B2775610E934FA880B81D93 /* SJFilmEditingVideoCountDownView.h in Headers */ = {isa = PBXBuildFile; fileRef = D1294C4B4C3B2C8D13B6D002A23CC8D5 /* SJFilmEditingVideoCountDownView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 255D17A8887DA7D5C4A2C8C0A0B4A856 /* SJBaseTableViewHeaderFooterView.m in Sources */ = {isa = PBXBuildFile; fileRef = 525265EC6763E95002DCC86A78F6AA15 /* SJBaseTableViewHeaderFooterView.m */; }; + 268AC1E39B2E2A7669C5425CBE94E263 /* SJBaseCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CE0DCF419A0F183CC1891E53C906478 /* SJBaseCollectionViewCell.m */; }; 26CFF9ED3D5203C44262E458AE687A0D /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 584168891E3AA004F96C05B9D9D97B91 /* UIScrollView+MJRefresh.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 274150181CF6C912CC5CF8CC5ABFB6FA /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DB202010B8DD222620180AC52B1AA4 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; 27DFCDA3CD16352498D215279D1BBB61 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 98AC7B09737A2974EF1C6337A6D8A9E2 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 280CAD00C73CDA4162E3FAFAB55639DB /* UITextField+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = FD4550907377D96C5018662EAE7D8960 /* UITextField+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; 281ECFA9B27396B7FC6C88F95A5F266C /* SJDeviceOutputPromptView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E99CA366659D77945A5708B4C82D701 /* SJDeviceOutputPromptView.m */; }; - 2853A161B324BEFA394885072A24E45E /* SJAttributesFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C581DAF1D94CBEEBB87E736BD93E749 /* SJAttributesFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; 28805C211B9CC415DBC51B43C36A552C /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 504E9CCF54AC5969760C573A20590443 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2891FF15D7344A225D6BCEC39EB64FCC /* SJSQLite3+SJSQLite3Extended.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B64745036F98784ABB8D782F757814C /* SJSQLite3+SJSQLite3Extended.h */; settings = {ATTRIBUTES = (Project, ); }; }; 28D28F5DEBEEB66B00C4337060E39DFA /* SJProgressSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = ED392FE1D299680551E6AB735234BCEA /* SJProgressSlider.m */; }; 293D76BE0934C6A0E5E5C6557A1120FB /* SJFloatSmallViewControllerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 556A8C1F160BAA0BA6A258A4CC1448EB /* SJFloatSmallViewControllerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 29819EA588BCD800D8B0DD60D4851001 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 73BCE7CC8C6BA7BC1A7F354A702EDCE4 /* SDImageAPNGCoder.m */; }; @@ -96,11 +94,11 @@ 2ACA5665AEF1D6065FE41FD6CCA1DBDE /* SJFilmEditingButtonContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F1259CA016F100B960FB97CDF0C4635 /* SJFilmEditingButtonContainerView.m */; }; 2B318C331DF0E45D0BD77CDE32C1EAB6 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 493E70EAB71E71CF3EAD1EB09A7ACAE3 /* SDImageTransformer.m */; }; 2B688F2490335126AD8BA6E4CA317591 /* UIView+SJControlAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E766D2BE64FA33287A317A0DFA5679 /* UIView+SJControlAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B72209E13B9A9E622734D1121F3F5EB /* SJCornerMask.m in Sources */ = {isa = PBXBuildFile; fileRef = C640F606DA78CC1DB2446A6C396AC2E4 /* SJCornerMask.m */; }; 2C8A82EDA2533091CDB1C33D47D9D0D8 /* SJMoreSettingControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9015B9A83A7AEE2BAE7EA93F9E595CF0 /* SJMoreSettingControlLayer.m */; }; + 2CA2AFD9C30DC90BA9C1FC8D9543CD7E /* SJSQLite3TableInfosCache.m in Sources */ = {isa = PBXBuildFile; fileRef = DBD21ECB9EF528A89A3D3C2936A7B77A /* SJSQLite3TableInfosCache.m */; }; 2CA5293CB1B3C7C7D08E9CDCBF947789 /* SJRotationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F0E41F5624183867AEE1AD3474E3BB /* SJRotationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2CB3A593FF371AC1902CCD2B38DB780D /* SJIsAppeared.h in Headers */ = {isa = PBXBuildFile; fileRef = 267498AB210CBD5F4C3624E6A9B2D665 /* SJIsAppeared.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2CFA7FDA980BD89F1920153F77E032CC /* SJBaseTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0C474F82435809DFA3F08E465469D7 /* SJBaseTableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E1DC016A0100E042AE3413DAA7E394A /* SJAttributesRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D4CF6443A6DB58DADBEDED4895C017F /* SJAttributesRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2E5F3B41BD51ACE4EE3B422BB67E51DF /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0F011A572BAF3D881880433C0C3406 /* MASViewAttribute.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 2EBF3535445644EAF525DB8990928271 /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = A2EAC42D8BE6AE9C078C9B2C40CCF00B /* MJRefreshFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 2ED1EDB1752822852CD42DA3D87CD694 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 23F8155870F5B0EDDB267EC05995ABCB /* Reachability.m */; }; @@ -108,39 +106,43 @@ 2F802C28FE571E4C813617884199871D /* SJFilmEditingStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 1244C1D1A62A851AC7D1A0D5A21B3474 /* SJFilmEditingStatus.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2FB9E42A41E6C28F3CD2B590EE5C9779 /* SJIsAppeared.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C95B4AB894ECE7F3D63D2D0CE725BBC /* SJIsAppeared.m */; }; 2FDE0BB820301D57D570762AA104D0B8 /* SJVideoPlayerRegistrar.h in Headers */ = {isa = PBXBuildFile; fileRef = 676E7E1F148588ECE7C442540CA368F0 /* SJVideoPlayerRegistrar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2FECFD6CF0A15333371AEB8E7912DB05 /* UISearchBar+AsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = C58EB40B723EFF2BC096399129719E3D /* UISearchBar+AsyncLoad.m */; }; 30D0F2FAE04689071A28A91E04802A55 /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 97BD4529CA0BEAF2FCD7D06984703E05 /* MJRefreshHeader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 30EF7BED25AF91EDF43E95C8E976D711 /* SJUIKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 13197C9A48BD7F649D3186FE3F094B2F /* SJUIKit-dummy.m */; }; 31064475EC704EC31BC3E2DE0DAFC72C /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = ECBEC9638253DC81F85F348F1A339C81 /* MASViewConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32993DEF2C304EDB65049AC33192AF2C /* SJSQLiteTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 94B8EEDAF0418BCFAA3E1129D0355FE2 /* SJSQLiteTableInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3328093C7395794A4E3597598AEBD49D /* SJReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = EC9ADECAE58D9778A83AF21085E0B764 /* SJReachability.m */; }; - 33AF81B29C4B4C1BAA14BEB5343A9566 /* SJSQLiteObjectInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = EBF2B4ADDEB946CB2DF5C5226027000C /* SJSQLiteObjectInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 33C79A83B17A2D9857B718A7A97D1DDD /* SJVideoPlayerFilmEditingParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E57712C0A02319B62EE6990ABE09C92 /* SJVideoPlayerFilmEditingParameters.m */; }; 3430321D06CBCF49F5A7DF6A70D9BB91 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 758CD49259E7A31059D4431619975B6F /* Masonry-dummy.m */; }; - 344045E111AB633431A6C419F45F9848 /* SJUTAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 334072250E5D30CA9FC79E19CE354377 /* SJUTAttributes.h */; settings = {ATTRIBUTES = (Project, ); }; }; 34B1BA1B395E9306D0506AAE4D83D8C7 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B16C2334CA4B855BBC33124D7DFE72C7 /* SDWebImageManager.m */; }; 35242CA9B05612E38FD45EDDF163D640 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C62977FC2898D0E9005E31B1C384FB8 /* SDImageCache.m */; }; 352B244AB5755CD4F1C8D9E4477288EC /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = C4076EE2E87D54BF5A3A794999CC3794 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3546E0790EE46E86DD92489DB77002E1 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 930E6BC994F63B819D57F7402C589020 /* UIImage+MultiFormat.m */; }; - 378009DC2233B9EF2DCB9C75291605AB /* SJStatusBarManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 85CE1E8216E9DA99B94494B970D93303 /* SJStatusBarManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 379B97B036149D62ADA6ED0A1946AE17 /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B5EC87DDE054CA6F3438C73F5965EFF /* UIScrollView+MJExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 38728FF0219C148A50C2C9B23936FB3C /* SJAVBasePlayerItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A78F805A6D5022C1A22872121F658B2 /* SJAVBasePlayerItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38983B62B1C85A79C98D958D34F52B0D /* SJUTRangeHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D513A3E2FF8CD5AFFE161D8AA31FB065 /* SJUTRangeHandler.m */; }; 390E8375B19FF12764C5AA730AF0F0F4 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D45CDE63AFCCBE97FF01026DC3E6A106 /* View+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 39254DF9CF95FB24DBC44D725ED237E4 /* NSAttributedString+SJMake.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BBBED7BC3EBF950DA6121F1AB26CFE1 /* NSAttributedString+SJMake.h */; settings = {ATTRIBUTES = (Project, ); }; }; 394CC5181FC08E038A6655AD567D2456 /* UIScrollView+ListViewAutoplaySJAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 639D47A86A8DA7A23ADF7871FE07C425 /* UIScrollView+ListViewAutoplaySJAdd.m */; }; + 3970D5A6F9280A8E0CA501B571D0A7E9 /* SJSQLite3+FoundationExtended.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AAD5D00BD80733E50034B77B9FAB1E2 /* SJSQLite3+FoundationExtended.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3A1AE21C4762016B55F3A419E49B4B73 /* SJPopPromptController.m in Sources */ = {isa = PBXBuildFile; fileRef = F79F401C48007533BEEDB2E9FEEA1D03 /* SJPopPromptController.m */; }; + 3A297154F8AD10B4697498A70B699659 /* SJSQLite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C39A6E1736B9F8C252F8C5BF14B083D /* SJSQLite3.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3AACB72E0D0D40DF82D3E35B9FF784CC /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 284AD2AFDDD2E61B9ACF4BA698BCD4ED /* SDImageCoder.m */; }; + 3AB0EEFEF5E6FA757238D35ECE325457 /* SJBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 97F72079271A251E3B8BF86D56B0A819 /* SJBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3B2C84998CAFD7A63369645730764D58 /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = D5C26834B3637BBCBF494D11D7EA277D /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3C069ADDEC29A69F3116047C6BE764C2 /* SJControlLayerAppearStateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ACDD4110446E3A40CB43095180A6BBD /* SJControlLayerAppearStateManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C59832362D28D7BEDB7BC1405C4A34A /* SJCornerMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 8057AD296D9C59290223140651E0B508 /* SJCornerMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3C5E76A165F44F325C3C00E881E39661 /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E202C0BE78A5B8FF50137E43B483DE /* Reachability.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3CC34DDC8DD23B65974D7BD8C4D87922 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = D4664A01187EA64AC03C4F9C4ABFBD0E /* MJRefreshComponent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3D851A7ACBADFE2A3C68EDF78C0F0F6A /* SJSQLiteTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E44C8412B873E91242A628C0BD475FC6 /* SJSQLiteTableInfo.m */; }; + 3DFE0805A85AFACF706BA81C65E7C809 /* SJUTRangeHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BE5F542A7A6DFA29C2475AF5B82D0FCC /* SJUTRangeHandler.m */; }; 3EBE698575F13DD99163F1D1135E69D1 /* SJFilmEditingInVideoRecordingsControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5243A27D4A2003D5B1D405F891E8421D /* SJFilmEditingInVideoRecordingsControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3F4B9DF707A4D8DEDB559749AEF3337C /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BEC12DAF6559DF31A3DECA25E86021A6 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3FC72741242F2C931666FDF6F3FEB265 /* UIView+SJControlAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = E7570DD4862DFCB3385CCADD68C62DD7 /* UIView+SJControlAdd.m */; }; 3FDB33D02B4B7E1BB555D382E0DD1CB7 /* SJRouter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CE2C7910C6D6B33F39BB43B335BC27E /* SJRouter-dummy.m */; }; 4022B4C05B459EE36BD5A330A58B7A3E /* MJRefreshConst.h in Headers */ = {isa = PBXBuildFile; fileRef = ED70EBAD8C0C8CF1A6BA32DB17CB3D80 /* MJRefreshConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 40A3C4E95EF0D64DF55597DE623C3EB6 /* UIViewController+SJModalAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E828F07FD34A96CE5074794DEFBA268 /* UIViewController+SJModalAlert.m */; }; 40C3BC8EBB8974D9281B31C1499083E0 /* SJVideoPlayerURLAssetPrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E678D937D0A76EA19441DE3799F2AA4 /* SJVideoPlayerURLAssetPrefetcher.m */; }; 4213406A38AEB845E869F147BDF0CBF4 /* SJVideoPlayerURLAsset+SJControlAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 39CACC96D91DBDFD203C7D8939A45492 /* SJVideoPlayerURLAsset+SJControlAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42947699890A199B08A896144A878D80 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = E26BC4C77580D24C372376C003212CD2 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 42D52D237F5F5CF952C7429072F0A2B9 /* UILabel+AsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E0907DC388067FED55FC958BFCE4113 /* UILabel+AsyncLoad.m */; }; 43169EA4F0469D9C72A1EAEBC5F7B316 /* SJFlipTransitionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FCF06B58FA7C89E54954992FC7E089AC /* SJFlipTransitionManager.m */; }; 4318E20BA01CA8B85B507F1D1DBBC4AA /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 73359AA59DA26E31EB613904717D1429 /* SDWebImageDownloaderConfig.m */; }; 432B81C2ADE4FACA4B4E9DF9BF042FD1 /* SJEdgeControlLayerLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = ED9D8AA9ACD4FC06FF045C6974E22379 /* SJEdgeControlLayerLoader.m */; }; @@ -155,113 +157,105 @@ 46692A2E77157B00827182C8DC686F72 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 431EFB77BB1C030D2E3356DF7C64C64C /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; 468C75F961C3895DCA63DBFEFD84ADAE /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 46A58AF62DEB0BDFCC3DC34C4ABB0826 /* SDImageHEICCoder.m */; }; 46C33BF177191113AB7EDEFD8CDF5EEE /* SJFilmEditingSaveResultToAlbumHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 098D62E4FC778EB9C9CDF39A883D1DAB /* SJFilmEditingSaveResultToAlbumHandler.m */; }; - 46CC7CA695319BE56AA5F9EA0861352E /* UIScrollView+SJRefreshAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 38A5BCFF7E0163080A63F07DB4206A2F /* UIScrollView+SJRefreshAdd.m */; }; 4750F8990C6EDC5D495BC2535144089D /* NSTimer+SJAssetAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B85776F8A762B04F0A097D2A0F69312F /* NSTimer+SJAssetAdd.m */; }; 4782074975EA0934764605EE3A02E960 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = F20F52F5AEB3108855E84EB0D77C4FD5 /* SDWeakProxy.m */; }; 47D666EC7BF6E332A3AFFD0A9857B1FA /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F038EE12C70FE24D22A6978856C9D22 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; }; 481AEB9A72882AA2A223F81CCAFC51A3 /* SJEdgeFastForwardViewControllerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = E5E55E1B74F2FFBBD7321D9876EB98DB /* SJEdgeFastForwardViewControllerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 481CEAFF0A8F82C89AEB6E58DEC33FF3 /* SJAVBasePlayerItem.m in Sources */ = {isa = PBXBuildFile; fileRef = FEBDD0BF09B3CE4AE20EA49118588A88 /* SJAVBasePlayerItem.m */; }; - 48CC33B07B878EC77AED7D78A3C16AF5 /* SJTaskQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = C006FED401BB7B5A2B5914CA8DF77857 /* SJTaskQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4901B6CD7BF3D1AD5C0203E599FAF1E8 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D328CEEAF3915C9E6DC33A38998D932 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4A50897E6964055DA650717298677721 /* SJPlayerAutoplayConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1D85D2F687F26A5D1D47F6AA39E559 /* SJPlayerAutoplayConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4A86ADD0E6C0AB8997CD27F2F4693440 /* SJFloatSmallViewControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 09995804CAF3665C10073FCFB6EF9598 /* SJFloatSmallViewControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4ACCBDD53807E3BCC4EBB657F52DBB5F /* SJApplicationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB24209A9FB9A9B8723F56B22A405B1 /* SJApplicationInfo.m */; }; + 4A8FEAA4A2023A7FA6394B38C05C3BAB /* SJUIMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = E09849EB384AFC47872CD59D7B1A1C76 /* SJUIMaker.m */; }; 4C20EBA293F9E3DFA0A672C871D7D45A /* SJDeviceVolumeAndBrightnessManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D1638B2F13A937AA5C2FA094A99CD75 /* SJDeviceVolumeAndBrightnessManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4C2D35EE6BA6CF4D76332D32E17DEA57 /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = DC28A3BD42B40E3F23D0EE37AE91ABDE /* MJRefreshGifHeader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4CE091F886EC6324673EFE0AEBBEA0FE /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 697ADF3532EE2422718CCFDBFCE15D34 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D71CD62D34720931C002A1947EDA806 /* SJBaseTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 576D67D2AC44B0E9C41F1C002FC6A247 /* SJBaseTableViewCell.m */; }; 4D846B3D35A40FE134F7B22A5B61061D /* SJVideoPlayerControlLayerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = A54C508011657D1F4931D6FED86DD9BA /* SJVideoPlayerControlLayerProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4DFE368A26450D2ABB7B6A5E0403F4EB /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 093CF83CD80DD722093627015A94884A /* SDWebImageDefine.m */; }; 4E2FB4E2862A8B432C3B01ED175307AD /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED68A027003E1B5CA9DA98DC5A0501E /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E5D60B59D5EAB05DAFCE207CEA69862 /* SJSQLiteTableModelConstraints.m in Sources */ = {isa = PBXBuildFile; fileRef = 662FFCEA1ACD03560A1D635143AB5662 /* SJSQLiteTableModelConstraints.m */; }; + 4E8D4F93F3E3809C01683209BEE3BDCE /* SJUTRegexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = DF09F42BB6B7D0F62E0D859C2DD8F1CD /* SJUTRegexHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4F078E0FB44606E185A87D91C22642A7 /* SJResidentThread.h in Headers */ = {isa = PBXBuildFile; fileRef = B8F2B3FB6CC885F1DBBAF48B858A9BD1 /* SJResidentThread.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4FFD666F4AA5CF2DE5DEBD5148DEDA87 /* SJVideoPlayerPlayStatusDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 130C1877AC7C119DBEBFCFD3685950D1 /* SJVideoPlayerPlayStatusDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5008E9E81FD44BE8744FAFD05E9DFCFD /* SJBaseVideoPlayer+TestLog.h in Headers */ = {isa = PBXBuildFile; fileRef = D95CFFFCA3CC91E0F04B5155583D3648 /* SJBaseVideoPlayer+TestLog.h */; settings = {ATTRIBUTES = (Project, ); }; }; 502BA90DD6CE83A8351C6701088CE3C3 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D3D5CE385AFFA85A01588E34A9CEDE6 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5191A568AC3BC0DBDC9E4CD97D2A9BAB /* NSBezierPath+RoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = A196E944C2E02838C63E58BE4FAC8C89 /* NSBezierPath+RoundedCorners.h */; settings = {ATTRIBUTES = (Project, ); }; }; 51A3DE256FC453E305DD200E85DC077C /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 794BE4FE8845906C371C9428759F7941 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 520E3AE7CF626545A442A4FEE682DC0F /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F0A1CD4A76E9681D7AA9344D177FBDB /* MJRefreshNormalHeader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 527EBD752EB76DDD1249A4E16B44E86E /* UIViewController+SJModalAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = 41DCAB62C3A26B3A32F9A159FF0BDBAC /* UIViewController+SJModalAlert.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 52FEFC823EF6DBD215E72FCAD7604D51 /* SJSQLite3TableInfosCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0005D25C7DFEC3C6E9FABF8299CAFBF3 /* SJSQLite3TableInfosCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; 531EB2AEC18B472DDE05A87542FF757B /* SJVideoPlayerDraggingProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6F7F49BED87DAEFCDF7180333FEE0DC /* SJVideoPlayerDraggingProgressView.m */; }; 543105275506BDBE141C2DCDCAC30D04 /* SJEdgeControlLayerSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = DC1C99C1FE88DD3B94938F4EF09F2A16 /* SJEdgeControlLayerSettings.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54543C09EFA938E8C24ECB4B297910AB /* SJCornerMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 34839F3058C37E39953C3CF31DB4760F /* SJCornerMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 546FF5459653114897FCB1473F536E35 /* SJRunLoopTaskQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E59A15B0BBB55621668730FDF99C3BE /* SJRunLoopTaskQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5589A8ADAA2C8B5D150C99D326C929A3 /* SJAVMediaPlayerLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3535C56C7941B4A74BE2E439BB56E043 /* SJAVMediaPlayerLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 561A2159318006C5AEB8E29878176B56 /* SJSQLiteColumnInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CBE7ECE407429263150F2B506F46DB /* SJSQLiteColumnInfo.m */; }; - 563033C54A773ACFCFE92E2B12B8A264 /* SJObjectContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F7CE549A86FE47D68F9C1EEB69E15D /* SJObjectContainer.m */; }; + 568E3081F76ABD9522D86B6A4E0E5939 /* SJAsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = E03B931E2D44DE9311A1B6CFD97DECA6 /* SJAsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56D7EFD472BFD82FF784DDEC276CECF1 /* SJAsyncLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = F8D11A18A536D853C43EB2C3980CA000 /* SJAsyncLoader.m */; }; + 5718E585FB8E0C057D63B7EA05341846 /* SJImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E3331461FD4EA9E57E88067C7D363CB8 /* SJImagePickerController.m */; }; 5751D84969E8C4628C7F30DEE90C1FDE /* SJVideoPlayerURLAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ED0AB09630FEAF117839B3FB20BA5ED /* SJVideoPlayerURLAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; 578B244E4E576CDAC034F00C08A02475 /* SJLoadFailedControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 196451223033C5E50CC11AD151F106D6 /* SJLoadFailedControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 57C4D41F54D6327C63C4508AF1CF989D /* MJRefreshAutoStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E63DA78E81D607D0C7327D12647EAE4 /* MJRefreshAutoStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 583FDF9B930499EF29A60BF6BEE46D1F /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CA6E1D669608EE984DF1331C595BA29 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 58A405BA84D7270ECAB859B967772310 /* SJSQLiteColumnInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F75A7A8AAE6DE47E21BF6B56C0E2365 /* SJSQLiteColumnInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 58DE869D1BF401CE7217420E8E24D068 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B76E0F45170665404A5CAC35FE2E71EF /* SDImageCachesManager.m */; }; 58F4C51E813A95B1A95CE65DB319FC90 /* SJFlipTransitionManagerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = DEDEC510BA8CA54B7E8DDCCCB78CD94D /* SJFlipTransitionManagerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5A16110CE4BA4384C516424A96302A18 /* SJTimerControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C7714DEC12CCBFDEDC1F987C813B608 /* SJTimerControl.m */; }; 5ACF492A08DC5FFADA739DE7CDCEA905 /* SJEdgeControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = B656BF3E9598825309667313502A6F18 /* SJEdgeControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5B4146E9E297A7EE2A14035D34EBB19D /* SJDeviceVolumeAndBrightnessManagerResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 527CCD102FB9D72B94E460E383285294 /* SJDeviceVolumeAndBrightnessManagerResourceLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B438597607BEBE0090C85C2206F14F9 /* NSObject+SJObserverHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BECFFB035C3F448080B3863F6DE8039 /* NSObject+SJObserverHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B93E550DD8A2315F04D28CFD6833A29 /* SJSQLiteCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E7A4916CCC59ED219E48CBB993C9403 /* SJSQLiteCore.m */; }; 5C5C77BBF83B793B82713296519751DA /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 789FA5470A931CAA1A7A43EA63B05C01 /* ViewController+MASAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 5C7CE066A8C3006E646ED51FA8ABFBB0 /* MJRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B28DF5278540C52DF3EA98715F8261D /* MJRefreshComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CFCAC974FDF8DEEE19C91378FD265B6 /* SJStatusBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 92D88EC280F498F4B2CB8C60CB23E9C1 /* SJStatusBarManager.m */; }; 5E09F160BDC1180231FFFD4E9CEF070A /* UIScrollView+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 8722B89360C13398E2A327AE6966E9CD /* UIScrollView+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5E1401D0A907BCC130E7118882864428 /* SJSQLite3+FoundationExtended.m in Sources */ = {isa = PBXBuildFile; fileRef = 81AF5AC4E3D4BB9A9E75401BF0A35FB6 /* SJSQLite3+FoundationExtended.m */; }; 5E25264012C1C1B3794CCE29574CDEE5 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = F98732C9B028D1E569F439A5B45A8147 /* SDWebImageDownloader.m */; }; 60329AA108382A9BA86A44B486A27CE4 /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D96F52296A15A7927848E55397265E1 /* SDAsyncBlockOperation.m */; }; + 605980761940243610E334AE814F14AF /* SJAsyncLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 35968F5FB971E4E0F7F397197C7840FB /* SJAsyncLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; 616C37AA929ECF35C4127245FCDA9ADF /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F686DC443D99FDD774B603A457A7D76 /* MJRefreshBackStateFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 616CCB5ECA9C79ECB19D43A307995A59 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B0E67FD77718005C1EA16E57D810F52 /* SDImageCacheDefine.m */; }; 6233CBCB354D640C06777EDDB909D141 /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8A606E66CE1EA0B4D44920492C8D5D /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 62BC8F1394385C58E955DF18D314902B /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = B20416E45553AF38D26B740CECA9A5B4 /* SDWebImageTransition.m */; }; + 63228E57F4589197DB3D679C76BB30D8 /* SJAttributeWorker.m in Sources */ = {isa = PBXBuildFile; fileRef = A28B5F569BAA524372C844D3B518ABC0 /* SJAttributeWorker.m */; }; 635307359078CA7EAA30034C387D1402 /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF1E04979261194D54217B258FB9402 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; 64138ECE53C61F092156BC4B60209210 /* SJPlaybackObservation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EE1DF854BA1C2804BD391359587BE4D /* SJPlaybackObservation.m */; }; 649207D40BD31DF6E3F6FE1CF4E5BA11 /* SJFilmEditingLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 20E85187D850E179BE4B28D2BA80BA60 /* SJFilmEditingLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; 64A906223AB9A6263B4948197348F691 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 3907BBE1B57614AD003F8CD7B7218638 /* SDWebImageDownloaderRequestModifier.m */; }; 64B74BF57C2B09334DF1E98A6D80BC44 /* MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 38FE5313B3ADE5DAA6BEEBB2F903958B /* MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 64D277AED94E8F2A6378467BEF7ED1C3 /* UITextField+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = ACE97BA8B4B484C1FDD061BBA278D6BA /* UITextField+AsyncLoadImage.m */; }; 6580A79F198F78BA9A37DBB1D9D43A24 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E8A124ABB2B8CEC2EA514E14997B91 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 65C6BC9804CFA41098D8A78C62C9BCA0 /* SJEdgeControlLayerItemAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = C9165322F8E17317D363583248EDEC08 /* SJEdgeControlLayerItemAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 65D554B72DC4DD2D7C4609F4A59AAEDC /* SJFitOnScreenManagerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 081DF702EAA24193CBB6BFCE2A98BB53 /* SJFitOnScreenManagerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 65E88072A2BDC576BFC85E67EF9FBBC6 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = E3769339C042854E32E62A03BC6C4998 /* MASUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 662B6E19D6F636B9251263CE2E5441AE /* SJUTAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 215DEC7CA89661913B7636DF3DF0CFC3 /* SJUTAttributes.m */; }; - 6669EF671ADC46B132856F138C1CCFD4 /* SJBaseProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 40AB01D6F1F0371163E77BB29A6DEF18 /* SJBaseProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66ADF3855AB5AA31C61453E4B7CAE693 /* SJBaseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 50CC3A34D705AB4CACE3402DE91EE067 /* SJBaseViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 67259FA6B2A4A8732061BCA765DFCDEE /* SJEdgeFastForwardViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C2E013D797F5318B842BAE166EC7145C /* SJEdgeFastForwardViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 672811BB6E44950E6FDF1E0AE1A490AB /* SJUIKitTextMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A90D7EF01C8F943F30AB90050AE9B07 /* SJUIKitTextMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; 679AD33C9131D8BE06AA3099AE4D0066 /* SJDeviceOutputPromptView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5341B0E5421E6043D61D1FB87B7E1EEA /* SJDeviceOutputPromptView.h */; settings = {ATTRIBUTES = (Project, ); }; }; 681F387F2FC9275071E6300116D4CCAD /* SJAVMediaPlaybackController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8327D8D8CBFE0DB11E68144A488B657B /* SJAVMediaPlaybackController.m */; }; 68734B2FD4E55F9A95D5B416C075074A /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 53CC26CF1F0BE25CA6247D15772DED14 /* MASLayoutConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 688206E6070F3536A331FF6DCC0B4BF2 /* SJPlaybackListController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D376CB5DFD19659A80E32B2FEB3CC3A /* SJPlaybackListController.m */; }; 68B880FBEE4E0BBB71E55EC9D278102D /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4BC1C6045A6C2BB2AE6D4C5C8FC9D0 /* SDWebImage-dummy.m */; }; 6975F3C0362B691E5622CBEC3D1E0D95 /* UIView+SJVideoPlayerSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 716507261A2D14380934A9731E40C966 /* UIView+SJVideoPlayerSetting.m */; }; - 699F1D98C1A0A7FB3EEC7F985F520B59 /* SJSQLiteObjectInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 020A680BF800BCB00927093DFD341AEA /* SJSQLiteObjectInfo.m */; }; + 69E55104107710D09612B3B817AFA5B6 /* SJBaseCollectionReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6932ABFA94149CDB79B93C840BE35815 /* SJBaseCollectionReusableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6AE0C6DE34EB24FEDF33E88AEE6ACA34 /* SJPlayModelPropertiesObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = A2199DEB897A438232B627549F93FE5A /* SJPlayModelPropertiesObserver.m */; }; 6B4B6EFA5DF953B3EA56A798C62DC6FF /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85DE0EE76C04F258000AC3DD14C2E20D /* SDImageCodersManager.m */; }; - 6BF65987C9CC22CB908D90AFFE4542AD /* SJSQLiteTableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2954E44531B42042B90421A7AE4700A9 /* SJSQLiteTableInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6C3CB417D4F8F12429EA5000E720F16A /* SJFilmEditingResultShareItemsContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 65EA53695901C9F37FEB4362B84C35AD /* SJFilmEditingResultShareItemsContainerView.m */; }; - 6C97D152D8422C52EE3C414CD481705D /* SJRunLoopTaskQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 9120AF0DD1070A758973131DCBE34FA8 /* SJRunLoopTaskQueue.m */; }; 6CA709D5E7EC9AA65892512265D83F10 /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 76AA1FB379A67F7D2D0C932B6F0ACBAD /* MJRefreshAutoNormalFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 6CA759E7DD8AD32F2504240C7C5E02F0 /* SJVideoPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = FE409CD694847DD184B17F28F7F72EFF /* SJVideoPlayer.m */; }; - 6CAB90002991B9CBFB8D48175F47C4E1 /* UITextField+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D3852D0A904DE85BF14F2A3E333E25A /* UITextField+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6CB54A7340BC086188E5753A31464D64 /* SJControlLayerSwitcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D3BDD128D68953306FF4216179F8980 /* SJControlLayerSwitcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6CD3F89544CAA5D0278358105A2F4892 /* UIImageView+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7775956A4104BAA1E09A39B470EE1825 /* UIImageView+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6D069483423BBD2EE9FF6A3FE7201FF7 /* SJTaskQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 331B38F912964B2C6F5ECE3058A54622 /* SJTaskQueue.m */; }; 6EF2AB22CBB20C3F826940F661BE938F /* SJFilmEditingGIFCountDownView.h in Headers */ = {isa = PBXBuildFile; fileRef = AF56C1C423F34F4A4B1FEDDDE719F56C /* SJFilmEditingGIFCountDownView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6EFD0523A505EC765B14FFBB98C424C3 /* NSObject+SJAsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = 545D87662EFB244E8DB5092D40439D49 /* NSObject+SJAsyncLoad.m */; }; 6F64ED0E70877E4BBD4EBC12257FC36A /* SJBaseVideoPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ED357E4694837BF58E02085B5386695A /* SJBaseVideoPlayer-dummy.m */; }; 70C13AFE757311A810041159C18E6375 /* SJFilmEditingCommonViewLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8526EEFB90321D243C3F71A7005D8212 /* SJFilmEditingCommonViewLayer.m */; }; 710B31121EABCDE6819A6A120114C968 /* SJSwitchVideoDefinitionControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D296563EE20862D55AC7F922E2789551 /* SJSwitchVideoDefinitionControlLayer.m */; }; 7144F7A8A3E9658064F3E67592159129 /* SJCommonProgressSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = BD5F30B7CB566840D95A72E97ABA3D46 /* SJCommonProgressSlider.m */; }; - 716E8FB0E725CB8AA7E6C11FB2B6A81E /* SJSQLite3+SJSQLite3Extended.m in Sources */ = {isa = PBXBuildFile; fileRef = 7392A2946EFA2F257E2E6CE5BB7D640A /* SJSQLite3+SJSQLite3Extended.m */; }; - 71C13684FEA54F9E0F84A6E5DCCAC5F4 /* SJBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B6351D3D6CB331D9D692C3AF0DAC15 /* SJBaseViewController.m */; }; - 71ED41E4052471B2D24133EF671C40E2 /* SJSQLite3TableInfosCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 05C5808482E6B4BB3081543F803369B0 /* SJSQLite3TableInfosCache.m */; }; 72D966D288BBCE1F2DF815AAEEF835DC /* SJAVMediaPlayerLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4536B16BFE6C5E6218CA3FC60AA94328 /* SJAVMediaPlayerLoader.m */; }; 73786DE7E7697328BFCC5E577455A5F5 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = BF82CB1A54160A0574311EAA4B742F02 /* SDAnimatedImageRep.m */; }; - 73802D6693412B4B9D1F10D14160CCC8 /* UILabel+AsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = 61444BEC4C1A973C9C3F66E484E0C825 /* UILabel+AsyncLoad.m */; }; 73E65934009AC7ADF9F9AD70A7B05F6C /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = DED378320B4D6D5C581288F404D8A9A9 /* SDAnimatedImage.m */; }; 742C8EBC56B7679870E10473734ADBE5 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CDD8703360B7F885B8B08BF92019866 /* UIImage+Transform.m */; }; 7476E72D69D6048345A68802E89DB8D0 /* MJRefreshBackGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = C86BA84C183B6392F133615E8497FFF8 /* MJRefreshBackGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7590C0D98A69FD0F8F1E55F2F00E3050 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EA2EE53230C786174E0226382FA83FA /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75D8A7361459F11EB0BBB10EDD21B01D /* AVAsset+SJAVMediaExport.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D51AAB7D82B07BA746626C95459E1A6 /* AVAsset+SJAVMediaExport.h */; settings = {ATTRIBUTES = (Project, ); }; }; 768754CDFDBAF49B3A985024D4BBAF44 /* SJEdgeControlButtonItemCell.h in Headers */ = {isa = PBXBuildFile; fileRef = AF8DE495EF24903D7A8C7E907170ED90 /* SJEdgeControlButtonItemCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7713AD990D1347AB44E682AD062D919A /* NSAttributedString+SJMake.h in Headers */ = {isa = PBXBuildFile; fileRef = 8718FB682F45705E1DCF112FC5A97A1C /* NSAttributedString+SJMake.h */; settings = {ATTRIBUTES = (Project, ); }; }; 77BA748373462DC734D2CDE97C0EE0A1 /* SJControlLayerAppearManagerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AFA8142090CFBB0B1B8E0BAA7ECDF96 /* SJControlLayerAppearManagerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 77CE502691CEEB1CAA240516F6E08875 /* SJUIMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = BFDC6AC59595907DEB5D566E4C132DC3 /* SJUIMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; 77F27C4A6BFC76E8388C706D5E2DC494 /* UIView+SJVideoPlayerAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = F10C9C990BBFE1570588ECA14A8A97C0 /* UIView+SJVideoPlayerAdd.m */; }; 787221564A3C17A51FB4E95C83C6430B /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = FE01625F58E3654CC025DFCB46E268B6 /* UIView+WebCache.m */; }; 79BA2C553EE298CD6507BD53A77B699B /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = D93AC78990676F1F048837FB31C1985E /* SDImageIOAnimatedCoder.m */; }; 79FDD4AA4AF6954BD00C67FCC89C9A19 /* SJPrompt.m in Sources */ = {isa = PBXBuildFile; fileRef = 84A9E9F4AC03AE1354E6CCF552740E49 /* SJPrompt.m */; }; + 7A69D30874E2BF49992E34A132586F9F /* SJSQLiteObjectInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AC10FB3DB3A50C89E932D6A08A9258A /* SJSQLiteObjectInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7B1DE86E88494A05DD0621BC8310843E /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A1CCF227407443063E9411A5369AFF0 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7B26282440E6253D04251D837D020EF2 /* SJVideoPlayerRegistrar.m in Sources */ = {isa = PBXBuildFile; fileRef = 8327023E56E3AF92CF12AF65927C0C3B /* SJVideoPlayerRegistrar.m */; }; 7B37C92A52ABA68E7D9BF6BF8A00F79B /* SJAVMediaPresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6625CEEACF2D784070BB0A9787940394 /* SJAVMediaPresentView.m */; }; @@ -270,8 +264,9 @@ 7D8AB6469CA56D85D0746052CE490867 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 418B53BA49E5684916E299E2F25130E6 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7D94FB38393286ADF716ABF400F05111 /* UIScrollView+ListViewAutoplaySJAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D4BAE887B2670D010609D337E6B4768 /* UIScrollView+ListViewAutoplaySJAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7D9AD26A080C7CF8B07579879E3EE0AC /* SJBaseVideoPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B23B5D523C21A97B8E4AFD7EBC40247 /* SJBaseVideoPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7EDAAD73E3AEDAD2C10F47DBE45E47F9 /* UIButton+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 243525525EDCCF15938C30F5538999C2 /* UIButton+AsyncLoadImage.m */; }; + 7DA4D5124D72C1E322A43D2CB8413700 /* SJCornerMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BAE5AC69BC08E62FCD1336DFD08D6F9 /* SJCornerMask.m */; }; 7F26C3B6A53F475F4981C0433BB159DF /* SJVideoPlayerPresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = A3D6E0F8EDDBA6FEAC09B8ABE42CA8DE /* SJVideoPlayerPresentView.m */; }; + 80677CCAFE1CF1B24AAEEA32353F7AB4 /* SJUTRegexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C57A0DAF5DF6862FB5594AA5609421 /* SJUTRegexHandler.m */; }; 8088BF42A28F19F2B675758CEEB6A820 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = EE0B4D8013BE31DCC31A24ECE8C93BF5 /* SDImageGIFCoder.m */; }; 810B684B929F9A03FFA0F3E57D7D6D19 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 06B25D08CAC4BC880267278B7DC16C64 /* SDWebImageCompat.m */; }; 81221624ACB772160B39BFFDF5D545E2 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = AE669C379056FF78BB574E5B4C22FB7C /* UIImage+GIF.m */; }; @@ -279,7 +274,6 @@ 8192D9219478BF888D410C486F40C20C /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 30900AFFE53B8204989D9090BBBBFC02 /* MJRefreshAutoFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 81B3F82344F7716D7EB8CF4484A3ED05 /* SJPlaybackListControllerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = BE51CB0A221FF531C173A4B43E80447E /* SJPlaybackListControllerProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; 81F811A56B6724F7E8E2D25364E595E3 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 09F32CDE884A08602F8D4A5718856401 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 82138D12E7D4C166C19721A79397656B /* UIImagePickerController+SJUIKitExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A34BF78411DFB5D08701C3427051E /* UIImagePickerController+SJUIKitExtension.m */; }; 82AB26A3889019B9B21F7ACD53A545F7 /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = BEB53FBAA98F943C38004442B42D0612 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; 82D8207DEF104392D2661BA6EBCF42FF /* UIScrollView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = E3647094246DB251DDC01934EB375EE1 /* UIScrollView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; 82F443E9229D86D7FC502745D723B25D /* SJRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7E505A690AC746BF195522F1590E4 /* SJRouter.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -287,58 +281,65 @@ 83E38661FDE39748C525E366E6AFB751 /* SJFilmEditingControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = AF108E5056CFBA8B52F6198BA39A07D3 /* SJFilmEditingControlLayer.m */; }; 84695E2CE99C56A70AC368BDD6D25EF6 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = 394808159E72FAA7857FF69B3F547A7E /* SDImageGraphics.m */; }; 84AAFB010BDB1A8961CABD87F1BCD930 /* MJRefreshStateHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A5D541807355C7D7FEA23FB964ED4D5 /* MJRefreshStateHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84AFBF9E0FC42718BC42CF5576F74069 /* SJSQLiteErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 09D82180BE7426A0F6F085FEBF441DE9 /* SJSQLiteErrors.h */; settings = {ATTRIBUTES = (Project, ); }; }; 84CD575C4194CE074DC9DAF2032AE7BE /* MJRefreshAutoFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = BD0DD6F287979DE13E0471164CFEFC12 /* MJRefreshAutoFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; 84E195A02DE801E0174865815F297972 /* SJFilmEditingVideoCountDownView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DF3D007602F86310466390A05AB121A /* SJFilmEditingVideoCountDownView.m */; }; + 84F1AE7A3DFEADA2E9F532252CF1F43F /* NSObject+SJObserverHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 720DE0F9408C9319F00B7FD48860DC34 /* NSObject+SJObserverHelper.m */; }; 8563F75BB459D44519F26803CEE2F4A0 /* SJAVMediaPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A9D26312B98A934617E9941645E94 /* SJAVMediaPlayer.m */; }; 85DC59CB8CC31C2D3E406AA1EC358F6E /* SJVideoPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FD5C59C7DDE866663B96CDA04CA7CA1 /* SJVideoPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 86513475A6812E0B216AAA5D856C3066 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = F7958F0B386B72255AB18C43BD0C7A90 /* SDAnimatedImageView.m */; }; 86C8A1069E7F4A024A33CB196B25D8D9 /* UIView+SJAnimationAdded.h in Headers */ = {isa = PBXBuildFile; fileRef = E746877E35B25885FA819B42C2089CD6 /* UIView+SJAnimationAdded.h */; settings = {ATTRIBUTES = (Project, ); }; }; 872A016A74F2C1BC39AD15312F312A09 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5767792C61EAE09260928C814EF9EA5 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 876A9AC0946D4D44504799427257AE1A /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = DF1D1558581B63B1BD67341394FAA999 /* UIView+MJExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 87C4CB6A1A594384F132FF69D317AC05 /* SJBaseCollectionReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D3A5EFE2E1CAE953A3A3B41301A39A /* SJBaseCollectionReusableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8816833A51EBA8420E53E8AC2F6BF802 /* SJResidentThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 85FA7F7C7EFECFE60B72A055E1A5E5B0 /* SJResidentThread.m */; }; 89A7C47FE17F93305F51F4C805D93C82 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 46480C54620D8C098028C529B8F1DEC8 /* SDWebImageDownloaderOperation.m */; }; - 8A5B45C4EC1C9E28BA8FF3F9A3D37AE8 /* UIViewController+SJModalAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C27DE0354E99CE3B1068BC90176E81E /* UIViewController+SJModalAlert.m */; }; 8A89156B206F8BA691D2894BC09A62CA /* SJRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 217577DB5C73947308EEB979234AB0D2 /* SJRouter.m */; }; 8AE68319862ED248A24EEB909A0C4660 /* SJAVMediaPlaybackController.h in Headers */ = {isa = PBXBuildFile; fileRef = 09994F1FF63B195E45FB67CF60367880 /* SJAVMediaPlaybackController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B15121A0E7855BC4DEF5365AD0EBADF /* UIButton+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 96EAA4C03F3713283C76D7456B24A8E0 /* UIButton+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BDC021BDDD0A8589FF8439C94FF1BD1 /* SJUTRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = FC13F3C7274A38BF6602B095B486E136 /* SJUTRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8DA5097B23EFBA35421EC1339070701F /* SJFilmEditingSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EA8C9FAEE20E120D0468448CAA9BFFB /* SJFilmEditingSettings.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8E300DF099BB53814F510D0ACC6541EE /* SJAVMediaPresentController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2F6EC6D77FE9A2711616BD403E9820 /* SJAVMediaPresentController.m */; }; - 8EB9ADBCEB6168FBBB45FEC87502C3C7 /* SJSQLiteErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = D25C76C4DB6FB2DCEDCA972B239FA9DC /* SJSQLiteErrors.m */; }; - 8ED05020002FB6AD569585E64DAC0098 /* SJBaseCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = A8E00DC308EE0AB5CFEC8BC276752304 /* SJBaseCollectionViewCell.m */; }; - 8F600BAF48C85F37C3CED4600A6D0683 /* SJUIKitTextMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EA0F2937DF1D8E059AC7E337B0AE334 /* SJUIKitTextMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8E38E62A0FC3CEB1ED8AB1F697F63FF7 /* SJSQLiteErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AEB79F798E60CD20971809CCC62715C /* SJSQLiteErrors.m */; }; 8F6703B36EC22D88DC22E2300B521D08 /* SJVideoPlayerPlaybackControllerDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D1A0F965FD8D1618EA05A340790DC2A /* SJVideoPlayerPlaybackControllerDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8FB6EEEA643D203E81CEFD58A99DEDF5 /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 66772FE05D2AE82952B114BA47084333 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8FF5678718597646675162B59A2094F9 /* SJFilmEditingControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CAB86600F68C4AC9BD2B0A1C52C617 /* SJFilmEditingControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 903B4FD87005855BA0FB6F9D8C5CBCCC /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 61D7DCC4589D464DAD45CCDC537A241E /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 906A8E94FA2A6787AD2C55F331D845C9 /* UIImagePickerController+SJUIKitExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = C4C02BABE8102362CF86E5E43A8D41E6 /* UIImagePickerController+SJUIKitExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; 90AD9FDA08742DB02A96B7DC143502A8 /* SJPlayModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 562BD4BE0AD4035F8A43C7F6640C890A /* SJPlayModel.m */; }; + 90DEF26C03801F4F98B1BB355F84EF60 /* SJUTAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 40CD3F4DB91ED36DC749B8AEED8AAAFA /* SJUTAttributes.m */; }; + 91184D0ACE51179960674C9EDDE0B286 /* NSDate+SJAdded.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD0FC805D3F19DC79D6DF2FDAAF801C /* NSDate+SJAdded.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9194B58ACE900ED6BAE6AD92E24A2CFF /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D61C62D8A275B91FE1E855E9F7CF2E4 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; 91DE796CA345F7BA41DDBFEBFDC8D0EE /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 34E867979FD2B35E47F60C34A4B9F913 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 91F78C43317D54848F543094CE969D39 /* SJSQLite3.m in Sources */ = {isa = PBXBuildFile; fileRef = 901ACA8274F85D1268E5D451905AFD30 /* SJSQLite3.m */; }; 920804323F1ECDD2337D56DE95842A47 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 59AA1B6C18362666C175195176F09BFE /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; 92BF70E9D3285561EB404A7C4A4A6DEE /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 315DC1C8399BE72E873ACAB3AEE49390 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; 92DE532935439B95296EA2902C1DD138 /* MJRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 24242C6D7B467497F0C6FDA27745DDE1 /* MJRefresh-dummy.m */; }; - 92E1C97BF9286BC6E8A4296BF24F3DB0 /* SJMakeView.h in Headers */ = {isa = PBXBuildFile; fileRef = EF274611F5F93F98FC4CB00FBC99BA1B /* SJMakeView.h */; settings = {ATTRIBUTES = (Project, ); }; }; 930F2016C3F63EF3A4CA52E90AE09568 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 299EAB68C588DB6932B417D05FA2C86E /* UIImageView+HighlightedWebCache.m */; }; 932DEC9849066774D51C812A54403A01 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 07A3970A304E94351C788BF62AD2D833 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 94A01BEF0A01D997F4C8ECFD5EF8C619 /* SJUIMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 87B6D2E8D22C1BD4E8A88E4F521AE7F9 /* SJUIMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; 94C4AAA8B2B7E787FB98CAED1423660F /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 08BF1C5FF91EA60B22158660A5FDE056 /* MJRefreshStateHeader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 95B5297A8BD9F526D5B9ED8CAF7B4CF8 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = D1EC97E027D0D25ED34048816B015E8C /* SDWebImageIndicator.m */; }; 960FA94E53158D39B7C7FA9065E02ACB /* SJEdgeControlButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 27607630E82A86F9C4B79F53E9A38804 /* SJEdgeControlButtonItem.m */; }; 9677D53E7D5E5FC9B8C9791B71C1E29F /* SJFloatSmallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 553A84DE9838FB90B19566F24C97653A /* SJFloatSmallViewController.m */; }; 96F2BD023A1AE8F3E755D2636A12C94E /* SJBaseVideoPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B91F52A4D263CFD688BD86FF636E16B /* SJBaseVideoPlayer.m */; }; + 9700FB8A867465ACD65334098EC2F287 /* UIImageView+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0B15D0DC712218774251C1BE4F58B4 /* UIImageView+AsyncLoadImage.m */; }; 97C4B25C7AD0A69AD4BA15F7F09B7F25 /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = D958EF2278F6E260330BF6E7D5E7C032 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Project, ); }; }; 988E7A7B2F8A7E83D9880853A05D8556 /* SJPlayerGestureControlDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = DA4540135B2148DD5D2D52E3F64A516B /* SJPlayerGestureControlDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 98EF92872C841C2F867781F307BF4585 /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = D270960425B17348C1ADA0F88CC1552F /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; 994E600F727DC99187799BD1C19A8EBD /* SJVideoPlayerSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = CC2F6ABD8E918DB3789B608F99FBA968 /* SJVideoPlayerSettings.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9B369AAD43832AEDBBDA8A0DF0856B4C /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 73A24DC75FDC946A417AFE8967A0156B /* MASCompositeConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 9B82B170C663C44EB3595CD7B0551472 /* MJRefreshGifHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = EFDDA39C0C25435DB19FF5CE5ABF6E81 /* MJRefreshGifHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9D845476CF01E3F186F13BD63187F021 /* SJImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9350F2EA46CC963FADC7E95F0378E19E /* SJImagePickerController.m */; }; + 9BA8976994ACCA2E42F98E9540499E8C /* SJBaseProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 9360B2122F0164AD3EF8C193075D9EF9 /* SJBaseProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C7E87916679F8EF5110DC4451D6EFDE /* SJAttributesFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E49E01D4E9ABAEC26CD90584BEC0F2 /* SJAttributesFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9CA337EF700189050D49E632362CC25A /* SJSQLite3+QueryExtended.m in Sources */ = {isa = PBXBuildFile; fileRef = 95DC38DB98A5F5265F6AF8A870241FB5 /* SJSQLite3+QueryExtended.m */; }; 9E04F2B6D1208C2C76C7682ECC3F3F9B /* SJReachabilityDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 77F9E0CB85DA138FA4F7D08DDD97FA05 /* SJReachabilityDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9ED5192E76CBC0A7362842C0768E5883 /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B72BFA8500E6BEC66FCABC4840FF884 /* MJRefreshBackGifFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9EE1EFB6591C7E511AE608516D0299BC /* SJApplicationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E68224A078AD6D34730FF9E20480ED5 /* SJApplicationInfo.m */; }; 9FD00A2C361787F138064CE976D86612 /* SJFilmEditingResultShareItemsContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B86F045E4EB6ECB997FD578DFAA7540 /* SJFilmEditingResultShareItemsContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9FECB4AEFC52F112E8F412997606F01C /* UITextField+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = EABFD023A6C3B904A5B7385D97C55E9B /* UITextField+AsyncLoadImage.m */; }; + A00EDD82370ACDB2BCEAC72D1147AECA /* SJSQLiteColumnInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 57FA1EA26325D98AD12FE3CBAEFBF077 /* SJSQLiteColumnInfo.m */; }; A04714EB9E8433C5C89607E273CF8181 /* SJRouteRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C5E3573C652AD6B41C9059E5E3664954 /* SJRouteRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; A064779B2E8E0552CB8FFC0543CEF658 /* SJNetworkLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = B4F6704F422620D4CC9891AD551DDAC6 /* SJNetworkLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A06AAE80F9F01D4E61406CB093721B8C /* SJRunLoopTaskQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 843761EA90AF541CFEDEDAA8B110C566 /* SJRunLoopTaskQueue.m */; }; A0AA443A45A53ABF61FC37D110817070 /* SJVideoPlayerFilmEditingConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 405405E00A031E7347BA596E72CEBEAC /* SJVideoPlayerFilmEditingConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A11FD5424E3645C8099ECF36A94BC1D4 /* SJMakeView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD42A555A0CBDE1DCA29021ABBEC162A /* SJMakeView.h */; settings = {ATTRIBUTES = (Project, ); }; }; A269C89F21B97989E110929296D24005 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 35197FFDDE93B088FB8F46C5313FDC4F /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; A311C716BD6FD006922E59436009642C /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 7536D5475BA64828BFFAFB7BF154B957 /* SDInternalMacros.m */; }; A3128972AFDC223D3300F4B265565091 /* SJVideoPlayerURLAsset+SJControlAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 266219E3ED3DD8235848096349FF5C45 /* SJVideoPlayerURLAsset+SJControlAdd.m */; }; @@ -351,12 +352,8 @@ A41A57610520FF8E6A38B255D068A6C0 /* MJRefreshHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = EEAD64332BC11234FF21BC88C80992C4 /* MJRefreshHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; A41D4E7E7556E35B993E043264158FA2 /* SJNotReachableControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 20361DAA79D190C6846D4A7DBE7170FE /* SJNotReachableControlLayer.m */; }; A41FE466946C55051CB39FA3063B3B99 /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B65663792CDCF524FC40478E03C6AF6 /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A45A9140F3B4EB69F894C69DFFB84C2C /* SJMakeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B24DE71E85DA05981EBC084174E3AAA /* SJMakeView.m */; }; A4A2C8E22DECADD858759BE1BD776988 /* SJVideoPlayerFilmEditingParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 73A8BFA644BF3E5BFA740A5E1191EF0E /* SJVideoPlayerFilmEditingParameters.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A4C5350704BD8584C4C641B4BB6F6BDE /* SJAttributeWorker.h in Headers */ = {isa = PBXBuildFile; fileRef = A054AC6EEC6D52A27CF1CD795B10E38E /* SJAttributeWorker.h */; settings = {ATTRIBUTES = (Project, ); }; }; A4DEE7E4F2C880CC29F45DEEF3F10D04 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 841F1AD44A0A6A47B7875D85B64DB710 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5E932873C79AB3C259237B79E8E5369 /* SJApplicationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8215572A6A4D40CAD4ECFC2AC953EBB9 /* SJApplicationInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5E9934CC9D60141D2F682EA37ED825D /* SJAsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = B1EC9EFB8FFE64AF99F02EC1DCB59A2F /* SJAsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; A693C5CFFDF5AD5B81F8B636D6209233 /* SJVideoPlayerURLAsset+SJExtendedDefinition.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B6E65FEE281D2492DEB819FC285E296 /* SJVideoPlayerURLAsset+SJExtendedDefinition.m */; }; A7C9CEF1CA70077A47F8D73724AA8CE9 /* SJEdgeControlLayerLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AB64D10CDF809E22645BCCE3410FA94 /* SJEdgeControlLayerLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; A7E97E27B889A89C0DE2F8BC1B9FACF2 /* SJVideoPlayerFilmEditingCommonHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = EB31E010BEAABFA7238DE2AE637D96F3 /* SJVideoPlayerFilmEditingCommonHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -365,67 +362,70 @@ A8E65BBEB99FBD28802F22A00139E926 /* SJVideoPlayerDraggingProgressView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B918CF193C3B7A400C4015F0AAB452C /* SJVideoPlayerDraggingProgressView.h */; settings = {ATTRIBUTES = (Project, ); }; }; A94F0BD855AC3B2D28D21A762182D2A7 /* SJFilmEditingSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 835D017B099999AFBDBB6D49729799D1 /* SJFilmEditingSettings.m */; }; A990A4E59E1AC47E4BDB6FC1E1BB4195 /* SJFilmEditingResultShareItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 9673543ACABA2E673896B9DC95489770 /* SJFilmEditingResultShareItem.m */; }; + A998E4C02AA687473FCA4CAD093785E4 /* SJBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 20120183BAFA5D06DED5938E5FDC010A /* SJBaseViewController.m */; }; + A9B8229A346AF232C91CB02D60B19344 /* NSObject+SJObserverHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 91679E993CA0486BE2C1BE39602FD2A1 /* NSObject+SJObserverHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; AA16974DDC5D4C7A62F10D69BFCCD27C /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B1950A9100EC697CFE9B684182B41BBA /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AA2B156A1819E8098D57E8CF030271C6 /* SJAppearStateObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = C1D8B52A81BA06D4DD2C7A06FF8A0198 /* SJAppearStateObserver.m */; }; AA9BF704C8BF81720AE91C1FD5D21BEB /* SJVideoPlayerFilmEditingGeneratedResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B16333BB5E2297B779A77FB4B78ACE /* SJVideoPlayerFilmEditingGeneratedResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AB6D1D573F9DCF3D5269D380EB8945A4 /* SJUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B4DF8F2EF6281AA3F386457D14A667 /* SJUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ABE2E45C891BF9FDBF24E0CB4E805B45 /* UISearchBar+AsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = D96A9DEC0DF1BEFD2E8550F1BACE7C70 /* UISearchBar+AsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC059399FBD1B2B5E18F36E01E17B9E0 /* UIView+SJAnimationAdded.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A32D57A4101B46D15582B84DC3FF310 /* UIView+SJAnimationAdded.m */; }; AC2C252274F08B9469FAEF0219616DB3 /* SJVideoPlayerURLAsset+SJExtendedDefinition.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E72BD766CCA627F0BF8DDE2C74D1D9D /* SJVideoPlayerURLAsset+SJExtendedDefinition.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC35B180AD25A3DA11C2929AA1E194B3 /* SJPlaybackListControllerObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = C735EABA4C01665EF38746C813120F0F /* SJPlaybackListControllerObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; AD0E08641886DD8F486122E9F06C1631 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 901E4C4C870FB7AB0AFF8BBD652D9271 /* SDMemoryCache.m */; }; + AD12A7F06965DB09ADF9F75B30F378BE /* UIScrollView+SJRefreshAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 917F699E7320C752467EF643163E99E2 /* UIScrollView+SJRefreshAdd.m */; }; AD1B756C8FABE38369601EFF6549A862 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A05EDB0A7580C632A0505621973BDA4 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; AD4361A1C765C9B1B215A06EC46F45B6 /* NSTimer+SJAssetAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 49F5EA18E1E5539D2E1C2BADC0322424 /* NSTimer+SJAssetAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; ADC101DE11F1484989714550E51FEDE8 /* SJEdgeControlButtonItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C215FBA7B8AAD2E55FCC1531B076DC /* SJEdgeControlButtonItemCell.m */; }; - AEB79EA0E11470BC398A963DEAE7518A /* SJSQLiteCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 3545ED8B3539B0BACE787F040F1F218C /* SJSQLiteCore.h */; settings = {ATTRIBUTES = (Project, ); }; }; AEF46BB593EB33DB65E31A31243889BA /* SJVideoPlayerPresentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ABD641F061972134976AAAA9E840503 /* SJVideoPlayerPresentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; AFAF04B22BE1008C70EF3C05EFDD2523 /* MJRefreshBackStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = A58F116C0DC935AE050C50C635F14C34 /* MJRefreshBackStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; B0076E1D3E161065045E183AC9AD8D47 /* UIViewController+SJRotationPrivate_FixSafeArea.m in Sources */ = {isa = PBXBuildFile; fileRef = 28A182BB9CE49A04D8923300DBF44088 /* UIViewController+SJRotationPrivate_FixSafeArea.m */; }; B0272547DA71865A577DF6F3DFB7DBFC /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = E709775551F984787E82C3207C989EAD /* UIImage+Metadata.m */; }; - B04B6EFBE87AA0E2ABA4122AB748F40C /* SJUTRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E7FCE1C93505E160CE54D75F32E9EA9A /* SJUTRangeHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B0683BAC0EF5A25F4EFD877E620EA428 /* SJUIKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C7ECA200646FBD18E81326F3B2FCC7FA /* SJUIKit-dummy.m */; }; B0E377B5347F1170651B90E7D21D3ACD /* SJBaseVideoPlayer+TestLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FEDB9C9558C53597AF5F4F884A6F890 /* SJBaseVideoPlayer+TestLog.m */; }; + B0E814B76616A4FCFDB91D474663C4AB /* SJSQLiteErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E4D0DBF3D9D75D2C027518AB685357 /* SJSQLiteErrors.h */; settings = {ATTRIBUTES = (Project, ); }; }; B12EE598E33B6ED33CE14D1E6743DE3B /* SJEdgeFastForwardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CB7E9050550E088B314860F4E4DD9E /* SJEdgeFastForwardViewController.m */; }; B15E2845F41B6A6A8F540806EE735CC4 /* SJPlaybackListControllerObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 91F94D55D14762FBBCFD6F6BF5081447 /* SJPlaybackListControllerObserver.m */; }; B16D769F2603EEF495B282D109CFA902 /* SJSwitchVideoDefinitionControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 044AB00ABFBB45E6164164FA1528D865 /* SJSwitchVideoDefinitionControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; B1DAB7D4594E1628FC62E3FA6478CBF4 /* SJFloatSmallViewControlLayerResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 12E106F09085D149F93A9CBB44478597 /* SJFloatSmallViewControlLayerResourceLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; B1EF0741AA39E824C3B45DB1EA471D45 /* SJVideoPlayerURLAssetPrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DCB080154ACDC4B0865A5D29EC9011F /* SJVideoPlayerURLAssetPrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; B20A0E5D8F9BCED1A82793C4BE9E7258 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 794229C61F4A0BA8EEAA93560663EF31 /* Masonry.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2469946B52B9481C47A7AEDA82834CE /* SJApplicationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FC9E02D7CD54E1547EEFF5A10975C28 /* SJApplicationInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; B35EF22EE99A106C3CCE5563B214ED32 /* SJFlipTransitionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A1BFC67129584EBFEC3856159054EC /* SJFlipTransitionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3CDE96845F948AB53D5605BC2E4AC8C /* SJUIMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D17500D54C465BFA9CB9DEB77EC3C16 /* SJUIMaker.m */; }; B3EB72479F1DD874CCBCFCFCF7D48D4D /* SJFilmEditingSaveResultToAlbumHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = D14F2383069D30188AEDB08353578074 /* SJFilmEditingSaveResultToAlbumHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; B472437E134F4DE3D384078738CE6A8D /* UIView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = B901110240B6A03A69C546CDF92AE46A /* UIView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B70CD9718271785F6C9CE0B3BBFE0C9E /* SJUIKitTextMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 00655F957C33C6C3E40B51C6341FC321 /* SJUIKitTextMaker.m */; }; + B64787A975CAE4BD9046C07B3D7A417C /* SJSQLiteTableModelConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = DFAB14716E1C6FD508DF3011AFFF833B /* SJSQLiteTableModelConstraints.h */; settings = {ATTRIBUTES = (Project, ); }; }; B755B395101CC94EAF232BE73F7D9368 /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E641A62C72AD6D8FBDB170D29C0214CF /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; B760E1CFE367E69D113C677BBF20BE8B /* SJAVMediaPresentController.h in Headers */ = {isa = PBXBuildFile; fileRef = 038F445CD5AC427AE2FD9344FCD72CFA /* SJAVMediaPresentController.h */; settings = {ATTRIBUTES = (Project, ); }; }; B79142C084E4D25B99DC88D8AA596854 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 018191C43274DBAA43A229C912EE7C5E /* NSButton+WebCache.m */; }; + B7E820F16466AFF4BD9D6E20407512D5 /* SJAppearStateObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A6B29986270BC6B2936CF07A37E3E3 /* SJAppearStateObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; B864BBE45C88C2594B011AEE78CF4BCC /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A6484B006FC3B65D4615111BEB58C127 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; B8899240BA55CDE08759775CE09B8076 /* AVAsset+SJAVMediaExport.m in Sources */ = {isa = PBXBuildFile; fileRef = 277680B3DB7285C4428E54CA33B26B37 /* AVAsset+SJAVMediaExport.m */; }; B9FFD9917E8DEF537C28B086745F498B /* SJPlaybackListController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3223378316A11CD8D2D7EF9F918BF765 /* SJPlaybackListController-dummy.m */; }; BA41E0BDC1B47E31E9D919B42ACBCE05 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = D4E5E9360E2A4717486E4B69B0A53BCF /* SDWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA93F0A2956593C8BAAFFDEB9F3B6563 /* SJUTAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B26E5CEBC2A64FC0CDE6D6FE03E1C8C /* SJUTAttributes.h */; settings = {ATTRIBUTES = (Project, ); }; }; BB2E84AA035E260677A8FC7712E3A42F /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E6FA99AA6238C268FAE2F9D4B28F709 /* NSBezierPath+RoundedCorners.m */; }; BB4F714A3B3BF7A26BB79F92E23E078A /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 413CD153C45B5F2B6EAB064B99615196 /* SDmetamacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB581D0F0BA6C5741B6E9ECFEF8B9D8F /* SJSQLiteObjectInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 88215546811F99CF0487EBF9FCC852AC /* SJSQLiteObjectInfo.m */; }; BC1E523BAA30BA7B8E2A7BE038FD8B2C /* SJReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A9526E77C7BBC9BC2EDA11979B28E6E /* SJReachability.h */; settings = {ATTRIBUTES = (Project, ); }; }; BC52F6703106B1E919D8F8AA73C29410 /* SJRotationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BDB09BDA9577BA3A7EB35B96939E9B /* SJRotationManager.m */; }; BD414CB43863571081D633FC9080F762 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = FF679E62EEBD0E84E2BC2F26B8E3DBF0 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; BDFC6900D7B2751F924DC99F79DBF8ED /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2DC782E8ABB50710EBA60CFB8355EF /* Reachability-dummy.m */; }; BF0768C8C496194F20A25AAA965C584E /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 035FBDE65EB48F9B0CE9D65DAEB84A36 /* UIImage+MemoryCacheCost.m */; }; BF1004F4E3F95D319553156CBA4764AC /* UIViewController+SJRotationPrivate_FixSafeArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 195E0215BB887FC8B355C16F15713E9C /* UIViewController+SJRotationPrivate_FixSafeArea.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF2F4A1A92B37C41AB47576F7A475159 /* SJBaseTableViewHeaderFooterView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA8C60A8CF9FB4487552B780370D70A3 /* SJBaseTableViewHeaderFooterView.h */; settings = {ATTRIBUTES = (Project, ); }; }; BF9A2F609004A6A60C8FD789567D375A /* SJLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 88B628040210A3DDA1EFE1B31CF65FBA /* SJLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; BFF8BFE0EFA5303AF9E5C14A4EECC361 /* SJFilmEditingLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = AD15334D9831AC40F766838C30D4EE93 /* SJFilmEditingLoader.m */; }; - C03C0D8155F6FE471E8C648ED6D1F259 /* SJAppearStateObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 8511FB22C2CB97606689B44DD1C9CBB4 /* SJAppearStateObserver.m */; }; - C06FA3AEFD941102D1FFAA1AF5E70EE9 /* NSObject+SJAsyncLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1CC8ABF01DFC7372A2AF0C728DB6F2 /* NSObject+SJAsyncLoad.m */; }; C0CB760C3357C17FD31361D381DDC2A8 /* SJVideoDefinitionSwitchingInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E5EB23420F58B1F20CE0B13CF472943 /* SJVideoDefinitionSwitchingInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; C1319E059FA80149E57013E60F7BE0B9 /* SJPlaybackObservation.h in Headers */ = {isa = PBXBuildFile; fileRef = 314099B03CCAF185628B5265E0EC3FD5 /* SJPlaybackObservation.h */; settings = {ATTRIBUTES = (Project, ); }; }; C17E3D135DC3023C01081EE93BCF02AC /* SJFilmEditingCommonViewLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D0680BC672A05E8ABFDBFBDC3E715C9 /* SJFilmEditingCommonViewLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; C30A769C0B46F253E0542CCD3D3CBDE9 /* SDImageHEICCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA310F7D662DAD375DA38FFD7433CAE /* SDImageHEICCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C3227145161241A9F5DA58486D9F7FFB /* SJImagePickerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A72A9A95BB1A65DC085F9D462349305 /* SJImagePickerController.h */; settings = {ATTRIBUTES = (Project, ); }; }; C38E0C88715298187FE04434699A5F1C /* SJPlaybackListControllerProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = D6A7EFB77FCE5A86E2F73D02AA3FDE0D /* SJPlaybackListControllerProtocol.m */; }; C3EE9A13988C1A942882A8D0123C9614 /* SJEdgeControlLayerLoadingViewDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F7017950DD4EE607D1ADF98DB5C7794 /* SJEdgeControlLayerLoadingViewDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; C52ABB3E362320CC37D13B015394BD68 /* SJPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4A988E1CE59E92C2EA151A401C6C60 /* SJPlayerView.m */; }; C5E894C47751A1002C8CE7FD8DD976BC /* SJPrompt.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A210AC49F4D982DFF493EE1BA68C2F7 /* SJPrompt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6A233FD8E2BE3F9C0140E2AEC2D108E /* NSDate+SJAdded.h in Headers */ = {isa = PBXBuildFile; fileRef = 272175E66842CB5DF4BA70E87E24C072 /* NSDate+SJAdded.h */; settings = {ATTRIBUTES = (Project, ); }; }; C74D2E856ADC8139CD00DBD184061B23 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A5AE6F05966DA2D7F9EAC24710E0FF1 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; C7828EE5ECA71A538280FE3CD2E0590C /* SJFilmEditingBackButton.h in Headers */ = {isa = PBXBuildFile; fileRef = D6DE5B625CC8D1981BDE783BC108FABE /* SJFilmEditingBackButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; C83424A87DFA7612F0C43B64BEC2841A /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BC5F8A9E260C0EF31130B59952D8F4 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C99513198129C90DB95F3470EA0CEB71 /* NSObject+SJAsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B6C4D0229809F5BDC9B2BCDCB82430B /* NSObject+SJAsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; C9A1038906A6D09B2883A6B9F562DC08 /* SJButtonProgressSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D21452A5A8CA2FF50EABF450807F77E /* SJButtonProgressSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; C9C54408F9C9A779A419A59C9CB28E26 /* SJDeviceVolumeAndBrightnessManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DBE8174F25A591C8E1FE4ADBA0D8BB71 /* SJDeviceVolumeAndBrightnessManager.m */; }; C9F969E4C2255AF10FC6D577F9FB5629 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 611B78C4F6605BB24675BB181BBD6AE2 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -435,78 +435,80 @@ CAFD569EBD0F2B80A10D87D675BA75FF /* SJEdgeControlLayerSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D110353F797113CEF4CDD74595AF532 /* SJEdgeControlLayerSettings.m */; }; CB340260933FA4B0D46F961831D6BA5D /* SJEdgeControlButtonItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C103B666630B7BF43760431F0E01FE8 /* SJEdgeControlButtonItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; CB39752CD37F110C2910E3E000498DD6 /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = DE6B903798BC519B50247434CD2C4033 /* UIColor+HexString.m */; }; - CC6C24077FD40F7734462F4FBF0930C5 /* UISearchBar+AsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = D3119C48F58EDD0A16DEFFFEBF857D35 /* UISearchBar+AsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC543C1AE787825D2691A839FDC89E42 /* SJTaskQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B19F8EBB0DCF195BD7D176257078E21 /* SJTaskQueue.m */; }; CCEF806CF8DF515BFFB0F5075678B7CB /* SJVideoPlayerURLAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F337DB0411CD9F9865790A43C143E5 /* SJVideoPlayerURLAsset.m */; }; CD934ABB4B5CA8D996CBD4C4874F3D4A /* SJFilmEditingInGIFRecordingsControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 85A10CE7412535EE4911F8C67FBB8B76 /* SJFilmEditingInGIFRecordingsControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; CD985823037E946277617E2EB8E47F77 /* MJRefreshFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C8CAD3F1B98E438EF78CF39F6C348AA /* MJRefreshFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; CDB525C60F8F9B2445055CC734814FAA /* SJCommonProgressSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 94F64C2087D0097127A89B4956340756 /* SJCommonProgressSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE04F395824952B5D3E0B631D7DC3B5D /* SJBaseCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 660AEE61125F99BCB5709688B5B7CA16 /* SJBaseCollectionReusableView.m */; }; - CE6777DD2AA5D00FDD011FAC60D09F56 /* UIImageView+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = A33335EE3BC974D86F780E05BEF6C0D9 /* UIImageView+AsyncLoadImage.m */; }; CEC8F6E8FF5CD6392EA0494E698A1CEA /* SJVideoPlayerFilmEditingGeneratedResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 3323B53A70683EC4C3E9A674B2F93E41 /* SJVideoPlayerFilmEditingGeneratedResult.m */; }; CEE46DE83B76B5BF9E89CCAFAC42206A /* SJFloatSmallViewControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 51E4E7C1D365FB7179320FBC0A8F68ED /* SJFloatSmallViewControlLayer.m */; }; + CF3C9BD8740B06EB167E3CEA82520970 /* SJBaseTableViewHeaderFooterView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E5F315DCA76F92583F1AB7DFA07A7D0 /* SJBaseTableViewHeaderFooterView.m */; }; CF5664EA87D346134CD7CC7A13BE8567 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = A6A778BDCE0C0F702B15629D78FC6ABB /* SDWebImageOptionsProcessor.m */; }; CF9905EF63DADE94AB4BCAD856ED6D6B /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 7796BDB5F33E9C3ABCFBB288B5765810 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; CFBD2D555E4E6C5EB8748CD05EE8C363 /* UIView+SJVideoPlayerSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = A03A698AF22C2F835ED3E1BFAC32812D /* UIView+SJVideoPlayerSetting.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CFF21225C2908B765AFF80550E37D59A /* SJSQLiteTableModelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C8AA5C79F911E138A900B72EDAAD7B92 /* SJSQLiteTableModelProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D02949EBF439D771273C98ADA5ABF238 /* SJUIKitAttributesDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 1504CDAB1B4B0A69372226A184DD8FB7 /* SJUIKitAttributesDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; D06F996F2D98E7AF342219627832EC92 /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EA4EB13EA2C9987E28CC84F61943530 /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D1BA5939A79D2A21DEB870A29782D832 /* SJUTRegexHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 830098D0BD734C84DE2E2FCF02FDEC4B /* SJUTRegexHandler.m */; }; + D15D66318BE528EF07AAF2ADC7D08F21 /* SJBaseCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF9D1C017AFFB67C4D2A9B71438CC57 /* SJBaseCollectionViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D21E48054DE30D0AD00FCE6EA65636FC /* SJStatusBarManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 03386C271EFF90C28D43E0B157F8F758 /* SJStatusBarManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; D261B2CCBEA2E532AA5CE9532E327471 /* SJAVMediaPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = B6D112C15ADBDBF6620FAB5CAFBFC06D /* SJAVMediaPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2EC1D93FB256BB4F32974D024E22593 /* SJUTRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BD4FC15FDB5D364579B54D2520CC83B /* SJUTRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D27F43EA8D0EE19BAE74F2E456149004 /* UIButton+AsyncLoadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 27344D4CA465EA4D2D55C84F7CED176A /* UIButton+AsyncLoadImage.m */; }; + D372A9EE9FD5F79E4FB336231A753A4B /* SJMakeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1994C280E1CBA737130EC6E2FC2F656C /* SJMakeView.m */; }; D645352DF3C81F27D9A6EF266374B4B4 /* UIView+SJVideoPlayerAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 92E0E51D1E1817329029826AC3D5129F /* UIView+SJVideoPlayerAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D77EDCC994533E04C867AEAAEE80682E /* SJBaseTableViewHeaderFooterView.h in Headers */ = {isa = PBXBuildFile; fileRef = 156A6B9C84A3D5F54B36EC30742B66B8 /* SJBaseTableViewHeaderFooterView.h */; settings = {ATTRIBUTES = (Project, ); }; }; D783A8A5A426DBF85162B92142651218 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E7DCF5ADEB2AC250E8CC46D73110CE0 /* MASConstraint.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; D84480550980926176FB9021C35154AD /* SJBaseVideoPlayerConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 86310600F92DE515005E504C0539E655 /* SJBaseVideoPlayerConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; D98F4DED253026244CA95F2C3D765093 /* SJAVMediaPresentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 28688E8878A8AF8C7CD4FE5D5169DC9C /* SJAVMediaPresentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; DA42E42C3FE47B42401C73797A11827E /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = A08CD1DAC0A450DE844849CDC436538F /* MJRefreshBackFooter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; DA73B8477B36ED24BE3F237B5EB2FC02 /* Pods-SJVideoPlayer_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A961442A951AD4743D626428CC377BF /* Pods-SJVideoPlayer_Example-dummy.m */; }; DB040F7E5E282E541137B4F3737ED965 /* SJPlayModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD1A58AA14109F68CA31F9396F576A3 /* SJPlayModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB96F89B00830FBAA272D60E92DE964B /* UILabel+AsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = 4843D03B155C9874795A2BEFC8330563 /* UILabel+AsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DB62F45E86D2AD789282029B8E0D3E56 /* SJObjectContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AE2DC39E81D29DEC5B115C4AC4D8CB2 /* SJObjectContainer.m */; }; DBDFAC627EB9ACDA29AF27211E5AD410 /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 188DB5847AB144895FB619BDF5C6BAAC /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; DBE1EEE180847705CC168E9D4031F555 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D3E7F39BDB0453F8F3A83B6289C1A63 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; DC3E6E816BFB5C033A46367EC7F8BCBE /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 26907EC8E4978813FCE2373BBE032985 /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; DCED64C96209EB9D39498CE5D9078369 /* SJMoreSettingControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 321722F1BC3413EE6F5982C66FCA187A /* SJMoreSettingControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; DDE2D5A5538B2992253CE4BE98673976 /* SJFullscreenPopGesture-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C8D0BCCD9683ABBED5A180DD7E154A45 /* SJFullscreenPopGesture-dummy.m */; }; DE95ABEBCB8382B5AD55D84E038185E1 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E09ED5BC1FF77C79648FB74C59A3BC /* UIView+WebCacheOperation.m */; }; - DEB4FE628B2BCA3C422BD5A0ADD26242 /* NSObject+SJAsyncLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C8D87DA5617DAD1209E2481FB4B627D /* NSObject+SJAsyncLoad.h */; settings = {ATTRIBUTES = (Project, ); }; }; DFEC3C0F6BF6B88220FCD174B8C3ECA8 /* SJFitOnScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BDC7A0103AB793AAC9FA304BF05CC118 /* SJFitOnScreenManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; E13D6B72889DB6883D0353C4F1656A26 /* SJEdgeControlLayerItemAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5150AB26E97F616A12FFAEA9E3FB3E76 /* SJEdgeControlLayerItemAdapter.m */; }; - E1AC45614318FA57A6C492841113E502 /* SJUTRegexHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F65324FA3EC730E0D5E08E929CE6150E /* SJUTRegexHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E316A064EB65A563CE8E59214CF759C6 /* SJSQLiteTableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 10E2D9C397BF702B25F36E3A2E5B8172 /* SJSQLiteTableInfo.m */; }; E432C154A89E46490262ED0BF57C59DF /* SJRouteRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 42A543F847AF90708410A65182159CBF /* SJRouteRequest.m */; }; E526656AAFC6991B2E47588E1C1EFD3C /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = F1D6F72161DA1DF713EB794D80430C46 /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Project, ); }; }; E52B6CE23A773B44623F3B758DEF56F7 /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = A17880586DD7ABA937A3A98A8058E279 /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E53B644868634C2BCA1C23AD72346810 /* SJAttributesRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = C43683102EDD18C6792B0059454D94AA /* SJAttributesRecorder.m */; }; E65C541AE3DEDB839F40083BF7BF6D1C /* SJVideoPlayerControlMaskView.h in Headers */ = {isa = PBXBuildFile; fileRef = E45DDACE657EA0BA2BA22C2A3B50E03F /* SJVideoPlayerControlMaskView.h */; settings = {ATTRIBUTES = (Project, ); }; }; E696C02E210A6EDBB9B34AF3A4BB3CE1 /* SJVideoPlayerAnimationHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = DD3D53E971427EBFBD0043E5E5263D2C /* SJVideoPlayerAnimationHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6CF46CA24ED2704C59BF0ABEC0AC121 /* SJAsyncLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = BED3C0209A0BF9036154A295ABF1127D /* SJAsyncLoader.m */; }; E76935CFF4AF327F8D9A7C1935F7D900 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 357FAA6E3BABC532D366204A40728B4A /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; E79C9EF90CD1292A219D0369AED31E9E /* SJLoadFailedControlLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = A7AE874E0429FD302C4A5958769212F5 /* SJLoadFailedControlLayer.m */; }; + E7E7DB1ED76F0D9EAF07D73A14A8D904 /* UIImageView+AsyncLoadImage.h in Headers */ = {isa = PBXBuildFile; fileRef = C4B8AA5C88F19482E2BA44F7BAEBFB42 /* UIImageView+AsyncLoadImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; E8994FE7872EC10C7F24453BF76CCEFB /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = A11CDB51CA0580F9F0C0EF8034E2AA26 /* SDAnimatedImageView+WebCache.m */; }; + E982765DD0F0323118EA67337FE0DA8D /* SJBaseCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BCDC5DAE7B495748D5AFBAC2EAC1F14 /* SJBaseCollectionReusableView.m */; }; EA8A8A4D10A407C434434D5BB4F185E7 /* SJPlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = FAFC7E24F88B34E93531B8F318B99294 /* SJPlayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; EB663E3E1EB4BB670DC29B77DB330135 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = F2470251F48294C1E9871052BE5C30A4 /* MASConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; EC7DF67D8535870470F4E55F98A7DAC7 /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 93345D5EBC42CD86C831F80BD4A87F5A /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.m */; }; - ED49B08976E3E33AB886DCAD40006389 /* SJSQLite3TableInfosCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 191B6964C14DD99319BC0202E92C7BDF /* SJSQLite3TableInfosCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED00809F38340D1C40D0DC9F133FA329 /* SJBaseTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = A583F52BC591F7AA29B162E98F4D0E30 /* SJBaseTableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; ED7CD85D97729CF7C1487C95749AB52C /* SJFilmEditingButtonContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC25E8C8492A823BD38A2D85DBCDE83 /* SJFilmEditingButtonContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; EDFA5B1CF51B7C3ECD6DE9C37E95C0E0 /* SJAVBasePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B4C20895812A923A56CD7738539866EB /* SJAVBasePlayer.m */; }; - EF5A687BB31CD40DD3C407D189C6D76F /* UIScrollView+SJRefreshAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = A768CB3AE4C2493F3000FEC62C3E2CCE /* UIScrollView+SJRefreshAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F14831422A5E0F157423F2A8B06EFE07 /* SJBaseTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 5895178C9FD66DB15CF414E107681297 /* SJBaseTableViewCell.m */; }; + EE587BACE48B1819D389C7FE6C2A1AB3 /* SJRunLoopTaskQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = B1C715E859474141505CA8F5A26B632F /* SJRunLoopTaskQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; F16DC11C203899B49CB03F841017405E /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 84BDDBB6D423B7006D09AAE250B0D39B /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; F1B75048874B8773E5568E6D3ACA12E4 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BA5ECE0E2F01BA1140377D1E72CEA92 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; F35FC396579C2B07556CB8B920949113 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = F69E705098BBF62F0415EB5F8B96FEF6 /* SDWebImageCacheKeyFilter.m */; }; F49CB2D5410553F11060685C8EEB92E4 /* SJFilmEditingGenerateResultControlLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = A7497642F7D329189F3353618038391B /* SJFilmEditingGenerateResultControlLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F5677C01E8B8206E09EB086411A26A3D /* SJUTRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = FCFEBA952A3C4C65733FC6B66480ADB2 /* SJUTRecorder.m */; }; + F4B3ACDE4F2B448EC0769A0A2625300F /* SJObjectContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE6D85B2A93A3D1D599AB12ED572BB1 /* SJObjectContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F5AE89F71679049D31A7DFE65623013C /* NSDate+SJAdded.m in Sources */ = {isa = PBXBuildFile; fileRef = 716D6389AE3F411BA4309292B2BA3932 /* NSDate+SJAdded.m */; }; F6903861A15492BB3BDEFE3497A03699 /* SJVideoPlayerFilmEditingConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = BE58DEF293D7AC1E86B0BAC005DDCEE5 /* SJVideoPlayerFilmEditingConfig.m */; }; - F83795ABA2DEFFB33BF2EB37FA7D99D5 /* NSDate+SJAdded.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AB031B62F0AD265C42B4ECC95D69DE2 /* NSDate+SJAdded.m */; }; - F867269D978E300536116270EF2692E7 /* SJAsyncLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 5995EFA4EF56B60FAF16949FC2F85543 /* SJAsyncLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F923AB725D01431715F37399696D37C6 /* SJUIKitAttributesDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B29BBC86C294FD85AAAE0649C455A7B /* SJUIKitAttributesDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F93F91313DA59F49E636CB2A0C78628F /* SJAttributeWorker.m in Sources */ = {isa = PBXBuildFile; fileRef = C77A40E97B14AB10D1D8B18C61625A66 /* SJAttributeWorker.m */; }; + F7FAD493042E5E7A5788809766E6F4E6 /* SJBaseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = AB61D598BEE1895A5CDF6ABE0CED0242 /* SJBaseViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F81BD5291F17C7E56EF1150F69EE54C6 /* SJSQLiteCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E9FFF70F1BD55E27F73AFF1E12317EA2 /* SJSQLiteCore.h */; settings = {ATTRIBUTES = (Project, ); }; }; F95DF3ABDC5BF05D1D42E763A9241B31 /* SJControlLayerAppearStateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 59263809FF4108BF0AE57412F4712F38 /* SJControlLayerAppearStateManager.m */; }; + F98DB5AAA613456D01E0FCAC5642E4EC /* SJTaskQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 5862F35686B2DCD1144717D297FB368F /* SJTaskQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; F9D39C3F2847975C094E990BAA2D6791 /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = C38F44E246ABF6D25B16D6D9AE74FD33 /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Project, ); }; }; FAA60942F8A7CA4CB163ED9D0E33E908 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E21D6E9E18D39D1027E1E91A552F43B3 /* UIImageView+WebCache.m */; }; FAB04F3F85D3440EFB6F9A1AE7971E79 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D2DDFF8FAFB755D3C2C0DE3529AFB76 /* SDImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; FB395AF2F6760373D7D7C1F4DB56FFCF /* SJFilmEditingGIFCountDownView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB4F4294081AED46D5652F3C6D610A9 /* SJFilmEditingGIFCountDownView.m */; }; FBC757A29DCE7F2F63EDE55C217AAEAC /* SJPopPromptControllerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 050AAEAAE1161082427AA81751124AFC /* SJPopPromptControllerProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; FC0C78990EA47207178D293DF2DE66A3 /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 799220436F0361EAA496A4A5E3273C04 /* SDDiskCache.m */; }; - FD55992A27258CECBCF3FC62543F4A01 /* NSAttributedString+SJMake.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F98584DD1D6DD5F9AC0FDDB1CDA98CA /* NSAttributedString+SJMake.m */; }; + FC9C86BAE49D5F8B041DDC502739F154 /* SJSQLiteTableModelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E6D3758829006C024E1DBD2512C4770 /* SJSQLiteTableModelProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; FE622F12BAEAEA94897FC68C6F145EA3 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1071652944F358538031CA4C8D85CC66 /* SDImageLoader.m */; }; + FE6DBFEC4CA159EE683C4167765C5B56 /* SJImagePickerController.h in Headers */ = {isa = PBXBuildFile; fileRef = A76481138F57AC29C868A4327FA3C264 /* SJImagePickerController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE9C4F7055F03C37BBE94CF41FF55607 /* SJSQLiteColumnInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 95046FC428B764529DD460CBD3E05026 /* SJSQLiteColumnInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; FECD1321580104C13B401134A8DDC4AE /* SJProgressSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FCBFEC346CE6C65161D26C066D955D /* SJProgressSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; FEF3F874A7C2C5A9AE1DE8FFB441BF75 /* SJNetworkLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9324CF26550324EE0A8FE1DDC00FB886 /* SJNetworkLoadingView.m */; }; FF358CA7E36624D6C86B3E99EEA9716C /* SJFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C4726E0051CF843B28D05BF04A1A68 /* SJFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -636,24 +638,25 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00655F957C33C6C3E40B51C6341FC321 /* SJUIKitTextMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUIKitTextMaker.m; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitTextMaker.m; sourceTree = ""; }; + 0005D25C7DFEC3C6E9FABF8299CAFBF3 /* SJSQLite3TableInfosCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLite3TableInfosCache.h; path = SJUIKit/SQLite3/Core/SJSQLite3TableInfosCache.h; sourceTree = ""; }; 00726FC76596ADCBC9524072E3C27830 /* SJFloatSmallViewControlLayerResourceLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFloatSmallViewControlLayerResourceLoader.m; path = SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader/SJFloatSmallViewControlLayerResourceLoader.m; sourceTree = ""; }; 009EE26731FF31175BA3AC8D0F27091F /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; + 00E4D0DBF3D9D75D2C027518AB685357 /* SJSQLiteErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteErrors.h; path = SJUIKit/SQLite3/Core/SJSQLiteErrors.h; sourceTree = ""; }; 00E8A124ABB2B8CEC2EA514E14997B91 /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = SDWebImage/Core/SDWebImageCacheSerializer.h; sourceTree = ""; }; 018191C43274DBAA43A229C912EE7C5E /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/Core/NSButton+WebCache.m"; sourceTree = ""; }; - 020A680BF800BCB00927093DFD341AEA /* SJSQLiteObjectInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteObjectInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteObjectInfo.m; sourceTree = ""; }; 02311AE8C731F3673B1B449C34C87893 /* SJVideoPlayer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJVideoPlayer.xcconfig; sourceTree = ""; }; 026057131B809B1E3B2EA7AD405773A4 /* SJFilmEditingBackButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingBackButton.m; sourceTree = ""; }; 02DB202010B8DD222620180AC52B1AA4 /* SDImageLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = SDWebImage/Core/SDImageLoader.h; sourceTree = ""; }; + 03386C271EFF90C28D43E0B157F8F758 /* SJStatusBarManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJStatusBarManager.h; path = SJUIKit/Base/Core/SJStatusBarManager.h; sourceTree = ""; }; 035FBDE65EB48F9B0CE9D65DAEB84A36 /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.m"; sourceTree = ""; }; 038F445CD5AC427AE2FD9344FCD72CFA /* SJAVMediaPresentController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVMediaPresentController.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPresentController.h; sourceTree = ""; }; 044AB00ABFBB45E6164164FA1528D865 /* SJSwitchVideoDefinitionControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSwitchVideoDefinitionControlLayer.h; path = SJVideoPlayer/SJSwitchVideoDefinitionControlLayer/SJSwitchVideoDefinitionControlLayer.h; sourceTree = ""; }; 04CF7CF88A68AFB4F775C0BBDC50AF62 /* SJEdgeControlLayerAdapters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJEdgeControlLayerAdapters.m; path = SJVideoPlayer/Adapters/SJEdgeControlLayerAdapters.m; sourceTree = ""; }; - 04F7CE549A86FE47D68F9C1EEB69E15D /* SJObjectContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJObjectContainer.m; path = SJUIKit/Other/SJObjectContainer.m; sourceTree = ""; }; 050AAEAAE1161082427AA81751124AFC /* SJPopPromptControllerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPopPromptControllerProtocol.h; path = SJBaseVideoPlayer/Header/SJPopPromptControllerProtocol.h; sourceTree = ""; }; - 05C5808482E6B4BB3081543F803369B0 /* SJSQLite3TableInfosCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLite3TableInfosCache.m; path = SJUIKit/SQLite3/Core/SJSQLite3TableInfosCache.m; sourceTree = ""; }; + 06A6B29986270BC6B2936CF07A37E3E3 /* SJAppearStateObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAppearStateObserver.h; path = SJUIKit/Base/Core/SJAppearStateObserver.h; sourceTree = ""; }; 06B25D08CAC4BC880267278B7DC16C64 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/Core/SDWebImageCompat.m; sourceTree = ""; }; 06BFF8CD877A6CBEEA0BC2DBAA922C2F /* LICENSE.md */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE.md; sourceTree = ""; }; + 06CB8BF1F34FD86F4293BE7B43FFDDD9 /* SJUIKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJUIKit.xcconfig; sourceTree = ""; }; 07A3970A304E94351C788BF62AD2D833 /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/Core/UIImage+GIF.h"; sourceTree = ""; }; 081DF702EAA24193CBB6BFCE2A98BB53 /* SJFitOnScreenManagerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFitOnScreenManagerDefines.h; path = SJBaseVideoPlayer/Header/SJFitOnScreenManagerDefines.h; sourceTree = ""; }; 0828F7C5088906249DFE5DB807D332F0 /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalHeader.h; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.h; sourceTree = ""; }; @@ -664,50 +667,48 @@ 098D62E4FC778EB9C9CDF39A883D1DAB /* SJFilmEditingSaveResultToAlbumHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingSaveResultToAlbumHandler.m; sourceTree = ""; }; 09994F1FF63B195E45FB67CF60367880 /* SJAVMediaPlaybackController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVMediaPlaybackController.h; path = SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.h; sourceTree = ""; }; 09995804CAF3665C10073FCFB6EF9598 /* SJFloatSmallViewControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFloatSmallViewControlLayer.h; path = SJVideoPlayer/SJFloatSmallViewControlLayer/SJFloatSmallViewControlLayer.h; sourceTree = ""; }; - 09D82180BE7426A0F6F085FEBF441DE9 /* SJSQLiteErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteErrors.h; path = SJUIKit/SQLite3/Core/SJSQLiteErrors.h; sourceTree = ""; }; 09F32CDE884A08602F8D4A5718856401 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; 09FAD31258382D3E1171F30A6A61D033 /* Pods-SJVideoPlayer_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SJVideoPlayer_Example.release.xcconfig"; sourceTree = ""; }; 0AB64D10CDF809E22645BCCE3410FA94 /* SJEdgeControlLayerLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeControlLayerLoader.h; path = SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerLoader.h; sourceTree = ""; }; - 0B64745036F98784ABB8D782F757814C /* SJSQLite3+SJSQLite3Extended.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJSQLite3+SJSQLite3Extended.h"; path = "SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h"; sourceTree = ""; }; + 0AC10FB3DB3A50C89E932D6A08A9258A /* SJSQLiteObjectInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteObjectInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteObjectInfo.h; sourceTree = ""; }; + 0B19F8EBB0DCF195BD7D176257078E21 /* SJTaskQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJTaskQueue.m; path = SJUIKit/Queues/SJTaskQueue.m; sourceTree = ""; }; 0C2A0F0E378120700CA86A584FE76EB8 /* SJVideoPlayerAnimationHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerAnimationHeader.m; path = SJVideoPlayer/Common/SJVideoPlayerAnimationHeader.m; sourceTree = ""; }; - 0C540D36AE3BBC3B0C49576D788DF868 /* SJSQLite3.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLite3.m; path = SJUIKit/SQLite3/SJSQLite3.m; sourceTree = ""; }; - 0D17500D54C465BFA9CB9DEB77EC3C16 /* SJUIMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUIMaker.m; path = SJUIKit/UIMaker/SJUIMaker.m; sourceTree = ""; }; 0D376CB5DFD19659A80E32B2FEB3CC3A /* SJPlaybackListController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlaybackListController.m; path = SJPlaybackListController/SJPlaybackListController.m; sourceTree = ""; }; 0E57712C0A02319B62EE6990ABE09C92 /* SJVideoPlayerFilmEditingParameters.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJVideoPlayerFilmEditingParameters.m; sourceTree = ""; }; 0E7DCF5ADEB2AC250E8CC46D73110CE0 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; 0EE1DF854BA1C2804BD391359587BE4D /* SJPlaybackObservation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlaybackObservation.m; path = SJBaseVideoPlayer/Tool/SJPlaybackObservation.m; sourceTree = ""; }; 1071652944F358538031CA4C8D85CC66 /* SDImageLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = SDWebImage/Core/SDImageLoader.m; sourceTree = ""; }; 10755DDE1A9B9818AFD5954ECEDEBC8D /* SJVideoDefinitionSwitchingInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoDefinitionSwitchingInfo.m; path = SJBaseVideoPlayer/Tool/SJVideoDefinitionSwitchingInfo.m; sourceTree = ""; }; + 10E2D9C397BF702B25F36E3A2E5B8172 /* SJSQLiteTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteTableInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m; sourceTree = ""; }; 1244C1D1A62A851AC7D1A0D5A21B3474 /* SJFilmEditingStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingStatus.h; sourceTree = ""; }; 12E106F09085D149F93A9CBB44478597 /* SJFloatSmallViewControlLayerResourceLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFloatSmallViewControlLayerResourceLoader.h; path = SJVideoPlayer/SJFloatSmallViewControlLayer/ResourceLoader/SJFloatSmallViewControlLayerResourceLoader.h; sourceTree = ""; }; 130C1877AC7C119DBEBFCFD3685950D1 /* SJVideoPlayerPlayStatusDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerPlayStatusDefines.h; path = SJBaseVideoPlayer/Header/SJVideoPlayerPlayStatusDefines.h; sourceTree = ""; }; 13121256240E6877207E97BE1D0E4E24 /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = ""; }; + 13197C9A48BD7F649D3186FE3F094B2F /* SJUIKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJUIKit-dummy.m"; sourceTree = ""; }; 1362A43C1610AFF2D406C715B3C581A5 /* NSImage+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "SDWebImage/Core/NSImage+Compatibility.m"; sourceTree = ""; }; 149A9D26312B98A934617E9941645E94 /* SJAVMediaPlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVMediaPlayer.m; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPlayer.m; sourceTree = ""; }; - 156A6B9C84A3D5F54B36EC30742B66B8 /* SJBaseTableViewHeaderFooterView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseTableViewHeaderFooterView.h; path = SJUIKit/Base/SJBaseTableViewHeaderFooterView.h; sourceTree = ""; }; + 1504CDAB1B4B0A69372226A184DD8FB7 /* SJUIKitAttributesDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKitAttributesDefines.h; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitAttributesDefines.h; sourceTree = ""; }; 15CB7E9050550E088B314860F4E4DD9E /* SJEdgeFastForwardViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJEdgeFastForwardViewController.m; path = SJBaseVideoPlayer/Tool/SJEdgeFastForwardViewController.m; sourceTree = ""; }; 16B7E505A690AC746BF195522F1590E4 /* SJRouter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRouter.h; path = SJRouter/SJRouter.h; sourceTree = ""; }; - 18838AEFD621717E52F2306B8E7A4674 /* NSObject+SJObserverHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+SJObserverHelper.m"; path = "SJUIKit/ObserverHelper/NSObject+SJObserverHelper.m"; sourceTree = ""; }; 188DB5847AB144895FB619BDF5C6BAAC /* SDInternalMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDInternalMacros.h; path = SDWebImage/Private/SDInternalMacros.h; sourceTree = ""; }; - 189FB005C43CC693B758021189DAE19A /* SJSQLite3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLite3.h; path = SJUIKit/SQLite3/SJSQLite3.h; sourceTree = ""; }; - 191B6964C14DD99319BC0202E92C7BDF /* SJSQLite3TableInfosCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLite3TableInfosCache.h; path = SJUIKit/SQLite3/Core/SJSQLite3TableInfosCache.h; sourceTree = ""; }; 195E0215BB887FC8B355C16F15713E9C /* UIViewController+SJRotationPrivate_FixSafeArea.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+SJRotationPrivate_FixSafeArea.h"; path = "SJBaseVideoPlayer/UIViewController+SJRotationPrivate_FixSafeArea.h"; sourceTree = ""; }; 196451223033C5E50CC11AD151F106D6 /* SJLoadFailedControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJLoadFailedControlLayer.h; path = SJVideoPlayer/SJLoadFailedControlLayer/SJLoadFailedControlLayer.h; sourceTree = ""; }; + 1994C280E1CBA737130EC6E2FC2F656C /* SJMakeView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJMakeView.m; path = SJUIKit/UIMaker/Core/SJMakeView.m; sourceTree = ""; }; 19ADAEFE151EB74CFB60140CD6B569C8 /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/Core/NSData+ImageContentType.m"; sourceTree = ""; }; 1A5D541807355C7D7FEA23FB964ED4D5 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateHeader.h; path = MJRefresh/Custom/Header/MJRefreshStateHeader.h; sourceTree = ""; }; + 1A90D7EF01C8F943F30AB90050AE9B07 /* SJUIKitTextMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKitTextMaker.h; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitTextMaker.h; sourceTree = ""; }; 1B330D491A5C832433B1817AC33E644C /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/Core/UIView+WebCacheOperation.h"; sourceTree = ""; }; 1CAB060AC111261A41F14B018961F606 /* SJTimerControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJTimerControl.h; path = SJBaseVideoPlayer/Tool/SJTimerControl.h; sourceTree = ""; }; 1D3BDD128D68953306FF4216179F8980 /* SJControlLayerSwitcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJControlLayerSwitcher.h; path = SJVideoPlayer/Switcher/SJControlLayerSwitcher.h; sourceTree = ""; }; - 1E59A15B0BBB55621668730FDF99C3BE /* SJRunLoopTaskQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRunLoopTaskQueue.h; path = SJUIKit/Queues/SJRunLoopTaskQueue.h; sourceTree = ""; }; + 1E5F315DCA76F92583F1AB7DFA07A7D0 /* SJBaseTableViewHeaderFooterView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseTableViewHeaderFooterView.m; path = SJUIKit/Base/SJBaseTableViewHeaderFooterView.m; sourceTree = ""; }; 1E63DA78E81D607D0C7327D12647EAE4 /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoStateFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h; sourceTree = ""; }; 1F1D85D2F687F26A5D1D47F6AA39E559 /* SJPlayerAutoplayConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlayerAutoplayConfig.h; path = SJBaseVideoPlayer/Model/SJPlayerAutoplayConfig.h; sourceTree = ""; }; - 1F98584DD1D6DD5F9AC0FDDB1CDA98CA /* NSAttributedString+SJMake.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+SJMake.m"; path = "SJUIKit/AttributesFactory/NSAttributedString+SJMake.m"; sourceTree = ""; }; 1FFED36A657123030ABB700256D73F15 /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMasonry.a; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 20120183BAFA5D06DED5938E5FDC010A /* SJBaseViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseViewController.m; path = SJUIKit/Base/SJBaseViewController.m; sourceTree = ""; }; 20361DAA79D190C6846D4A7DBE7170FE /* SJNotReachableControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJNotReachableControlLayer.m; path = SJVideoPlayer/SJNotReachableControlLayer/SJNotReachableControlLayer.m; sourceTree = ""; }; 20E85187D850E179BE4B28D2BA80BA60 /* SJFilmEditingLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFilmEditingLoader.h; path = SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader/SJFilmEditingLoader.h; sourceTree = ""; }; 210C2097B495CAAC4A654136B795EAFF /* SDImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = SDWebImage/Core/SDImageIOCoder.m; sourceTree = ""; }; 212589237B054570B2E5685B0A08156F /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = SDWebImage/Private/SDWeakProxy.h; sourceTree = ""; }; - 215DEC7CA89661913B7636DF3DF0CFC3 /* SJUTAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTAttributes.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTAttributes.m; sourceTree = ""; }; 217577DB5C73947308EEB979234AB0D2 /* SJRouter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJRouter.m; path = SJRouter/SJRouter.m; sourceTree = ""; }; 21B36C58B63F486BEB91CAFE492C84F8 /* libSJUIKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJUIKit.a; path = libSJUIKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; 234823C41486AB4B0D2656ABF56C81F6 /* SJControlLayerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJControlLayerDefines.h; sourceTree = ""; }; @@ -715,27 +716,25 @@ 23F8155870F5B0EDDB267EC05995ABCB /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; }; 23FB3A93D30E7FA5F7F91491B63E8BBF /* SJNotReachableControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJNotReachableControlLayer.h; path = SJVideoPlayer/SJNotReachableControlLayer/SJNotReachableControlLayer.h; sourceTree = ""; }; 24242C6D7B467497F0C6FDA27745DDE1 /* MJRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJRefresh-dummy.m"; sourceTree = ""; }; - 243525525EDCCF15938C30F5538999C2 /* UIButton+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UIButton+AsyncLoadImage.m"; sourceTree = ""; }; 24D4922E305AFE79D551EEEC13FC7EB7 /* SJRouter.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJRouter.xcconfig; sourceTree = ""; }; 2622C4CCBC3A73A53B3B5D7E589CBFBC /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 266219E3ED3DD8235848096349FF5C45 /* SJVideoPlayerURLAsset+SJControlAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJVideoPlayerURLAsset+SJControlAdd.m"; path = "SJVideoPlayer/Common/SJVideoPlayerURLAsset+SJControlAdd.m"; sourceTree = ""; }; 267498AB210CBD5F4C3624E6A9B2D665 /* SJIsAppeared.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJIsAppeared.h; path = SJBaseVideoPlayer/Tool/SJIsAppeared.h; sourceTree = ""; }; 26907EC8E4978813FCE2373BBE032985 /* SDAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = SDWebImage/Core/SDAnimatedImage.h; sourceTree = ""; }; - 272175E66842CB5DF4BA70E87E24C072 /* NSDate+SJAdded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+SJAdded.h"; path = "SJUIKit/Date/NSDate+SJAdded.h"; sourceTree = ""; }; + 27344D4CA465EA4D2D55C84F7CED176A /* UIButton+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UIButton+AsyncLoadImage.m"; sourceTree = ""; }; 27607630E82A86F9C4B79F53E9A38804 /* SJEdgeControlButtonItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJEdgeControlButtonItem.m; sourceTree = ""; }; 277680B3DB7285C4428E54CA33B26B37 /* AVAsset+SJAVMediaExport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AVAsset+SJAVMediaExport.m"; path = "SJBaseVideoPlayer/AVPlayer/Core/AVAsset+SJAVMediaExport.m"; sourceTree = ""; }; 27AB20F1C9EE287876F8B2836E7D4E9D /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoStateFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m; sourceTree = ""; }; 284AD2AFDDD2E61B9ACF4BA698BCD4ED /* SDImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = SDWebImage/Core/SDImageCoder.m; sourceTree = ""; }; 28688E8878A8AF8C7CD4FE5D5169DC9C /* SJAVMediaPresentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVMediaPresentView.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPresentView.h; sourceTree = ""; }; 28A182BB9CE49A04D8923300DBF44088 /* UIViewController+SJRotationPrivate_FixSafeArea.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+SJRotationPrivate_FixSafeArea.m"; path = "SJBaseVideoPlayer/UIViewController+SJRotationPrivate_FixSafeArea.m"; sourceTree = ""; }; - 2954E44531B42042B90421A7AE4700A9 /* SJSQLiteTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteTableInfo.h; sourceTree = ""; }; 299EAB68C588DB6932B417D05FA2C86E /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = ""; }; 2A0EBC3F0F46F4E32027ADB2148E2F50 /* MJRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.xcconfig; sourceTree = ""; }; 2A32D57A4101B46D15582B84DC3FF310 /* UIView+SJAnimationAdded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SJAnimationAdded.m"; path = "SJVideoPlayer/Common/UIView+SJAnimationAdded.m"; sourceTree = ""; }; + 2AAD5D00BD80733E50034B77B9FAB1E2 /* SJSQLite3+FoundationExtended.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJSQLite3+FoundationExtended.h"; path = "SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h"; sourceTree = ""; }; 2ABD641F061972134976AAAA9E840503 /* SJVideoPlayerPresentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerPresentView.h; path = SJBaseVideoPlayer/Tool/SJVideoPlayerPresentView.h; sourceTree = ""; }; 2B6E65FEE281D2492DEB819FC285E296 /* SJVideoPlayerURLAsset+SJExtendedDefinition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJVideoPlayerURLAsset+SJExtendedDefinition.m"; path = "SJVideoPlayer/SJSwitchVideoDefinitionControlLayer/SJVideoPlayerURLAsset+SJExtendedDefinition.m"; sourceTree = ""; }; 2B9933E26C58C2DE7BB6CC4F4BF28953 /* SJRouteHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRouteHandler.h; path = SJRouter/Core/SJRouteHandler.h; sourceTree = ""; }; - 2C8D87DA5617DAD1209E2481FB4B627D /* NSObject+SJAsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+SJAsyncLoad.h"; path = "SJUIKit/AsyncLoad/NSObject+SJAsyncLoad.h"; sourceTree = ""; }; 2CA6E1D669608EE984DF1331C595BA29 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = SDWebImage/Core/SDImageAPNGCoder.h; sourceTree = ""; }; 2CE2C7910C6D6B33F39BB43B335BC27E /* SJRouter-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJRouter-dummy.m"; sourceTree = ""; }; 2D110353F797113CEF4CDD74595AF532 /* SJEdgeControlLayerSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJEdgeControlLayerSettings.m; path = SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.m; sourceTree = ""; }; @@ -745,8 +744,10 @@ 2D96F52296A15A7927848E55397265E1 /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAsyncBlockOperation.m; path = SDWebImage/Private/SDAsyncBlockOperation.m; sourceTree = ""; }; 2DF3D007602F86310466390A05AB121A /* SJFilmEditingVideoCountDownView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingVideoCountDownView.m; sourceTree = ""; }; 2E6FA99AA6238C268FAE2F9D4B28F709 /* NSBezierPath+RoundedCorners.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBezierPath+RoundedCorners.m"; path = "SDWebImage/Private/NSBezierPath+RoundedCorners.m"; sourceTree = ""; }; + 2E828F07FD34A96CE5074794DEFBA268 /* UIViewController+SJModalAlert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+SJModalAlert.m"; path = "SJUIKit/Other/UIViewController+SJModalAlert.m"; sourceTree = ""; }; 2ED0AB09630FEAF117839B3FB20BA5ED /* SJVideoPlayerURLAsset.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerURLAsset.h; path = SJBaseVideoPlayer/Model/SJVideoPlayerURLAsset.h; sourceTree = ""; }; 2F0AD1997FD2588BF0FD99C7FE450254 /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackNormalFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h; sourceTree = ""; }; + 2F0E98CE734C0A577DE7D063FFA043BC /* UILabel+AsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UILabel+AsyncLoad.h"; path = "SJUIKit/AsyncLoad/UILabel+AsyncLoad.h"; sourceTree = ""; }; 30900AFFE53B8204989D9090BBBBFC02 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoFooter.m; path = MJRefresh/Base/MJRefreshAutoFooter.m; sourceTree = ""; }; 314099B03CCAF185628B5265E0EC3FD5 /* SJPlaybackObservation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlaybackObservation.h; path = SJBaseVideoPlayer/Tool/SJPlaybackObservation.h; sourceTree = ""; }; 315DC1C8399BE72E873ACAB3AEE49390 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; @@ -754,17 +755,13 @@ 3223378316A11CD8D2D7EF9F918BF765 /* SJPlaybackListController-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJPlaybackListController-dummy.m"; sourceTree = ""; }; 329365FBFB7E6E3C527197884240874A /* MJRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-prefix.pch"; sourceTree = ""; }; 32CAB86600F68C4AC9BD2B0A1C52C617 /* SJFilmEditingControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFilmEditingControlLayer.h; path = SJVideoPlayer/SJFilmEditingControlLayer/SJFilmEditingControlLayer.h; sourceTree = ""; }; - 331B38F912964B2C6F5ECE3058A54622 /* SJTaskQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJTaskQueue.m; path = SJUIKit/Queues/SJTaskQueue.m; sourceTree = ""; }; 3323B53A70683EC4C3E9A674B2F93E41 /* SJVideoPlayerFilmEditingGeneratedResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJVideoPlayerFilmEditingGeneratedResult.m; sourceTree = ""; }; - 334072250E5D30CA9FC79E19CE354377 /* SJUTAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTAttributes.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTAttributes.h; sourceTree = ""; }; - 34839F3058C37E39953C3CF31DB4760F /* SJCornerMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJCornerMask.h; path = SJUIKit/CornerMask/SJCornerMask.h; sourceTree = ""; }; 34B16333BB5E2297B779A77FB4B78ACE /* SJVideoPlayerFilmEditingGeneratedResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJVideoPlayerFilmEditingGeneratedResult.h; sourceTree = ""; }; 34E867979FD2B35E47F60C34A4B9F913 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.h"; sourceTree = ""; }; 35197FFDDE93B088FB8F46C5313FDC4F /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/Core/SDWebImageCompat.h; sourceTree = ""; }; 3535C56C7941B4A74BE2E439BB56E043 /* SJAVMediaPlayerLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVMediaPlayerLoader.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPlayerLoader.h; sourceTree = ""; }; - 3545ED8B3539B0BACE787F040F1F218C /* SJSQLiteCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteCore.h; path = SJUIKit/SQLite3/Core/SJSQLiteCore.h; sourceTree = ""; }; 357FAA6E3BABC532D366204A40728B4A /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; - 38A5BCFF7E0163080A63F07DB4206A2F /* UIScrollView+SJRefreshAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+SJRefreshAdd.m"; path = "SJUIKit/Refresh/UIScrollView+SJRefreshAdd.m"; sourceTree = ""; }; + 35968F5FB971E4E0F7F397197C7840FB /* SJAsyncLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAsyncLoader.h; path = SJUIKit/AsyncLoad/SJAsyncLoader.h; sourceTree = ""; }; 38FE5313B3ADE5DAA6BEEBB2F903958B /* MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefresh.h; path = MJRefresh/MJRefresh.h; sourceTree = ""; }; 3907BBE1B57614AD003F8CD7B7218638 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.m; sourceTree = ""; }; 3909DD81C8B2B2ABEA6E90C1FF926A52 /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAsyncBlockOperation.h; path = SDWebImage/Private/SDAsyncBlockOperation.h; sourceTree = ""; }; @@ -773,9 +770,9 @@ 3A1CCF227407443063E9411A5369AFF0 /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = SDWebImage/Core/SDDiskCache.h; sourceTree = ""; }; 3A5AE6F05966DA2D7F9EAC24710E0FF1 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; 3AEAB6CB85A31C15C790E9AAA0E2128A /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoGifFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h; sourceTree = ""; }; - 3B29BBC86C294FD85AAAE0649C455A7B /* SJUIKitAttributesDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKitAttributesDefines.h; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitAttributesDefines.h; sourceTree = ""; }; 3B65663792CDCF524FC40478E03C6AF6 /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = SDWebImage/Core/SDImageIOAnimatedCoder.h; sourceTree = ""; }; 3BA5ECE0E2F01BA1140377D1E72CEA92 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 3BAE5AC69BC08E62FCD1336DFD08D6F9 /* SJCornerMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJCornerMask.m; path = SJUIKit/CornerMask/SJCornerMask.m; sourceTree = ""; }; 3C0F011A572BAF3D881880433C0C3406 /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; 3C103B666630B7BF43760431F0E01FE8 /* SJEdgeControlButtonItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJEdgeControlButtonItem.h; sourceTree = ""; }; 3C850110A7C7FDFCF9606DFB76D86241 /* SJButtonProgressSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJButtonProgressSlider.m; path = SJVideoPlayer/SJProgressSlider/SJButtonProgressSlider.m; sourceTree = ""; }; @@ -784,137 +781,130 @@ 3E72BD766CCA627F0BF8DDE2C74D1D9D /* SJVideoPlayerURLAsset+SJExtendedDefinition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJVideoPlayerURLAsset+SJExtendedDefinition.h"; path = "SJVideoPlayer/SJSwitchVideoDefinitionControlLayer/SJVideoPlayerURLAsset+SJExtendedDefinition.h"; sourceTree = ""; }; 3E99CA366659D77945A5708B4C82D701 /* SJDeviceOutputPromptView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJDeviceOutputPromptView.m; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core/SJDeviceOutputPromptView.m; sourceTree = ""; }; 3F1259CA016F100B960FB97CDF0C4635 /* SJFilmEditingButtonContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingButtonContainerView.m; sourceTree = ""; }; - 3F75A7A8AAE6DE47E21BF6B56C0E2365 /* SJSQLiteColumnInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteColumnInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteColumnInfo.h; sourceTree = ""; }; 3FB4F4294081AED46D5652F3C6D610A9 /* SJFilmEditingGIFCountDownView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingGIFCountDownView.m; sourceTree = ""; }; 400FF55D0451E7A8F33A3D0D3E11C1B9 /* libReachability.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libReachability.a; path = libReachability.a; sourceTree = BUILT_PRODUCTS_DIR; }; 405405E00A031E7347BA596E72CEBEAC /* SJVideoPlayerFilmEditingConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJVideoPlayerFilmEditingConfig.h; sourceTree = ""; }; - 40AB01D6F1F0371163E77BB29A6DEF18 /* SJBaseProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseProtocols.h; path = SJUIKit/Base/Core/SJBaseProtocols.h; sourceTree = ""; }; + 40CD3F4DB91ED36DC749B8AEED8AAAFA /* SJUTAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTAttributes.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTAttributes.m; sourceTree = ""; }; 413CD153C45B5F2B6EAB064B99615196 /* SDmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDmetamacros.h; path = SDWebImage/Private/SDmetamacros.h; sourceTree = ""; }; 418B53BA49E5684916E299E2F25130E6 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "SDWebImage/Core/UIImage+Transform.h"; sourceTree = ""; }; - 41C1CA26457B5BE489E3F6F60A1C8CE5 /* SJSQLiteCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteCore.m; path = SJUIKit/SQLite3/Core/SJSQLiteCore.m; sourceTree = ""; }; - 41DCAB62C3A26B3A32F9A159FF0BDBAC /* UIViewController+SJModalAlert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+SJModalAlert.h"; path = "SJUIKit/Other/UIViewController+SJModalAlert.h"; sourceTree = ""; }; 42A543F847AF90708410A65182159CBF /* SJRouteRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJRouteRequest.m; path = SJRouter/Core/SJRouteRequest.m; sourceTree = ""; }; 42C691A31AE6347073E462FCE0E92534 /* SJEdgeControlLayerAdapters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeControlLayerAdapters.h; path = SJVideoPlayer/Adapters/SJEdgeControlLayerAdapters.h; sourceTree = ""; }; 431EFB77BB1C030D2E3356DF7C64C64C /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; + 439A30CEBC0A1E60C3CC90B9C2474AE3 /* SJStatusBarManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJStatusBarManager.m; path = SJUIKit/Base/Core/SJStatusBarManager.m; sourceTree = ""; }; 43ED28865D5E8EB81FB1151FB90F19B0 /* NSBundle+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+MJRefresh.h"; path = "MJRefresh/NSBundle+MJRefresh.h"; sourceTree = ""; }; 44BDB09BDA9577BA3A7EB35B96939E9B /* SJRotationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJRotationManager.m; path = SJBaseVideoPlayer/Tool/SJRotationManager.m; sourceTree = ""; }; 44DB2371A8D348CA965989EDFA2D3D07 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = ""; }; 4536B16BFE6C5E6218CA3FC60AA94328 /* SJAVMediaPlayerLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVMediaPlayerLoader.m; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPlayerLoader.m; sourceTree = ""; }; 46480C54620D8C098028C529B8F1DEC8 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = ""; }; 46A58AF62DEB0BDFCC3DC34C4ABB0826 /* SDImageHEICCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = SDWebImage/Core/SDImageHEICCoder.m; sourceTree = ""; }; - 4843D03B155C9874795A2BEFC8330563 /* UILabel+AsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UILabel+AsyncLoad.h"; path = "SJUIKit/AsyncLoad/UILabel+AsyncLoad.h"; sourceTree = ""; }; 493E70EAB71E71CF3EAD1EB09A7ACAE3 /* SDImageTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = SDWebImage/Core/SDImageTransformer.m; sourceTree = ""; }; 49F5EA18E1E5539D2E1C2BADC0322424 /* NSTimer+SJAssetAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTimer+SJAssetAdd.h"; path = "SJBaseVideoPlayer/Tool/NSTimer+SJAssetAdd.h"; sourceTree = ""; }; - 4AB031B62F0AD265C42B4ECC95D69DE2 /* NSDate+SJAdded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+SJAdded.m"; path = "SJUIKit/Date/NSDate+SJAdded.m"; sourceTree = ""; }; 4B4A988E1CE59E92C2EA151A401C6C60 /* SJPlayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlayerView.m; path = SJBaseVideoPlayer/Tool/SJPlayerView.m; sourceTree = ""; }; 4B86F045E4EB6ECB997FD578DFAA7540 /* SJFilmEditingResultShareItemsContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingResultShareItemsContainerView.h; sourceTree = ""; }; 4BC25E8C8492A823BD38A2D85DBCDE83 /* SJFilmEditingButtonContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingButtonContainerView.h; sourceTree = ""; }; - 4C581DAF1D94CBEEBB87E736BD93E749 /* SJAttributesFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributesFactory.h; path = SJUIKit/AttributesFactory/SJAttributesFactory.h; sourceTree = ""; }; + 4C39A6E1736B9F8C252F8C5BF14B083D /* SJSQLite3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLite3.h; path = SJUIKit/SQLite3/SJSQLite3.h; sourceTree = ""; }; 4C78C12B413A5A0F66A00F8371029E3C /* Pods-SJVideoPlayer_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SJVideoPlayer_Example-resources.sh"; sourceTree = ""; }; 4C8F7071889A6A6E721239437CB55533 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "SDWebImage/Core/UIImage+ForceDecode.m"; sourceTree = ""; }; 4D04C93BA45879C468536964393928A8 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; 4D0680BC672A05E8ABFDBFBDC3E715C9 /* SJFilmEditingCommonViewLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingCommonViewLayer.h; sourceTree = ""; }; 4D328CEEAF3915C9E6DC33A38998D932 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = SDWebImage/Core/SDImageCoderHelper.h; sourceTree = ""; }; - 4D8CB554BE5D14D81B4E2CF6BEBCF12D /* SJAppearStateObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAppearStateObserver.h; path = SJUIKit/Base/Core/SJAppearStateObserver.h; sourceTree = ""; }; 4DD1A58AA14109F68CA31F9396F576A3 /* SJPlayModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlayModel.h; path = SJBaseVideoPlayer/Model/SJPlayModel.h; sourceTree = ""; }; 4DEA36310AD392D5A3011851C8AB5625 /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoNormalFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h; sourceTree = ""; }; 4E72F43B9208F9B7FF10ECF4065B721B /* UIColor+HexString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+HexString.h"; path = "SDWebImage/Private/UIColor+HexString.h"; sourceTree = ""; }; + 4E7A4916CCC59ED219E48CBB993C9403 /* SJSQLiteCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteCore.m; path = SJUIKit/SQLite3/Core/SJSQLiteCore.m; sourceTree = ""; }; 4EA8C9FAEE20E120D0468448CAA9BFFB /* SJFilmEditingSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFilmEditingSettings.h; path = SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader/SJFilmEditingSettings.h; sourceTree = ""; }; 4F038EE12C70FE24D22A6978856C9D22 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = ""; }; + 4FF9D1C017AFFB67C4D2A9B71438CC57 /* SJBaseCollectionViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseCollectionViewCell.h; path = SJUIKit/Base/SJBaseCollectionViewCell.h; sourceTree = ""; }; 504E9CCF54AC5969760C573A20590443 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/Core/SDWebImageOperation.h; sourceTree = ""; }; - 50CC3A34D705AB4CACE3402DE91EE067 /* SJBaseViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseViewController.h; path = SJUIKit/Base/SJBaseViewController.h; sourceTree = ""; }; 5150AB26E97F616A12FFAEA9E3FB3E76 /* SJEdgeControlLayerItemAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJEdgeControlLayerItemAdapter.m; sourceTree = ""; }; 51AA7EF3BD8315A81251FF400D501826 /* SJPlaybackListController-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJPlaybackListController-prefix.pch"; sourceTree = ""; }; 51AF23CB92C8BB88C0B20DB5A47901DE /* libSJBaseVideoPlayer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJBaseVideoPlayer.a; path = libSJBaseVideoPlayer.a; sourceTree = BUILT_PRODUCTS_DIR; }; 51E4E7C1D365FB7179320FBC0A8F68ED /* SJFloatSmallViewControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFloatSmallViewControlLayer.m; path = SJVideoPlayer/SJFloatSmallViewControlLayer/SJFloatSmallViewControlLayer.m; sourceTree = ""; }; 5243A27D4A2003D5B1D405F891E8421D /* SJFilmEditingInVideoRecordingsControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingInVideoRecordingsControlLayer.h; sourceTree = ""; }; - 525265EC6763E95002DCC86A78F6AA15 /* SJBaseTableViewHeaderFooterView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseTableViewHeaderFooterView.m; path = SJUIKit/Base/SJBaseTableViewHeaderFooterView.m; sourceTree = ""; }; 527CCD102FB9D72B94E460E383285294 /* SJDeviceVolumeAndBrightnessManagerResourceLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJDeviceVolumeAndBrightnessManagerResourceLoader.h; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader/SJDeviceVolumeAndBrightnessManagerResourceLoader.h; sourceTree = ""; }; 5341B0E5421E6043D61D1FB87B7E1EEA /* SJDeviceOutputPromptView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJDeviceOutputPromptView.h; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/Core/SJDeviceOutputPromptView.h; sourceTree = ""; }; 53BF2F8323828D4BA38E36D1A40E7771 /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = SDWebImage/Core/SDWebImageCacheKeyFilter.h; sourceTree = ""; }; 53CC26CF1F0BE25CA6247D15772DED14 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; + 545D87662EFB244E8DB5092D40439D49 /* NSObject+SJAsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+SJAsyncLoad.m"; path = "SJUIKit/AsyncLoad/NSObject+SJAsyncLoad.m"; sourceTree = ""; }; 553A84DE9838FB90B19566F24C97653A /* SJFloatSmallViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFloatSmallViewController.m; path = SJBaseVideoPlayer/Tool/SJFloatSmallViewController.m; sourceTree = ""; }; 556A8C1F160BAA0BA6A258A4CC1448EB /* SJFloatSmallViewControllerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFloatSmallViewControllerDefines.h; path = SJBaseVideoPlayer/Header/SJFloatSmallViewControllerDefines.h; sourceTree = ""; }; 55E09ED5BC1FF77C79648FB74C59A3BC /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/Core/UIView+WebCacheOperation.m"; sourceTree = ""; }; 562BD4BE0AD4035F8A43C7F6640C890A /* SJPlayModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlayModel.m; path = SJBaseVideoPlayer/Model/SJPlayModel.m; sourceTree = ""; }; 56A1BFC67129584EBFEC3856159054EC /* SJFlipTransitionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFlipTransitionManager.h; path = SJBaseVideoPlayer/Tool/SJFlipTransitionManager.h; sourceTree = ""; }; - 56B6983D1A6F9BE03422D71213C59F2E /* SJUIKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJUIKit.xcconfig; sourceTree = ""; }; + 576D67D2AC44B0E9C41F1C002FC6A247 /* SJBaseTableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseTableViewCell.m; path = SJUIKit/Base/SJBaseTableViewCell.m; sourceTree = ""; }; + 57FA1EA26325D98AD12FE3CBAEFBF077 /* SJSQLiteColumnInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteColumnInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteColumnInfo.m; sourceTree = ""; }; 584168891E3AA004F96C05B9D9D97B91 /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJRefresh.m"; path = "MJRefresh/UIScrollView+MJRefresh.m"; sourceTree = ""; }; 5842ACB28A7891860A033AC3B8EDAA83 /* libSJFullscreenPopGesture.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJFullscreenPopGesture.a; path = libSJFullscreenPopGesture.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 5895178C9FD66DB15CF414E107681297 /* SJBaseTableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseTableViewCell.m; path = SJUIKit/Base/SJBaseTableViewCell.m; sourceTree = ""; }; + 5862F35686B2DCD1144717D297FB368F /* SJTaskQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJTaskQueue.h; path = SJUIKit/Queues/SJTaskQueue.h; sourceTree = ""; }; 59029A9AA5CE30DEC2EC5D67CD4FE1B3 /* SJVideoDefinitionSwitchingInfo+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJVideoDefinitionSwitchingInfo+Private.h"; path = "SJBaseVideoPlayer/Tool/SJVideoDefinitionSwitchingInfo+Private.h"; sourceTree = ""; }; 59263809FF4108BF0AE57412F4712F38 /* SJControlLayerAppearStateManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJControlLayerAppearStateManager.m; path = SJBaseVideoPlayer/Tool/SJControlLayerAppearStateManager.m; sourceTree = ""; }; - 5995EFA4EF56B60FAF16949FC2F85543 /* SJAsyncLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAsyncLoader.h; path = SJUIKit/AsyncLoad/SJAsyncLoader.h; sourceTree = ""; }; 59AA1B6C18362666C175195176F09BFE /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/Core/SDImageCache.h; sourceTree = ""; }; 5A210AC49F4D982DFF493EE1BA68C2F7 /* SJPrompt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPrompt.h; path = SJBaseVideoPlayer/Tool/SJPrompt.h; sourceTree = ""; }; 5A78F805A6D5022C1A22872121F658B2 /* SJAVBasePlayerItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVBasePlayerItem.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayerItem.h; sourceTree = ""; }; 5A8575F700C0EFDB38CC24DAA8DA2148 /* SJFullscreenPopGesture-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJFullscreenPopGesture-prefix.pch"; sourceTree = ""; }; 5B23B5D523C21A97B8E4AFD7EBC40247 /* SJBaseVideoPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseVideoPlayer.h; path = SJBaseVideoPlayer/SJBaseVideoPlayer.h; sourceTree = ""; }; - 5B24DE71E85DA05981EBC084174E3AAA /* SJMakeView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJMakeView.m; path = SJUIKit/UIMaker/Core/SJMakeView.m; sourceTree = ""; }; 5B5EC87DDE054CA6F3438C73F5965EFF /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJExtension.m"; path = "MJRefresh/UIScrollView+MJExtension.m"; sourceTree = ""; }; 5B91F52A4D263CFD688BD86FF636E16B /* SJBaseVideoPlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseVideoPlayer.m; path = SJBaseVideoPlayer/SJBaseVideoPlayer.m; sourceTree = ""; }; - 5C27DE0354E99CE3B1068BC90176E81E /* UIViewController+SJModalAlert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+SJModalAlert.m"; path = "SJUIKit/Other/UIViewController+SJModalAlert.m"; sourceTree = ""; }; + 5BCDC5DAE7B495748D5AFBAC2EAC1F14 /* SJBaseCollectionReusableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseCollectionReusableView.m; path = SJUIKit/Base/SJBaseCollectionReusableView.m; sourceTree = ""; }; 5C56A2AF2F80698ED528515264E81961 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = SDWebImage/Core/SDImageLoadersManager.m; sourceTree = ""; }; 5D1638B2F13A937AA5C2FA094A99CD75 /* SJDeviceVolumeAndBrightnessManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJDeviceVolumeAndBrightnessManager.h; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/SJDeviceVolumeAndBrightnessManager.h; sourceTree = ""; }; + 5FC9E02D7CD54E1547EEFF5A10975C28 /* SJApplicationInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJApplicationInfo.h; path = SJUIKit/Other/SJApplicationInfo.h; sourceTree = ""; }; 6008979FB2D3CBA2BC0D6FAACA328E03 /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; 60B989CBC1CBA731DF796C0DE7486A48 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; + 6116DC8D7607B9C53622B06A3E640F7F /* SJSQLiteTableModelConstraints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteTableModelConstraints.m; path = SJUIKit/SQLite3/Core/SJSQLiteTableModelConstraints.m; sourceTree = ""; }; 611B78C4F6605BB24675BB181BBD6AE2 /* SDWebImageError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = SDWebImage/Core/SDWebImageError.h; sourceTree = ""; }; - 61444BEC4C1A973C9C3F66E484E0C825 /* UILabel+AsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UILabel+AsyncLoad.m"; path = "SJUIKit/AsyncLoad/UILabel+AsyncLoad.m"; sourceTree = ""; }; 61D7DCC4589D464DAD45CCDC537A241E /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/Core/SDImageCacheConfig.h; sourceTree = ""; }; 6205008E2764A00C50148BA6858A00E0 /* MJRefresh.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = MJRefresh.bundle; path = MJRefresh/MJRefresh.bundle; sourceTree = ""; }; 62E00F883D0BB146285B475282A7E433 /* SJFilmEditingInVideoRecordingsControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingInVideoRecordingsControlLayer.m; sourceTree = ""; }; + 63779788EC51D326E0531169CD89FD66 /* SJUTRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRangeHandler.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRangeHandler.h; sourceTree = ""; }; 639D47A86A8DA7A23ADF7871FE07C425 /* UIScrollView+ListViewAutoplaySJAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+ListViewAutoplaySJAdd.m"; path = "SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.m"; sourceTree = ""; }; - 63CBE7ECE407429263150F2B506F46DB /* SJSQLiteColumnInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteColumnInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteColumnInfo.m; sourceTree = ""; }; - 63D3A5EFE2E1CAE953A3A3B41301A39A /* SJBaseCollectionReusableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseCollectionReusableView.h; path = SJUIKit/Base/SJBaseCollectionReusableView.h; sourceTree = ""; }; 63FCBFEC346CE6C65161D26C066D955D /* SJProgressSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJProgressSlider.h; path = SJVideoPlayer/SJProgressSlider/SJProgressSlider.h; sourceTree = ""; }; 6440ACD02B9CEC698FF6949933BC5A12 /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; 652C00F28A20500864AE33EB8E1FBCA8 /* libPods-SJVideoPlayer_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-SJVideoPlayer_Example.a"; path = "libPods-SJVideoPlayer_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 654225B20C1D2861ECD024D0F3F6352A /* SJFilmEditing.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SJFilmEditing.bundle; path = SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader/SJFilmEditing.bundle; sourceTree = ""; }; 65EA53695901C9F37FEB4362B84C35AD /* SJFilmEditingResultShareItemsContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingResultShareItemsContainerView.m; sourceTree = ""; }; - 660AEE61125F99BCB5709688B5B7CA16 /* SJBaseCollectionReusableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseCollectionReusableView.m; path = SJUIKit/Base/SJBaseCollectionReusableView.m; sourceTree = ""; }; 6625CEEACF2D784070BB0A9787940394 /* SJAVMediaPresentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVMediaPresentView.m; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPresentView.m; sourceTree = ""; }; - 662FFCEA1ACD03560A1D635143AB5662 /* SJSQLiteTableModelConstraints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteTableModelConstraints.m; path = SJUIKit/SQLite3/Core/SJSQLiteTableModelConstraints.m; sourceTree = ""; }; 66772FE05D2AE82952B114BA47084333 /* SDAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = SDWebImage/Core/SDAnimatedImageView.h; sourceTree = ""; }; 669FA393D37409CEF8E0191C95FBD818 /* SJPromptDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPromptDefines.h; path = SJBaseVideoPlayer/Header/SJPromptDefines.h; sourceTree = ""; }; 66E202C0BE78A5B8FF50137E43B483DE /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; }; 66E766D2BE64FA33287A317A0DFA5679 /* UIView+SJControlAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SJControlAdd.h"; path = "SJVideoPlayer/Common/UIView+SJControlAdd.h"; sourceTree = ""; }; 676E7E1F148588ECE7C442540CA368F0 /* SJVideoPlayerRegistrar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerRegistrar.h; path = SJBaseVideoPlayer/Tool/SJVideoPlayerRegistrar.h; sourceTree = ""; }; + 6932ABFA94149CDB79B93C840BE35815 /* SJBaseCollectionReusableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseCollectionReusableView.h; path = SJUIKit/Base/SJBaseCollectionReusableView.h; sourceTree = ""; }; 697ADF3532EE2422718CCFDBFCE15D34 /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; 6A05EDB0A7580C632A0505621973BDA4 /* SDImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = SDWebImage/Core/SDImageCoder.h; sourceTree = ""; }; - 6A72A9A95BB1A65DC085F9D462349305 /* SJImagePickerController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJImagePickerController.h; path = SJUIKit/Photo/SJImagePickerController.h; sourceTree = ""; }; 6B0E67FD77718005C1EA16E57D810F52 /* SDImageCacheDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = SDWebImage/Core/SDImageCacheDefine.m; sourceTree = ""; }; 6B28DF5278540C52DF3EA98715F8261D /* MJRefreshComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshComponent.h; path = MJRefresh/Base/MJRefreshComponent.h; sourceTree = ""; }; - 6BD4FC15FDB5D364579B54D2520CC83B /* SJUTRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRecorder.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRecorder.h; sourceTree = ""; }; 6C95B4AB894ECE7F3D63D2D0CE725BBC /* SJIsAppeared.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJIsAppeared.m; path = SJBaseVideoPlayer/Tool/SJIsAppeared.m; sourceTree = ""; }; 6D0EC97AE1A520FB53CF7DE4045F3786 /* NSBundle+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+MJRefresh.m"; path = "MJRefresh/NSBundle+MJRefresh.m"; sourceTree = ""; }; 6D4BAE887B2670D010609D337E6B4768 /* UIScrollView+ListViewAutoplaySJAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+ListViewAutoplaySJAdd.h"; path = "SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.h"; sourceTree = ""; }; - 6DE7E8BAE1E13676D028B66EF4ADFF2D /* SJAttributesRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAttributesRecorder.m; path = SJUIKit/AttributesFactory/Deprecated/SJAttributesRecorder.m; sourceTree = ""; }; 6E678D937D0A76EA19441DE3799F2AA4 /* SJVideoPlayerURLAssetPrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerURLAssetPrefetcher.m; path = SJBaseVideoPlayer/SJVideoPlayerURLAssetPrefetcher.m; sourceTree = ""; }; + 6E68224A078AD6D34730FF9E20480ED5 /* SJApplicationInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJApplicationInfo.m; path = SJUIKit/Other/SJApplicationInfo.m; sourceTree = ""; }; + 6E92063949508ADC4CC8322A5B0E0E95 /* SJAttributeWorker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributeWorker.h; path = SJUIKit/AttributesFactory/Deprecated/SJAttributeWorker.h; sourceTree = ""; }; 6ED68A027003E1B5CA9DA98DC5A0501E /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/Core/SDWebImageDownloaderOperation.h; sourceTree = ""; }; 6FEDB9C9558C53597AF5F4F884A6F890 /* SJBaseVideoPlayer+TestLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJBaseVideoPlayer+TestLog.m"; path = "SJBaseVideoPlayer/SJBaseVideoPlayer+TestLog.m"; sourceTree = ""; }; 716507261A2D14380934A9731E40C966 /* UIView+SJVideoPlayerSetting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SJVideoPlayerSetting.m"; path = "SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/UIView+SJVideoPlayerSetting.m"; sourceTree = ""; }; + 716D6389AE3F411BA4309292B2BA3932 /* NSDate+SJAdded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+SJAdded.m"; path = "SJUIKit/Date/NSDate+SJAdded.m"; sourceTree = ""; }; + 720DE0F9408C9319F00B7FD48860DC34 /* NSObject+SJObserverHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+SJObserverHelper.m"; path = "SJUIKit/ObserverHelper/NSObject+SJObserverHelper.m"; sourceTree = ""; }; + 72ED3101886FF485364EF284D1246726 /* UIScrollView+SJRefreshAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+SJRefreshAdd.h"; path = "SJUIKit/Refresh/UIScrollView+SJRefreshAdd.h"; sourceTree = ""; }; 73359AA59DA26E31EB613904717D1429 /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = SDWebImage/Core/SDWebImageDownloaderConfig.m; sourceTree = ""; }; 734441DD02ACA422D2C806FB612C205F /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManagerOperation.m; path = SDWebImage/Private/SDImageCachesManagerOperation.m; sourceTree = ""; }; - 735AE62BD528A48688E7A1707B1CCBCF /* SJObjectContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJObjectContainer.h; path = SJUIKit/Other/SJObjectContainer.h; sourceTree = ""; }; 7371486EC9AB3875B3079A352AD12838 /* SJFitOnScreenManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFitOnScreenManager.m; path = SJBaseVideoPlayer/Tool/SJFitOnScreenManager.m; sourceTree = ""; }; - 7392A2946EFA2F257E2E6CE5BB7D640A /* SJSQLite3+SJSQLite3Extended.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJSQLite3+SJSQLite3Extended.m"; path = "SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.m"; sourceTree = ""; }; 73A24DC75FDC946A417AFE8967A0156B /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; 73A8BFA644BF3E5BFA740A5E1191EF0E /* SJVideoPlayerFilmEditingParameters.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJVideoPlayerFilmEditingParameters.h; sourceTree = ""; }; 73BCE7CC8C6BA7BC1A7F354A702EDCE4 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = SDWebImage/Core/SDImageAPNGCoder.m; sourceTree = ""; }; 7536D5475BA64828BFFAFB7BF154B957 /* SDInternalMacros.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDInternalMacros.m; path = SDWebImage/Private/SDInternalMacros.m; sourceTree = ""; }; 758CD49259E7A31059D4431619975B6F /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; + 75FE91189BA19DB82EB5509DF7A1E0A0 /* SJUIKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJUIKit-prefix.pch"; sourceTree = ""; }; 767E18FB88E801846A3000307668A7FA /* SDImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = SDWebImage/Core/SDImageFrame.m; sourceTree = ""; }; 76AA1FB379A67F7D2D0C932B6F0ACBAD /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoNormalFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m; sourceTree = ""; }; - 7775956A4104BAA1E09A39B470EE1825 /* UIImageView+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UIImageView+AsyncLoadImage.h"; sourceTree = ""; }; 7796BDB5F33E9C3ABCFBB288B5765810 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/Core/UIButton+WebCache.h"; sourceTree = ""; }; - 77B4DF8F2EF6281AA3F386457D14A667 /* SJUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKit.h; path = SJUIKit/SJUIKit.h; sourceTree = ""; }; 77F9E0CB85DA138FA4F7D08DDD97FA05 /* SJReachabilityDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJReachabilityDefines.h; path = SJBaseVideoPlayer/Header/SJReachabilityDefines.h; sourceTree = ""; }; 780634E729C4D79FBA038A7CA9ED0127 /* Pods-SJVideoPlayer_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SJVideoPlayer_Example.debug.xcconfig"; sourceTree = ""; }; 789FA5470A931CAA1A7A43EA63B05C01 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; 794229C61F4A0BA8EEAA93560663EF31 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; 794BE4FE8845906C371C9428759F7941 /* SDImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = SDWebImage/Core/SDImageCodersManager.h; sourceTree = ""; }; + 796429D825DE9340F1D82F2211FB7474 /* UIViewController+SJModalAlert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+SJModalAlert.h"; path = "SJUIKit/Other/UIViewController+SJModalAlert.h"; sourceTree = ""; }; 799220436F0361EAA496A4A5E3273C04 /* SDDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = SDWebImage/Core/SDDiskCache.m; sourceTree = ""; }; - 7A0C474F82435809DFA3F08E465469D7 /* SJBaseTableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseTableViewCell.h; path = SJUIKit/Base/SJBaseTableViewCell.h; sourceTree = ""; }; 7A67D0A97EC91386099250DEB5CA443A /* SJBaseVideoPlayerConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseVideoPlayerConst.m; path = SJBaseVideoPlayer/Const/SJBaseVideoPlayerConst.m; sourceTree = ""; }; 7A9526E77C7BBC9BC2EDA11979B28E6E /* SJReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJReachability.h; path = SJBaseVideoPlayer/Tool/SJReachability.h; sourceTree = ""; }; 7A961442A951AD4743D626428CC377BF /* Pods-SJVideoPlayer_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SJVideoPlayer_Example-dummy.m"; sourceTree = ""; }; @@ -927,93 +917,108 @@ 7D0A128D664AA7198939AF0025CA77F0 /* SJVideoPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJVideoPlayer-prefix.pch"; sourceTree = ""; }; 7D7A5C900A25B94747CE337ED7424737 /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = ""; }; 7DBA3346C273AD86B39C631AF987DD6A /* SJLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJLoadingView.m; path = SJVideoPlayer/SJEdgeControlLayer/View/SJLoadingView.m; sourceTree = ""; }; + 7DC2C5B711C47F2C949838E2407B2ABA /* SJUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKit.h; path = SJUIKit/SJUIKit.h; sourceTree = ""; }; 7DCB080154ACDC4B0865A5D29EC9011F /* SJVideoPlayerURLAssetPrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerURLAssetPrefetcher.h; path = SJBaseVideoPlayer/SJVideoPlayerURLAssetPrefetcher.h; sourceTree = ""; }; 7E072F1DDF0EA44738A53DBA6345811B /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/Core/UIButton+WebCache.m"; sourceTree = ""; }; - 7EB24209A9FB9A9B8723F56B22A405B1 /* SJApplicationInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJApplicationInfo.m; path = SJUIKit/Other/SJApplicationInfo.m; sourceTree = ""; }; 7F0A1CD4A76E9681D7AA9344D177FBDB /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalHeader.m; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.m; sourceTree = ""; }; 7F2DC782E8ABB50710EBA60CFB8355EF /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = ""; }; 7FB48D5C8BE230FCB3A37221F18DE254 /* SJControlLayerSwitcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJControlLayerSwitcher.m; path = SJVideoPlayer/Switcher/SJControlLayerSwitcher.m; sourceTree = ""; }; 7FD5C59C7DDE866663B96CDA04CA7CA1 /* SJVideoPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayer.h; path = SJVideoPlayer/SJVideoPlayer.h; sourceTree = ""; }; + 8057AD296D9C59290223140651E0B508 /* SJCornerMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJCornerMask.h; path = SJUIKit/CornerMask/SJCornerMask.h; sourceTree = ""; }; 8119082CE7618DAE80260267C455D9F7 /* MJRefreshConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConfig.m; path = MJRefresh/MJRefreshConfig.m; sourceTree = ""; }; - 8215572A6A4D40CAD4ECFC2AC953EBB9 /* SJApplicationInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJApplicationInfo.h; path = SJUIKit/Other/SJApplicationInfo.h; sourceTree = ""; }; + 81AF5AC4E3D4BB9A9E75401BF0A35FB6 /* SJSQLite3+FoundationExtended.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJSQLite3+FoundationExtended.m"; path = "SJUIKit/SQLite3/SJSQLite3+FoundationExtended.m"; sourceTree = ""; }; 82A912B0418602D0AE7BF3BA2A243D33 /* SJFullscreenPopGesture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFullscreenPopGesture.m; path = SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.m; sourceTree = ""; }; 82B07B53DFE423FEFB5DAAAD4FB30AAF /* SJPopPromptController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPopPromptController.h; path = SJBaseVideoPlayer/Tool/SJPopPromptController.h; sourceTree = ""; }; - 830098D0BD734C84DE2E2FCF02FDEC4B /* SJUTRegexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRegexHandler.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRegexHandler.m; sourceTree = ""; }; 8327023E56E3AF92CF12AF65927C0C3B /* SJVideoPlayerRegistrar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerRegistrar.m; path = SJBaseVideoPlayer/Tool/SJVideoPlayerRegistrar.m; sourceTree = ""; }; 8327D8D8CBFE0DB11E68144A488B657B /* SJAVMediaPlaybackController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVMediaPlaybackController.m; path = SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.m; sourceTree = ""; }; 835D017B099999AFBDBB6D49729799D1 /* SJFilmEditingSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFilmEditingSettings.m; path = SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader/SJFilmEditingSettings.m; sourceTree = ""; }; 836A832270ACEBAB7E9C203EE49AA38D /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = ""; }; 841F1AD44A0A6A47B7875D85B64DB710 /* SDImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = SDWebImage/Core/SDImageGIFCoder.h; sourceTree = ""; }; + 843761EA90AF541CFEDEDAA8B110C566 /* SJRunLoopTaskQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJRunLoopTaskQueue.m; path = SJUIKit/Queues/SJRunLoopTaskQueue.m; sourceTree = ""; }; + 84510DDCD523C8788EAE46EF5D292E4E /* SJUIKitTextMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUIKitTextMaker.m; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitTextMaker.m; sourceTree = ""; }; 84A9E9F4AC03AE1354E6CCF552740E49 /* SJPrompt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPrompt.m; path = SJBaseVideoPlayer/Tool/SJPrompt.m; sourceTree = ""; }; 84BDDBB6D423B7006D09AAE250B0D39B /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.h"; path = "SJBaseVideoPlayer/Model/SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.h"; sourceTree = ""; }; 84C7C4B6CD613289A62EBCA65261B1EC /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackFooter.h; path = MJRefresh/Base/MJRefreshBackFooter.h; sourceTree = ""; }; - 8511FB22C2CB97606689B44DD1C9CBB4 /* SJAppearStateObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAppearStateObserver.m; path = SJUIKit/Base/Core/SJAppearStateObserver.m; sourceTree = ""; }; 8526EEFB90321D243C3F71A7005D8212 /* SJFilmEditingCommonViewLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingCommonViewLayer.m; sourceTree = ""; }; 85946BC317749323316815E749BA9B3D /* Pods-SJVideoPlayer_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SJVideoPlayer_Example-acknowledgements.markdown"; sourceTree = ""; }; 85A10CE7412535EE4911F8C67FBB8B76 /* SJFilmEditingInGIFRecordingsControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingInGIFRecordingsControlLayer.h; sourceTree = ""; }; 85C215FBA7B8AAD2E55FCC1531B076DC /* SJEdgeControlButtonItemCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJEdgeControlButtonItemCell.m; sourceTree = ""; }; - 85CE1E8216E9DA99B94494B970D93303 /* SJStatusBarManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJStatusBarManager.h; path = SJUIKit/Base/Core/SJStatusBarManager.h; sourceTree = ""; }; + 85C57A0DAF5DF6862FB5594AA5609421 /* SJUTRegexHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRegexHandler.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRegexHandler.m; sourceTree = ""; }; 85DE0EE76C04F258000AC3DD14C2E20D /* SDImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = SDWebImage/Core/SDImageCodersManager.m; sourceTree = ""; }; - 85FA7F7C7EFECFE60B72A055E1A5E5B0 /* SJResidentThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJResidentThread.m; path = SJUIKit/Thread/SJResidentThread.m; sourceTree = ""; }; 86310600F92DE515005E504C0539E655 /* SJBaseVideoPlayerConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseVideoPlayerConst.h; path = SJBaseVideoPlayer/Const/SJBaseVideoPlayerConst.h; sourceTree = ""; }; 864B54DC45835B1AE5AC487B70ECD14E /* SJVideoPlayer.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SJVideoPlayer.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 870F3B05F79A2B24909342899AE7B1F7 /* SJSQLiteTableModelConstraints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableModelConstraints.h; path = SJUIKit/SQLite3/Core/SJSQLiteTableModelConstraints.h; sourceTree = ""; }; + 8718FB682F45705E1DCF112FC5A97A1C /* NSAttributedString+SJMake.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+SJMake.h"; path = "SJUIKit/AttributesFactory/NSAttributedString+SJMake.h"; sourceTree = ""; }; 8722B89360C13398E2A327AE6966E9CD /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJRefresh.h"; path = "MJRefresh/UIScrollView+MJRefresh.h"; sourceTree = ""; }; 87A0F4BA77CDC4EFC7C46D975CF0D271 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + 87B6D2E8D22C1BD4E8A88E4F521AE7F9 /* SJUIMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIMaker.h; path = SJUIKit/UIMaker/SJUIMaker.h; sourceTree = ""; }; + 88215546811F99CF0487EBF9FCC852AC /* SJSQLiteObjectInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteObjectInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteObjectInfo.m; sourceTree = ""; }; 88B628040210A3DDA1EFE1B31CF65FBA /* SJLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJLoadingView.h; path = SJVideoPlayer/SJEdgeControlLayer/View/SJLoadingView.h; sourceTree = ""; }; + 8B26E5CEBC2A64FC0CDE6D6FE03E1C8C /* SJUTAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTAttributes.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTAttributes.h; sourceTree = ""; }; 8B4BC1C6045A6C2BB2AE6D4C5C8FC9D0 /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = ""; }; 8B54DB46D6D944A174CE16E857E1A455 /* MJRefreshConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConfig.h; path = MJRefresh/MJRefreshConfig.h; sourceTree = ""; }; 8B72BFA8500E6BEC66FCABC4840FF884 /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackGifFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.m; sourceTree = ""; }; 8C0B51E8E36BFCD71C6B636A846A10DB /* SJFilmEditingResultShareItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingResultShareItem.h; sourceTree = ""; }; 8C8CAD3F1B98E438EF78CF39F6C348AA /* MJRefreshFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshFooter.h; path = MJRefresh/Base/MJRefreshFooter.h; sourceTree = ""; }; + 8CE0DCF419A0F183CC1891E53C906478 /* SJBaseCollectionViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseCollectionViewCell.m; path = SJUIKit/Base/SJBaseCollectionViewCell.m; sourceTree = ""; }; 8D1EE56EBEDDF86D4EBA1BCB57070AA9 /* libSJVideoPlayer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJVideoPlayer.a; path = libSJVideoPlayer.a; sourceTree = BUILT_PRODUCTS_DIR; }; 8D2DDFF8FAFB755D3C2C0DE3529AFB76 /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = SDWebImage/Core/SDImageFrame.h; sourceTree = ""; }; 8D51AAB7D82B07BA746626C95459E1A6 /* AVAsset+SJAVMediaExport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AVAsset+SJAVMediaExport.h"; path = "SJBaseVideoPlayer/AVPlayer/Core/AVAsset+SJAVMediaExport.h"; sourceTree = ""; }; 8E5EB23420F58B1F20CE0B13CF472943 /* SJVideoDefinitionSwitchingInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoDefinitionSwitchingInfo.h; path = SJBaseVideoPlayer/Tool/SJVideoDefinitionSwitchingInfo.h; sourceTree = ""; }; 8EC963154DC91FF316DA9B39AD2E531E /* SDImageAssetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAssetManager.m; path = SDWebImage/Private/SDImageAssetManager.m; sourceTree = ""; }; 9015B9A83A7AEE2BAE7EA93F9E595CF0 /* SJMoreSettingControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJMoreSettingControlLayer.m; path = SJVideoPlayer/SJMoreSettingControlLayer/SJMoreSettingControlLayer.m; sourceTree = ""; }; + 901ACA8274F85D1268E5D451905AFD30 /* SJSQLite3.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLite3.m; path = SJUIKit/SQLite3/SJSQLite3.m; sourceTree = ""; }; 901E4C4C870FB7AB0AFF8BBD652D9271 /* SDMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = SDWebImage/Core/SDMemoryCache.m; sourceTree = ""; }; - 9120AF0DD1070A758973131DCBE34FA8 /* SJRunLoopTaskQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJRunLoopTaskQueue.m; path = SJUIKit/Queues/SJRunLoopTaskQueue.m; sourceTree = ""; }; + 9047E47E21AC76219B89FA63A5D14CEE /* UIImagePickerController+SJUIKitExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImagePickerController+SJUIKitExtension.m"; path = "SJUIKit/Photo/UIImagePickerController+SJUIKitExtension.m"; sourceTree = ""; }; 912FCA90335380479672B979BF38744B /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + 91679E993CA0486BE2C1BE39602FD2A1 /* NSObject+SJObserverHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+SJObserverHelper.h"; path = "SJUIKit/ObserverHelper/NSObject+SJObserverHelper.h"; sourceTree = ""; }; + 917F699E7320C752467EF643163E99E2 /* UIScrollView+SJRefreshAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+SJRefreshAdd.m"; path = "SJUIKit/Refresh/UIScrollView+SJRefreshAdd.m"; sourceTree = ""; }; 91F1394F8C250C5121F7B8A37254F26B /* SJPlayerAutoplayConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlayerAutoplayConfig.m; path = SJBaseVideoPlayer/Model/SJPlayerAutoplayConfig.m; sourceTree = ""; }; 91F94D55D14762FBBCFD6F6BF5081447 /* SJPlaybackListControllerObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlaybackListControllerObserver.m; path = SJPlaybackListController/Core/SJPlaybackListControllerObserver.m; sourceTree = ""; }; - 92D88EC280F498F4B2CB8C60CB23E9C1 /* SJStatusBarManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJStatusBarManager.m; path = SJUIKit/Base/Core/SJStatusBarManager.m; sourceTree = ""; }; 92E0E51D1E1817329029826AC3D5129F /* UIView+SJVideoPlayerAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SJVideoPlayerAdd.h"; path = "SJBaseVideoPlayer/Tool/UIView+SJVideoPlayerAdd.h"; sourceTree = ""; }; 930E6BC994F63B819D57F7402C589020 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/Core/UIImage+MultiFormat.m"; sourceTree = ""; }; 9324CF26550324EE0A8FE1DDC00FB886 /* SJNetworkLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJNetworkLoadingView.m; path = SJVideoPlayer/SJEdgeControlLayer/View/SJNetworkLoadingView.m; sourceTree = ""; }; 93345D5EBC42CD86C831F80BD4A87F5A /* SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.m"; path = "SJBaseVideoPlayer/Model/SJVideoPlayerURLAsset+SJAVMediaPlaybackAdd.m"; sourceTree = ""; }; - 9350F2EA46CC963FADC7E95F0378E19E /* SJImagePickerController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJImagePickerController.m; path = SJUIKit/Photo/SJImagePickerController.m; sourceTree = ""; }; + 9360B2122F0164AD3EF8C193075D9EF9 /* SJBaseProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseProtocols.h; path = SJUIKit/Base/Core/SJBaseProtocols.h; sourceTree = ""; }; + 93737B08C2651E3972DE494F2CE35EA7 /* NSAttributedString+SJMake.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+SJMake.m"; path = "SJUIKit/AttributesFactory/NSAttributedString+SJMake.m"; sourceTree = ""; }; 93A3802C4401AEB72E78C7FFA83742DD /* SJBaseVideoPlayer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJBaseVideoPlayer.xcconfig; sourceTree = ""; }; + 94B8EEDAF0418BCFAA3E1129D0355FE2 /* SJSQLiteTableInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteTableInfo.h; sourceTree = ""; }; 94F64C2087D0097127A89B4956340756 /* SJCommonProgressSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJCommonProgressSlider.h; path = SJVideoPlayer/SJProgressSlider/SJCommonProgressSlider.h; sourceTree = ""; }; + 95046FC428B764529DD460CBD3E05026 /* SJSQLiteColumnInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteColumnInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteColumnInfo.h; sourceTree = ""; }; 956F460622F4B5EAF4638190612B4A4D /* SJDeviceVolumeAndBrightnessManagerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJDeviceVolumeAndBrightnessManagerDefines.h; path = SJBaseVideoPlayer/Header/SJDeviceVolumeAndBrightnessManagerDefines.h; sourceTree = ""; }; + 95DC38DB98A5F5265F6AF8A870241FB5 /* SJSQLite3+QueryExtended.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SJSQLite3+QueryExtended.m"; path = "SJUIKit/SQLite3/SJSQLite3+QueryExtended.m"; sourceTree = ""; }; 9673543ACABA2E673896B9DC95489770 /* SJFilmEditingResultShareItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingResultShareItem.m; sourceTree = ""; }; - 96E6898549CD02FC815FCC6AC04B23AE /* UIImagePickerController+SJUIKitExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImagePickerController+SJUIKitExtension.h"; path = "SJUIKit/Photo/UIImagePickerController+SJUIKitExtension.h"; sourceTree = ""; }; + 96EAA4C03F3713283C76D7456B24A8E0 /* UIButton+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UIButton+AsyncLoadImage.h"; sourceTree = ""; }; + 972E67A1F4216FA5970803C712431109 /* SJResidentThread.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJResidentThread.m; path = SJUIKit/Thread/SJResidentThread.m; sourceTree = ""; }; 97BD4529CA0BEAF2FCD7D06984703E05 /* MJRefreshHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshHeader.m; path = MJRefresh/Base/MJRefreshHeader.m; sourceTree = ""; }; + 97F72079271A251E3B8BF86D56B0A819 /* SJBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBase.h; path = SJUIKit/Base/SJBase.h; sourceTree = ""; }; 98AC7B09737A2974EF1C6337A6D8A9E2 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/Core/UIView+WebCache.h"; sourceTree = ""; }; 9ACDD4110446E3A40CB43095180A6BBD /* SJControlLayerAppearStateManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJControlLayerAppearStateManager.h; path = SJBaseVideoPlayer/Tool/SJControlLayerAppearStateManager.h; sourceTree = ""; }; + 9AE2DC39E81D29DEC5B115C4AC4D8CB2 /* SJObjectContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJObjectContainer.m; path = SJUIKit/Other/SJObjectContainer.m; sourceTree = ""; }; + 9AEB79F798E60CD20971809CCC62715C /* SJSQLiteErrors.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteErrors.m; path = SJUIKit/SQLite3/Core/SJSQLiteErrors.m; sourceTree = ""; }; 9AFA8142090CFBB0B1B8E0BAA7ECDF96 /* SJControlLayerAppearManagerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJControlLayerAppearManagerDefines.h; path = SJBaseVideoPlayer/Header/SJControlLayerAppearManagerDefines.h; sourceTree = ""; }; - 9BBBED7BC3EBF950DA6121F1AB26CFE1 /* NSAttributedString+SJMake.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+SJMake.h"; path = "SJUIKit/AttributesFactory/NSAttributedString+SJMake.h"; sourceTree = ""; }; - 9BECFFB035C3F448080B3863F6DE8039 /* NSObject+SJObserverHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+SJObserverHelper.h"; path = "SJUIKit/ObserverHelper/NSObject+SJObserverHelper.h"; sourceTree = ""; }; - 9D3852D0A904DE85BF14F2A3E333E25A /* UITextField+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UITextField+AsyncLoadImage.h"; sourceTree = ""; }; + 9B6C4D0229809F5BDC9B2BCDCB82430B /* NSObject+SJAsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+SJAsyncLoad.h"; path = "SJUIKit/AsyncLoad/NSObject+SJAsyncLoad.h"; sourceTree = ""; }; + 9D0B15D0DC712218774251C1BE4F58B4 /* UIImageView+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UIImageView+AsyncLoadImage.m"; sourceTree = ""; }; 9D3E7F39BDB0453F8F3A83B6289C1A63 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/Core/NSButton+WebCache.h"; sourceTree = ""; }; + 9D4CF6443A6DB58DADBEDED4895C017F /* SJAttributesRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributesRecorder.h; path = SJUIKit/AttributesFactory/Deprecated/SJAttributesRecorder.h; sourceTree = ""; }; 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; }; - 9EA0F2937DF1D8E059AC7E337B0AE334 /* SJUIKitTextMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIKitTextMaker.h; path = SJUIKit/AttributesFactory/UIKitText/SJUIKitTextMaker.h; sourceTree = ""; }; + 9E0907DC388067FED55FC958BFCE4113 /* UILabel+AsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UILabel+AsyncLoad.m"; path = "SJUIKit/AsyncLoad/UILabel+AsyncLoad.m"; sourceTree = ""; }; + 9E6D3758829006C024E1DBD2512C4770 /* SJSQLiteTableModelProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableModelProtocol.h; path = SJUIKit/SQLite3/Protocol/SJSQLiteTableModelProtocol.h; sourceTree = ""; }; 9EA2EE53230C786174E0226382FA83FA /* SDImageCacheDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = SDWebImage/Core/SDImageCacheDefine.h; sourceTree = ""; }; 9EA4EB13EA2C9987E28CC84F61943530 /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.h"; sourceTree = ""; }; 9F686DC443D99FDD774B603A457A7D76 /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackStateFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m; sourceTree = ""; }; 9F7017950DD4EE607D1ADF98DB5C7794 /* SJEdgeControlLayerLoadingViewDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeControlLayerLoadingViewDefines.h; path = SJVideoPlayer/SJEdgeControlLayer/Defines/SJEdgeControlLayerLoadingViewDefines.h; sourceTree = ""; }; A03A698AF22C2F835ED3E1BFAC32812D /* UIView+SJVideoPlayerSetting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SJVideoPlayerSetting.h"; path = "SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/UIView+SJVideoPlayerSetting.h"; sourceTree = ""; }; - A054AC6EEC6D52A27CF1CD795B10E38E /* SJAttributeWorker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributeWorker.h; path = SJUIKit/AttributesFactory/Deprecated/SJAttributeWorker.h; sourceTree = ""; }; A08CD1DAC0A450DE844849CDC436538F /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackFooter.m; path = MJRefresh/Base/MJRefreshBackFooter.m; sourceTree = ""; }; A11CDB51CA0580F9F0C0EF8034E2AA26 /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.m"; sourceTree = ""; }; A17880586DD7ABA937A3A98A8058E279 /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = SDWebImage/Core/SDWebImageDownloaderConfig.h; sourceTree = ""; }; A196E944C2E02838C63E58BE4FAC8C89 /* NSBezierPath+RoundedCorners.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBezierPath+RoundedCorners.h"; path = "SDWebImage/Private/NSBezierPath+RoundedCorners.h"; sourceTree = ""; }; A1BC5F8A9E260C0EF31130B59952D8F4 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = ""; }; A2199DEB897A438232B627549F93FE5A /* SJPlayModelPropertiesObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlayModelPropertiesObserver.m; path = SJBaseVideoPlayer/Tool/SJPlayModelPropertiesObserver.m; sourceTree = ""; }; + A28B5F569BAA524372C844D3B518ABC0 /* SJAttributeWorker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAttributeWorker.m; path = SJUIKit/AttributesFactory/Deprecated/SJAttributeWorker.m; sourceTree = ""; }; A2EAC42D8BE6AE9C078C9B2C40CCF00B /* MJRefreshFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshFooter.m; path = MJRefresh/Base/MJRefreshFooter.m; sourceTree = ""; }; - A33335EE3BC974D86F780E05BEF6C0D9 /* UIImageView+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UIImageView+AsyncLoadImage.m"; sourceTree = ""; }; A3D6E0F8EDDBA6FEAC09B8ABE42CA8DE /* SJVideoPlayerPresentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerPresentView.m; path = SJBaseVideoPlayer/Tool/SJVideoPlayerPresentView.m; sourceTree = ""; }; A54C508011657D1F4931D6FED86DD9BA /* SJVideoPlayerControlLayerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerControlLayerProtocol.h; path = SJBaseVideoPlayer/Header/SJVideoPlayerControlLayerProtocol.h; sourceTree = ""; }; + A583F52BC591F7AA29B162E98F4D0E30 /* SJBaseTableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseTableViewCell.h; path = SJUIKit/Base/SJBaseTableViewCell.h; sourceTree = ""; }; A58698D1D7F93D78B8C0A0C818FCED4D /* SJPlayModelPropertiesObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlayModelPropertiesObserver.h; path = SJBaseVideoPlayer/Tool/SJPlayModelPropertiesObserver.h; sourceTree = ""; }; A58F116C0DC935AE050C50C635F14C34 /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackStateFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h; sourceTree = ""; }; A5A4EED72D0F136BC038FC21AEFE036D /* SJDeviceVolumeAndBrightnessManager.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SJDeviceVolumeAndBrightnessManager.bundle; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/ResourceLoader/SJDeviceVolumeAndBrightnessManager.bundle; sourceTree = ""; }; @@ -1023,15 +1028,17 @@ A6F034E1599E04D8EAD5333A0830DAD4 /* SDImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = SDWebImage/Core/SDImageCoderHelper.m; sourceTree = ""; }; A6F7F49BED87DAEFCDF7180333FEE0DC /* SJVideoPlayerDraggingProgressView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerDraggingProgressView.m; path = SJVideoPlayer/SJEdgeControlLayer/View/SJVideoPlayerDraggingProgressView.m; sourceTree = ""; }; A7497642F7D329189F3353618038391B /* SJFilmEditingGenerateResultControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingGenerateResultControlLayer.h; sourceTree = ""; }; - A768CB3AE4C2493F3000FEC62C3E2CCE /* UIScrollView+SJRefreshAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+SJRefreshAdd.h"; path = "SJUIKit/Refresh/UIScrollView+SJRefreshAdd.h"; sourceTree = ""; }; + A76481138F57AC29C868A4327FA3C264 /* SJImagePickerController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJImagePickerController.h; path = SJUIKit/Photo/SJImagePickerController.h; sourceTree = ""; }; A7AE874E0429FD302C4A5958769212F5 /* SJLoadFailedControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJLoadFailedControlLayer.m; path = SJVideoPlayer/SJLoadFailedControlLayer/SJLoadFailedControlLayer.m; sourceTree = ""; }; - A8E00DC308EE0AB5CFEC8BC276752304 /* SJBaseCollectionViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseCollectionViewCell.m; path = SJUIKit/Base/SJBaseCollectionViewCell.m; sourceTree = ""; }; + A91FC8D141005A04BD2D3974431A6BCD /* SJUTRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRecorder.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRecorder.m; sourceTree = ""; }; AAC8EE27E945E45B2704F1BDD3190AD4 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = SDWebImage/Core/SDAnimatedImageRep.h; sourceTree = ""; }; AB066275CC4EFF14EC96ED99C70063C9 /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoGifFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.m; sourceTree = ""; }; + AB61D598BEE1895A5CDF6ABE0CED0242 /* SJBaseViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseViewController.h; path = SJUIKit/Base/SJBaseViewController.h; sourceTree = ""; }; AB72E303149279F0D65BB79EF2DBE982 /* SJPlaybackListController.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJPlaybackListController.xcconfig; sourceTree = ""; }; ABD69F5384607D5AB3F6C78125C96658 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/Core/SDWebImageManager.h; sourceTree = ""; }; AC5773D24BE56C8C1F1774783340F99F /* SJBaseVideoPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJBaseVideoPlayer-prefix.pch"; sourceTree = ""; }; AC5DB3464E6F33350536484E5752D647 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = SDWebImage/Core/SDImageLoadersManager.h; sourceTree = ""; }; + ACE97BA8B4B484C1FDD061BBA278D6BA /* UITextField+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextField+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UITextField+AsyncLoadImage.m"; sourceTree = ""; }; AD15334D9831AC40F766838C30D4EE93 /* SJFilmEditingLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFilmEditingLoader.m; path = SJVideoPlayer/SJFilmEditingControlLayer/ResourceLoader/SJFilmEditingLoader.m; sourceTree = ""; }; AE669C379056FF78BB574E5B4C22FB7C /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/Core/UIImage+GIF.m"; sourceTree = ""; }; AF108E5056CFBA8B52F6198BA39A07D3 /* SJFilmEditingControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFilmEditingControlLayer.m; path = SJVideoPlayer/SJFilmEditingControlLayer/SJFilmEditingControlLayer.m; sourceTree = ""; }; @@ -1040,21 +1047,20 @@ B0B214D775196BA7CA8E17E53048A493 /* libSDWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSDWebImage.a; path = libSDWebImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; B16C2334CA4B855BBC33124D7DFE72C7 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/Core/SDWebImageManager.m; sourceTree = ""; }; B1950A9100EC697CFE9B684182B41BBA /* SDImageCachesManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = SDWebImage/Core/SDImageCachesManager.h; sourceTree = ""; }; - B1EC9EFB8FFE64AF99F02EC1DCB59A2F /* SJAsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAsyncLoad.h; path = SJUIKit/AsyncLoad/SJAsyncLoad.h; sourceTree = ""; }; + B1C715E859474141505CA8F5A26B632F /* SJRunLoopTaskQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRunLoopTaskQueue.h; path = SJUIKit/Queues/SJRunLoopTaskQueue.h; sourceTree = ""; }; B20416E45553AF38D26B740CECA9A5B4 /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = SDWebImage/Core/SDWebImageTransition.m; sourceTree = ""; }; B2DF32DA77CB62332634431576021AF9 /* SJRotationManagerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRotationManagerDefines.h; path = SJBaseVideoPlayer/Header/SJRotationManagerDefines.h; sourceTree = ""; }; B4627278A25C337B50B30B47A67FAF3B /* SJFullscreenPopGesture.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SJFullscreenPopGesture.xcconfig; sourceTree = ""; }; B4C20895812A923A56CD7738539866EB /* SJAVBasePlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVBasePlayer.m; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.m; sourceTree = ""; }; B4F6704F422620D4CC9891AD551DDAC6 /* SJNetworkLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJNetworkLoadingView.h; path = SJVideoPlayer/SJEdgeControlLayer/View/SJNetworkLoadingView.h; sourceTree = ""; }; B5767792C61EAE09260928C814EF9EA5 /* SDImageTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = SDWebImage/Core/SDImageTransformer.h; sourceTree = ""; }; - B5B6351D3D6CB331D9D692C3AF0DAC15 /* SJBaseViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJBaseViewController.m; path = SJUIKit/Base/SJBaseViewController.m; sourceTree = ""; }; B62EC7C36817BEA13D218E81AF23ED92 /* SDWebImageIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = SDWebImage/Core/SDWebImageIndicator.h; sourceTree = ""; }; B656BF3E9598825309667313502A6F18 /* SJEdgeControlLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeControlLayer.h; path = SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.h; sourceTree = ""; }; B6D112C15ADBDBF6620FAB5CAFBFC06D /* SJAVMediaPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVMediaPlayer.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaPlayer.h; sourceTree = ""; }; B76E0F45170665404A5CAC35FE2E71EF /* SDImageCachesManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = SDWebImage/Core/SDImageCachesManager.m; sourceTree = ""; }; - B7900355130F873EFEF39E3C6DD82DF9 /* UISearchBar+AsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UISearchBar+AsyncLoad.m"; path = "SJUIKit/AsyncLoad/UISearchBar+AsyncLoad.m"; sourceTree = ""; }; B85776F8A762B04F0A097D2A0F69312F /* NSTimer+SJAssetAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTimer+SJAssetAdd.m"; path = "SJBaseVideoPlayer/Tool/NSTimer+SJAssetAdd.m"; sourceTree = ""; }; B891B04342B052A63862FEFD4B351031 /* libSJPlaybackListController.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJPlaybackListController.a; path = libSJPlaybackListController.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B8F2B3FB6CC885F1DBBAF48B858A9BD1 /* SJResidentThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJResidentThread.h; path = SJUIKit/Thread/SJResidentThread.h; sourceTree = ""; }; B901110240B6A03A69C546CDF92AE46A /* UIView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MJExtension.h"; path = "MJRefresh/UIView+MJExtension.h"; sourceTree = ""; }; BAE65ED3300FA2441146B8017E1FCAB9 /* SDImageAssetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAssetManager.h; path = SDWebImage/Private/SDImageAssetManager.h; sourceTree = ""; }; BB9AB0B4408F248A6E011E12E8D3E187 /* MJRefreshConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConst.m; path = MJRefresh/MJRefreshConst.m; sourceTree = ""; }; @@ -1063,29 +1069,28 @@ BDC7A0103AB793AAC9FA304BF05CC118 /* SJFitOnScreenManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFitOnScreenManager.h; path = SJBaseVideoPlayer/Tool/SJFitOnScreenManager.h; sourceTree = ""; }; BE51CB0A221FF531C173A4B43E80447E /* SJPlaybackListControllerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlaybackListControllerProtocol.h; path = SJPlaybackListController/Core/SJPlaybackListControllerProtocol.h; sourceTree = ""; }; BE58DEF293D7AC1E86B0BAC005DDCEE5 /* SJVideoPlayerFilmEditingConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJVideoPlayerFilmEditingConfig.m; sourceTree = ""; }; + BE5F542A7A6DFA29C2475AF5B82D0FCC /* SJUTRangeHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRangeHandler.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRangeHandler.m; sourceTree = ""; }; BE79ED040BAD64CBD4669177C89D4F88 /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = SDWebImage/Core/SDWebImageCacheSerializer.m; sourceTree = ""; }; BEB53FBAA98F943C38004442B42D0612 /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = SDWebImage/Core/SDWebImageTransition.h; sourceTree = ""; }; BEC12DAF6559DF31A3DECA25E86021A6 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = ""; }; - BED3C0209A0BF9036154A295ABF1127D /* SJAsyncLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAsyncLoader.m; path = SJUIKit/AsyncLoad/SJAsyncLoader.m; sourceTree = ""; }; BF5EB961A93EA0F7C217B02013B24D2A /* SJPlaybackListController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlaybackListController.h; path = SJPlaybackListController/SJPlaybackListController.h; sourceTree = ""; }; BF82CB1A54160A0574311EAA4B742F02 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = SDWebImage/Core/SDAnimatedImageRep.m; sourceTree = ""; }; BF8407A7382C18E1F9B9F014E8889C32 /* SJRouter-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJRouter-prefix.pch"; sourceTree = ""; }; - BFDC6AC59595907DEB5D566E4C132DC3 /* SJUIMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUIMaker.h; path = SJUIKit/UIMaker/SJUIMaker.h; sourceTree = ""; }; - C006FED401BB7B5A2B5914CA8DF77857 /* SJTaskQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJTaskQueue.h; path = SJUIKit/Queues/SJTaskQueue.h; sourceTree = ""; }; + C1D8B52A81BA06D4DD2C7A06FF8A0198 /* SJAppearStateObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAppearStateObserver.m; path = SJUIKit/Base/Core/SJAppearStateObserver.m; sourceTree = ""; }; C2E013D797F5318B842BAE166EC7145C /* SJEdgeFastForwardViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeFastForwardViewController.h; path = SJBaseVideoPlayer/Tool/SJEdgeFastForwardViewController.h; sourceTree = ""; }; C38F44E246ABF6D25B16D6D9AE74FD33 /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = SDWebImage/Core/SDWebImageOptionsProcessor.h; sourceTree = ""; }; C4076EE2E87D54BF5A3A794999CC3794 /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = ""; }; + C43683102EDD18C6792B0059454D94AA /* SJAttributesRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAttributesRecorder.m; path = SJUIKit/AttributesFactory/Deprecated/SJAttributesRecorder.m; sourceTree = ""; }; + C4B8AA5C88F19482E2BA44F7BAEBFB42 /* UIImageView+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UIImageView+AsyncLoadImage.h"; sourceTree = ""; }; + C4C02BABE8102362CF86E5E43A8D41E6 /* UIImagePickerController+SJUIKitExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImagePickerController+SJUIKitExtension.h"; path = "SJUIKit/Photo/UIImagePickerController+SJUIKitExtension.h"; sourceTree = ""; }; + C58EB40B723EFF2BC096399129719E3D /* UISearchBar+AsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UISearchBar+AsyncLoad.m"; path = "SJUIKit/AsyncLoad/UISearchBar+AsyncLoad.m"; sourceTree = ""; }; C5B3E08B58C28C995B63211F3C2652B0 /* SJAVBasePlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAVBasePlayer.h; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.h; sourceTree = ""; }; C5E3573C652AD6B41C9059E5E3664954 /* SJRouteRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRouteRequest.h; path = SJRouter/Core/SJRouteRequest.h; sourceTree = ""; }; - C640F606DA78CC1DB2446A6C396AC2E4 /* SJCornerMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJCornerMask.m; path = SJUIKit/CornerMask/SJCornerMask.m; sourceTree = ""; }; - C6ECDE396A9538A25B3B45EF9BC3581F /* SJUIKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SJUIKit-prefix.pch"; sourceTree = ""; }; C735EABA4C01665EF38746C813120F0F /* SJPlaybackListControllerObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlaybackListControllerObserver.h; path = SJPlaybackListController/Core/SJPlaybackListControllerObserver.h; sourceTree = ""; }; - C77A40E97B14AB10D1D8B18C61625A66 /* SJAttributeWorker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAttributeWorker.m; path = SJUIKit/AttributesFactory/Deprecated/SJAttributeWorker.m; sourceTree = ""; }; - C7ECA200646FBD18E81326F3B2FCC7FA /* SJUIKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJUIKit-dummy.m"; sourceTree = ""; }; C86BA84C183B6392F133615E8497FFF8 /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackGifFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h; sourceTree = ""; }; - C8AA5C79F911E138A900B72EDAAD7B92 /* SJSQLiteTableModelProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableModelProtocol.h; path = SJUIKit/SQLite3/Protocol/SJSQLiteTableModelProtocol.h; sourceTree = ""; }; C8D0BCCD9683ABBED5A180DD7E154A45 /* SJFullscreenPopGesture-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJFullscreenPopGesture-dummy.m"; sourceTree = ""; }; C9165322F8E17317D363583248EDEC08 /* SJEdgeControlLayerItemAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJEdgeControlLayerItemAdapter.h; sourceTree = ""; }; + CA8C60A8CF9FB4487552B780370D70A3 /* SJBaseTableViewHeaderFooterView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseTableViewHeaderFooterView.h; path = SJUIKit/Base/SJBaseTableViewHeaderFooterView.h; sourceTree = ""; }; CAD047017F69D592A519529FF90F31E5 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = ""; }; CBB5CB0F3E5EFC374F1FD98C74ADF2BA /* SJEdgeControlLayer.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SJEdgeControlLayer.bundle; path = SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayer.bundle; sourceTree = ""; }; CC2F6ABD8E918DB3789B608F99FBA968 /* SJVideoPlayerSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerSettings.h; path = SJVideoPlayer/Settings/SJVideoPlayerSettings.h; sourceTree = ""; }; @@ -1095,16 +1100,12 @@ D1294C4B4C3B2C8D13B6D002A23CC8D5 /* SJFilmEditingVideoCountDownView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingVideoCountDownView.h; sourceTree = ""; }; D14F2383069D30188AEDB08353578074 /* SJFilmEditingSaveResultToAlbumHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJFilmEditingSaveResultToAlbumHandler.h; sourceTree = ""; }; D1EC97E027D0D25ED34048816B015E8C /* SDWebImageIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = SDWebImage/Core/SDWebImageIndicator.m; sourceTree = ""; }; - D25C76C4DB6FB2DCEDCA972B239FA9DC /* SJSQLiteErrors.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteErrors.m; path = SJUIKit/SQLite3/Core/SJSQLiteErrors.m; sourceTree = ""; }; D270960425B17348C1ADA0F88CC1552F /* SDMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = SDWebImage/Core/SDMemoryCache.h; sourceTree = ""; }; D296563EE20862D55AC7F922E2789551 /* SJSwitchVideoDefinitionControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSwitchVideoDefinitionControlLayer.m; path = SJVideoPlayer/SJSwitchVideoDefinitionControlLayer/SJSwitchVideoDefinitionControlLayer.m; sourceTree = ""; }; - D29F9E2CC4D10AA08A836A960799BC42 /* SJBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBase.h; path = SJUIKit/Base/SJBase.h; sourceTree = ""; }; - D3119C48F58EDD0A16DEFFFEBF857D35 /* UISearchBar+AsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UISearchBar+AsyncLoad.h"; path = "SJUIKit/AsyncLoad/UISearchBar+AsyncLoad.h"; sourceTree = ""; }; D444CDB611C89A31497695905D2BA023 /* libSJRouter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSJRouter.a; path = libSJRouter.a; sourceTree = BUILT_PRODUCTS_DIR; }; D45CDE63AFCCBE97FF01026DC3E6A106 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; D4664A01187EA64AC03C4F9C4ABFBD0E /* MJRefreshComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshComponent.m; path = MJRefresh/Base/MJRefreshComponent.m; sourceTree = ""; }; D4E5E9360E2A4717486E4B69B0A53BCF /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = WebImage/SDWebImage.h; sourceTree = ""; }; - D513A3E2FF8CD5AFFE161D8AA31FB065 /* SJUTRangeHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRangeHandler.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRangeHandler.m; sourceTree = ""; }; D57F297C7AD51B029FB1272AE7E77249 /* SJFilmEditingGenerateResultControlLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SJFilmEditingGenerateResultControlLayer.m; sourceTree = ""; }; D5C26834B3637BBCBF494D11D7EA277D /* SDImageHEICCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = SDWebImage/Core/SDImageHEICCoder.h; sourceTree = ""; }; D6A7EFB77FCE5A86E2F73D02AA3FDE0D /* SJPlaybackListControllerProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPlaybackListControllerProtocol.m; path = SJPlaybackListController/Core/SJPlaybackListControllerProtocol.m; sourceTree = ""; }; @@ -1112,30 +1113,34 @@ D93AC78990676F1F048837FB31C1985E /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = SDWebImage/Core/SDImageIOAnimatedCoder.m; sourceTree = ""; }; D958EF2278F6E260330BF6E7D5E7C032 /* UIImage+Metadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "SDWebImage/Core/UIImage+Metadata.h"; sourceTree = ""; }; D95CFFFCA3CC91E0F04B5155583D3648 /* SJBaseVideoPlayer+TestLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJBaseVideoPlayer+TestLog.h"; path = "SJBaseVideoPlayer/SJBaseVideoPlayer+TestLog.h"; sourceTree = ""; }; - D9EA43E53FF901D0C11E37A4782CA3EA /* SJResidentThread.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJResidentThread.h; path = SJUIKit/Thread/SJResidentThread.h; sourceTree = ""; }; + D96A9DEC0DF1BEFD2E8550F1BACE7C70 /* UISearchBar+AsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UISearchBar+AsyncLoad.h"; path = "SJUIKit/AsyncLoad/UISearchBar+AsyncLoad.h"; sourceTree = ""; }; DA4540135B2148DD5D2D52E3F64A516B /* SJPlayerGestureControlDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlayerGestureControlDefines.h; path = SJBaseVideoPlayer/Header/SJPlayerGestureControlDefines.h; sourceTree = ""; }; + DBD21ECB9EF528A89A3D3C2936A7B77A /* SJSQLite3TableInfosCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLite3TableInfosCache.m; path = SJUIKit/SQLite3/Core/SJSQLite3TableInfosCache.m; sourceTree = ""; }; DBE8174F25A591C8E1FE4ADBA0D8BB71 /* SJDeviceVolumeAndBrightnessManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJDeviceVolumeAndBrightnessManager.m; path = SJBaseVideoPlayer/SJDeviceVolumeAndBrightnessManager/SJDeviceVolumeAndBrightnessManager.m; sourceTree = ""; }; DC1C99C1FE88DD3B94938F4EF09F2A16 /* SJEdgeControlLayerSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeControlLayerSettings.h; path = SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.h; sourceTree = ""; }; DC28A3BD42B40E3F23D0EE37AE91ABDE /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshGifHeader.m; path = MJRefresh/Custom/Header/MJRefreshGifHeader.m; sourceTree = ""; }; DCA310F7D662DAD375DA38FFD7433CAE /* SDImageHEICCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoderInternal.h; path = SDWebImage/Private/SDImageHEICCoderInternal.h; sourceTree = ""; }; - DD1CC8ABF01DFC7372A2AF0C728DB6F2 /* NSObject+SJAsyncLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+SJAsyncLoad.m"; path = "SJUIKit/AsyncLoad/NSObject+SJAsyncLoad.m"; sourceTree = ""; }; DD3D53E971427EBFBD0043E5E5263D2C /* SJVideoPlayerAnimationHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerAnimationHeader.h; path = SJVideoPlayer/Common/SJVideoPlayerAnimationHeader.h; sourceTree = ""; }; + DD42A555A0CBDE1DCA29021ABBEC162A /* SJMakeView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJMakeView.h; path = SJUIKit/UIMaker/Core/SJMakeView.h; sourceTree = ""; }; DD4D927B393D48BEF218C7D9E9D0B75A /* SJFloatSmallViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFloatSmallViewController.h; path = SJBaseVideoPlayer/Tool/SJFloatSmallViewController.h; sourceTree = ""; }; DE6B903798BC519B50247434CD2C4033 /* UIColor+HexString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+HexString.m"; path = "SDWebImage/Private/UIColor+HexString.m"; sourceTree = ""; }; DED378320B4D6D5C581288F404D8A9A9 /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = SDWebImage/Core/SDAnimatedImage.m; sourceTree = ""; }; DEDEC510BA8CA54B7E8DDCCCB78CD94D /* SJFlipTransitionManagerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFlipTransitionManagerDefines.h; path = SJBaseVideoPlayer/Header/SJFlipTransitionManagerDefines.h; sourceTree = ""; }; + DF09F42BB6B7D0F62E0D859C2DD8F1CD /* SJUTRegexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRegexHandler.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRegexHandler.h; sourceTree = ""; }; DF1D1558581B63B1BD67341394FAA999 /* UIView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MJExtension.m"; path = "MJRefresh/UIView+MJExtension.m"; sourceTree = ""; }; DF487E772650F7EABD0E379476AE3DB8 /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = SDWebImage/Core/SDImageIOCoder.h; sourceTree = ""; }; + DFAB14716E1C6FD508DF3011AFFF833B /* SJSQLiteTableModelConstraints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteTableModelConstraints.h; path = SJUIKit/SQLite3/Core/SJSQLiteTableModelConstraints.h; sourceTree = ""; }; DFF5B16B91FD9442DB2B5D47C4E555B2 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "SDWebImage/Core/NSImage+Compatibility.h"; sourceTree = ""; }; - E0A8C9387250BF80491F5110ECD57D0E /* SJBaseCollectionViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJBaseCollectionViewCell.h; path = SJUIKit/Base/SJBaseCollectionViewCell.h; sourceTree = ""; }; + E03B931E2D44DE9311A1B6CFD97DECA6 /* SJAsyncLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAsyncLoad.h; path = SJUIKit/AsyncLoad/SJAsyncLoad.h; sourceTree = ""; }; + E09849EB384AFC47872CD59D7B1A1C76 /* SJUIMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUIMaker.m; path = SJUIKit/UIMaker/SJUIMaker.m; sourceTree = ""; }; E21D6E9E18D39D1027E1E91A552F43B3 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = ""; }; E26BC4C77580D24C372376C003212CD2 /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; E2E871DDE96703D2EF57039D2882FFCE /* SJVideoPlayerSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerSettings.m; path = SJVideoPlayer/Settings/SJVideoPlayerSettings.m; sourceTree = ""; }; + E3331461FD4EA9E57E88067C7D363CB8 /* SJImagePickerController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJImagePickerController.m; path = SJUIKit/Photo/SJImagePickerController.m; sourceTree = ""; }; E3647094246DB251DDC01934EB375EE1 /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJExtension.h"; path = "MJRefresh/UIScrollView+MJExtension.h"; sourceTree = ""; }; E3769339C042854E32E62A03BC6C4998 /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; E3ADC4EB853F30B5DC8FCEEFE2514E06 /* SJVideoPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJVideoPlayer-dummy.m"; sourceTree = ""; }; E3C4726E0051CF843B28D05BF04A1A68 /* SJFullscreenPopGesture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJFullscreenPopGesture.h; path = SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.h; sourceTree = ""; }; - E44C8412B873E91242A628C0BD475FC6 /* SJSQLiteTableInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJSQLiteTableInfo.m; path = SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m; sourceTree = ""; }; E45DDACE657EA0BA2BA22C2A3B50E03F /* SJVideoPlayerControlMaskView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJVideoPlayerControlMaskView.h; path = SJVideoPlayer/Common/SJVideoPlayerControlMaskView.h; sourceTree = ""; }; E49D6D248DD1CEE584E6776B9164A1B2 /* libMJRefresh.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMJRefresh.a; path = libMJRefresh.a; sourceTree = BUILT_PRODUCTS_DIR; }; E5E55E1B74F2FFBBD7321D9876EB98DB /* SJEdgeFastForwardViewControllerDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJEdgeFastForwardViewControllerDefines.h; path = SJBaseVideoPlayer/Header/SJEdgeFastForwardViewControllerDefines.h; sourceTree = ""; }; @@ -1145,11 +1150,11 @@ E746877E35B25885FA819B42C2089CD6 /* UIView+SJAnimationAdded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+SJAnimationAdded.h"; path = "SJVideoPlayer/Common/UIView+SJAnimationAdded.h"; sourceTree = ""; }; E7570DD4862DFCB3385CCADD68C62DD7 /* UIView+SJControlAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SJControlAdd.m"; path = "SJVideoPlayer/Common/UIView+SJControlAdd.m"; sourceTree = ""; }; E7F0E41F5624183867AEE1AD3474E3BB /* SJRotationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJRotationManager.h; path = SJBaseVideoPlayer/Tool/SJRotationManager.h; sourceTree = ""; }; - E7FCE1C93505E160CE54D75F32E9EA9A /* SJUTRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRangeHandler.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRangeHandler.h; sourceTree = ""; }; - EABFD023A6C3B904A5B7385D97C55E9B /* UITextField+AsyncLoadImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextField+AsyncLoadImage.m"; path = "SJUIKit/AsyncLoad/UITextField+AsyncLoadImage.m"; sourceTree = ""; }; + E9FFF70F1BD55E27F73AFF1E12317EA2 /* SJSQLiteCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteCore.h; path = SJUIKit/SQLite3/Core/SJSQLiteCore.h; sourceTree = ""; }; + EAE6D85B2A93A3D1D599AB12ED572BB1 /* SJObjectContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJObjectContainer.h; path = SJUIKit/Other/SJObjectContainer.h; sourceTree = ""; }; EB31E010BEAABFA7238DE2AE637D96F3 /* SJVideoPlayerFilmEditingCommonHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SJVideoPlayerFilmEditingCommonHeader.h; sourceTree = ""; }; EB7540B939B23BA582E41E67B0AD35BA /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = ""; }; - EBF2B4ADDEB946CB2DF5C5226027000C /* SJSQLiteObjectInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJSQLiteObjectInfo.h; path = SJUIKit/SQLite3/Core/SJSQLiteObjectInfo.h; sourceTree = ""; }; + EC276C5EDF347F1C108D781BDA62EF41 /* SJSQLite3+QueryExtended.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SJSQLite3+QueryExtended.h"; path = "SJUIKit/SQLite3/SJSQLite3+QueryExtended.h"; sourceTree = ""; }; EC9ADECAE58D9778A83AF21085E0B764 /* SJReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJReachability.m; path = SJBaseVideoPlayer/Tool/SJReachability.m; sourceTree = ""; }; ECBEC9638253DC81F85F348F1A339C81 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; ED357E4694837BF58E02085B5386695A /* SJBaseVideoPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SJBaseVideoPlayer-dummy.m"; sourceTree = ""; }; @@ -1160,26 +1165,25 @@ EE95C31F145F13B2F3DC2CB7D6F5DABD /* SDWebImageError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = SDWebImage/Core/SDWebImageError.m; sourceTree = ""; }; EEAD64332BC11234FF21BC88C80992C4 /* MJRefreshHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshHeader.h; path = MJRefresh/Base/MJRefreshHeader.h; sourceTree = ""; }; EEEC62627CAFE16987BC9F2A4D1D5364 /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackNormalFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.m; sourceTree = ""; }; - EF274611F5F93F98FC4CB00FBC99BA1B /* SJMakeView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJMakeView.h; path = SJUIKit/UIMaker/Core/SJMakeView.h; sourceTree = ""; }; - EF438F69648668C20BD5E858FCF9B4A9 /* UIButton+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UIButton+AsyncLoadImage.h"; sourceTree = ""; }; EFDDA39C0C25435DB19FF5CE5ABF6E81 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshGifHeader.h; path = MJRefresh/Custom/Header/MJRefreshGifHeader.h; sourceTree = ""; }; F084212A526F4050C7CC4A4B2F26175E /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/Core/SDImageCacheConfig.m; sourceTree = ""; }; F10C9C990BBFE1570588ECA14A8A97C0 /* UIView+SJVideoPlayerAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+SJVideoPlayerAdd.m"; path = "SJBaseVideoPlayer/Tool/UIView+SJVideoPlayerAdd.m"; sourceTree = ""; }; F1D6F72161DA1DF713EB794D80430C46 /* SDImageGraphics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = SDWebImage/Core/SDImageGraphics.h; sourceTree = ""; }; F20F52F5AEB3108855E84EB0D77C4FD5 /* SDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWeakProxy.m; path = SDWebImage/Private/SDWeakProxy.m; sourceTree = ""; }; F2470251F48294C1E9871052BE5C30A4 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; - F4CD2F77A1539C088FA4DCD3B68CF5D1 /* SJAttributesRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributesRecorder.h; path = SJUIKit/AttributesFactory/Deprecated/SJAttributesRecorder.h; sourceTree = ""; }; - F65324FA3EC730E0D5E08E929CE6150E /* SJUTRegexHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRegexHandler.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRegexHandler.h; sourceTree = ""; }; + F5E49E01D4E9ABAEC26CD90584BEC0F2 /* SJAttributesFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJAttributesFactory.h; path = SJUIKit/AttributesFactory/SJAttributesFactory.h; sourceTree = ""; }; F69E705098BBF62F0415EB5F8B96FEF6 /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = SDWebImage/Core/SDWebImageCacheKeyFilter.m; sourceTree = ""; }; F7958F0B386B72255AB18C43BD0C7A90 /* SDAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = SDWebImage/Core/SDAnimatedImageView.m; sourceTree = ""; }; F79F401C48007533BEEDB2E9FEEA1D03 /* SJPopPromptController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJPopPromptController.m; path = SJBaseVideoPlayer/Tool/SJPopPromptController.m; sourceTree = ""; }; F821F6EBA643EA23BC47A19E71AC69FF /* SJAVMediaDefinitionPrepareStatusObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAVMediaDefinitionPrepareStatusObserver.m; path = SJBaseVideoPlayer/AVPlayer/Core/SJAVMediaDefinitionPrepareStatusObserver.m; sourceTree = ""; }; + F8D11A18A536D853C43EB2C3980CA000 /* SJAsyncLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJAsyncLoader.m; path = SJUIKit/AsyncLoad/SJAsyncLoader.m; sourceTree = ""; }; F98732C9B028D1E569F439A5B45A8147 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/Core/SDWebImageDownloader.m; sourceTree = ""; }; FAFC7E24F88B34E93531B8F318B99294 /* SJPlayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJPlayerView.h; path = SJBaseVideoPlayer/Tool/SJPlayerView.h; sourceTree = ""; }; + FBD0FC805D3F19DC79D6DF2FDAAF801C /* NSDate+SJAdded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+SJAdded.h"; path = "SJUIKit/Date/NSDate+SJAdded.h"; sourceTree = ""; }; + FC13F3C7274A38BF6602B095B486E136 /* SJUTRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SJUTRecorder.h; path = SJUIKit/AttributesFactory/UIKitText/SJUTRecorder.h; sourceTree = ""; }; FC6F0009BE0E44066FB577F3A8613313 /* SJVideoPlayerControlMaskView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayerControlMaskView.m; path = SJVideoPlayer/Common/SJVideoPlayerControlMaskView.m; sourceTree = ""; }; FCF06B58FA7C89E54954992FC7E089AC /* SJFlipTransitionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJFlipTransitionManager.m; path = SJBaseVideoPlayer/Tool/SJFlipTransitionManager.m; sourceTree = ""; }; - FCFEBA952A3C4C65733FC6B66480ADB2 /* SJUTRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJUTRecorder.m; path = SJUIKit/AttributesFactory/UIKitText/SJUTRecorder.m; sourceTree = ""; }; - FD7A34BF78411DFB5D08701C3427051E /* UIImagePickerController+SJUIKitExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImagePickerController+SJUIKitExtension.m"; path = "SJUIKit/Photo/UIImagePickerController+SJUIKitExtension.m"; sourceTree = ""; }; + FD4550907377D96C5018662EAE7D8960 /* UITextField+AsyncLoadImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+AsyncLoadImage.h"; path = "SJUIKit/AsyncLoad/UITextField+AsyncLoadImage.h"; sourceTree = ""; }; FE01625F58E3654CC025DFCB46E268B6 /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/Core/UIView+WebCache.m"; sourceTree = ""; }; FE409CD694847DD184B17F28F7F72EFF /* SJVideoPlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SJVideoPlayer.m; path = SJVideoPlayer/SJVideoPlayer.m; sourceTree = ""; }; FE8A606E66CE1EA0B4D44920492C8D5D /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManagerOperation.h; path = SDWebImage/Private/SDImageCachesManagerOperation.h; sourceTree = ""; }; @@ -1268,15 +1272,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 007E6C844426C3902252F83F679F0996 /* CornerMask */ = { - isa = PBXGroup; - children = ( - 34839F3058C37E39953C3CF31DB4760F /* SJCornerMask.h */, - C640F606DA78CC1DB2446A6C396AC2E4 /* SJCornerMask.m */, - ); - name = CornerMask; - sourceTree = ""; - }; 01552BDBD9B09FCB16C8C29C49C58EF5 /* Development Pods */ = { isa = PBXGroup; children = ( @@ -1383,6 +1378,29 @@ path = SJVideoPlayer/SJFilmEditingControlLayer/Core/ControlLayer; sourceTree = ""; }; + 0E84C5D15CC37FAA6A4A3A69070A6AD4 /* SJUIKit */ = { + isa = PBXGroup; + children = ( + 7DC2C5B711C47F2C949838E2407B2ABA /* SJUIKit.h */, + 44F0F5020A08C3A535A5DF44FEB3ABE5 /* AsyncLoad */, + 5568B6B5671FB31B8C4A0F66BA278EFD /* AttributesFactory */, + 463DA4DEC9096B4096CFA28A8396016D /* Base */, + F08225604458CD7F7B9A63EEE178A353 /* CornerMask */, + A3106E3618084BB5CED059DED722874A /* Date */, + C87AF73D90BD019135C42DF89499A214 /* ObserverHelper */, + AFDAB7E7E086C05F41A9F92674E1CDB1 /* Other */, + 2238D58A406A3FB0839E0835C99D2C9C /* Photo */, + 4C28051B48DD033BB32D429282B34578 /* Queues */, + B1F945ACEDF472F1DAD8D2FFDFBCD38A /* Refresh */, + 725821FDC187D47B65CE787EF79A6F85 /* SQLite3 */, + 839276D8FFABFDA010081E6CE2CCE6C4 /* Support Files */, + 84EFA6DFB12672776BE4ED189B80B5CC /* Thread */, + CBBFD70E25192FB65381CE3010A9A446 /* UIMaker */, + ); + name = SJUIKit; + path = SJUIKit; + sourceTree = ""; + }; 10FE7B92D8F7360979594FFECF605C60 /* Model */ = { isa = PBXGroup; children = ( @@ -1408,17 +1426,6 @@ name = Pod; sourceTree = ""; }; - 173D062C1BAD0DBE0B39192AB64C1E57 /* Deprecated */ = { - isa = PBXGroup; - children = ( - F4CD2F77A1539C088FA4DCD3B68CF5D1 /* SJAttributesRecorder.h */, - 6DE7E8BAE1E13676D028B66EF4ADFF2D /* SJAttributesRecorder.m */, - A054AC6EEC6D52A27CF1CD795B10E38E /* SJAttributeWorker.h */, - C77A40E97B14AB10D1D8B18C61625A66 /* SJAttributeWorker.m */, - ); - name = Deprecated; - sourceTree = ""; - }; 18714AE6AD70928C2360B2EE322010B2 /* Adapters */ = { isa = PBXGroup; children = ( @@ -1429,15 +1436,6 @@ name = Adapters; sourceTree = ""; }; - 1F68304F1A458EA2E5E64BD1C651458C /* Thread */ = { - isa = PBXGroup; - children = ( - D9EA43E53FF901D0C11E37A4782CA3EA /* SJResidentThread.h */, - 85FA7F7C7EFECFE60B72A055E1A5E5B0 /* SJResidentThread.m */, - ); - name = Thread; - sourceTree = ""; - }; 2160C01C4A48F8962E9BAAAFE19BB536 /* Products */ = { isa = PBXGroup; children = ( @@ -1465,6 +1463,17 @@ name = SJMoreSettingControlLayer; sourceTree = ""; }; + 2238D58A406A3FB0839E0835C99D2C9C /* Photo */ = { + isa = PBXGroup; + children = ( + A76481138F57AC29C868A4327FA3C264 /* SJImagePickerController.h */, + E3331461FD4EA9E57E88067C7D363CB8 /* SJImagePickerController.m */, + C4C02BABE8102362CF86E5E43A8D41E6 /* UIImagePickerController+SJUIKitExtension.h */, + 9047E47E21AC76219B89FA63A5D14CEE /* UIImagePickerController+SJUIKitExtension.m */, + ); + name = Photo; + sourceTree = ""; + }; 252C4DCD6B419D943F6AD9CD2D76BD1A /* SDWebImage */ = { isa = PBXGroup; children = ( @@ -1499,15 +1508,6 @@ name = View; sourceTree = ""; }; - 2AB34F9D317D7023F1320FA94DE2F394 /* ObserverHelper */ = { - isa = PBXGroup; - children = ( - 9BECFFB035C3F448080B3863F6DE8039 /* NSObject+SJObserverHelper.h */, - 18838AEFD621717E52F2306B8E7A4674 /* NSObject+SJObserverHelper.m */, - ); - name = ObserverHelper; - sourceTree = ""; - }; 2CF42CC16C28F6F2B170B291DA90CB08 /* SJFloatSmallViewControlLayer */ = { isa = PBXGroup; children = ( @@ -1599,26 +1599,85 @@ name = Tool; sourceTree = ""; }; - 50C2B24942336A7F3E080E538B178D6C /* Date */ = { + 44F0F5020A08C3A535A5DF44FEB3ABE5 /* AsyncLoad */ = { isa = PBXGroup; children = ( - 272175E66842CB5DF4BA70E87E24C072 /* NSDate+SJAdded.h */, - 4AB031B62F0AD265C42B4ECC95D69DE2 /* NSDate+SJAdded.m */, + 9B6C4D0229809F5BDC9B2BCDCB82430B /* NSObject+SJAsyncLoad.h */, + 545D87662EFB244E8DB5092D40439D49 /* NSObject+SJAsyncLoad.m */, + E03B931E2D44DE9311A1B6CFD97DECA6 /* SJAsyncLoad.h */, + 35968F5FB971E4E0F7F397197C7840FB /* SJAsyncLoader.h */, + F8D11A18A536D853C43EB2C3980CA000 /* SJAsyncLoader.m */, + 96EAA4C03F3713283C76D7456B24A8E0 /* UIButton+AsyncLoadImage.h */, + 27344D4CA465EA4D2D55C84F7CED176A /* UIButton+AsyncLoadImage.m */, + C4B8AA5C88F19482E2BA44F7BAEBFB42 /* UIImageView+AsyncLoadImage.h */, + 9D0B15D0DC712218774251C1BE4F58B4 /* UIImageView+AsyncLoadImage.m */, + 2F0E98CE734C0A577DE7D063FFA043BC /* UILabel+AsyncLoad.h */, + 9E0907DC388067FED55FC958BFCE4113 /* UILabel+AsyncLoad.m */, + D96A9DEC0DF1BEFD2E8550F1BACE7C70 /* UISearchBar+AsyncLoad.h */, + C58EB40B723EFF2BC096399129719E3D /* UISearchBar+AsyncLoad.m */, + FD4550907377D96C5018662EAE7D8960 /* UITextField+AsyncLoadImage.h */, + ACE97BA8B4B484C1FDD061BBA278D6BA /* UITextField+AsyncLoadImage.m */, ); - name = Date; + name = AsyncLoad; sourceTree = ""; }; - 50F7167AC4CA835D66A4BB7D6E21A936 /* Other */ = { + 463DA4DEC9096B4096CFA28A8396016D /* Base */ = { isa = PBXGroup; children = ( - 8215572A6A4D40CAD4ECFC2AC953EBB9 /* SJApplicationInfo.h */, - 7EB24209A9FB9A9B8723F56B22A405B1 /* SJApplicationInfo.m */, - 735AE62BD528A48688E7A1707B1CCBCF /* SJObjectContainer.h */, - 04F7CE549A86FE47D68F9C1EEB69E15D /* SJObjectContainer.m */, - 41DCAB62C3A26B3A32F9A159FF0BDBAC /* UIViewController+SJModalAlert.h */, - 5C27DE0354E99CE3B1068BC90176E81E /* UIViewController+SJModalAlert.m */, + 97F72079271A251E3B8BF86D56B0A819 /* SJBase.h */, + 6932ABFA94149CDB79B93C840BE35815 /* SJBaseCollectionReusableView.h */, + 5BCDC5DAE7B495748D5AFBAC2EAC1F14 /* SJBaseCollectionReusableView.m */, + 4FF9D1C017AFFB67C4D2A9B71438CC57 /* SJBaseCollectionViewCell.h */, + 8CE0DCF419A0F183CC1891E53C906478 /* SJBaseCollectionViewCell.m */, + A583F52BC591F7AA29B162E98F4D0E30 /* SJBaseTableViewCell.h */, + 576D67D2AC44B0E9C41F1C002FC6A247 /* SJBaseTableViewCell.m */, + CA8C60A8CF9FB4487552B780370D70A3 /* SJBaseTableViewHeaderFooterView.h */, + 1E5F315DCA76F92583F1AB7DFA07A7D0 /* SJBaseTableViewHeaderFooterView.m */, + AB61D598BEE1895A5CDF6ABE0CED0242 /* SJBaseViewController.h */, + 20120183BAFA5D06DED5938E5FDC010A /* SJBaseViewController.m */, + B908121F9A240F255EEA729DA8464CCC /* Core */, ); - name = Other; + name = Base; + sourceTree = ""; + }; + 478F9FB731A4A18B2B6F5D18EC120A55 /* Core */ = { + isa = PBXGroup; + children = ( + 0005D25C7DFEC3C6E9FABF8299CAFBF3 /* SJSQLite3TableInfosCache.h */, + DBD21ECB9EF528A89A3D3C2936A7B77A /* SJSQLite3TableInfosCache.m */, + 95046FC428B764529DD460CBD3E05026 /* SJSQLiteColumnInfo.h */, + 57FA1EA26325D98AD12FE3CBAEFBF077 /* SJSQLiteColumnInfo.m */, + E9FFF70F1BD55E27F73AFF1E12317EA2 /* SJSQLiteCore.h */, + 4E7A4916CCC59ED219E48CBB993C9403 /* SJSQLiteCore.m */, + 00E4D0DBF3D9D75D2C027518AB685357 /* SJSQLiteErrors.h */, + 9AEB79F798E60CD20971809CCC62715C /* SJSQLiteErrors.m */, + 0AC10FB3DB3A50C89E932D6A08A9258A /* SJSQLiteObjectInfo.h */, + 88215546811F99CF0487EBF9FCC852AC /* SJSQLiteObjectInfo.m */, + 94B8EEDAF0418BCFAA3E1129D0355FE2 /* SJSQLiteTableInfo.h */, + 10E2D9C397BF702B25F36E3A2E5B8172 /* SJSQLiteTableInfo.m */, + DFAB14716E1C6FD508DF3011AFFF833B /* SJSQLiteTableModelConstraints.h */, + 6116DC8D7607B9C53622B06A3E640F7F /* SJSQLiteTableModelConstraints.m */, + ); + name = Core; + sourceTree = ""; + }; + 4C28051B48DD033BB32D429282B34578 /* Queues */ = { + isa = PBXGroup; + children = ( + B1C715E859474141505CA8F5A26B632F /* SJRunLoopTaskQueue.h */, + 843761EA90AF541CFEDEDAA8B110C566 /* SJRunLoopTaskQueue.m */, + 5862F35686B2DCD1144717D297FB368F /* SJTaskQueue.h */, + 0B19F8EBB0DCF195BD7D176257078E21 /* SJTaskQueue.m */, + ); + name = Queues; + sourceTree = ""; + }; + 4FE8290C33C9C01A42A621A804F46D99 /* Protocol */ = { + isa = PBXGroup; + children = ( + 9E6D3758829006C024E1DBD2512C4770 /* SJSQLiteTableModelProtocol.h */, + ); + name = Protocol; sourceTree = ""; }; 52BB709A5D70087120AE343A63A5BAED /* Support Files */ = { @@ -1771,27 +1830,16 @@ name = Core; sourceTree = ""; }; - 55AA914982BAAFC099CF4D5B3040C90E /* SJUIKit */ = { + 5568B6B5671FB31B8C4A0F66BA278EFD /* AttributesFactory */ = { isa = PBXGroup; children = ( - 77B4DF8F2EF6281AA3F386457D14A667 /* SJUIKit.h */, - F0FA62F21DE53AD057170B82FD9C2EAB /* AsyncLoad */, - 780BC99F3146B7B7623FBD1C327B5988 /* AttributesFactory */, - 7B29ACE1910C8C0514B97D3F6D89FF2C /* Base */, - 007E6C844426C3902252F83F679F0996 /* CornerMask */, - 50C2B24942336A7F3E080E538B178D6C /* Date */, - 2AB34F9D317D7023F1320FA94DE2F394 /* ObserverHelper */, - 50F7167AC4CA835D66A4BB7D6E21A936 /* Other */, - 823DD321DDE35FC9C02BD09FE6507194 /* Photo */, - 841E2E699D86E9F9737F88013D13708D /* Queues */, - F49F2271CAEB706D49669603A524F7BA /* Refresh */, - 77F4BB8D6A78023DC11CFC9BB2F82888 /* SQLite3 */, - 89CB1A5F8CAA497122D520A3C029C0F4 /* Support Files */, - 1F68304F1A458EA2E5E64BD1C651458C /* Thread */, - 72664080D84D1EFAF40EF99B446A82A3 /* UIMaker */, + 8718FB682F45705E1DCF112FC5A97A1C /* NSAttributedString+SJMake.h */, + 93737B08C2651E3972DE494F2CE35EA7 /* NSAttributedString+SJMake.m */, + F5E49E01D4E9ABAEC26CD90584BEC0F2 /* SJAttributesFactory.h */, + E4479B3710BA385024BA83C28EE9DB85 /* Deprecated */, + 6482F03BA6F263254AFE4928FE18D625 /* UIKitText */, ); - name = SJUIKit; - path = SJUIKit; + name = AttributesFactory; sourceTree = ""; }; 60313C0841AB5189AB7FB15139BC7011 /* Support Files */ = { @@ -1816,25 +1864,22 @@ name = SJFilmEditingControlLayer; sourceTree = ""; }; - 69F68493A060C8729AF8A634D171AC7C /* Core */ = { + 6482F03BA6F263254AFE4928FE18D625 /* UIKitText */ = { isa = PBXGroup; children = ( - 191B6964C14DD99319BC0202E92C7BDF /* SJSQLite3TableInfosCache.h */, - 05C5808482E6B4BB3081543F803369B0 /* SJSQLite3TableInfosCache.m */, - 3F75A7A8AAE6DE47E21BF6B56C0E2365 /* SJSQLiteColumnInfo.h */, - 63CBE7ECE407429263150F2B506F46DB /* SJSQLiteColumnInfo.m */, - 3545ED8B3539B0BACE787F040F1F218C /* SJSQLiteCore.h */, - 41C1CA26457B5BE489E3F6F60A1C8CE5 /* SJSQLiteCore.m */, - 09D82180BE7426A0F6F085FEBF441DE9 /* SJSQLiteErrors.h */, - D25C76C4DB6FB2DCEDCA972B239FA9DC /* SJSQLiteErrors.m */, - EBF2B4ADDEB946CB2DF5C5226027000C /* SJSQLiteObjectInfo.h */, - 020A680BF800BCB00927093DFD341AEA /* SJSQLiteObjectInfo.m */, - 2954E44531B42042B90421A7AE4700A9 /* SJSQLiteTableInfo.h */, - E44C8412B873E91242A628C0BD475FC6 /* SJSQLiteTableInfo.m */, - 870F3B05F79A2B24909342899AE7B1F7 /* SJSQLiteTableModelConstraints.h */, - 662FFCEA1ACD03560A1D635143AB5662 /* SJSQLiteTableModelConstraints.m */, + 1504CDAB1B4B0A69372226A184DD8FB7 /* SJUIKitAttributesDefines.h */, + 1A90D7EF01C8F943F30AB90050AE9B07 /* SJUIKitTextMaker.h */, + 84510DDCD523C8788EAE46EF5D292E4E /* SJUIKitTextMaker.m */, + 8B26E5CEBC2A64FC0CDE6D6FE03E1C8C /* SJUTAttributes.h */, + 40CD3F4DB91ED36DC749B8AEED8AAAFA /* SJUTAttributes.m */, + 63779788EC51D326E0531169CD89FD66 /* SJUTRangeHandler.h */, + BE5F542A7A6DFA29C2475AF5B82D0FCC /* SJUTRangeHandler.m */, + FC13F3C7274A38BF6602B095B486E136 /* SJUTRecorder.h */, + A91FC8D141005A04BD2D3974431A6BCD /* SJUTRecorder.m */, + DF09F42BB6B7D0F62E0D859C2DD8F1CD /* SJUTRegexHandler.h */, + 85C57A0DAF5DF6862FB5594AA5609421 /* SJUTRegexHandler.m */, ); - name = Core; + name = UIKitText; sourceTree = ""; }; 6E1FF49C30990D5A72C2AF9A8040EF34 /* Defines */ = { @@ -1857,14 +1902,19 @@ name = ResourceLoader; sourceTree = ""; }; - 72664080D84D1EFAF40EF99B446A82A3 /* UIMaker */ = { + 725821FDC187D47B65CE787EF79A6F85 /* SQLite3 */ = { isa = PBXGroup; children = ( - BFDC6AC59595907DEB5D566E4C132DC3 /* SJUIMaker.h */, - 0D17500D54C465BFA9CB9DEB77EC3C16 /* SJUIMaker.m */, - AA6C308E6FBF59A70B807005D13FCC7F /* Core */, + 4C39A6E1736B9F8C252F8C5BF14B083D /* SJSQLite3.h */, + 901ACA8274F85D1268E5D451905AFD30 /* SJSQLite3.m */, + 2AAD5D00BD80733E50034B77B9FAB1E2 /* SJSQLite3+FoundationExtended.h */, + 81AF5AC4E3D4BB9A9E75401BF0A35FB6 /* SJSQLite3+FoundationExtended.m */, + EC276C5EDF347F1C108D781BDA62EF41 /* SJSQLite3+QueryExtended.h */, + 95DC38DB98A5F5265F6AF8A870241FB5 /* SJSQLite3+QueryExtended.m */, + 478F9FB731A4A18B2B6F5D18EC120A55 /* Core */, + 4FE8290C33C9C01A42A621A804F46D99 /* Protocol */, ); - name = UIMaker; + name = SQLite3; sourceTree = ""; }; 778D379AC5E2B8E31246B17B1A4B32FD /* MJRefresh */ = { @@ -1918,50 +1968,6 @@ path = MJRefresh; sourceTree = ""; }; - 77F4BB8D6A78023DC11CFC9BB2F82888 /* SQLite3 */ = { - isa = PBXGroup; - children = ( - 189FB005C43CC693B758021189DAE19A /* SJSQLite3.h */, - 0C540D36AE3BBC3B0C49576D788DF868 /* SJSQLite3.m */, - 0B64745036F98784ABB8D782F757814C /* SJSQLite3+SJSQLite3Extended.h */, - 7392A2946EFA2F257E2E6CE5BB7D640A /* SJSQLite3+SJSQLite3Extended.m */, - 69F68493A060C8729AF8A634D171AC7C /* Core */, - A2610E18504765D05DBB329D65A02084 /* Protocol */, - ); - name = SQLite3; - sourceTree = ""; - }; - 780BC99F3146B7B7623FBD1C327B5988 /* AttributesFactory */ = { - isa = PBXGroup; - children = ( - 9BBBED7BC3EBF950DA6121F1AB26CFE1 /* NSAttributedString+SJMake.h */, - 1F98584DD1D6DD5F9AC0FDDB1CDA98CA /* NSAttributedString+SJMake.m */, - 4C581DAF1D94CBEEBB87E736BD93E749 /* SJAttributesFactory.h */, - 173D062C1BAD0DBE0B39192AB64C1E57 /* Deprecated */, - DF62903D29FD91FFE1D3AAF33263C505 /* UIKitText */, - ); - name = AttributesFactory; - sourceTree = ""; - }; - 7B29ACE1910C8C0514B97D3F6D89FF2C /* Base */ = { - isa = PBXGroup; - children = ( - D29F9E2CC4D10AA08A836A960799BC42 /* SJBase.h */, - 63D3A5EFE2E1CAE953A3A3B41301A39A /* SJBaseCollectionReusableView.h */, - 660AEE61125F99BCB5709688B5B7CA16 /* SJBaseCollectionReusableView.m */, - E0A8C9387250BF80491F5110ECD57D0E /* SJBaseCollectionViewCell.h */, - A8E00DC308EE0AB5CFEC8BC276752304 /* SJBaseCollectionViewCell.m */, - 7A0C474F82435809DFA3F08E465469D7 /* SJBaseTableViewCell.h */, - 5895178C9FD66DB15CF414E107681297 /* SJBaseTableViewCell.m */, - 156A6B9C84A3D5F54B36EC30742B66B8 /* SJBaseTableViewHeaderFooterView.h */, - 525265EC6763E95002DCC86A78F6AA15 /* SJBaseTableViewHeaderFooterView.m */, - 50CC3A34D705AB4CACE3402DE91EE067 /* SJBaseViewController.h */, - B5B6351D3D6CB331D9D692C3AF0DAC15 /* SJBaseViewController.m */, - B1EEAD4D5465FA30CD3DB99FA6CBF8DA /* Core */, - ); - name = Base; - sourceTree = ""; - }; 7CC0D48759BB7EF143E564B03D085BE6 /* Resources */ = { isa = PBXGroup; children = ( @@ -1970,26 +1976,24 @@ name = Resources; sourceTree = ""; }; - 823DD321DDE35FC9C02BD09FE6507194 /* Photo */ = { + 839276D8FFABFDA010081E6CE2CCE6C4 /* Support Files */ = { isa = PBXGroup; children = ( - 6A72A9A95BB1A65DC085F9D462349305 /* SJImagePickerController.h */, - 9350F2EA46CC963FADC7E95F0378E19E /* SJImagePickerController.m */, - 96E6898549CD02FC815FCC6AC04B23AE /* UIImagePickerController+SJUIKitExtension.h */, - FD7A34BF78411DFB5D08701C3427051E /* UIImagePickerController+SJUIKitExtension.m */, + 06CB8BF1F34FD86F4293BE7B43FFDDD9 /* SJUIKit.xcconfig */, + 13197C9A48BD7F649D3186FE3F094B2F /* SJUIKit-dummy.m */, + 75FE91189BA19DB82EB5509DF7A1E0A0 /* SJUIKit-prefix.pch */, ); - name = Photo; + name = "Support Files"; + path = "../Target Support Files/SJUIKit"; sourceTree = ""; }; - 841E2E699D86E9F9737F88013D13708D /* Queues */ = { + 84EFA6DFB12672776BE4ED189B80B5CC /* Thread */ = { isa = PBXGroup; children = ( - 1E59A15B0BBB55621668730FDF99C3BE /* SJRunLoopTaskQueue.h */, - 9120AF0DD1070A758973131DCBE34FA8 /* SJRunLoopTaskQueue.m */, - C006FED401BB7B5A2B5914CA8DF77857 /* SJTaskQueue.h */, - 331B38F912964B2C6F5ECE3058A54622 /* SJTaskQueue.m */, + B8F2B3FB6CC885F1DBBAF48B858A9BD1 /* SJResidentThread.h */, + 972E67A1F4216FA5970803C712431109 /* SJResidentThread.m */, ); - name = Queues; + name = Thread; sourceTree = ""; }; 8507B823AF5C6C82673E912F12EA334F /* Header */ = { @@ -2049,17 +2053,6 @@ path = "../Target Support Files/SJFullscreenPopGesture"; sourceTree = ""; }; - 89CB1A5F8CAA497122D520A3C029C0F4 /* Support Files */ = { - isa = PBXGroup; - children = ( - 56B6983D1A6F9BE03422D71213C59F2E /* SJUIKit.xcconfig */, - C7ECA200646FBD18E81326F3B2FCC7FA /* SJUIKit-dummy.m */, - C6ECDE396A9538A25B3B45EF9BC3581F /* SJUIKit-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/SJUIKit"; - sourceTree = ""; - }; 89FCDCDDB2C1294ADFC061A0A9FA5E1D /* SJBaseVideoPlayer */ = { isa = PBXGroup; children = ( @@ -2136,12 +2129,13 @@ path = SJVideoPlayer/SJFilmEditingControlLayer/Core/View; sourceTree = ""; }; - A2610E18504765D05DBB329D65A02084 /* Protocol */ = { + A3106E3618084BB5CED059DED722874A /* Date */ = { isa = PBXGroup; children = ( - C8AA5C79F911E138A900B72EDAAD7B92 /* SJSQLiteTableModelProtocol.h */, + FBD0FC805D3F19DC79D6DF2FDAAF801C /* NSDate+SJAdded.h */, + 716D6389AE3F411BA4309292B2BA3932 /* NSDate+SJAdded.m */, ); - name = Protocol; + name = Date; sourceTree = ""; }; A5C7ECB8CCAE363CDE1096201C795C93 /* SJNotReachableControlLayer */ = { @@ -2162,15 +2156,6 @@ name = Core; sourceTree = ""; }; - AA6C308E6FBF59A70B807005D13FCC7F /* Core */ = { - isa = PBXGroup; - children = ( - EF274611F5F93F98FC4CB00FBC99BA1B /* SJMakeView.h */, - 5B24DE71E85DA05981EBC084174E3AAA /* SJMakeView.m */, - ); - name = Core; - sourceTree = ""; - }; AB88545DDB181AA139CCFCE41CB2821D /* Core */ = { isa = PBXGroup; children = ( @@ -2192,18 +2177,37 @@ name = Core; sourceTree = ""; }; - B1EEAD4D5465FA30CD3DB99FA6CBF8DA /* Core */ = { + AFDAB7E7E086C05F41A9F92674E1CDB1 /* Other */ = { isa = PBXGroup; children = ( - 4D8CB554BE5D14D81B4E2CF6BEBCF12D /* SJAppearStateObserver.h */, - 8511FB22C2CB97606689B44DD1C9CBB4 /* SJAppearStateObserver.m */, - 40AB01D6F1F0371163E77BB29A6DEF18 /* SJBaseProtocols.h */, - 85CE1E8216E9DA99B94494B970D93303 /* SJStatusBarManager.h */, - 92D88EC280F498F4B2CB8C60CB23E9C1 /* SJStatusBarManager.m */, + 5FC9E02D7CD54E1547EEFF5A10975C28 /* SJApplicationInfo.h */, + 6E68224A078AD6D34730FF9E20480ED5 /* SJApplicationInfo.m */, + EAE6D85B2A93A3D1D599AB12ED572BB1 /* SJObjectContainer.h */, + 9AE2DC39E81D29DEC5B115C4AC4D8CB2 /* SJObjectContainer.m */, + 796429D825DE9340F1D82F2211FB7474 /* UIViewController+SJModalAlert.h */, + 2E828F07FD34A96CE5074794DEFBA268 /* UIViewController+SJModalAlert.m */, + ); + name = Other; + sourceTree = ""; + }; + AFEC844245495B9D5D1B447B1D5CC45F /* Core */ = { + isa = PBXGroup; + children = ( + DD42A555A0CBDE1DCA29021ABBEC162A /* SJMakeView.h */, + 1994C280E1CBA737130EC6E2FC2F656C /* SJMakeView.m */, ); name = Core; sourceTree = ""; }; + B1F945ACEDF472F1DAD8D2FFDFBCD38A /* Refresh */ = { + isa = PBXGroup; + children = ( + 72ED3101886FF485364EF284D1246726 /* UIScrollView+SJRefreshAdd.h */, + 917F699E7320C752467EF643163E99E2 /* UIScrollView+SJRefreshAdd.m */, + ); + name = Refresh; + sourceTree = ""; + }; B521E6037EBD24BD67C5E6A3B537AA0E /* Resources */ = { isa = PBXGroup; children = ( @@ -2212,6 +2216,18 @@ name = Resources; sourceTree = ""; }; + B908121F9A240F255EEA729DA8464CCC /* Core */ = { + isa = PBXGroup; + children = ( + 06A6B29986270BC6B2936CF07A37E3E3 /* SJAppearStateObserver.h */, + C1D8B52A81BA06D4DD2C7A06FF8A0198 /* SJAppearStateObserver.m */, + 9360B2122F0164AD3EF8C193075D9EF9 /* SJBaseProtocols.h */, + 03386C271EFF90C28D43E0B157F8F758 /* SJStatusBarManager.h */, + 439A30CEBC0A1E60C3CC90B9C2474AE3 /* SJStatusBarManager.m */, + ); + name = Core; + sourceTree = ""; + }; BB52607E0A14B54CE1839333643971C6 /* Support Files */ = { isa = PBXGroup; children = ( @@ -2295,6 +2311,25 @@ name = ResourceLoader; sourceTree = ""; }; + C87AF73D90BD019135C42DF89499A214 /* ObserverHelper */ = { + isa = PBXGroup; + children = ( + 91679E993CA0486BE2C1BE39602FD2A1 /* NSObject+SJObserverHelper.h */, + 720DE0F9408C9319F00B7FD48860DC34 /* NSObject+SJObserverHelper.m */, + ); + name = ObserverHelper; + sourceTree = ""; + }; + CBBFD70E25192FB65381CE3010A9A446 /* UIMaker */ = { + isa = PBXGroup; + children = ( + 87B6D2E8D22C1BD4E8A88E4F521AE7F9 /* SJUIMaker.h */, + E09849EB384AFC47872CD59D7B1A1C76 /* SJUIMaker.m */, + AFEC844245495B9D5D1B447B1D5CC45F /* Core */, + ); + name = UIMaker; + sourceTree = ""; + }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -2341,24 +2376,6 @@ path = SJVideoPlayer/SJFilmEditingControlLayer/Core/Header; sourceTree = ""; }; - DF62903D29FD91FFE1D3AAF33263C505 /* UIKitText */ = { - isa = PBXGroup; - children = ( - 3B29BBC86C294FD85AAAE0649C455A7B /* SJUIKitAttributesDefines.h */, - 9EA0F2937DF1D8E059AC7E337B0AE334 /* SJUIKitTextMaker.h */, - 00655F957C33C6C3E40B51C6341FC321 /* SJUIKitTextMaker.m */, - 334072250E5D30CA9FC79E19CE354377 /* SJUTAttributes.h */, - 215DEC7CA89661913B7636DF3DF0CFC3 /* SJUTAttributes.m */, - E7FCE1C93505E160CE54D75F32E9EA9A /* SJUTRangeHandler.h */, - D513A3E2FF8CD5AFFE161D8AA31FB065 /* SJUTRangeHandler.m */, - 6BD4FC15FDB5D364579B54D2520CC83B /* SJUTRecorder.h */, - FCFEBA952A3C4C65733FC6B66480ADB2 /* SJUTRecorder.m */, - F65324FA3EC730E0D5E08E929CE6150E /* SJUTRegexHandler.h */, - 830098D0BD734C84DE2E2FCF02FDEC4B /* SJUTRegexHandler.m */, - ); - name = UIKitText; - sourceTree = ""; - }; DF71C5812A0FA5709C19A130AF1000FC /* Support Files */ = { isa = PBXGroup; children = ( @@ -2382,6 +2399,17 @@ path = SJRouter; sourceTree = ""; }; + E4479B3710BA385024BA83C28EE9DB85 /* Deprecated */ = { + isa = PBXGroup; + children = ( + 9D4CF6443A6DB58DADBEDED4895C017F /* SJAttributesRecorder.h */, + C43683102EDD18C6792B0059454D94AA /* SJAttributesRecorder.m */, + 6E92063949508ADC4CC8322A5B0E0E95 /* SJAttributeWorker.h */, + A28B5F569BAA524372C844D3B518ABC0 /* SJAttributeWorker.m */, + ); + name = Deprecated; + sourceTree = ""; + }; E86A89FF90001EBCFF63DF19AE1C48D8 /* Pods */ = { isa = PBXGroup; children = ( @@ -2393,7 +2421,7 @@ 0A798D7A80B7097518429AED81D82079 /* SJFullscreenPopGesture */, FA0261429B4F4F3B194C2B433CC55EF1 /* SJPlaybackListController */, E13CF4594FD9B4B96F4AE75F5C6F09B8 /* SJRouter */, - 55AA914982BAAFC099CF4D5B3040C90E /* SJUIKit */, + 0E84C5D15CC37FAA6A4A3A69070A6AD4 /* SJUIKit */, ); name = Pods; sourceTree = ""; @@ -2457,26 +2485,13 @@ path = "../Target Support Files/SJPlaybackListController"; sourceTree = ""; }; - F0FA62F21DE53AD057170B82FD9C2EAB /* AsyncLoad */ = { + F08225604458CD7F7B9A63EEE178A353 /* CornerMask */ = { isa = PBXGroup; children = ( - 2C8D87DA5617DAD1209E2481FB4B627D /* NSObject+SJAsyncLoad.h */, - DD1CC8ABF01DFC7372A2AF0C728DB6F2 /* NSObject+SJAsyncLoad.m */, - B1EC9EFB8FFE64AF99F02EC1DCB59A2F /* SJAsyncLoad.h */, - 5995EFA4EF56B60FAF16949FC2F85543 /* SJAsyncLoader.h */, - BED3C0209A0BF9036154A295ABF1127D /* SJAsyncLoader.m */, - EF438F69648668C20BD5E858FCF9B4A9 /* UIButton+AsyncLoadImage.h */, - 243525525EDCCF15938C30F5538999C2 /* UIButton+AsyncLoadImage.m */, - 7775956A4104BAA1E09A39B470EE1825 /* UIImageView+AsyncLoadImage.h */, - A33335EE3BC974D86F780E05BEF6C0D9 /* UIImageView+AsyncLoadImage.m */, - 4843D03B155C9874795A2BEFC8330563 /* UILabel+AsyncLoad.h */, - 61444BEC4C1A973C9C3F66E484E0C825 /* UILabel+AsyncLoad.m */, - D3119C48F58EDD0A16DEFFFEBF857D35 /* UISearchBar+AsyncLoad.h */, - B7900355130F873EFEF39E3C6DD82DF9 /* UISearchBar+AsyncLoad.m */, - 9D3852D0A904DE85BF14F2A3E333E25A /* UITextField+AsyncLoadImage.h */, - EABFD023A6C3B904A5B7385D97C55E9B /* UITextField+AsyncLoadImage.m */, + 8057AD296D9C59290223140651E0B508 /* SJCornerMask.h */, + 3BAE5AC69BC08E62FCD1336DFD08D6F9 /* SJCornerMask.m */, ); - name = AsyncLoad; + name = CornerMask; sourceTree = ""; }; F2727CF4356DE326486132B4AD9EB785 /* Core */ = { @@ -2502,15 +2517,6 @@ name = Core; sourceTree = ""; }; - F49F2271CAEB706D49669603A524F7BA /* Refresh */ = { - isa = PBXGroup; - children = ( - A768CB3AE4C2493F3000FEC62C3E2CCE /* UIScrollView+SJRefreshAdd.h */, - 38A5BCFF7E0163080A63F07DB4206A2F /* UIScrollView+SJRefreshAdd.m */, - ); - name = Refresh; - sourceTree = ""; - }; F799D45C5F157C40D1CFB43B32A1178D /* Common */ = { isa = PBXGroup; children = ( @@ -2599,65 +2605,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6243EF581102639D90BCC954027DAB6E /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 39254DF9CF95FB24DBC44D725ED237E4 /* NSAttributedString+SJMake.h in Headers */, - C6A233FD8E2BE3F9C0140E2AEC2D108E /* NSDate+SJAdded.h in Headers */, - DEB4FE628B2BCA3C422BD5A0ADD26242 /* NSObject+SJAsyncLoad.h in Headers */, - 5B438597607BEBE0090C85C2206F14F9 /* NSObject+SJObserverHelper.h in Headers */, - 091DC67346F0EB1E8CAA0FED6B64A6B9 /* SJAppearStateObserver.h in Headers */, - A5E932873C79AB3C259237B79E8E5369 /* SJApplicationInfo.h in Headers */, - A5E9934CC9D60141D2F682EA37ED825D /* SJAsyncLoad.h in Headers */, - F867269D978E300536116270EF2692E7 /* SJAsyncLoader.h in Headers */, - 2853A161B324BEFA394885072A24E45E /* SJAttributesFactory.h in Headers */, - 15219053FB39BC033F368BDEC2E1607A /* SJAttributesRecorder.h in Headers */, - A4C5350704BD8584C4C641B4BB6F6BDE /* SJAttributeWorker.h in Headers */, - 13C9179471DDB19EAA3F3AA36DBAFC28 /* SJBase.h in Headers */, - 87C4CB6A1A594384F132FF69D317AC05 /* SJBaseCollectionReusableView.h in Headers */, - 1ECCD52A0127F71DEC8182C09D0B3B4B /* SJBaseCollectionViewCell.h in Headers */, - 6669EF671ADC46B132856F138C1CCFD4 /* SJBaseProtocols.h in Headers */, - 2CFA7FDA980BD89F1920153F77E032CC /* SJBaseTableViewCell.h in Headers */, - D77EDCC994533E04C867AEAAEE80682E /* SJBaseTableViewHeaderFooterView.h in Headers */, - 66ADF3855AB5AA31C61453E4B7CAE693 /* SJBaseViewController.h in Headers */, - 54543C09EFA938E8C24ECB4B297910AB /* SJCornerMask.h in Headers */, - C3227145161241A9F5DA58486D9F7FFB /* SJImagePickerController.h in Headers */, - 92E1C97BF9286BC6E8A4296BF24F3DB0 /* SJMakeView.h in Headers */, - 0787EB107E6A1CDE4917DCAB1B8CDA9D /* SJObjectContainer.h in Headers */, - 04C0DDD01540A87E03B6419086466B58 /* SJResidentThread.h in Headers */, - 546FF5459653114897FCB1473F536E35 /* SJRunLoopTaskQueue.h in Headers */, - 2891FF15D7344A225D6BCEC39EB64FCC /* SJSQLite3+SJSQLite3Extended.h in Headers */, - 224D65B49E14D5656AC980791AF24637 /* SJSQLite3.h in Headers */, - ED49B08976E3E33AB886DCAD40006389 /* SJSQLite3TableInfosCache.h in Headers */, - 58A405BA84D7270ECAB859B967772310 /* SJSQLiteColumnInfo.h in Headers */, - AEB79EA0E11470BC398A963DEAE7518A /* SJSQLiteCore.h in Headers */, - 84AFBF9E0FC42718BC42CF5576F74069 /* SJSQLiteErrors.h in Headers */, - 33AF81B29C4B4C1BAA14BEB5343A9566 /* SJSQLiteObjectInfo.h in Headers */, - 6BF65987C9CC22CB908D90AFFE4542AD /* SJSQLiteTableInfo.h in Headers */, - 158155FD622E4153056762EF5EF42E5B /* SJSQLiteTableModelConstraints.h in Headers */, - CFF21225C2908B765AFF80550E37D59A /* SJSQLiteTableModelProtocol.h in Headers */, - 378009DC2233B9EF2DCB9C75291605AB /* SJStatusBarManager.h in Headers */, - 48CC33B07B878EC77AED7D78A3C16AF5 /* SJTaskQueue.h in Headers */, - AB6D1D573F9DCF3D5269D380EB8945A4 /* SJUIKit.h in Headers */, - F923AB725D01431715F37399696D37C6 /* SJUIKitAttributesDefines.h in Headers */, - 8F600BAF48C85F37C3CED4600A6D0683 /* SJUIKitTextMaker.h in Headers */, - 77CE502691CEEB1CAA240516F6E08875 /* SJUIMaker.h in Headers */, - 344045E111AB633431A6C419F45F9848 /* SJUTAttributes.h in Headers */, - B04B6EFBE87AA0E2ABA4122AB748F40C /* SJUTRangeHandler.h in Headers */, - D2EC1D93FB256BB4F32974D024E22593 /* SJUTRecorder.h in Headers */, - E1AC45614318FA57A6C492841113E502 /* SJUTRegexHandler.h in Headers */, - 08B320A436C903386710C87A89339639 /* UIButton+AsyncLoadImage.h in Headers */, - 03ECB5C8D2EB35B08D23F529BFE86481 /* UIImagePickerController+SJUIKitExtension.h in Headers */, - 6CD3F89544CAA5D0278358105A2F4892 /* UIImageView+AsyncLoadImage.h in Headers */, - DB96F89B00830FBAA272D60E92DE964B /* UILabel+AsyncLoad.h in Headers */, - EF5A687BB31CD40DD3C407D189C6D76F /* UIScrollView+SJRefreshAdd.h in Headers */, - CC6C24077FD40F7734462F4FBF0930C5 /* UISearchBar+AsyncLoad.h in Headers */, - 6CAB90002991B9CBFB8D48175F47C4E1 /* UITextField+AsyncLoadImage.h in Headers */, - 527EBD752EB76DDD1249A4E16B44E86E /* UIViewController+SJModalAlert.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 66A1D471291168D8FFF029C15941A03B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2800,6 +2747,66 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AA55F8AD402ED6AA4C8C4AE2A76E2E4E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 7713AD990D1347AB44E682AD062D919A /* NSAttributedString+SJMake.h in Headers */, + 91184D0ACE51179960674C9EDDE0B286 /* NSDate+SJAdded.h in Headers */, + C99513198129C90DB95F3470EA0CEB71 /* NSObject+SJAsyncLoad.h in Headers */, + A9B8229A346AF232C91CB02D60B19344 /* NSObject+SJObserverHelper.h in Headers */, + B7E820F16466AFF4BD9D6E20407512D5 /* SJAppearStateObserver.h in Headers */, + B2469946B52B9481C47A7AEDA82834CE /* SJApplicationInfo.h in Headers */, + 568E3081F76ABD9522D86B6A4E0E5939 /* SJAsyncLoad.h in Headers */, + 605980761940243610E334AE814F14AF /* SJAsyncLoader.h in Headers */, + 9C7E87916679F8EF5110DC4451D6EFDE /* SJAttributesFactory.h in Headers */, + 2E1DC016A0100E042AE3413DAA7E394A /* SJAttributesRecorder.h in Headers */, + 112834DC2F7C7F440C949046D4939E34 /* SJAttributeWorker.h in Headers */, + 3AB0EEFEF5E6FA757238D35ECE325457 /* SJBase.h in Headers */, + 69E55104107710D09612B3B817AFA5B6 /* SJBaseCollectionReusableView.h in Headers */, + D15D66318BE528EF07AAF2ADC7D08F21 /* SJBaseCollectionViewCell.h in Headers */, + 9BA8976994ACCA2E42F98E9540499E8C /* SJBaseProtocols.h in Headers */, + ED00809F38340D1C40D0DC9F133FA329 /* SJBaseTableViewCell.h in Headers */, + BF2F4A1A92B37C41AB47576F7A475159 /* SJBaseTableViewHeaderFooterView.h in Headers */, + F7FAD493042E5E7A5788809766E6F4E6 /* SJBaseViewController.h in Headers */, + 3C59832362D28D7BEDB7BC1405C4A34A /* SJCornerMask.h in Headers */, + FE6DBFEC4CA159EE683C4167765C5B56 /* SJImagePickerController.h in Headers */, + A11FD5424E3645C8099ECF36A94BC1D4 /* SJMakeView.h in Headers */, + F4B3ACDE4F2B448EC0769A0A2625300F /* SJObjectContainer.h in Headers */, + 4F078E0FB44606E185A87D91C22642A7 /* SJResidentThread.h in Headers */, + EE587BACE48B1819D389C7FE6C2A1AB3 /* SJRunLoopTaskQueue.h in Headers */, + 3970D5A6F9280A8E0CA501B571D0A7E9 /* SJSQLite3+FoundationExtended.h in Headers */, + 056E109274591D9C831A579CF0939200 /* SJSQLite3+QueryExtended.h in Headers */, + 3A297154F8AD10B4697498A70B699659 /* SJSQLite3.h in Headers */, + 52FEFC823EF6DBD215E72FCAD7604D51 /* SJSQLite3TableInfosCache.h in Headers */, + FE9C4F7055F03C37BBE94CF41FF55607 /* SJSQLiteColumnInfo.h in Headers */, + F81BD5291F17C7E56EF1150F69EE54C6 /* SJSQLiteCore.h in Headers */, + B0E814B76616A4FCFDB91D474663C4AB /* SJSQLiteErrors.h in Headers */, + 7A69D30874E2BF49992E34A132586F9F /* SJSQLiteObjectInfo.h in Headers */, + 32993DEF2C304EDB65049AC33192AF2C /* SJSQLiteTableInfo.h in Headers */, + B64787A975CAE4BD9046C07B3D7A417C /* SJSQLiteTableModelConstraints.h in Headers */, + FC9C86BAE49D5F8B041DDC502739F154 /* SJSQLiteTableModelProtocol.h in Headers */, + D21E48054DE30D0AD00FCE6EA65636FC /* SJStatusBarManager.h in Headers */, + F98DB5AAA613456D01E0FCAC5642E4EC /* SJTaskQueue.h in Headers */, + 0E2F5F5DD465303748A994B4F104866E /* SJUIKit.h in Headers */, + D02949EBF439D771273C98ADA5ABF238 /* SJUIKitAttributesDefines.h in Headers */, + 672811BB6E44950E6FDF1E0AE1A490AB /* SJUIKitTextMaker.h in Headers */, + 94A01BEF0A01D997F4C8ECFD5EF8C619 /* SJUIMaker.h in Headers */, + BA93F0A2956593C8BAAFFDEB9F3B6563 /* SJUTAttributes.h in Headers */, + 19CC06D77F2270A52DDB5E0115B1E80F /* SJUTRangeHandler.h in Headers */, + 8BDC021BDDD0A8589FF8439C94FF1BD1 /* SJUTRecorder.h in Headers */, + 4E8D4F93F3E3809C01683209BEE3BDCE /* SJUTRegexHandler.h in Headers */, + 8B15121A0E7855BC4DEF5365AD0EBADF /* UIButton+AsyncLoadImage.h in Headers */, + 906A8E94FA2A6787AD2C55F331D845C9 /* UIImagePickerController+SJUIKitExtension.h in Headers */, + E7E7DB1ED76F0D9EAF07D73A14A8D904 /* UIImageView+AsyncLoadImage.h in Headers */, + 14162E7B75E41EE4EDA81B417119DC52 /* UILabel+AsyncLoad.h in Headers */, + 066BACB51330F484AB3EFE5831FC1E9E /* UIScrollView+SJRefreshAdd.h in Headers */, + ABE2E45C891BF9FDBF24E0CB4E805B45 /* UISearchBar+AsyncLoad.h in Headers */, + 280CAD00C73CDA4162E3FAFAB55639DB /* UITextField+AsyncLoadImage.h in Headers */, + 00F0DCBC252AF54EC576BF1811789B15 /* UIViewController+SJModalAlert.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B01D96F89BE644DFDDDB1E5B0B1DBEDF /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2941,8 +2948,8 @@ isa = PBXNativeTarget; buildConfigurationList = F7983F8766277AB807B0B59353C9017F /* Build configuration list for PBXNativeTarget "SJUIKit" */; buildPhases = ( - 6243EF581102639D90BCC954027DAB6E /* Headers */, - 6D0AD07AD150223829F8442B2BFCEB4A /* Sources */, + AA55F8AD402ED6AA4C8C4AE2A76E2E4E /* Headers */, + F96AEB6B50328C56BC744ADBFF184D7F /* Sources */, 3E5569409BCA309440DF391730D9CFDF /* Frameworks */, ); buildRules = ( @@ -3237,59 +3244,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6D0AD07AD150223829F8442B2BFCEB4A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FD55992A27258CECBCF3FC62543F4A01 /* NSAttributedString+SJMake.m in Sources */, - F83795ABA2DEFFB33BF2EB37FA7D99D5 /* NSDate+SJAdded.m in Sources */, - C06FA3AEFD941102D1FFAA1AF5E70EE9 /* NSObject+SJAsyncLoad.m in Sources */, - 055C62023B12D6F05B07AB0A5F245B0B /* NSObject+SJObserverHelper.m in Sources */, - C03C0D8155F6FE471E8C648ED6D1F259 /* SJAppearStateObserver.m in Sources */, - 4ACCBDD53807E3BCC4EBB657F52DBB5F /* SJApplicationInfo.m in Sources */, - E6CF46CA24ED2704C59BF0ABEC0AC121 /* SJAsyncLoader.m in Sources */, - 0E5A68C7446BB84F85EA798CCE52C09D /* SJAttributesRecorder.m in Sources */, - F93F91313DA59F49E636CB2A0C78628F /* SJAttributeWorker.m in Sources */, - CE04F395824952B5D3E0B631D7DC3B5D /* SJBaseCollectionReusableView.m in Sources */, - 8ED05020002FB6AD569585E64DAC0098 /* SJBaseCollectionViewCell.m in Sources */, - F14831422A5E0F157423F2A8B06EFE07 /* SJBaseTableViewCell.m in Sources */, - 255D17A8887DA7D5C4A2C8C0A0B4A856 /* SJBaseTableViewHeaderFooterView.m in Sources */, - 71C13684FEA54F9E0F84A6E5DCCAC5F4 /* SJBaseViewController.m in Sources */, - 2B72209E13B9A9E622734D1121F3F5EB /* SJCornerMask.m in Sources */, - 9D845476CF01E3F186F13BD63187F021 /* SJImagePickerController.m in Sources */, - A45A9140F3B4EB69F894C69DFFB84C2C /* SJMakeView.m in Sources */, - 563033C54A773ACFCFE92E2B12B8A264 /* SJObjectContainer.m in Sources */, - 8816833A51EBA8420E53E8AC2F6BF802 /* SJResidentThread.m in Sources */, - 6C97D152D8422C52EE3C414CD481705D /* SJRunLoopTaskQueue.m in Sources */, - 716E8FB0E725CB8AA7E6C11FB2B6A81E /* SJSQLite3+SJSQLite3Extended.m in Sources */, - 088D39F40F437362D3425E7878F4D7CA /* SJSQLite3.m in Sources */, - 71ED41E4052471B2D24133EF671C40E2 /* SJSQLite3TableInfosCache.m in Sources */, - 561A2159318006C5AEB8E29878176B56 /* SJSQLiteColumnInfo.m in Sources */, - 052CC8C52F862C7E015FB540713B763E /* SJSQLiteCore.m in Sources */, - 8EB9ADBCEB6168FBBB45FEC87502C3C7 /* SJSQLiteErrors.m in Sources */, - 699F1D98C1A0A7FB3EEC7F985F520B59 /* SJSQLiteObjectInfo.m in Sources */, - 3D851A7ACBADFE2A3C68EDF78C0F0F6A /* SJSQLiteTableInfo.m in Sources */, - 4E5D60B59D5EAB05DAFCE207CEA69862 /* SJSQLiteTableModelConstraints.m in Sources */, - 5CFCAC974FDF8DEEE19C91378FD265B6 /* SJStatusBarManager.m in Sources */, - 6D069483423BBD2EE9FF6A3FE7201FF7 /* SJTaskQueue.m in Sources */, - B0683BAC0EF5A25F4EFD877E620EA428 /* SJUIKit-dummy.m in Sources */, - B70CD9718271785F6C9CE0B3BBFE0C9E /* SJUIKitTextMaker.m in Sources */, - B3CDE96845F948AB53D5605BC2E4AC8C /* SJUIMaker.m in Sources */, - 662B6E19D6F636B9251263CE2E5441AE /* SJUTAttributes.m in Sources */, - 38983B62B1C85A79C98D958D34F52B0D /* SJUTRangeHandler.m in Sources */, - F5677C01E8B8206E09EB086411A26A3D /* SJUTRecorder.m in Sources */, - D1BA5939A79D2A21DEB870A29782D832 /* SJUTRegexHandler.m in Sources */, - 7EDAAD73E3AEDAD2C10F47DBE45E47F9 /* UIButton+AsyncLoadImage.m in Sources */, - 82138D12E7D4C166C19721A79397656B /* UIImagePickerController+SJUIKitExtension.m in Sources */, - CE6777DD2AA5D00FDD011FAC60D09F56 /* UIImageView+AsyncLoadImage.m in Sources */, - 73802D6693412B4B9D1F10D14160CCC8 /* UILabel+AsyncLoad.m in Sources */, - 46CC7CA695319BE56AA5F9EA0861352E /* UIScrollView+SJRefreshAdd.m in Sources */, - 172064FD97C8B5DC0F5EC3E8D753A4BB /* UISearchBar+AsyncLoad.m in Sources */, - 9FECB4AEFC52F112E8F412997606F01C /* UITextField+AsyncLoadImage.m in Sources */, - 8A5B45C4EC1C9E28BA8FF3F9A3D37AE8 /* UIViewController+SJModalAlert.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7989C46CD52F116C0C022C855B301E59 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3459,6 +3413,60 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F96AEB6B50328C56BC744ADBFF184D7F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1DCA797C0B5C411CE6F78AF7E212DFAD /* NSAttributedString+SJMake.m in Sources */, + F5AE89F71679049D31A7DFE65623013C /* NSDate+SJAdded.m in Sources */, + 6EFD0523A505EC765B14FFBB98C424C3 /* NSObject+SJAsyncLoad.m in Sources */, + 84F1AE7A3DFEADA2E9F532252CF1F43F /* NSObject+SJObserverHelper.m in Sources */, + AA2B156A1819E8098D57E8CF030271C6 /* SJAppearStateObserver.m in Sources */, + 9EE1EFB6591C7E511AE608516D0299BC /* SJApplicationInfo.m in Sources */, + 56D7EFD472BFD82FF784DDEC276CECF1 /* SJAsyncLoader.m in Sources */, + E53B644868634C2BCA1C23AD72346810 /* SJAttributesRecorder.m in Sources */, + 63228E57F4589197DB3D679C76BB30D8 /* SJAttributeWorker.m in Sources */, + E982765DD0F0323118EA67337FE0DA8D /* SJBaseCollectionReusableView.m in Sources */, + 268AC1E39B2E2A7669C5425CBE94E263 /* SJBaseCollectionViewCell.m in Sources */, + 4D71CD62D34720931C002A1947EDA806 /* SJBaseTableViewCell.m in Sources */, + CF3C9BD8740B06EB167E3CEA82520970 /* SJBaseTableViewHeaderFooterView.m in Sources */, + A998E4C02AA687473FCA4CAD093785E4 /* SJBaseViewController.m in Sources */, + 7DA4D5124D72C1E322A43D2CB8413700 /* SJCornerMask.m in Sources */, + 5718E585FB8E0C057D63B7EA05341846 /* SJImagePickerController.m in Sources */, + D372A9EE9FD5F79E4FB336231A753A4B /* SJMakeView.m in Sources */, + DB62F45E86D2AD789282029B8E0D3E56 /* SJObjectContainer.m in Sources */, + 08AE97E6FA9CDEC5413B15B797DC52BB /* SJResidentThread.m in Sources */, + A06AAE80F9F01D4E61406CB093721B8C /* SJRunLoopTaskQueue.m in Sources */, + 5E1401D0A907BCC130E7118882864428 /* SJSQLite3+FoundationExtended.m in Sources */, + 9CA337EF700189050D49E632362CC25A /* SJSQLite3+QueryExtended.m in Sources */, + 91F78C43317D54848F543094CE969D39 /* SJSQLite3.m in Sources */, + 2CA2AFD9C30DC90BA9C1FC8D9543CD7E /* SJSQLite3TableInfosCache.m in Sources */, + A00EDD82370ACDB2BCEAC72D1147AECA /* SJSQLiteColumnInfo.m in Sources */, + 5B93E550DD8A2315F04D28CFD6833A29 /* SJSQLiteCore.m in Sources */, + 8E38E62A0FC3CEB1ED8AB1F697F63FF7 /* SJSQLiteErrors.m in Sources */, + BB581D0F0BA6C5741B6E9ECFEF8B9D8F /* SJSQLiteObjectInfo.m in Sources */, + E316A064EB65A563CE8E59214CF759C6 /* SJSQLiteTableInfo.m in Sources */, + 11644E6DA938343B15DC9E1B8424B645 /* SJSQLiteTableModelConstraints.m in Sources */, + 154CFBE7801A3AADC7D523ADA6D1F7BE /* SJStatusBarManager.m in Sources */, + CC543C1AE787825D2691A839FDC89E42 /* SJTaskQueue.m in Sources */, + 30EF7BED25AF91EDF43E95C8E976D711 /* SJUIKit-dummy.m in Sources */, + 248112E50E4CD78702485B9462CE741F /* SJUIKitTextMaker.m in Sources */, + 4A8FEAA4A2023A7FA6394B38C05C3BAB /* SJUIMaker.m in Sources */, + 90DEF26C03801F4F98B1BB355F84EF60 /* SJUTAttributes.m in Sources */, + 3DFE0805A85AFACF706BA81C65E7C809 /* SJUTRangeHandler.m in Sources */, + 0EE1410120AADD5685B4DA9C1187ED78 /* SJUTRecorder.m in Sources */, + 80677CCAFE1CF1B24AAEEA32353F7AB4 /* SJUTRegexHandler.m in Sources */, + D27F43EA8D0EE19BAE74F2E456149004 /* UIButton+AsyncLoadImage.m in Sources */, + 1DB59F6DC3CF84194EED435F7D35D8EC /* UIImagePickerController+SJUIKitExtension.m in Sources */, + 9700FB8A867465ACD65334098EC2F287 /* UIImageView+AsyncLoadImage.m in Sources */, + 42D52D237F5F5CF952C7429072F0A2B9 /* UILabel+AsyncLoad.m in Sources */, + AD12A7F06965DB09ADF9F75B30F378BE /* UIScrollView+SJRefreshAdd.m in Sources */, + 2FECFD6CF0A15333371AEB8E7912DB05 /* UISearchBar+AsyncLoad.m in Sources */, + 64D277AED94E8F2A6378467BEF7ED1C3 /* UITextField+AsyncLoadImage.m in Sources */, + 40A3C4E95EF0D64DF55597DE623C3EB6 /* UIViewController+SJModalAlert.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -4119,7 +4127,7 @@ }; BA987263C3BCB98E6F7A5131712EFE20 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 56B6983D1A6F9BE03422D71213C59F2E /* SJUIKit.xcconfig */; + baseConfigurationReference = 06CB8BF1F34FD86F4293BE7B43FFDDD9 /* SJUIKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4143,7 +4151,7 @@ }; E394779EDE70B73CD4D4E6E5A64ED11D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 56B6983D1A6F9BE03422D71213C59F2E /* SJUIKit.xcconfig */; + baseConfigurationReference = 06CB8BF1F34FD86F4293BE7B43FFDDD9 /* SJUIKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; diff --git a/Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m b/Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m index c64f831ea..8e90ce8cb 100644 --- a/Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m +++ b/Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m @@ -531,7 +531,7 @@ - (void)setHighlighted:(BOOL)highlighted - (void)updateShouldAnimate { #if SD_MAC - BOOL isVisible = self.window && self.superview && ![self isHidden] && self.alphaValue > 0.0 && self.animates; + BOOL isVisible = self.window && self.superview && ![self isHidden] && self.alphaValue > 0.0; #else BOOL isVisible = self.window && self.superview && ![self isHidden] && self.alpha > 0.0; #endif @@ -580,7 +580,7 @@ - (void)updateIsProgressiveWithImage:(UIImage *)image } #if SD_MAC -- (void)displayDidRefresh:(CVDisplayLinkRef)displayLink +- (void)displayDidRefresh:(CVDisplayLinkRef)displayLink duration:(NSTimeInterval)duration #else - (void)displayDidRefresh:(CADisplayLink *)displayLink #endif @@ -591,11 +591,7 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink return; } // Calculate refresh duration -#if SD_MAC - CVTimeStamp nowTime; - CVDisplayLinkGetCurrentTime(displayLink, &nowTime); - NSTimeInterval duration = (double)nowTime.videoRefreshPeriod / ((double)nowTime.videoTimeScale * nowTime.rateScalar); -#else +#if SD_UIKIT #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" NSTimeInterval duration = displayLink.duration * displayLink.frameInterval; @@ -793,11 +789,13 @@ - (void)calculateMaxBufferCount { #if SD_MAC static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *displayLinkContext) { + // Calculate refresh duration + NSTimeInterval duration = (double)inOutputTime->videoRefreshPeriod / ((double)inOutputTime->videoTimeScale * inOutputTime->rateScalar); // CVDisplayLink callback is not on main queue SDAnimatedImageView *imageView = (__bridge SDAnimatedImageView *)displayLinkContext; __weak SDAnimatedImageView *weakImageView = imageView; dispatch_async(dispatch_get_main_queue(), ^{ - [weakImageView displayDidRefresh:displayLink]; + [weakImageView displayDidRefresh:displayLink duration:duration]; }); return kCVReturnSuccess; } diff --git a/Example/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m b/Example/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m index 3019b0e06..311dd1baf 100644 --- a/Example/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m +++ b/Example/Pods/SDWebImage/SDWebImage/Core/UIView+WebCache.m @@ -324,9 +324,7 @@ - (void)setSd_imageIndicator:(id)sd_imageIndicator { } // Center the indicator view #if SD_MAC - CGPoint center = CGPointMake(NSMidX(self.bounds), NSMidY(self.bounds)); - NSRect frame = view.frame; - view.frame = NSMakeRect(center.x - NSMidX(frame), center.y - NSMidY(frame), NSWidth(frame), NSHeight(frame)); + [view setFrameOrigin:CGPointMake(round((NSWidth(self.bounds) - NSWidth(view.frame)) / 2), round((NSHeight(self.bounds) - NSHeight(view.frame)) / 2))]; #else view.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds)); #endif diff --git a/Example/Pods/SJBaseVideoPlayer/README.md b/Example/Pods/SJBaseVideoPlayer/README.md index 553fedc59..6330ef02b 100644 --- a/Example/Pods/SJBaseVideoPlayer/README.md +++ b/Example/Pods/SJBaseVideoPlayer/README.md @@ -25,6 +25,22 @@ pod 'SJUIKit/Queues', :git => 'https://gitee.com/changsanjiang/SJUIKit.git' $ pod update --no-repo-update (不要用 pod install 了, 用这个命令安装) ``` +## AVPlayer 切换为 ijkplayer, 其他功能不变 +- 改成以下方式重新安装 +```ruby +pod 'SJBaseVideoPlayer/IJKPlayer' +``` + +- 使用 +```Objective-C +// 导入头文件 +#import "SJIJKMediaPlaybackController.h" + +_player = SJVideoPlayer.player; +// 将播放控制切换为 SJIJKMediaPlaybackController 即可, 其它操作不变 +_player.playbackController = SJIJKMediaPlaybackController.new; +``` + ## Example ```Objective-C diff --git a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.m b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.m index de4fce476..261b4ff68 100644 --- a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.m +++ b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/Core/SJAVBasePlayer.m @@ -311,7 +311,7 @@ - (void)_sjbase_toEvaluating { } - (void)_sjbase_refreshPlayerStatus { - SJAssetStatus status = SJAssetStatusPreparing; + SJAssetStatus status = self.sj_assetStatus; if ( self.sj_error ) { status = SJAssetStatusFailed; diff --git a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.m b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.m index 31389436a..4cb23f872 100755 --- a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.m +++ b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/AVPlayer/SJAVMediaPlaybackController.m @@ -179,6 +179,7 @@ - (void)refresh { [self _stop]; [SJAVMediaPlayerLoader clearPlayerForMedia:self.media]; [self prepareToPlay]; + [self play]; } - (void)play { SJRunLoopTaskQueue.main.enqueue(^{ diff --git a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/SJBaseVideoPlayer.m b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/SJBaseVideoPlayer.m index 15ad0c566..6f3956599 100755 --- a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/SJBaseVideoPlayer.m +++ b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/SJBaseVideoPlayer.m @@ -174,7 +174,7 @@ + (instancetype)player { } + (NSString *)version { - return @"v3.0.4"; + return @"v3.0.6"; } - (void)setVideoGravity:(SJVideoGravity)videoGravity { diff --git a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/Tool/SJReachability.m b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/Tool/SJReachability.m index 994e8910c..2b2e393dc 100755 --- a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/Tool/SJReachability.m +++ b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/Tool/SJReachability.m @@ -226,7 +226,7 @@ - (void)networkStatusDidChange:(NSNotification *)note { _networkStatusDidChangeExeBlock(mgr); } - (void)networkSpeedDidChange:(NSNotification *)note { - if ( _networkSpeedDidChangeExeBlock ) _networkSpeedDidChangeExeBlock(note.object); + if ( _networkSpeedDidChangeExeBlock ) _networkSpeedDidChangeExeBlock(_reachability); } @end NS_ASSUME_NONNULL_END diff --git a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.m b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.m index 9e5b02947..9610d9db5 100755 --- a/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.m +++ b/Example/Pods/SJBaseVideoPlayer/SJBaseVideoPlayer/UIScrollView+ListViewAutoplaySJAdd.m @@ -68,7 +68,18 @@ - (void)sj_enableAutoplayWithConfig:(SJPlayerAutoplayConfig *)autoplayConfig { self.sj_hasDelayedEndScrollTask = NO; [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(sj_playNextAssetAfterEndScroll) object:nil]; } - queue.empty().enqueue(^{ + + queue.empty(); + /// + /// Thanks @YangYus + /// + /// Fix [#180](https://github.com/changsanjiang/SJVideoPlayer/issues/180) + /// + if ( self.window == nil ) { + return; + } + + queue.enqueue(^{ self.sj_hasDelayedEndScrollTask = YES; [self performSelector:@selector(sj_playNextAssetAfterEndScroll) withObject:nil afterDelay:0.4]; }); diff --git a/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.h b/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.h index cfc4bf480..5cf49344a 100644 --- a/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.h +++ b/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.h @@ -3,7 +3,7 @@ // SJBackGRProject // // Created by 畅三江 on 2019/7/17. -// Copyright © 2019 changsanjiang. All rights reserved. +// Copyright © 2019 SanJiang. All rights reserved. // #import diff --git a/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.m b/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.m index 575d4dc5b..166da86d5 100644 --- a/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.m +++ b/Example/Pods/SJFullscreenPopGesture/SJFullscreenPopGesture/ObjC/SJFullscreenPopGesture.m @@ -3,7 +3,7 @@ // SJBackGRProject // // Created by 畅三江 on 2019/7/17. -// Copyright © 2019 changsanjiang. All rights reserved. +// Copyright © 2019 SanJiang. All rights reserved. // #import "SJFullscreenPopGesture.h" @@ -247,7 +247,9 @@ - (instancetype)initWithTarget:(UIViewController *)target { } - (void)began { - [_rootView insertSubview:_target.view atIndex:0]; + if ( _target.sj_displayMode == SJPreViewDisplayModeOrigin ) { + [_rootView insertSubview:_target.view atIndex:0]; + } } - (void)completed { @@ -455,7 +457,6 @@ - (void)sj_setupIfNeeded { self.view.layer.shadowRadius = 2; self.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.bounds].CGPath; [CATransaction commit]; - self.view.clipsToBounds = NO; [self.view addGestureRecognizer:self.sj_fullscreenGesture]; } @@ -534,7 +535,7 @@ - (void)setSj_displayMode:(SJPreViewDisplayMode)sj_displayMode { self.edgesForExtendedLayout = UIRectEdgeNone; objc_setAssociatedObject(self, @selector(sj_displayMode), @(sj_displayMode), OBJC_ASSOCIATION_RETAIN_NONATOMIC); } -- (SJPreViewDisplayMode)sj_displayMode { +- (SJPreViewDisplayMode)sj_displayMode { return SJPreViewDisplayModeOrigin; return [objc_getAssociatedObject(self, _cmd) integerValue]; } diff --git a/Example/Pods/SJUIKit/SJUIKit/Other/SJApplicationInfo.m b/Example/Pods/SJUIKit/SJUIKit/Other/SJApplicationInfo.m index 7de5c8764..aa71a75ba 100644 --- a/Example/Pods/SJUIKit/SJUIKit/Other/SJApplicationInfo.m +++ b/Example/Pods/SJUIKit/SJUIKit/Other/SJApplicationInfo.m @@ -75,7 +75,7 @@ - (nullable __kindof UIViewController *)topViewController { } - (NSString *)machineModel { - __block NSString *model = nil; + static NSString *model = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ struct utsname systemInfo; @@ -99,7 +99,7 @@ - (NSString *)machineModel { } - (NSString *)version { - __block NSString *version = nil; + static NSString *version = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; @@ -108,7 +108,7 @@ - (NSString *)version { } - (NSString *)systemVersion { - __block NSString *version = nil; + static NSString *version = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ version = [UIDevice currentDevice].systemVersion; diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.h b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.h index 4d7e22758..9b6fc452a 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.h +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.h @@ -19,7 +19,7 @@ */ NS_ASSUME_NONNULL_BEGIN -#define sqlite3_obj_copy_str(_str_) char cstr[_str_.length + 1]; strcpy(cstr, _str_.UTF8String) +#define sj_sqlite3_obj_copy_str(_str_) char cstr[strlen(_str_.UTF8String) + 1]; strcpy(cstr, _str_.UTF8String) @interface NSMutableString (SJSQLite3CoreExtended) - (void)sjsql_deleteSubffix:(NSString *)str; @@ -27,89 +27,89 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString * -sqlite3_obj_get_default_table_name(Class cls); +sj_sqlite3_obj_get_default_table_name(Class cls); FOUNDATION_EXPORT id -sqlite3_obj_filter_obj_value(id value); +sj_sqlite3_obj_filter_obj_value(id value); /// 生成创建表的sql语句. 只处理当前表, 不处理相关表. /// FOUNDATION_EXPORT NSString * -sqlite3_stmt_create_table(SJSQLiteTableInfo *table); +sj_sqlite3_stmt_create_table(SJSQLiteTableInfo *table); /// 生成插入的sql语句. 只处理当前对象, 不处理相关对象. /// FOUNDATION_EXPORT NSString * -sqlite3_stmt_insert_or_update(SJSQLiteObjectInfo *objInfo); +sj_sqlite3_stmt_insert_or_update(SJSQLiteObjectInfo *objInfo); FOUNDATION_EXPORT NSString * -sqlite3_stmt_get_column_value(SJSQLiteColumnInfo *column, id value); +sj_sqlite3_stmt_get_column_value(SJSQLiteColumnInfo *column, id value); FOUNDATION_EXPORT NSString *_Nullable -sqlite3_stmt_get_primary_values_json_string(NSArray *models, NSString *primaryKey); +sj_sqlite3_stmt_get_primary_values_json_string(NSArray *models, NSString *primaryKey); FOUNDATION_EXPORT NSArray *_Nullable -sqlite3_stmt_get_primary_values_array(NSString *jsonString); +sj_sqlite3_stmt_get_primary_values_array(NSString *jsonString); FOUNDATION_EXPORT NSString * -sqlite3_stmt_get_last_row(SJSQLiteObjectInfo *objInfo); +sj_sqlite3_stmt_get_last_row(SJSQLiteObjectInfo *objInfo); #pragma mark - /// sqlite3_exec每次执行结果的回调 /// FOUNDATION_EXPORT int -sqlite3_obj_exec_each_result_callback(void *para, int ncolumn, char *_Nullable*_Nullable columnvalue, char *_Nullable*_Nullable columnname); +sj_sqlite3_obj_exec_each_result_callback(void *para, int ncolumn, char *_Nullable*_Nullable columnvalue, char *_Nullable*_Nullable columnname); /// 打开数据库链接 /// FOUNDATION_EXPORT BOOL -sqlite3_obj_open_database(NSString *path, sqlite3 *_Nullable*_Nonnull db); +sj_sqlite3_obj_open_database(NSString *path, sqlite3 *_Nullable*_Nonnull db); /// 关闭数据库链接 /// FOUNDATION_EXPORT BOOL -sqlite3_obj_close_database(sqlite3 *db); +sj_sqlite3_obj_close_database(sqlite3 *db); /// 执行sql /// FOUNDATION_EXPORT NSArray *_Nullable -sqlite3_obj_exec(sqlite3 *db, NSString *sql, NSError *_Nullable*_Nullable error); +sj_sqlite3_obj_exec(sqlite3 *db, NSString *sql, NSError *_Nullable*_Nullable error); /// 开启事物 /// FOUNDATION_EXPORT void -sqlite3_obj_begin_transaction(sqlite3 *db); +sj_sqlite3_obj_begin_transaction(sqlite3 *db); /// 提交事物 /// FOUNDATION_EXPORT void -sqlite3_obj_commit(sqlite3 *db); +sj_sqlite3_obj_commit(sqlite3 *db); /// 回滚提交 /// FOUNDATION_EXPORT void -sqlite3_obj_rollback(sqlite3 *db); +sj_sqlite3_obj_rollback(sqlite3 *db); /// 查询某个表是否存在 /// FOUNDATION_EXPORT BOOL -sqlite3_obj_table_exists(sqlite3 *db, NSString *name); +sj_sqlite3_obj_table_exists(sqlite3 *db, NSString *name); /// 删除表 /// FOUNDATION_EXPORT void -sqlite3_obj_drop_table(sqlite3 *db, NSString *name, NSError **error); +sj_sqlite3_obj_drop_table(sqlite3 *db, NSString *name, NSError **error); /// 删除指定的行数据 /// FOUNDATION_EXPORT void -sqlite3_obj_delete_row_datas(sqlite3 *db, SJSQLiteTableInfo *table, NSArray *primaryKeyValues, NSError **error); +sj_sqlite3_obj_delete_row_datas(sqlite3 *db, SJSQLiteTableInfo *table, NSArray *primaryKeyValues, NSError **error); /// 获取行数据 /// FOUNDATION_EXPORT NSDictionary *_Nullable -sqlite3_obj_get_row_data(sqlite3 *db, SJSQLiteTableInfo *table, id primaryKeyValue, NSError **error); +sj_sqlite3_obj_get_row_data(sqlite3 *db, SJSQLiteTableInfo *table, id primaryKeyValue, NSError **error); NS_ASSUME_NONNULL_END #endif /* SJSQLiteCore_h */ diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.m b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.m index ac6bfba6e..b68aaaee0 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.m +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteCore.m @@ -23,33 +23,33 @@ - (void)sjsql_deleteSubffix:(NSString *)str { NSString * -sqlite3_obj_get_default_table_name(Class cls) { +sj_sqlite3_obj_get_default_table_name(Class cls) { return [NSString stringWithFormat:@"%s", object_getClassName(cls)]; } id -sqlite3_obj_filter_obj_value(id value) { +sj_sqlite3_obj_filter_obj_value(id value) { if ( [value isKindOfClass:NSString.class] ) { return [(NSString *)value stringByReplacingOccurrencesOfString:@"'" withString:@"''"]; } else if ( [value isKindOfClass:NSArray.class] ) { NSMutableArray *m = [NSMutableArray new]; for ( id item in value ) { - [m addObject:sqlite3_obj_filter_obj_value(item)]; + [m addObject:sj_sqlite3_obj_filter_obj_value(item)]; } return m; } else if ( [value isKindOfClass:NSDictionary.class] ) { NSMutableDictionary *m = [NSMutableDictionary new]; [(NSDictionary *)value enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { - m[key] = sqlite3_obj_filter_obj_value(obj); + m[key] = sj_sqlite3_obj_filter_obj_value(obj); }]; return m; } else if ( [value isKindOfClass:NSSet.class] ) { NSMutableSet *m = [NSMutableSet new]; for ( id item in value ) { - [m addObject:sqlite3_obj_filter_obj_value(item)]; + [m addObject:sj_sqlite3_obj_filter_obj_value(item)]; } return m; } @@ -59,7 +59,7 @@ - (void)sjsql_deleteSubffix:(NSString *)str { /// 生成创建表的sql语句. 只处理当前表, 不处理相关表. /// NSString * -sqlite3_stmt_create_table(SJSQLiteTableInfo *table) { +sj_sqlite3_stmt_create_table(SJSQLiteTableInfo *table) { // CREATE TABLE IF NOT EXISTS Account ('id' INTEGER PRIMARY KEY AUTOINCREMENT,'user' INTEGER NOT NULL); NSMutableString *sql = NSMutableString.new; SJSQLiteColumnInfo *last = table.columns.lastObject; @@ -76,7 +76,7 @@ - (void)sjsql_deleteSubffix:(NSString *)str { /// 生成插入的sql语句. 只处理当前对象, 不处理相关对象. /// NSString * -sqlite3_stmt_insert_or_update(SJSQLiteObjectInfo *objInfo) { +sj_sqlite3_stmt_insert_or_update(SJSQLiteObjectInfo *objInfo) { // INSERT OR REPLACE INTO 'Account' ('id', 'user') VALUES (1, 12); // INSERT OR REPLACE INTO 'Person' ('id', 'tags') VALUES (1, `array json`); NSMutableString *sql = NSMutableString.new; @@ -96,7 +96,7 @@ - (void)sjsql_deleteSubffix:(NSString *)str { if ( column != last) [fields appendString:@","]; // - values - [values appendFormat:@"'%@'", sqlite3_stmt_get_column_value(column, value)]; + [values appendFormat:@"'%@'", sj_sqlite3_stmt_get_column_value(column, value)]; if ( column != last) [values appendFormat:@","]; } [fields sjsql_deleteSubffix:@","]; @@ -106,15 +106,15 @@ - (void)sjsql_deleteSubffix:(NSString *)str { } NSString * -sqlite3_stmt_get_column_value(SJSQLiteColumnInfo *column, id value) { +sj_sqlite3_stmt_get_column_value(SJSQLiteColumnInfo *column, id value) { NSString *data = nil; if ( column.associatedTableInfo == nil ) { - data = [NSString stringWithFormat:@"%@", sqlite3_obj_filter_obj_value(value)]; + data = [NSString stringWithFormat:@"%@", sj_sqlite3_obj_filter_obj_value(value)]; } else { SJSQLiteTableInfo *subtable = column.associatedTableInfo; if ( column.isModelArray ) { - data = sqlite3_stmt_get_primary_values_json_string(value, subtable.primaryKey); + data = sj_sqlite3_stmt_get_primary_values_json_string(value, subtable.primaryKey); } else { id subvalue = [value valueForKey:subtable.primaryKey]; @@ -125,7 +125,7 @@ - (void)sjsql_deleteSubffix:(NSString *)str { } NSString *_Nullable -sqlite3_stmt_get_primary_values_json_string(NSArray *models, NSString *primaryKey) { +sj_sqlite3_stmt_get_primary_values_json_string(NSArray *models, NSString *primaryKey) { NSMutableArray *subvalues = [NSMutableArray arrayWithCapacity:[models count]]; [models enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { id subvalue = [obj valueForKey:primaryKey]; @@ -136,13 +136,13 @@ - (void)sjsql_deleteSubffix:(NSString *)str { } NSArray *_Nullable -sqlite3_stmt_get_primary_values_array(NSString *jsonString) { +sj_sqlite3_stmt_get_primary_values_array(NSString *jsonString) { NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; return [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; } NSString * -sqlite3_stmt_get_last_row(SJSQLiteObjectInfo *objInfo) { +sj_sqlite3_stmt_get_last_row(SJSQLiteObjectInfo *objInfo) { return [NSString stringWithFormat:@"SELECT * FROM '%@' ORDER BY \"%@\" DESC LIMIT 1;", objInfo.table.name, objInfo.primaryKeyColumnInfo.name]; } @@ -151,9 +151,8 @@ - (void)sjsql_deleteSubffix:(NSString *)str { /// sqlite3_exec每次执行结果的回调 /// int -sqlite3_obj_exec_each_result_callback(void *para, int ncolumn, char **columnvalue, char **columnname) { +sj_sqlite3_obj_exec_each_result_callback(void *para, int ncolumn, char **columnvalue, char **columnname) { NSMutableArray *results = (__bridge NSMutableArray *)para; - NSMutableDictionary *result = NSMutableDictionary.new; for ( int i = 0 ; i < ncolumn ; ++ i ) { char *_Nullable value = columnvalue[i]; @@ -167,30 +166,37 @@ - (void)sjsql_deleteSubffix:(NSString *)str { /// 打开数据库链接 /// BOOL -sqlite3_obj_open_database(NSString *path, sqlite3 **db) { - sqlite3_obj_copy_str(path); +sj_sqlite3_obj_open_database(NSString *path, sqlite3 **db) { + NSString *directory = [path stringByDeletingLastPathComponent]; + if ( ![NSFileManager.defaultManager fileExistsAtPath:directory] ) { + [NSFileManager.defaultManager createDirectoryAtPath:directory withIntermediateDirectories:YES attributes:nil error:nil]; + } + sj_sqlite3_obj_copy_str(path); return SQLITE_OK == sqlite3_open(cstr, db); } /// 关闭数据库链接 /// BOOL -sqlite3_obj_close_database(sqlite3 *db) { +sj_sqlite3_obj_close_database(sqlite3 *db) { return sqlite3_close(db); } /// 执行sql /// NSArray *_Nullable -sqlite3_obj_exec(sqlite3 *db, NSString *sql, NSError *_Nullable*_Nullable error) { +sj_sqlite3_obj_exec(sqlite3 *db, NSString *sql, NSError *_Nullable*_Nullable error) { if ( sql.length == 0 ) return nil; - sqlite3_obj_copy_str(sql); + sj_sqlite3_obj_copy_str(sql); char *errmsg = NULL; - NSMutableArray *results = NSMutableArray.new; + NSMutableArray *results = NSMutableArray.array; + + void *var = (__bridge void *)results; + // https://sqlite.org/c3ref/exec.html - sqlite3_exec(db, cstr, sqlite3_obj_exec_each_result_callback, (__bridge void *)results, &errmsg); + sqlite3_exec(db, cstr, sj_sqlite3_obj_exec_each_result_callback, var, &errmsg); #ifdef DEBUG static NSDateFormatter *dateFormatter; @@ -227,59 +233,59 @@ - (void)sjsql_deleteSubffix:(NSString *)str { /// 开启事物 /// void -sqlite3_obj_begin_transaction(sqlite3 *db) { - sqlite3_obj_exec(db, @"BEGIN TRANSACTION", nil); +sj_sqlite3_obj_begin_transaction(sqlite3 *db) { + sj_sqlite3_obj_exec(db, @"BEGIN TRANSACTION", nil); } /// 提交事物 /// void -sqlite3_obj_commit(sqlite3 *db) { - sqlite3_obj_exec(db, @"COMMIT", nil); +sj_sqlite3_obj_commit(sqlite3 *db) { + sj_sqlite3_obj_exec(db, @"COMMIT", nil); } /// 回滚提交 /// void -sqlite3_obj_rollback(sqlite3 *db) { - sqlite3_obj_exec(db, @"ROLLBACK", nil); +sj_sqlite3_obj_rollback(sqlite3 *db) { + sj_sqlite3_obj_exec(db, @"ROLLBACK", nil); } /// 查询某个表是否存在 /// BOOL -sqlite3_obj_table_exists(sqlite3 *db, NSString *name) { - return sqlite3_obj_exec(db, [NSString stringWithFormat:@"SELECT tbl_name FROM sqlite_master WHERE name='%@';", name], nil) != nil; +sj_sqlite3_obj_table_exists(sqlite3 *db, NSString *name) { + return sj_sqlite3_obj_exec(db, [NSString stringWithFormat:@"SELECT tbl_name FROM sqlite_master WHERE name='%@';", name], nil) != nil; } /// 删除表 /// void -sqlite3_obj_drop_table(sqlite3 *db, NSString *name, NSError **error) { +sj_sqlite3_obj_drop_table(sqlite3 *db, NSString *name, NSError **error) { NSString *sql = [NSString stringWithFormat:@"DROP TABLE %@;", name]; - sqlite3_obj_exec(db, sql, error); + sj_sqlite3_obj_exec(db, sql, error); } /// 删除指定的行数据 /// void -sqlite3_obj_delete_row_datas(sqlite3 *db, SJSQLiteTableInfo *table, NSArray *primaryKeyValues, NSError **error) { +sj_sqlite3_obj_delete_row_datas(sqlite3 *db, SJSQLiteTableInfo *table, NSArray *primaryKeyValues, NSError **error) { NSMutableString *values = NSMutableString.new; NSNumber *last = primaryKeyValues.lastObject; for ( id value in primaryKeyValues ) { - [values appendFormat:@"'%@'", sqlite3_obj_filter_obj_value(value)]; + [values appendFormat:@"'%@'", sj_sqlite3_obj_filter_obj_value(value)]; if ( value != last ) [values appendString:@","]; } NSString *sql = [NSString stringWithFormat:@"DELETE FROM '%@' WHERE \"%@\" in (%@);", table.name, table.primaryKey, values]; - sqlite3_obj_exec(db, sql, error); + sj_sqlite3_obj_exec(db, sql, error); } /// 获取行数据 /// NSDictionary *_Nullable -sqlite3_obj_get_row_data(sqlite3 *db, SJSQLiteTableInfo *table, id primaryKeyValue, NSError **error) { - NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE \"%@\"='%@';", table.name, table.primaryKey, sqlite3_obj_filter_obj_value(primaryKeyValue)]; - return [[sqlite3_obj_exec(db, sql, error) firstObject] mutableCopy]; +sj_sqlite3_obj_get_row_data(sqlite3 *db, SJSQLiteTableInfo *table, id primaryKeyValue, NSError **error) { + NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE \"%@\"='%@';", table.name, table.primaryKey, sj_sqlite3_obj_filter_obj_value(primaryKeyValue)]; + return [[sj_sqlite3_obj_exec(db, sql, error) firstObject] mutableCopy]; } NS_ASSUME_NONNULL_END diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m index 7f1a89468..02b8e16ed 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/Core/SJSQLiteTableInfo.m @@ -44,7 +44,7 @@ + (nullable instancetype)tableInfoWithClass:(Class)c YYClassInfo *_Nullable classInfo = [YYClassInfo classInfoWithClass:cls]; if ( classInfo == nil || classInfo.superCls == nil ) return nil; - NSString *tablename = cons.sql_tableName ? : sqlite3_obj_get_default_table_name(cls); + NSString *tablename = cons.sql_tableName ? : sj_sqlite3_obj_get_default_table_name(cls); NSMutableDictionary *associatedTableInfos = NSMutableDictionary.new; NSMutableArray *columns = NSMutableArray.new; NSMutableSet *allClasses = NSMutableSet.new; diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h new file mode 100644 index 000000000..fcbf61144 --- /dev/null +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.h @@ -0,0 +1,32 @@ +// +// SJSQLite3+FoundationExtended.h +// SJUIKit +// +// Created by 畅三江 on 2019/10/21. +// + +#import "SJSQLite3.h" + +NS_ASSUME_NONNULL_BEGIN +@interface SJSQLite3 (FoundationExtended) +- (BOOL)save:(id)value forKey:(NSString *)key error:(NSError **)error; +- (void)removeValueForKey:(NSString *)key error:(NSError **)error; + +- (nullable NSString *)jsonStrongForKey:(NSString *)key; + +// - container - +- (nullable NSDictionary *)dictionaryForKey:(NSString *)key; +- (nullable NSArray *)arrayForKey:(NSString *)key; + +// - +- (nullable NSString *)stringForKey:(NSString *)key; +- (nullable NSURL *)URLForKey:(NSString *)key; +- (NSInteger)integerForKey:(NSString *)key; +- (double)doubleForKey:(NSString *)key; +- (float)floatForKey:(NSString *)key; +- (BOOL)boolForKey:(NSString *)key; +@end + +extern NSArray * +SJFoundationExtendedValuesForKey(NSArray *array, NSString *key); +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.m b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.m new file mode 100644 index 000000000..e387d40d0 --- /dev/null +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+FoundationExtended.m @@ -0,0 +1,133 @@ +// +// SJSQLite3+FoundationExtended.m +// SJUIKit +// +// Created by 畅三江 on 2019/10/21. +// + +#import "SJSQLite3+FoundationExtended.h" +#import "SJSQLiteErrors.h" +#if __has_include() +#import +#elif __has_include() +#import +#endif + +NS_ASSUME_NONNULL_BEGIN +@interface SJSQLite3BasicTypeItem : NSObject +@property (nonatomic, copy, nullable) NSString *key; +@property (nonatomic, copy, nullable) NSString *value; +@end + +@implementation SJSQLite3BasicTypeItem ++ (nullable NSString *)sql_primaryKey { + return @"key"; +} +@end + +@implementation SJSQLite3 (FoundationExtended) +/// 将数据保存到数据库表中. 该操作将会开启一个新的事务, 当执行出错时, 数据库将回滚到执行之前的状态. +/// +/// @param value 需要保存的值. 支持的数据类型有: integer, float, double, NSString, 以及可序列化为`json字符串`的对象. +/// +/// @param key 用来关联值的键. +/// +/// @param error 执行出错. 当执行发生错误时, 会暂停执行后续的sql语句, 数据库将回滚到执行之前的状态. +/// +/// @return 操作是否成功. +/// +- (BOOL)save:(id)value forKey:(NSString *)key error:(NSError **)error { + NSString *_Nullable data = nil; + if ( [value isKindOfClass:NSString.class] ) { + data = value; + } + else if ( [value isKindOfClass:NSURL.class] || [value isKindOfClass:NSValue.class] ) { + data = [value description]; + } + else { +#if __has_include() + data = [value yy_modelToJSONString]; +#elif __has_include() + data = [value modelToJSONString]; +#else + NSAssert(NO, @"请导入YYModel或者YYKit"); +#endif + } + + if ( data == nil ) { + if ( error != NULL ) *error = sqlite3_error_make_error(@"不支持的存储类型"); + return NO; + } + SJSQLite3BasicTypeItem *item = SJSQLite3BasicTypeItem.new; + item.key = key; + item.value = data; + return [self save:item error:error]; +} + +/// 删除指定键的值. 该操作将会开启一个新的事务, 当执行出错时, 数据库将回滚到执行之前的状态. +/// +/// @param key 用来关联值的键. +/// +/// @param error 执行出错. 当执行发生错误时, 会暂停执行后续的sql语句, 数据库将回滚到执行之前的状态. +/// +- (void)removeValueForKey:(NSString *)key error:(NSError **)error { + [self removeObjectForClass:SJSQLite3BasicTypeItem.class primaryKeyValue:key error:error]; +} + +- (nullable NSString *)stringForKey:(NSString *)key { + return [self _itemValueForKey:key]; +} + +- (nullable NSArray *)arrayForKey:(NSString *)key { + return [self _containerValueForKey:key]; +} + +- (nullable NSString *)jsonStrongForKey:(NSString *)key { + return [self _itemValueForKey:key]; +} + +- (nullable NSDictionary *)dictionaryForKey:(NSString *)key { + return [self _containerValueForKey:key]; +} + +- (NSInteger)integerForKey:(NSString *)key { + return [[self _itemValueForKey:key] integerValue]; +} + +- (float)floatForKey:(NSString *)key { + return [[self _itemValueForKey:key] floatValue]; +} + +- (double)doubleForKey:(NSString *)key { + return [[self _itemValueForKey:key] doubleValue]; +} + +- (BOOL)boolForKey:(NSString *)key { + return [[self _itemValueForKey:key] boolValue]; +} + +- (nullable NSURL *)URLForKey:(NSString *)key { + return [NSURL URLWithString:[self _itemValueForKey:key]]; +} + +- (nullable id)_containerValueForKey:(NSString *)key { + NSString * _Nullable value = [self _itemValueForKey:key]; + if ( value == nil ) return nil; + return [NSJSONSerialization JSONObjectWithData:[value dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:NULL]; +} + +- (nullable NSString *)_itemValueForKey:(NSString *)key { + return [(SJSQLite3BasicTypeItem *)[self objectForClass:SJSQLite3BasicTypeItem.class primaryKeyValue:key error:NULL] value]; +} +@end + +NSArray * +SJFoundationExtendedValuesForKey(NSArray *array, NSString *key) { + NSMutableArray *values = [NSMutableArray arrayWithCapacity:array.count]; + for ( NSDictionary *dict in array ) { + id value = dict[key]; + if ( value ) [values addObject:value]; + } + return values.count != 0 ? values : nil; +} +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.h similarity index 95% rename from Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h rename to Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.h index 14b1478ab..97cbeb88b 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.h +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.h @@ -1,5 +1,5 @@ // -// SJSQLite3+SJSQLite3Extended.h +// SJSQLite3+QueryExtended.h // Pods-SJSQLite3_Example // // Created by 畅三江 on 2019/7/30. @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN /// /// 查询数据(返回的结果已转为对应的模型). 如需未转换的数据, 请查看分类`SJSQLite3 (SJSQLite3QueryDataExtended)` /// -@interface SJSQLite3 (SJSQLite3Extended) +@interface SJSQLite3 (QueryObjectsExtended) - (nullable NSArray *)objectsForClass:(Class)cls conditions:(nullable NSArray *)conditions orderBy:(nullable NSArray *)orders error:(NSError **)error; @@ -26,9 +26,9 @@ NS_ASSUME_NONNULL_BEGIN /// -/// 查询数据(返回的结果为字典数组, 未转换成模型). 如需转换为对应的模型, 请查看分类`SJSQLite3 (SJSQLite3Extended)` +/// 查询数据(返回的结果为字典数组, 未转换成模型). 如需转换为对应的模型, 请查看分类`SJSQLite3 (QueryExtended)` /// -@interface SJSQLite3 (SJSQLite3QueryDataExtended) +@interface SJSQLite3 (QueryDataExtended) - (nullable NSArray *)queryDataForClass:(Class)cls resultColumns:(nullable NSArray *)columns conditions:(nullable NSArray *)conditions orderBy:(nullable NSArray *)orders error:(NSError **)error; diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.m b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.m similarity index 93% rename from Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.m rename to Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.m index b63d014e3..0a3addd0e 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+SJSQLite3Extended.m +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3+QueryExtended.m @@ -1,16 +1,16 @@ // -// SJSQLite3+SJSQLite3Extended.m +// SJSQLite3+QueryExtended.m // Pods-SJSQLite3_Example // // Created by 畅三江 on 2019/7/30. // -#import "SJSQLite3+SJSQLite3Extended.h" +#import "SJSQLite3+QueryExtended.h" #import "SJSQLite3TableInfosCache.h" #import "SJSQLiteErrors.h" NS_ASSUME_NONNULL_BEGIN -@implementation SJSQLite3 (SJSQLite3Extended) +@implementation SJSQLite3 (QueryObjectsExtended) /// 获取满足指定条件的数据. (返回的数据已转为相应的模型) /// /// @param cls 数据库表所对应的类. (该类必须实现`SJSQLiteTableModelProtocol.sql_primaryKey`) @@ -134,7 +134,7 @@ - (NSUInteger)countOfObjectsForClass:(Class)cls conditions:(nullable NSArray= '%@'", sqlite3_obj_filter_obj_value(value)]; + [conds appendFormat:@">= '%@'", sj_sqlite3_obj_filter_obj_value(value)]; break; case SJSQLite3RelationUnequal: - [conds appendFormat:@"!= '%@'", sqlite3_obj_filter_obj_value(value)]; + [conds appendFormat:@"!= '%@'", sj_sqlite3_obj_filter_obj_value(value)]; break; case SJSQLite3RelationLessThan: - [conds appendFormat:@"> '%@'", sqlite3_obj_filter_obj_value(value)]; + [conds appendFormat:@"> '%@'", sj_sqlite3_obj_filter_obj_value(value)]; break; case SJSQLite3RelationGreaterThan: - [conds appendFormat:@"< '%@'", sqlite3_obj_filter_obj_value(value)]; + [conds appendFormat:@"< '%@'", sj_sqlite3_obj_filter_obj_value(value)]; break; } return [[SJSQLite3Condition alloc] initWithCondition:conds]; @@ -297,7 +297,7 @@ + (instancetype)conditionWithColumn:(NSString *)column in:(NSArray *)values { [conds appendFormat:@"\"%@\" IN (", column]; id last = values.lastObject; for ( id value in values ) { - [conds appendFormat:@"'%@'%@", sqlite3_obj_filter_obj_value(value), last!=value?@",":@""]; + [conds appendFormat:@"'%@'%@", sj_sqlite3_obj_filter_obj_value(value), last!=value?@",":@""]; } [conds appendString:@")"]; return [[SJSQLite3Condition alloc] initWithCondition:conds]; @@ -321,9 +321,9 @@ + (instancetype)conditionWithColumn:(NSString *)column between:(id)start and:(id // WHERE prod_price BETWEEN 3.49 AND 5; NSMutableString *conds = NSMutableString.new; [conds appendFormat:@"(\"%@\" BETWEEN ", column]; - [conds appendFormat:@"%@", sqlite3_obj_filter_obj_value(start)]; + [conds appendFormat:@"%@", sj_sqlite3_obj_filter_obj_value(start)]; [conds appendString:@" AND "]; - [conds appendFormat:@"%@", sqlite3_obj_filter_obj_value(end)]; + [conds appendFormat:@"%@", sj_sqlite3_obj_filter_obj_value(end)]; [conds appendFormat:@")"]; return [[SJSQLite3Condition alloc] initWithCondition:conds]; } diff --git a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3.m b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3.m index f7974585d..6d9e1ed82 100644 --- a/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3.m +++ b/Example/Pods/SJUIKit/SJUIKit/SQLite3/SJSQLite3.m @@ -27,12 +27,12 @@ #define SJSQLite3_Unlock() dispatch_semaphore_signal(_lock) #define SJSQLite3_TANSACTION_BEGIN() SJSQLite3_Lock(); \ - sqlite3_obj_begin_transaction(self.db); + sj_sqlite3_obj_begin_transaction(self.db); -#define SJSQLite3_TANSACTION_ROLLBACK() sqlite3_obj_rollback(self.db); \ +#define SJSQLite3_TANSACTION_ROLLBACK() sj_sqlite3_obj_rollback(self.db); \ SJSQLite3_Unlock(); -#define SJSQLite3_TANSACTION_COMMIT() sqlite3_obj_commit(self.db); \ +#define SJSQLite3_TANSACTION_COMMIT() sj_sqlite3_obj_commit(self.db); \ SJSQLite3_Unlock(); @@ -103,7 +103,7 @@ + (instancetype)shared { } - (nullable instancetype)initWithDatabasePath:(NSString *)dbPath { sqlite3 *db = NULL; - if ( sqlite3_obj_open_database(dbPath, &db) == NO ) + if ( sj_sqlite3_obj_open_database(dbPath, &db) == NO ) return nil; self = [super init]; @@ -120,7 +120,7 @@ - (void)dealloc { #ifdef DEBUG NSLog(@"%d - %s", (int)__LINE__, __func__); #endif - sqlite3_obj_close_database(_db); + sj_sqlite3_obj_close_database(_db); } #pragma mark - Common Methods @@ -232,7 +232,7 @@ - (nullable id)objectForClass:(Class)cls primaryKeyValue:(id)primaryKeyValue err NSError *_Nullable inner_error = nil; id _Nullable result = nil; SJSQLite3_Lock(); - NSDictionary *_Nullable rowData = sqlite3_obj_get_row_data(self.db, table, primaryKeyValue, &inner_error); + NSDictionary *_Nullable rowData = sj_sqlite3_obj_get_row_data(self.db, table, primaryKeyValue, &inner_error); if ( inner_error == nil ) { result = [self _transformRowData:rowData toObjectOfClass:cls error:&inner_error]; } @@ -258,7 +258,7 @@ - (void)removeAllObjectsForClass:(Class)cls error:(NSError **)error { SJSQLite3_TANSACTION_BEGIN(); NSError *inner_error = nil; - sqlite3_obj_drop_table(self.db, table.name, &inner_error); + sj_sqlite3_obj_drop_table(self.db, table.name, &inner_error); if ( inner_error != nil ) { if ( error != nil ) *error = inner_error; SJSQLite3_TANSACTION_ROLLBACK(); @@ -294,7 +294,7 @@ - (void)removeObjectsForClass:(Class)cls primaryKeyValues:(NSArray *)primary SJSQLite3_TANSACTION_BEGIN(); NSError *inner_error = nil; - sqlite3_obj_delete_row_datas(self.db, table, primaryKeyValues, error); + sj_sqlite3_obj_delete_row_datas(self.db, table, primaryKeyValues, error); if ( inner_error != nil ) { if ( error != nil ) *error = inner_error; SJSQLite3_TANSACTION_ROLLBACK(); @@ -313,7 +313,7 @@ - (void)removeObjectsForClass:(Class)cls primaryKeyValues:(NSArray *)primary /// - (nullable NSArray *)exec:(NSString *)sql error:(NSError *_Nullable *_Nullable)error { SJSQLite3_Lock(); - id result = sqlite3_obj_exec(self.db, sql, error);; + id result = sj_sqlite3_obj_exec(self.db, sql, error);; SJSQLite3_Unlock(); return result; } @@ -329,7 +329,7 @@ - (void)removeObjectsForClass:(Class)cls primaryKeyValues:(NSArray *)primary - (nullable NSArray *)execInTransaction:(NSString *)sql error:(NSError **)error { SJSQLite3_TANSACTION_BEGIN(); NSError *innser_error = nil; - id result = sqlite3_obj_exec(self.db, sql, &innser_error); + id result = sj_sqlite3_obj_exec(self.db, sql, &innser_error); if ( innser_error != nil ) { if ( error != nil ) *error = innser_error; SJSQLite3_TANSACTION_ROLLBACK(); @@ -373,7 +373,7 @@ - (nullable NSArray *)objectsForClass:(Class)cls rowDatas:(NSArray *tmpInfo = sqlite3_obj_exec(self.db, tmpinfosql, &error); + NSArray *tmpInfo = sj_sqlite3_obj_exec(self.db, tmpinfosql, &error); if ( error != nil ) return error; - NSArray *curInfo = sqlite3_obj_exec(self.db, curinfosql, &error); + NSArray *curInfo = sj_sqlite3_obj_exec(self.db, curinfosql, &error); if ( error != nil ) return error; NSMutableSet *tmpFieldsSet = NSMutableSet.new; @@ -423,10 +423,10 @@ - (nullable NSError *)_alterTableIfNeeded:(Class)cls { [fields sjsql_deleteSubffix:@","]; NSString *inssql = [NSString stringWithFormat:@"INSERT INTO '%@' (%@) SELECT %@ FROM '%@';", table.name, fields, fields, tmpname]; - sqlite3_obj_exec(self.db, inssql, &error); + sj_sqlite3_obj_exec(self.db, inssql, &error); if ( error != nil ) return error; - sqlite3_obj_drop_table(self.db, tmpname, &error); + sj_sqlite3_obj_drop_table(self.db, tmpname, &error); return error; } @@ -434,9 +434,9 @@ - (nullable NSError *)_alterTableIfNeeded:(Class)cls { /// - (nullable NSError *)_createTable:(Class)cls { SJSQLiteTableInfo *table = [SJSQLite3TableInfosCache.shared getTableInfoForClass:cls]; - NSString *sql = sqlite3_stmt_create_table(table); + NSString *sql = sj_sqlite3_stmt_create_table(table); NSError *error = nil; - sqlite3_obj_exec(self.db, sql, &error); + sj_sqlite3_obj_exec(self.db, sql, &error); return error; } @@ -494,7 +494,7 @@ - (nullable NSError *)_update:(SJSQLiteObjectInfo *)objectInfo forKeys:(NSArray< return [self _insertOrUpdateObjects:column.isModelArray ? newvalue : @[newvalue]]; } if ( newvalue ) { - [sql appendFormat:@"'%@' = '%@',", column.name, sqlite3_stmt_get_column_value(column, newvalue)]; + [sql appendFormat:@"'%@' = '%@',", column.name, sj_sqlite3_stmt_get_column_value(column, newvalue)]; } else { [sql appendFormat:@"'%@' = NULL,", column.name]; @@ -506,7 +506,7 @@ - (nullable NSError *)_update:(SJSQLiteObjectInfo *)objectInfo forKeys:(NSArray< id primaryValue = [objectInfo.obj valueForKey:primaryKey]; [sql appendFormat:@" WHERE %@ = %@;", primaryKey, primaryValue]; NSError *_Nullable error = nil; - sqlite3_obj_exec(self.db, sql, &error); + sj_sqlite3_obj_exec(self.db, sql, &error); return error; } @@ -541,13 +541,13 @@ - (nullable NSError *)_insertOrUpdateObject:(SJSQLiteObjectInfo *)objectInfo { } } - NSString *sql = sqlite3_stmt_insert_or_update(objectInfo); + NSString *sql = sj_sqlite3_stmt_insert_or_update(objectInfo); - sqlite3_obj_exec(self.db, sql, &error); + sj_sqlite3_obj_exec(self.db, sql, &error); if ( error == nil && objectInfo.autoincrementColumns ) { - NSString *sql = sqlite3_stmt_get_last_row(objectInfo); - __auto_type _Nullable results = [sqlite3_obj_exec(self.db, sql, &error) firstObject]; + NSString *sql = sj_sqlite3_stmt_get_last_row(objectInfo); + __auto_type _Nullable results = [sj_sqlite3_obj_exec(self.db, sql, &error) firstObject]; if ( error != nil ) return error; id obj = objectInfo.obj; for ( SJSQLiteColumnInfo *column in objectInfo.autoincrementColumns ) { @@ -576,11 +576,11 @@ - (nullable id)_transformRowData:(NSDictionary *)rowData toObjectOfClass:(Class) SJSQLiteTableInfo *subtable = column.associatedTableInfo; if ( column.isModelArray ) { - __auto_type primaryValues = sqlite3_stmt_get_primary_values_array(value); + __auto_type primaryValues = sj_sqlite3_stmt_get_primary_values_array(value); NSMutableArray *subObjArr = NSMutableArray.new; BOOL intact = YES; for ( NSNumber *num in primaryValues ) { - NSDictionary *subrow = sqlite3_obj_get_row_data(self.db, subtable, num, &inner_error); + NSDictionary *subrow = sj_sqlite3_obj_get_row_data(self.db, subtable, num, &inner_error); if ( inner_error != nil ) goto handle_error; id _Nullable subobj = [self _transformRowData:subrow toObjectOfClass:subtable.cls error:&inner_error]; if ( inner_error != nil ) goto handle_error; @@ -590,7 +590,7 @@ - (nullable id)_transformRowData:(NSDictionary *)rowData toObjectOfClass:(Class) result[column.name] = intact?subObjArr.copy:nil; } else { - NSDictionary *subrow = sqlite3_obj_get_row_data(self.db, subtable, value, &inner_error); + NSDictionary *subrow = sj_sqlite3_obj_get_row_data(self.db, subtable, value, &inner_error); if ( inner_error != nil ) goto handle_error; id _Nullable subobj = [self _transformRowData:subrow toObjectOfClass:subtable.cls error:&inner_error]; if ( inner_error != nil ) goto handle_error; diff --git a/Example/SJVideoPlayer.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate b/Example/SJVideoPlayer.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate index e4178812e2b3b7cfd65726f64bcd8cc17e290a04..9a0e8dd8084843ae37220244ddb87cfa516fa8b2 100644 GIT binary patch literal 483087 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%0D5H^c1i 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 z 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%0D;q-tj&* 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 diff --git a/Example/SJVideoPlayer/Demos/Test/SJTestViewController.m b/Example/SJVideoPlayer/Demos/Test/SJTestViewController.m index 80ef42183..31ae5e147 100644 --- a/Example/SJVideoPlayer/Demos/Test/SJTestViewController.m +++ b/Example/SJVideoPlayer/Demos/Test/SJTestViewController.m @@ -77,21 +77,6 @@ - (void)_setupViews { }; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPad Demo/SJiPadDemoViewController1.m b/Example/SJVideoPlayer/Demos/iPad Demo/SJiPadDemoViewController1.m index 1d4cff139..532bb915b 100644 --- a/Example/SJVideoPlayer/Demos/iPad Demo/SJiPadDemoViewController1.m +++ b/Example/SJVideoPlayer/Demos/iPad Demo/SJiPadDemoViewController1.m @@ -57,21 +57,6 @@ - (void)_addTestItem { [_player.defaultEdgeControlLayer.rightAdapter addItem:item]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.m index 1b3dffa9d..655f533f1 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.m @@ -44,17 +44,18 @@ - (void)_setupViews { - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; + [_player play]; +#ifdef DEBUG + NSLog(@"AA: %d - %s", (int)__LINE__, __func__); +#endif } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; + [_player pause]; +#ifdef DEBUG + NSLog(@"AA: %d - %s", (int)__LINE__, __func__); +#endif } - (BOOL)prefersStatusBarHidden { @@ -69,4 +70,10 @@ - (BOOL)prefersHomeIndicatorAutoHidden { return YES; } +- (IBAction)push:(id)sender { + UIViewController *vc = UIViewController.new; + vc.view.backgroundColor = UIColor.whiteColor; + [self.navigationController pushViewController:vc animated:YES]; +} + @end diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.xib b/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.xib index a557efea9..238601e17 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.xib +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Continue Playing In The New View Controller/SJViewController4.xib @@ -1,11 +1,9 @@ - - - - + + - + @@ -28,15 +26,24 @@ + + + - + diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/CustomControlLayer/SJViewController12.m b/Example/SJVideoPlayer/Demos/iPhone Demo/CustomControlLayer/SJViewController12.m index 52894b563..83897e19f 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/CustomControlLayer/SJViewController12.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/CustomControlLayer/SJViewController12.m @@ -80,7 +80,6 @@ - (void)viewWillAppear:(BOOL)animated { - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:YES]; - [self.player vc_viewWillDisappear]; } - (void)_setupViews { @@ -96,16 +95,6 @@ - (void)_setupViews { }]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return !self.player.isControlLayerAppeared; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/GIF Screenshot Export/SJViewController10.m b/Example/SJVideoPlayer/Demos/iPhone Demo/GIF Screenshot Export/SJViewController10.m index 90c6cd245..51830a463 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/GIF Screenshot Export/SJViewController10.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/GIF Screenshot Export/SJViewController10.m @@ -58,21 +58,6 @@ - (void)_setupViews { }; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Other/SJViewController11.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Other/SJViewController11.m index 5630412bf..fb17bb2e6 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Other/SJViewController11.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Other/SJViewController11.m @@ -56,21 +56,6 @@ - (void)_setupViews { }]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController6.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController6.m index 61ad5ad06..364330b1e 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController6.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController6.m @@ -86,21 +86,6 @@ - (void)_setupViews { }; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController8.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController8.m index 476c033f4..601c395a4 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController8.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Pop Prompt/SJViewController8.m @@ -63,21 +63,6 @@ - (void)_setupViews { }; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.m index 337f9115c..275ab5e05 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.m @@ -11,6 +11,7 @@ #import #import "SJSourceURLs.h" #import +#import "SJViewController4.h" @interface SJRotationModeDemoViewController1 () @property (weak, nonatomic) IBOutlet UIView *playerContainerView; @@ -93,20 +94,25 @@ - (void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:NO]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:NO]; - [self.player vc_viewWillDisappear]; +} + +- (void)viewDidAppear:(BOOL)animated { + [super viewDidAppear:animated]; + [_player play]; +#ifdef DEBUG + NSLog(@"AA: %d - %s", (int)__LINE__, __func__); +#endif } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; + [_player pause]; +#ifdef DEBUG + NSLog(@"AA: %d - %s", (int)__LINE__, __func__); +#endif } - (BOOL)prefersStatusBarHidden { @@ -127,6 +133,15 @@ - (IBAction)clickedPlayButton:(id)sender { self.player.assetURL = [NSURL URLWithString:[_textField.text stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]]; } +- (IBAction)push:(id)sender { + SJViewController4 *vc = [SJViewController4.alloc initWithAsset:self.player.URLAsset]; + [self.navigationController pushViewController:vc animated:YES]; +} + +- (IBAction)change:(id)sender { + self.player.assetURL = SourceURL1; +} + @end diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.xib b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.xib index 5a468cb99..ae68c949d 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.xib +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/1/SJRotationModeDemoViewController1.xib @@ -72,17 +72,35 @@ + + + + + + diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/2/SJRotationModeDemoViewController2.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/2/SJRotationModeDemoViewController2.m index 24eb1de4e..5a35149cc 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/2/SJRotationModeDemoViewController2.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/2/SJRotationModeDemoViewController2.m @@ -161,20 +161,6 @@ - (BOOL)shouldAutorotate { } #pragma mark - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/3/SJRotationModeDemoViewController3.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/3/SJRotationModeDemoViewController3.m index b67dd0cd7..4ef226352 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/3/SJRotationModeDemoViewController3.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Rotation Control/Rotate Player View And View Controller/3/SJRotationModeDemoViewController3.m @@ -44,7 +44,6 @@ - (void)viewWillAppear:(BOOL)animated { - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:YES]; - [self.player vc_viewWillDisappear]; } - (BOOL)shouldAutorotate { @@ -79,16 +78,6 @@ - (void)_setupViews { }]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return !self.player.isControlLayerAppeared; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Switch Video Definition/SJViewController7.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Switch Video Definition/SJViewController7.m index f179be7d8..d064e10e1 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Switch Video Definition/SJViewController7.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Switch Video Definition/SJViewController7.m @@ -62,21 +62,6 @@ - (void)_setupViews { }; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/Switching Control Layer/SJViewController5.m b/Example/SJVideoPlayer/Demos/iPhone Demo/Switching Control Layer/SJViewController5.m index 3fc69f1e2..a4352dff2 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/Switching Control Layer/SJViewController5.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/Switching Control Layer/SJViewController5.m @@ -96,21 +96,6 @@ - (void)_setupViews { }]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Float Small View/SJViewController3.m b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Float Small View/SJViewController3.m index 8b9d411ab..e63a69ddd 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Float Small View/SJViewController3.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Float Small View/SJViewController3.m @@ -137,15 +137,9 @@ - (void)tableView:(UITableView *)tableView willDisplayCell:(SJMediaTableViewCell - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; _pauseWhenViewDidDisappear = YES; ///< resume } -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; if ( _pauseWhenViewDidDisappear == YES ) diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/List Autoplay/CollectionView/ViewControllers/SJListViewAutoplayViewController.m b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/List Autoplay/CollectionView/ViewControllers/SJListViewAutoplayViewController.m index 1a658fb85..a3b050671 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/List Autoplay/CollectionView/ViewControllers/SJListViewAutoplayViewController.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/List Autoplay/CollectionView/ViewControllers/SJListViewAutoplayViewController.m @@ -115,25 +115,14 @@ - (void)_refreshCellContent { - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - [self.player vc_viewWillDisappear]; [self.navigationController setNavigationBarHidden:YES animated:YES]; } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:YES]; } -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [self.player vc_viewDidDisappear]; -} - - (BOOL)prefersStatusBarHidden { return YES; } diff --git a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Nested View/SJViewController5n.m b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Nested View/SJViewController5n.m index 1bcf6842b..950d3ec28 100644 --- a/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Nested View/SJViewController5n.m +++ b/Example/SJVideoPlayer/Demos/iPhone Demo/UITableView UICollectionView/Nested View/SJViewController5n.m @@ -141,19 +141,6 @@ - (void)tableView:(UITableView *)tableView willDisplayCell:(SJMediaItemsTableVie } #pragma mark - -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - [self.player vc_viewDidAppear]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.player vc_viewWillDisappear]; -} - -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; -} - (BOOL)prefersStatusBarHidden { return [self.player vc_prefersStatusBarHidden]; diff --git a/README.md b/README.md index 92610d72a..601e9eb53 100644 --- a/README.md +++ b/README.md @@ -183,9 +183,6 @@ v2.6.5 往后的版本, 请[配置旋转 !!](https://github.com/changsanjiang/SJ * [12.2 配置提示文本](#12.2) #### [13. 一些固定代码](#13) -* [13.1 - (void)vc_viewDidAppear; ](#13.1) -* [13.2 - (void)vc_viewWillDisappear;](#13.2) -* [13.3 - (void)vc_viewDidDisappear;](#13.3) * [13.4 - (BOOL)vc_prefersStatusBarHidden;](#13.4) * [13.5 - (UIStatusBarStyle)vc_preferredStatusBarStyle;](#13.5) * [13.6 - 临时显示状态栏](#13.6) @@ -1373,68 +1370,9 @@ ___

13. 一些固定代码

-接入播放器的 ViewController 中, 会写一些固定的代码, 我将这些固定代码(例如 进入下个页面时, 需要当前页面的播放器暂停), 都封装在了以下方法中. - -```Objective-C -- (void)viewDidAppear:(BOOL)animated { -[super viewDidAppear:animated]; -[_player vc_viewDidAppear]; -} -``` +接入播放器的 ViewController 中, 会写一些固定的代码, 我将这些固定代码都封装在了以下方法中. 在适当的时候直接调用即可, 以下为内部实现: -

- -

13.1 - (void)vc_viewDidAppear;

- -

-当 ViewController 的 viewDidAppear 调用时, 恢复播放 - -实现如下: -

- -```Objective-C -- (void)vc_viewDidAppear { -if ( !self.isPlayOnScrollView || (self.isPlayOnScrollView && self.isScrollAppeared) ) { -/// 恢复播放 -[self play]; -} - -/// 标识vc已显示 -/// vc_isDisappeared 是自动旋转触发的条件之一, 如果控制器 disappear 了, 就不会触发旋转 -self.vc_isDisappeared = NO; -} -``` - -

13.2 - (void)vc_viewWillDisappear;

- -

-当 ViewController 的 viewWillDisappear 调用时, 设置标识为YES - -实现如下: -

- -```Objective-C -- (void)vc_viewWillDisappear { -/// 标识vc已显示 -/// vc_isDisappeared 是自动旋转触发的条件之一, 如果控制器 disappear 了, 就不会触发旋转 -self.vc_isDisappeared = YES; -} -``` - -

13.3 - (void)vc_viewDidDisappear;

- -

-当 ViewController 的 viewDidDisappear 调用时, 暂停播放 - -实现如下: -

- -```Objective-C -- (void)vc_viewDidDisappear { -[self pause]; -} -```

13.4 - (BOOL)vc_prefersStatusBarHidden;

diff --git a/SJVideoPlayer.podspec b/SJVideoPlayer.podspec index eed86e9c8..4d28ec151 100644 --- a/SJVideoPlayer.podspec +++ b/SJVideoPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'SJVideoPlayer' - s.version = '3.0.2' + s.version = '3.0.3' s.summary = 'video player.' s.description = 'https://github.com/changsanjiang/SJVideoPlayer/blob/master/README.md' s.homepage = 'https://github.com/changsanjiang/SJVideoPlayer' diff --git a/SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.h b/SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.h index 51a1334ca..1c9fd6a15 100644 --- a/SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.h +++ b/SJVideoPlayer/SJEdgeControlLayer/ResourceLoader/SJEdgeControlLayerSettings.h @@ -60,6 +60,9 @@ extern NSNotificationName const SJSettingsPlayerNotification; @property (nonatomic, strong, nullable) UIImage *shrinkscreenImage; @property (nonatomic, strong) NSString *liveText; // 实时直播 +@property (nonatomic, strong, nullable) UIColor *bottomIndicator_traceColor; +@property (nonatomic, strong, nullable) UIColor *bottomIndicator_trackColor; + // - Right Adapter Item - @property (nonatomic, strong) UIImage *filmEditingBtnImage; diff --git a/SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.m b/SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.m index e07084c78..05392edfe 100644 --- a/SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.m +++ b/SJVideoPlayer/SJEdgeControlLayer/SJEdgeControlLayer.m @@ -332,8 +332,10 @@ - (SJProgressSlider *)bottomProgressIndicator { _bottomProgressIndicator.pan.enabled = NO; _bottomProgressIndicator.trackHeight = _bottomProgressIndicatorHeight; SJEdgeControlLayerSettings *setting = SJEdgeControlLayerSettings.commonSettings; - _bottomProgressIndicator.traceImageView.backgroundColor = setting.progress_traceColor; - _bottomProgressIndicator.trackImageView.backgroundColor = setting.progress_trackColor; + UIColor *traceColor = setting.bottomIndicator_traceColor ?: setting.progress_traceColor; + UIColor *trackColor = setting.bottomIndicator_trackColor ?: setting.progress_trackColor; + _bottomProgressIndicator.traceImageView.backgroundColor = traceColor; + _bottomProgressIndicator.trackImageView.backgroundColor = trackColor; return _bottomProgressIndicator; } diff --git a/SJVideoPlayer/SJVideoPlayer.m b/SJVideoPlayer/SJVideoPlayer.m index 38ad473b8..8419d4d7f 100644 --- a/SJVideoPlayer/SJVideoPlayer.m +++ b/SJVideoPlayer/SJVideoPlayer.m @@ -51,7 +51,7 @@ - (void)dealloc { } + (NSString *)version { - return @"v3.0.2"; + return @"v3.0.3"; } + (instancetype)player { diff --git a/SJVideoPlayer/Settings/SJVideoPlayerSettings.h b/SJVideoPlayer/Settings/SJVideoPlayerSettings.h index 052aed5de..fefd9aa0a 100644 --- a/SJVideoPlayer/Settings/SJVideoPlayerSettings.h +++ b/SJVideoPlayer/Settings/SJVideoPlayerSettings.h @@ -59,6 +59,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, strong, nullable) UIImage *shrinkscreenImage; @property (nonatomic, strong) NSString *liveText; // 实时直播 +@property (nonatomic, strong, nullable) UIColor *bottomIndicator_traceColor; +@property (nonatomic, strong, nullable) UIColor *bottomIndicator_trackColor; + // - Right Adapter Item - @property (nonatomic, strong) UIImage *filmEditingBtnImage;