diff --git a/.DS_Store b/.DS_Store index 260587c..6c4a2fd 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/OrderScheduling.xcodeproj/project.pbxproj b/OrderScheduling.xcodeproj/project.pbxproj index 6bc4b01..0ee5d44 100644 --- a/OrderScheduling.xcodeproj/project.pbxproj +++ b/OrderScheduling.xcodeproj/project.pbxproj @@ -37,6 +37,9 @@ 794FBB162A8F1A3300D57BB8 /* RescuePhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */; }; 794FBB192A8F4AF000D57BB8 /* MessageCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB182A8F4AF000D57BB8 /* MessageCount.swift */; }; 794FBB1C2A8F4DE900D57BB8 /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB1B2A8F4DE900D57BB8 /* MessageView.swift */; }; + 794FBB1F2A92F7C300D57BB8 /* WebViewTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB1E2A92F7C300D57BB8 /* WebViewTool.swift */; }; + 794FBB212A934E0A00D57BB8 /* AppUpdateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB202A934E0A00D57BB8 /* AppUpdateView.swift */; }; + 794FBB232A93519800D57BB8 /* AppUpdateTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB222A93519800D57BB8 /* AppUpdateTool.swift */; }; 79CECC122A89BD1A00B95D8B /* MessageCenterController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC112A89BD1A00B95D8B /* MessageCenterController.swift */; }; 79CECC192A89EE6A00B95D8B /* ReviewFailedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC182A89EE6A00B95D8B /* ReviewFailedController.swift */; }; 79CECC1B2A89F83800B95D8B /* AdditionalPhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC1A2A89F83800B95D8B /* AdditionalPhotoController.swift */; }; @@ -44,6 +47,10 @@ 79CECC242A8B16D400B95D8B /* VehicleMonitoringListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC232A8B16D400B95D8B /* VehicleMonitoringListController.swift */; }; 79CECC262A8C749B00B95D8B /* VehicleMonitorVideoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC252A8C749B00B95D8B /* VehicleMonitorVideoController.swift */; }; 79CECC282A8CADEA00B95D8B /* VehicleMonitoringVideoDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79CECC272A8CADEA00B95D8B /* VehicleMonitoringVideoDetailController.swift */; }; + 79DD0DA82A9480D000768FE7 /* NotificationAuthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79DD0DA72A9480D000768FE7 /* NotificationAuthView.swift */; }; + 79DD0DAA2A9481BC00768FE7 /* NotificationAuthTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79DD0DA92A9481BC00768FE7 /* NotificationAuthTool.swift */; }; + 79DD0DAD2A94A0EE00768FE7 /* LaunchImage.png in Resources */ = {isa = PBXBuildFile; fileRef = 79DD0DAC2A94A0EE00768FE7 /* LaunchImage.png */; }; + 79DD0DB12A94B3DB00768FE7 /* EmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79DD0DB02A94B3DB00768FE7 /* EmptyView.swift */; }; 79EAD8142A7B86610036E093 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 79EAD8132A7B86610036E093 /* Assets.xcassets */; }; 79EAD8172A7B86610036E093 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 79EAD8152A7B86610036E093 /* LaunchScreen.storyboard */; }; A64E95F00B82DC28C2B9306E /* libPods-OrderScheduling.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 98784A61C325B3D6C408016C /* libPods-OrderScheduling.a */; }; @@ -80,6 +87,9 @@ 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RescuePhotoController.swift; sourceTree = ""; }; 794FBB182A8F4AF000D57BB8 /* MessageCount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCount.swift; sourceTree = ""; }; 794FBB1B2A8F4DE900D57BB8 /* MessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageView.swift; sourceTree = ""; }; + 794FBB1E2A92F7C300D57BB8 /* WebViewTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewTool.swift; sourceTree = ""; }; + 794FBB202A934E0A00D57BB8 /* AppUpdateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateView.swift; sourceTree = ""; }; + 794FBB222A93519800D57BB8 /* AppUpdateTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateTool.swift; sourceTree = ""; }; 79C638864A659A427FCD5391 /* Pods-OrderScheduling.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OrderScheduling.debug.xcconfig"; path = "Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.debug.xcconfig"; sourceTree = ""; }; 79CECC112A89BD1A00B95D8B /* MessageCenterController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterController.swift; sourceTree = ""; }; 79CECC182A89EE6A00B95D8B /* ReviewFailedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewFailedController.swift; sourceTree = ""; }; @@ -88,7 +98,6 @@ 79CECC232A8B16D400B95D8B /* VehicleMonitoringListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleMonitoringListController.swift; sourceTree = ""; }; 79CECC252A8C749B00B95D8B /* VehicleMonitorVideoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleMonitorVideoController.swift; sourceTree = ""; }; 79CECC272A8CADEA00B95D8B /* VehicleMonitoringVideoDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleMonitoringVideoDetailController.swift; sourceTree = ""; }; - 79CECC2B2A8CBD0B00B95D8B /* OrderScheduling-Bridge-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OrderScheduling-Bridge-Header.h"; sourceTree = ""; }; 79CECC9D2A8E03C200B95D8B /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; 79CECC9F2A8E03CF00B95D8B /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 79CECCA12A8E03D900B95D8B /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -104,6 +113,13 @@ 79CECCB52A8E04EF00B95D8B /* libbz2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libbz2.tbd; path = usr/lib/libbz2.tbd; sourceTree = SDKROOT; }; 79CECCB62A8E04FA00B95D8B /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 79CECCB72A8E050200B95D8B /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 79DD0DA12A94501500768FE7 /* OrderScheduling-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OrderScheduling-Bridging-Header.h"; sourceTree = ""; }; + 79DD0DA52A945D9E00768FE7 /* OrderSchedulingRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OrderSchedulingRelease.entitlements; sourceTree = ""; }; + 79DD0DA62A946B2500768FE7 /* OrderSchedulingDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OrderSchedulingDebug.entitlements; sourceTree = ""; }; + 79DD0DA72A9480D000768FE7 /* NotificationAuthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationAuthView.swift; sourceTree = ""; }; + 79DD0DA92A9481BC00768FE7 /* NotificationAuthTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationAuthTool.swift; sourceTree = ""; }; + 79DD0DAC2A94A0EE00768FE7 /* LaunchImage.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = LaunchImage.png; sourceTree = ""; }; + 79DD0DB02A94B3DB00768FE7 /* EmptyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyView.swift; sourceTree = ""; }; 79EAD8072A7B86600036E093 /* OrderScheduling.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OrderScheduling.app; sourceTree = BUILT_PRODUCTS_DIR; }; 79EAD8132A7B86610036E093 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 79EAD8162A7B86610036E093 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -132,7 +148,7 @@ 791887442A7CD05B007EA0C1 /* MainTabBarController.swift */, 7918877A2A7CDD1A007EA0C1 /* Initial.swift */, 7918878A2A7CE9E0007EA0C1 /* main.swift */, - 79CECC2B2A8CBD0B00B95D8B /* OrderScheduling-Bridge-Header.h */, + 79DD0DA12A94501500768FE7 /* OrderScheduling-Bridging-Header.h */, ); path = Main; sourceTree = ""; @@ -239,18 +255,18 @@ isa = PBXGroup; children = ( 794FBB1A2A8F4DDD00D57BB8 /* View */, - 794FBB172A8F4ADD00D57BB8 /* MessageCount */, - 791887932A80C351007EA0C1 /* Controller */, + 791887932A80C351007EA0C1 /* WebView */, ); path = Common; sourceTree = ""; }; - 791887932A80C351007EA0C1 /* Controller */ = { + 791887932A80C351007EA0C1 /* WebView */ = { isa = PBXGroup; children = ( 791887942A80C361007EA0C1 /* WebViewController.swift */, + 794FBB1E2A92F7C300D57BB8 /* WebViewTool.swift */, ); - path = Controller; + path = WebView; sourceTree = ""; }; 7918879D2A80CA10007EA0C1 /* HttpRequestCenter */ = { @@ -384,18 +400,16 @@ path = Reactor; sourceTree = ""; }; - 794FBB172A8F4ADD00D57BB8 /* MessageCount */ = { - isa = PBXGroup; - children = ( - 794FBB182A8F4AF000D57BB8 /* MessageCount.swift */, - ); - path = MessageCount; - sourceTree = ""; - }; 794FBB1A2A8F4DDD00D57BB8 /* View */ = { isa = PBXGroup; children = ( 794FBB1B2A8F4DE900D57BB8 /* MessageView.swift */, + 794FBB182A8F4AF000D57BB8 /* MessageCount.swift */, + 794FBB202A934E0A00D57BB8 /* AppUpdateView.swift */, + 794FBB222A93519800D57BB8 /* AppUpdateTool.swift */, + 79DD0DA72A9480D000768FE7 /* NotificationAuthView.swift */, + 79DD0DA92A9481BC00768FE7 /* NotificationAuthTool.swift */, + 79DD0DB02A94B3DB00768FE7 /* EmptyView.swift */, ); path = View; sourceTree = ""; @@ -524,6 +538,14 @@ path = Reactor; sourceTree = ""; }; + 79DD0DAB2A94A0EE00768FE7 /* Source */ = { + isa = PBXGroup; + children = ( + 79DD0DAC2A94A0EE00768FE7 /* LaunchImage.png */, + ); + path = Source; + sourceTree = ""; + }; 79EAD7FE2A7B86600036E093 = { isa = PBXGroup; children = ( @@ -545,6 +567,8 @@ 79EAD8092A7B86600036E093 /* OrderScheduling */ = { isa = PBXGroup; children = ( + 79DD0DA62A946B2500768FE7 /* OrderSchedulingDebug.entitlements */, + 79DD0DA52A945D9E00768FE7 /* OrderSchedulingRelease.entitlements */, 794FBB0E2A8F044F00D57BB8 /* Mine */, 794FBB072A8F03D200D57BB8 /* History */, 79CECC1C2A8A2A1600B95D8B /* VehicleMonitoring */, @@ -559,6 +583,7 @@ 7918877C2A7CE57D007EA0C1 /* Strings */, 791887732A7CD633007EA0C1 /* Rescue */, 7918873F2A7CCCCD007EA0C1 /* Main */, + 79DD0DAB2A94A0EE00768FE7 /* Source */, 79EAD8132A7B86610036E093 /* Assets.xcassets */, 79EAD8152A7B86610036E093 /* LaunchScreen.storyboard */, 79EAD8182A7B86610036E093 /* Info.plist */, @@ -632,6 +657,7 @@ TargetAttributes = { 79EAD8062A7B86600036E093 = { CreatedOnToolsVersion = 14.3.1; + LastSwiftMigration = 1430; }; }; }; @@ -660,6 +686,7 @@ files = ( 79EAD8172A7B86610036E093 /* LaunchScreen.storyboard in Resources */, 79EAD8142A7B86610036E093 /* Assets.xcassets in Resources */, + 79DD0DAD2A94A0EE00768FE7 /* LaunchImage.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -712,6 +739,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 794FBB232A93519800D57BB8 /* AppUpdateTool.swift in Sources */, 79CECC242A8B16D400B95D8B /* VehicleMonitoringListController.swift in Sources */, 791887BD2A83952D007EA0C1 /* Entry.swift in Sources */, 791887952A80C361007EA0C1 /* WebViewController.swift in Sources */, @@ -724,7 +752,11 @@ 7918878B2A7CE9E0007EA0C1 /* main.swift in Sources */, 791887A02A80CA10007EA0C1 /* RequestList.swift in Sources */, 79CECC262A8C749B00B95D8B /* VehicleMonitorVideoController.swift in Sources */, + 79DD0DA82A9480D000768FE7 /* NotificationAuthView.swift in Sources */, + 794FBB212A934E0A00D57BB8 /* AppUpdateView.swift in Sources */, 791887802A7CE6F1007EA0C1 /* UserDefaultStrings.swift in Sources */, + 79DD0DB12A94B3DB00768FE7 /* EmptyView.swift in Sources */, + 79DD0DAA2A9481BC00768FE7 /* NotificationAuthTool.swift in Sources */, 794FBB1C2A8F4DE900D57BB8 /* MessageView.swift in Sources */, 794FBB142A8F045F00D57BB8 /* MineController.swift in Sources */, 791887432A7CCCCD007EA0C1 /* SceneDelegate.swift in Sources */, @@ -743,6 +775,7 @@ 791887452A7CD05B007EA0C1 /* MainTabBarController.swift in Sources */, 791887792A7CD64C007EA0C1 /* RescueController.swift in Sources */, 79CECC122A89BD1A00B95D8B /* MessageCenterController.swift in Sources */, + 794FBB1F2A92F7C300D57BB8 /* WebViewTool.swift in Sources */, 791887822A7CE71D007EA0C1 /* AppKeyStrings.swift in Sources */, 79CECC282A8CADEA00B95D8B /* VehicleMonitoringVideoDetailController.swift in Sources */, 791887A12A80CA10007EA0C1 /* ApiList.swift in Sources */, @@ -886,9 +919,12 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = OrderScheduling/OrderSchedulingDebug.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = W4SG324NS4; + DEVELOPMENT_TEAM = X9WF5T89LV; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -911,12 +947,15 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.dezhong.boss; + PRODUCT_BUNDLE_IDENTIFIER = com.sino.supplier; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "OrderScheduling/Main/OrderScheduling-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; }; @@ -928,9 +967,11 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = OrderScheduling/OrderSchedulingRelease.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = W4SG324NS4; + DEVELOPMENT_TEAM = X9WF5T89LV; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/OrderScheduling/Player/Classes/ijkplayer", @@ -952,12 +993,13 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.dezhong.boss; + PRODUCT_BUNDLE_IDENTIFIER = com.sino.supplier; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "OrderScheduling/Main/OrderScheduling-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; }; diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate index 34998cb..84ffda8 100644 Binary files a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate and b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index a9c82f6..d22e5a9 100644 --- a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -46,8 +46,8 @@ filePath = "OrderScheduling/Login/ViewController/LoginController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "222" - endingLineNumber = "222" + startingLineNumber = "229" + endingLineNumber = "229" landmarkName = "textView(_:shouldInteractWith:in:interaction:)" landmarkType = "7"> @@ -62,8 +62,8 @@ filePath = "OrderScheduling/Login/ViewController/LoginController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "226" - endingLineNumber = "226" + startingLineNumber = "233" + endingLineNumber = "233" landmarkName = "textView(_:shouldInteractWith:in:interaction:)" landmarkType = "7"> @@ -253,8 +253,8 @@ filePath = "OrderScheduling/Main/Initial.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "88" - endingLineNumber = "88" + startingLineNumber = "96" + endingLineNumber = "96" landmarkName = "networkErrorHandler(response:)" landmarkType = "7"> @@ -269,8 +269,8 @@ filePath = "OrderScheduling/Main/Initial.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "89" - endingLineNumber = "89" + startingLineNumber = "97" + endingLineNumber = "97" landmarkName = "networkErrorHandler(response:)" landmarkType = "7"> @@ -317,8 +317,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "469" - endingLineNumber = "469" + startingLineNumber = "481" + endingLineNumber = "481" landmarkName = "tableView(_:cellForRowAt:)" landmarkType = "7"> @@ -333,8 +333,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "470" - endingLineNumber = "470" + startingLineNumber = "482" + endingLineNumber = "482" landmarkName = "tableView(_:cellForRowAt:)" landmarkType = "7"> @@ -507,8 +507,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "551" - endingLineNumber = "551" + startingLineNumber = "563" + endingLineNumber = "563" landmarkName = "tableView(_:cellForRowAt:)" landmarkType = "7"> @@ -523,8 +523,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "552" - endingLineNumber = "552" + startingLineNumber = "564" + endingLineNumber = "564" landmarkName = "tableView(_:cellForRowAt:)" landmarkType = "7"> @@ -555,8 +555,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "672" - endingLineNumber = "672" + startingLineNumber = "701" + endingLineNumber = "701" landmarkName = "collectionView(_:cellForItemAt:)" landmarkType = "7"> @@ -571,8 +571,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "673" - endingLineNumber = "673" + startingLineNumber = "702" + endingLineNumber = "702" landmarkName = "collectionView(_:cellForItemAt:)" landmarkType = "7"> @@ -714,8 +714,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "114" - endingLineNumber = "114" + startingLineNumber = "130" + endingLineNumber = "130" landmarkName = "reloadCell(models:isPaiban:isAlarm:)" landmarkType = "7"> @@ -746,8 +746,8 @@ filePath = "OrderScheduling/Main/Initial.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "105" - endingLineNumber = "105" + startingLineNumber = "113" + endingLineNumber = "113" landmarkName = "errorCodeHandler(response:)" landmarkType = "7"> @@ -762,28 +762,28 @@ filePath = "OrderScheduling/Main/Initial.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "108" - endingLineNumber = "108" - landmarkName = "errorCodeHandler(response:)" - landmarkType = "7"> - - - - + + + + @@ -810,8 +810,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "249" - endingLineNumber = "249" + startingLineNumber = "291" + endingLineNumber = "291" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -826,8 +826,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "251" - endingLineNumber = "251" + startingLineNumber = "293" + endingLineNumber = "293" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -842,8 +842,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "397" - endingLineNumber = "397" + startingLineNumber = "439" + endingLineNumber = "439" landmarkName = "categoryView(_:didScrollSelectedItemAt:)" landmarkType = "7"> @@ -858,8 +858,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "277" - endingLineNumber = "277" + startingLineNumber = "319" + endingLineNumber = "319" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -874,8 +874,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "276" - endingLineNumber = "276" + startingLineNumber = "318" + endingLineNumber = "318" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -938,8 +938,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "20" - endingLineNumber = "20" + startingLineNumber = "37" + endingLineNumber = "37" landmarkName = "application(_:supportedInterfaceOrientationsFor:)" landmarkType = "7"> @@ -954,8 +954,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "21" - endingLineNumber = "21" + startingLineNumber = "38" + endingLineNumber = "38" landmarkName = "application(_:supportedInterfaceOrientationsFor:)" landmarkType = "7"> @@ -970,8 +970,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "23" - endingLineNumber = "23" + startingLineNumber = "40" + endingLineNumber = "40" landmarkName = "application(_:supportedInterfaceOrientationsFor:)" landmarkType = "7"> @@ -1200,5 +1200,675 @@ landmarkType = "7"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OrderScheduling/.DS_Store b/OrderScheduling/.DS_Store index 6488e66..b199a9f 100644 Binary files a/OrderScheduling/.DS_Store and b/OrderScheduling/.DS_Store differ diff --git a/OrderScheduling/Assets.xcassets/AccentColor.colorset/Contents.json b/OrderScheduling/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/OrderScheduling/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/OrderScheduling/Assets.xcassets/AppIcon.appiconset/Contents.json b/OrderScheduling/Assets.xcassets/AppIcon.appiconset/Contents.json index 13613e3..27a4f38 100644 --- a/OrderScheduling/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/OrderScheduling/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "icon-1024.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/OrderScheduling/Assets.xcassets/AppIcon.appiconset/icon-1024.png b/OrderScheduling/Assets.xcassets/AppIcon.appiconset/icon-1024.png new file mode 100644 index 0000000..21c089d Binary files /dev/null and b/OrderScheduling/Assets.xcassets/AppIcon.appiconset/icon-1024.png differ diff --git a/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/Contents.json b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/Contents.json new file mode 100644 index 0000000..483a4d0 --- /dev/null +++ b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "noData_image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "noData_image@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "noData_image@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image.png b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image.png new file mode 100644 index 0000000..1283cf5 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image.png differ diff --git a/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@2x.png b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@2x.png new file mode 100644 index 0000000..9129b7d Binary files /dev/null and b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@2x.png differ diff --git a/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@3x.png b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@3x.png new file mode 100644 index 0000000..3df7d68 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/Common/noData_image.imageset/noData_image@3x.png differ diff --git a/OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/Contents.json b/OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/Contents.json similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/Contents.json rename to OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/Contents.json diff --git a/OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow@2x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow@2x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow@2x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow@2x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow@3x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow@3x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_arrow.imageset/mine_info_arrow@3x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_arrow.imageset/mine_info_arrow@3x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_car.imageset/Contents.json b/OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/Contents.json similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_car.imageset/Contents.json rename to OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/Contents.json diff --git a/OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car@2x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car@2x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car@2x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car@2x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car@3x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car@3x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_car.imageset/mine_info_car@3x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_car.imageset/mine_info_car@3x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_driver.imageset/Contents.json b/OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/Contents.json similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_driver.imageset/Contents.json rename to OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/Contents.json diff --git a/OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver@2x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver@2x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver@2x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver@2x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver@3x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver@3x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_driver.imageset/mine_info_driver@3x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_driver.imageset/mine_info_driver@3x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_separate.imageset/Contents.json b/OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/Contents.json similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_separate.imageset/Contents.json rename to OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/Contents.json diff --git a/OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate@2x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate@2x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate@2x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate@2x.png diff --git a/OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate@3x.png b/OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate@3x.png similarity index 100% rename from OrderScheduling/Assets.xcassets/mine_info_separate.imageset/mine_info_separate@3x.png rename to OrderScheduling/Assets.xcassets/Mine/mine_info_separate.imageset/mine_info_separate@3x.png diff --git a/OrderScheduling/Base.lproj/LaunchScreen.storyboard b/OrderScheduling/Base.lproj/LaunchScreen.storyboard index 865e932..eeb4cc5 100644 --- a/OrderScheduling/Base.lproj/LaunchScreen.storyboard +++ b/OrderScheduling/Base.lproj/LaunchScreen.storyboard @@ -1,8 +1,10 @@ - - + + + - - + + + @@ -11,10 +13,21 @@ - + - - + + + + + + + + + + + + + @@ -22,4 +35,10 @@ + + + + + + diff --git a/OrderScheduling/Common/.DS_Store b/OrderScheduling/Common/.DS_Store index 993d6b4..c8b484b 100644 Binary files a/OrderScheduling/Common/.DS_Store and b/OrderScheduling/Common/.DS_Store differ diff --git a/OrderScheduling/Common/Controller/WebViewController.swift b/OrderScheduling/Common/Controller/WebViewController.swift deleted file mode 100644 index 123d41a..0000000 --- a/OrderScheduling/Common/Controller/WebViewController.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// WebViewController.swift -// OrderScheduling -// -// Created by 中道 on 2023/8/7. -// - -import Foundation -import WebKit -import SnapKit -import DDLogKit_Private -import DDToastKit_Private -import DDControlsKit_Private - -class WebViewController : DDViewController { - lazy var webView = WKWebView.init() - var vcTitle : String - var url : String? - - public init(title:String,url:String) { - self.vcTitle = title - self.url = url - super.init(nibName: nil, bundle: nil) - } - - required public init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - open override func viewDidLoad() { - super.viewDidLoad() - title = vcTitle - dd_navigationBarBackgroundColor = .hex("354683") - dd_navigationBarTitleTextAttributes = [.foregroundColor : UIColor.white(alpha: 0.7),.font:UIFont.mediumFont(17)] - - webView.navigationDelegate = self - webView.uiDelegate = self - view.addSubview(webView) - - let request = URLRequest(url: URL(string: url!)!) - webView.load(request) - - webView.snp.makeConstraints { make in - make.edges.equalToSuperview() - } - } -} - -extension WebViewController : WKNavigationDelegate,WKUIDelegate { - public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { - DDLog(message: "finish--------------------------------") - } - public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { - DDLog(message: "didFail--------------------------------") - view.dd_makeToast(webViewLoadFailed) {[weak self] _ in - self?.navigationController?.popViewController(animated: true) - } - } - public func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { - DDLog(message: "didFailProvisionalNavigation--------------------------------") - } -} diff --git a/OrderScheduling/Common/View/AppUpdateTool.swift b/OrderScheduling/Common/View/AppUpdateTool.swift new file mode 100644 index 0000000..f8f5b46 --- /dev/null +++ b/OrderScheduling/Common/View/AppUpdateTool.swift @@ -0,0 +1,127 @@ +// +// AppUpdateTool.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/21. +// + +import Foundation +import StoreKit +import RxSwift +import RxRelay +import RxCocoa + +public let APPUPDATE = AppUpdateTool.default + +open class AppUpdateTool : NSObject { + public static let `default` = AppUpdateTool() + public let requestAppUpdateRelay = ReplayRelay.create(bufferSize: 1) + private let disposeBag = DisposeBag() + public let appUpdateView = AppUpdateView() + + public enum FromTypeEnum : Int { + case auto = 1 + case manual + } + + private var ignoreFlag : Bool? { + return UserDefaults.standard.object(forKey: appUpdateIgnore_key) as? Bool + } + + func setIgnoreFlag(ignoreFlag:Bool) { + UserDefaults.standard.setValue(ignoreFlag, forKey: appUpdateIgnore_key) + } + + public override init() { + super.init() + + appUpdateView.updateButton.rx.tap + .subscribe(onNext: {[weak self] _ in + self?.openAppStore(by: UIApplication.shared.dd_keyWindow.rootViewController) + }) + .disposed(by: disposeBag) + + appUpdateView.ignoreButton.rx.tap + .subscribe(onNext: {[weak self] _ in + ENTRY.dismiss(name: appUpdateEntry) {[weak self] in + self?.setIgnoreFlag(ignoreFlag: true) + } + }) + .disposed(by: disposeBag) + + requestAppUpdateRelay + .observe(on: MainScheduler.instance) + .do(onNext: { _ in + UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_showHUD() + }) + .flatMapLatest { type in + return Observable.zip(RQ.versionCheck(parameters: VersionCheckParameters(version: TOOL.getVersion())).asObservable(), Observable.just(type)) + } + .observe(on: MainScheduler.instance) + .do(onNext: { (_,_) in + UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_hideHUD() + }) + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] (response,type) in + if response?.success == true { + if self?.canUpdate(localVersion: TOOL.getVersion(), onlineVersion: response?.data?.appVersion ?? "0") == true { + if type == .auto { + if self?.shouldPresentEntry() == true { + if let appUpdateView = self?.appUpdateView { + appUpdateView.contentLabel.text = response?.data?.description + ENTRY.showAppUpdateEntry(view: appUpdateView,name: appUpdateEntry) + } + } + }else if type == .manual { + if let appUpdateView = self?.appUpdateView { + ENTRY.showAppUpdateEntry(view: appUpdateView,name: appUpdateEntry) + } + } + }else{ + if type == .manual { + UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_makeToast(isTheNewestVserion) + } + } + }else{ + UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_makeToast(response?.msg) + } + }) + .disposed(by: disposeBag) + } + + func canUpdate(localVersion:String,onlineVersion:String) -> Bool { + let onlineIntVersion = Int(onlineVersion.replacingOccurrences(of: ".", with: "")) ?? 0 + let localIntVersion = Int(localVersion.replacingOccurrences(of: ".", with: "")) ?? 0 + if onlineIntVersion > localIntVersion { + return true + } + + // 当app更新到最新版本时需要重置忽略 + setIgnoreFlag(ignoreFlag: false) + + return false + } + + func shouldPresentEntry() -> Bool { + if ignoreFlag == true { + return false + } + return true + } + + func openAppStore(by from:UIViewController?) { + if ignoreFlag == true { + }else{ + let vc = SKStoreProductViewController() + vc.delegate = self + vc.loadProduct(withParameters: [SKStoreProductParameterITunesItemIdentifier:AppItunesId]) + from?.present(vc, animated: true) + } + } +} + +extension AppUpdateTool : SKStoreProductViewControllerDelegate { + public func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) { + viewController.dismiss(animated: true) + } +} diff --git a/OrderScheduling/Common/View/AppUpdateView.swift b/OrderScheduling/Common/View/AppUpdateView.swift new file mode 100644 index 0000000..74032f6 --- /dev/null +++ b/OrderScheduling/Common/View/AppUpdateView.swift @@ -0,0 +1,87 @@ +// +// AppUpdateView.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/21. +// + +import Foundation +import DDControlsKit_Private +import SnapKit +import DDAutoUIKit_Private + +open class AppUpdateView : DDView { + private let radiusView : DDView + private let scrollView : DDScrollView + private let scrollContentView : DDView + public let contentLabel : DDLabel + public let ignoreButton : DDButton + public let updateButton : DDButton + public override init(frame: CGRect) { + radiusView = DDView.init() + scrollView = DDScrollView() + scrollContentView = DDView.init() + contentLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .black.alpha(0.5)) + ignoreButton = DDButton.dd_initCustom() + updateButton = DDButton.dd_initCustom() + super.init(frame: frame) + addSubview(radiusView) + radiusView.addSubview(scrollView) + scrollView.addSubview(scrollContentView) + contentLabel.numberOfLines = 0 + scrollContentView.addSubview(contentLabel) + ignoreButton.setTitle("忽略", for: .normal) + ignoreButton.titleLabel?.font = .mediumFont(auto(14)) + ignoreButton.backgroundColor = .white + ignoreButton.setTitleColor(.black.alpha(0.3), for: .normal) + ignoreButton.layer.borderColor = UIColor.hex("000000").alpha(0.3).cgColor + ignoreButton.layer.borderWidth = 0.5 + ignoreButton.layer.cornerRadius = auto(15) + radiusView.addSubview(ignoreButton) + updateButton.setTitle("更新", for: .normal) + updateButton.setTitleColor(.white, for: .normal) + updateButton.titleLabel?.font = .mediumFont(auto(14)) + updateButton.backgroundColor = .hex("1C62D9") + updateButton.layer.cornerRadius = auto(15) + radiusView.addSubview(updateButton) + + radiusView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + scrollView.snp.makeConstraints { make in + make.top.left.right.equalToSuperview() + make.bottom.equalToSuperview().offset(-auto(70)) + } + + scrollContentView.snp.makeConstraints { make in + make.edges.equalToSuperview() + make.width.equalToSuperview() + } + + contentLabel.snp.makeConstraints { make in + make.left.equalToSuperview().offset(auto(20)) + make.top.equalToSuperview().offset(auto(20)) + make.right.equalTo(-auto(20)) + make.bottom.equalTo(scrollContentView) + } + + ignoreButton.snp.makeConstraints { make in + make.bottom.equalToSuperview().offset(-auto(20)) + make.width.equalTo(auto(80)) + make.height.equalTo(auto(30)) + make.centerX.equalToSuperview().offset(-auto(60)) + } + + updateButton.snp.makeConstraints { make in + make.bottom.equalToSuperview().offset(-auto(20)) + make.width.equalTo(auto(80)) + make.height.equalTo(auto(30)) + make.centerX.equalToSuperview().offset(auto(60)) + } + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/OrderScheduling/Common/View/EmptyView.swift b/OrderScheduling/Common/View/EmptyView.swift new file mode 100644 index 0000000..a08b164 --- /dev/null +++ b/OrderScheduling/Common/View/EmptyView.swift @@ -0,0 +1,28 @@ +// +// EmptyView.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/22. +// + +import Foundation +import DDControlsKit_Private +import SnapKit + +open class EmptyView : DDView { + public let imageView : DDImageView + public override init(frame: CGRect) { + imageView = DDImageView(image: UIImage(named: "noData_image")) + super.init(frame: frame) + addSubview(imageView) + imageView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + isHidden = true + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/OrderScheduling/Common/MessageCount/MessageCount.swift b/OrderScheduling/Common/View/MessageCount.swift similarity index 98% rename from OrderScheduling/Common/MessageCount/MessageCount.swift rename to OrderScheduling/Common/View/MessageCount.swift index d48a5f9..d868d95 100644 --- a/OrderScheduling/Common/MessageCount/MessageCount.swift +++ b/OrderScheduling/Common/View/MessageCount.swift @@ -38,7 +38,7 @@ open class MessageCount : NSObject { self?.pendingCountRelay.accept(toDoCount) } }else{ - + } }) .disposed(by: disposeBag) diff --git a/OrderScheduling/Common/View/NotificationAuthTool.swift b/OrderScheduling/Common/View/NotificationAuthTool.swift new file mode 100644 index 0000000..af963ce --- /dev/null +++ b/OrderScheduling/Common/View/NotificationAuthTool.swift @@ -0,0 +1,59 @@ +// +// NotificationAuthTool.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/22. +// + +import Foundation +import RxSwift +import RxRelay +import RxCocoa + +public let NOTIAUTHTOOL = NotificationAuthTool.default + +open class NotificationAuthTool : NSObject { + public static let `default` = NotificationAuthTool() + public let requestNotiAuthRelay = ReplayRelay.create(bufferSize: 1) + public let cancelNotiAuthRelay = ReplayRelay.create(bufferSize: 1) + private let disposeBag = DisposeBag() + public let notificationAuthView = NotificationAuthView() + + public override init() { + super.init() + + requestNotiAuthRelay + .subscribe(onNext: {[weak self] _ in + if let notificationAuthView = self?.notificationAuthView { + ENTRY.showNotificationAuthEntry(view: notificationAuthView,name: notificationAuthViewEntry) + } + }) + .disposed(by: disposeBag) + + cancelNotiAuthRelay + .subscribe(onNext: { _ in + ENTRY.dismiss(name: notificationAuthViewEntry) + }) + .disposed(by: disposeBag) + + notificationAuthView.setButton.rx.tap + .subscribe(onNext: {[weak self] _ in + self?.openSetting() + }) + .disposed(by: disposeBag) + + notificationAuthView.ignoreButton.rx.tap + .subscribe(onNext: { _ in + ENTRY.dismiss(name: notificationAuthViewEntry) + }) + .disposed(by: disposeBag) + } + + + public func openSetting() { + let url = URL(string: UIApplication.openSettingsURLString)! + if UIApplication.shared.canOpenURL(url) { + UIApplication.shared.open(url) + } + } +} diff --git a/OrderScheduling/Common/View/NotificationAuthView.swift b/OrderScheduling/Common/View/NotificationAuthView.swift new file mode 100644 index 0000000..c6c670f --- /dev/null +++ b/OrderScheduling/Common/View/NotificationAuthView.swift @@ -0,0 +1,91 @@ +// +// NotificationAuthView.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/22. +// + +import Foundation +import DDControlsKit_Private +import DDAutoUIKit_Private +import DDColorKit_Private +import DDFontKit_Private + +open class NotificationAuthView : DDView{ + private let radiusView : DDView + private let scrollView : DDScrollView + private let scrollContentView : DDView + public let contentLabel : DDLabel + public let ignoreButton : DDButton + public let setButton : DDButton + public override init(frame: CGRect) { + radiusView = DDView.init() + scrollView = DDScrollView() + scrollContentView = DDView.init() + contentLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(17)), textColor: .black.alpha(0.5)) + ignoreButton = DDButton.dd_initCustom() + setButton = DDButton.dd_initCustom() + super.init(frame: frame) + addSubview(radiusView) + radiusView.addSubview(scrollView) + scrollView.addSubview(scrollContentView) + contentLabel.numberOfLines = 0 + contentLabel.textAlignment = .center + contentLabel.text = "当前应用未开启通知,建议开启" + scrollContentView.addSubview(contentLabel) + ignoreButton.setTitle("取消", for: .normal) + ignoreButton.titleLabel?.font = .mediumFont(auto(14)) + ignoreButton.backgroundColor = .white + ignoreButton.setTitleColor(.black.alpha(0.3), for: .normal) + ignoreButton.layer.borderColor = UIColor.hex("000000").alpha(0.3).cgColor + ignoreButton.layer.borderWidth = 0.5 + ignoreButton.layer.cornerRadius = auto(15) + radiusView.addSubview(ignoreButton) + setButton.setTitle("去设置", for: .normal) + setButton.setTitleColor(.white, for: .normal) + setButton.titleLabel?.font = .mediumFont(auto(14)) + setButton.backgroundColor = .hex("1C62D9") + setButton.layer.cornerRadius = auto(15) + radiusView.addSubview(setButton) + + radiusView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + + scrollView.snp.makeConstraints { make in + make.top.left.right.equalToSuperview() + make.bottom.equalToSuperview().offset(-auto(70)) + } + + scrollContentView.snp.makeConstraints { make in + make.edges.equalToSuperview() + make.width.equalToSuperview() + } + + contentLabel.snp.makeConstraints { make in + make.left.equalToSuperview().offset(auto(20)) + make.top.equalToSuperview().offset(auto(20)) + make.right.equalTo(-auto(20)) + make.bottom.equalTo(scrollContentView) + } + + ignoreButton.snp.makeConstraints { make in + make.bottom.equalToSuperview().offset(-auto(20)) + make.width.equalTo(auto(80)) + make.height.equalTo(auto(30)) + make.centerX.equalToSuperview().offset(-auto(60)) + } + + setButton.snp.makeConstraints { make in + make.bottom.equalToSuperview().offset(-auto(20)) + make.width.equalTo(auto(80)) + make.height.equalTo(auto(30)) + make.centerX.equalToSuperview().offset(auto(60)) + } + + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/OrderScheduling/Common/WebView/WebViewController.swift b/OrderScheduling/Common/WebView/WebViewController.swift new file mode 100644 index 0000000..36ad83d --- /dev/null +++ b/OrderScheduling/Common/WebView/WebViewController.swift @@ -0,0 +1,115 @@ +// +// WebViewController.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/7. +// + +import Foundation +import WebKit +import SnapKit +import DDLogKit_Private +import DDToastKit_Private +import DDControlsKit_Private + +class WebViewController : DDViewController { + lazy var webView = WKWebView.init() + lazy var statusBarBackgroundView = DDView.init() + var showNavBar : Bool + var vcTitle : String + var url : String? + + public init(showNavBar:Bool = true,title:String,url:String) { + self.showNavBar = showNavBar + self.vcTitle = title + self.url = url + super.init(nibName: nil, bundle: nil) + } + + required public init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + open override func viewDidLoad() { + super.viewDidLoad() + + + webView.backgroundColor = .white + webView.navigationDelegate = self + webView.uiDelegate = self + view.addSubview(webView) + + let request = URLRequest(url: URL(string: url!)!) + webView.load(request) + + if showNavBar == false { + navigationItem.leftBarButtonItems = nil + dd_navigationBarBackgroundColor = .clear + + view.addSubview(statusBarBackgroundView) + statusBarBackgroundView.snp.makeConstraints { make in + make.top.left.right.equalToSuperview() + make.height.equalTo(CGRectGetHeight(UIApplication.shared.dd_statusBarFrame)) + } + + webView.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.top.equalTo(CGRectGetHeight(UIApplication.shared.dd_statusBarFrame)) + make.bottom.equalTo(-view.safeAreaInsets.bottom) + } + }else{ + title = vcTitle + dd_navigationBarBackgroundColor = .hex("354683") + dd_navigationBarTitleTextAttributes = [.foregroundColor : UIColor.white(alpha: 0.7),.font:UIFont.mediumFont(17)] + + webView.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.top.equalTo(CGRectGetHeight(navigationController?.navigationBar.frame ?? .zero) + CGRectGetHeight(UIApplication.shared.dd_statusBarFrame)) + make.bottom.equalTo(-view.safeAreaInsets.bottom) + } + } + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + if showNavBar == false { + navigationController?.navigationBar.isHidden = true + } + webView.configuration.userContentController.add(self, name: "nativeObject") + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + if showNavBar == false { + navigationController?.navigationBar.isHidden = false + } + webView.configuration.userContentController.removeScriptMessageHandler(forName: "nativeObject") + } +} + +extension WebViewController : WKScriptMessageHandler { + func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { + let dict = message.body as? [String:String] + if dict?["action"] == "goBack" { + navigationController?.popViewController(animated: true) + } + } +} + +extension WebViewController : WKNavigationDelegate,WKUIDelegate { + public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { + DDLog(message: "finish--------------------------------\(String(describing: webView.url?.absoluteString))") + if showNavBar == false { + statusBarBackgroundView.backgroundColor = .hex("2C395F") + } + } + public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { + DDLog(message: "didFail--------------------------------\(String(describing: webView.url?.absoluteString))") + view.dd_makeToast(webViewLoadFailed) {[weak self] _ in + self?.navigationController?.popViewController(animated: true) + } + } + public func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { + DDLog(message: "didFailProvisionalNavigation--------------------------------\(String(describing: webView.url?.absoluteString))") + } +} diff --git a/OrderScheduling/Common/WebView/WebViewTool.swift b/OrderScheduling/Common/WebView/WebViewTool.swift new file mode 100644 index 0000000..9b8d722 --- /dev/null +++ b/OrderScheduling/Common/WebView/WebViewTool.swift @@ -0,0 +1,108 @@ +// +// WebViewTool.swift +// OrderScheduling +// +// Created by 中道 on 2023/8/21. +// + +import Foundation +import RxSwift +import RxRelay + +public let WEBTOOL = WebViewTool.default + +open class WebViewTool : NSObject { + public static let `default` = WebViewTool() + + private var requestModelRelay = ReplayRelay.create(bufferSize: 1) + private var appendingRelay = ReplayRelay.create(bufferSize: 1) + + private var disposeBag = DisposeBag() + public var h5Models : DispatchAppH5UrlDataModel? + + enum WebViewNameEnum : String { + case todoList = "待办事项" + case workOrderReconciliation = "工单记账" + case vehicleManage = "车辆管理" + case driverManage = "司机管理" + case invoicingNotify = "开票通知" + case reporting = "报备" + case supplySettlement = "补结算单" + case workOrderDetail = "工单详情页" + } + + public override init() { + super.init() + Observable.zip(requestModelRelay, appendingRelay) + .observe(on: MainScheduler.instance) + .do(onNext: {[weak self] (name,appending) in + if let _ = self?.h5Models { + self?.openWebView(name: name,appending: appending) + }else{ + let tabBarVc = UIApplication.shared.dd_keyWindow.rootViewController as? UITabBarController + let nav = tabBarVc?.selectedViewController as? UINavigationController + nav?.topViewController?.view.dd_showHUD() + } + }) + .filter({[weak self] (name,appending) in + return self?.h5Models == nil + }) + .throttle(RxTimeInterval.seconds(20), scheduler: ConcurrentMainScheduler.instance) + .flatMapLatest { (name,appending) in + return Observable.zip(RQ.dispatchAppH5Urls().asObservable(), Observable.just(name),Observable.just(appending)) + } + .retry(5) + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] (response,name,appending) in + let tabBarVc = UIApplication.shared.dd_keyWindow.rootViewController as? UITabBarController + let nav = tabBarVc?.selectedViewController as? UINavigationController + nav?.topViewController?.view.dd_hideHUD() + + self?.h5Models = response?.data + self?.openWebView(name: name,appending: appending) + }) + .disposed(by: disposeBag) + + } + + private func openWebView(name:WebViewNameEnum,appending:String?) { + var vc : WebViewController? + switch name { + case .todoList: + vc = WebViewController(title: WebViewNameEnum.todoList.rawValue, url: "\((h5Models?.todoList)!)?token=\((USER.token)!)") + break + case .workOrderReconciliation: + vc = WebViewController(showNavBar:false, title: WebViewNameEnum.workOrderReconciliation.rawValue, url: "\((h5Models?.workOrderReconciliation)!)?token=\((USER.token)!)") + break + case .vehicleManage: + vc = WebViewController(showNavBar:false, title: WebViewNameEnum.vehicleManage.rawValue, url: "\((h5Models?.vehicleManage)!)?token=\((USER.token)!)") + break + case .driverManage: + vc = WebViewController(showNavBar:false, title: WebViewNameEnum.driverManage.rawValue, url: "\((h5Models?.driverManage)!)?token=\((USER.token)!)") + break + case .invoicingNotify: + vc = WebViewController(showNavBar:false, title: WebViewNameEnum.invoicingNotify.rawValue, url: "\((h5Models?.invoicingNotify)!)?token=\((USER.token)!)") + break + case .reporting: + vc = WebViewController(title: WebViewNameEnum.reporting.rawValue, url: "\((h5Models?.reporting)!)?token=\((USER.token)!)"+(appending ?? "")) + break + case .supplySettlement: + vc = WebViewController(title: WebViewNameEnum.supplySettlement.rawValue, url: "\((h5Models?.supplySettlement)!)?token=\((USER.token)!)"+(appending ?? "")) + break + case .workOrderDetail: + vc = WebViewController(title: WebViewNameEnum.workOrderDetail.rawValue, url: "\((h5Models?.workOrderDetail)!)?token=\((USER.token)!)"+(appending ?? "")) + break + } + + if let vc { + let tabVc = UIApplication.shared.dd_keyWindow.rootViewController as? MainTabBarController + let nav = tabVc?.selectedViewController as? UINavigationController + nav?.pushViewController(vc, animated: true) + } + } + + func open(name:WebViewNameEnum,appending:String?) { + requestModelRelay.accept(name) + appendingRelay.accept(appending) + } +} diff --git a/OrderScheduling/Entry/Entry.swift b/OrderScheduling/Entry/Entry.swift index e262858..1f9f697 100644 --- a/OrderScheduling/Entry/Entry.swift +++ b/OrderScheduling/Entry/Entry.swift @@ -57,6 +57,92 @@ open class Entry { SwiftEntryKit.display(entry: view, using: attributes) } + func showAppUpdateEntry(view:UIView,name:String? = nil) { + var attributes = EKAttributes() + attributes = .centerFloat + attributes.name = name + attributes.precedence = .override(priority: .high, dropEnqueuedEntries: false) + attributes.displayMode = .inferred + attributes.displayDuration = .infinity + attributes.screenBackground = .color(color: .clear) + attributes.entryBackground = .color(color: .white) + attributes.screenInteraction = .absorbTouches + attributes.entryInteraction = .absorbTouches + attributes.scroll = .disabled + attributes.entranceAnimation = .init( + translate: .init( + duration: 0.25, + spring: .init(damping: 1, initialVelocity: 0) + ) + ) + attributes.exitAnimation = .init( + translate: .init(duration: 0.25) + ) + attributes.popBehavior = .animated( + animation: .init( + translate: .init(duration: 0.25) + ) + ) + attributes.shadow = .active( + with: .init( + color: .black, + opacity: 0.3, + radius: 6 + ) + ) + attributes.positionConstraints.size = .init( + width: .constant(value: auto(326)), + height: .constant(value: auto(285)) + ) + attributes.positionConstraints.verticalOffset = 0 + attributes.positionConstraints.safeArea = .overridden + attributes.statusBar = .light + SwiftEntryKit.display(entry: view, using: attributes) + } + + func showNotificationAuthEntry(view:UIView,name:String? = nil) { + var attributes = EKAttributes() + attributes = .centerFloat + attributes.name = name + attributes.precedence = .override(priority: .low, dropEnqueuedEntries: false) + attributes.displayMode = .inferred + attributes.displayDuration = .infinity + attributes.screenBackground = .color(color: .clear) + attributes.entryBackground = .color(color: .white) + attributes.screenInteraction = .absorbTouches + attributes.entryInteraction = .absorbTouches + attributes.scroll = .disabled + attributes.entranceAnimation = .init( + translate: .init( + duration: 0.25, + spring: .init(damping: 1, initialVelocity: 0) + ) + ) + attributes.exitAnimation = .init( + translate: .init(duration: 0.25) + ) + attributes.popBehavior = .animated( + animation: .init( + translate: .init(duration: 0.25) + ) + ) + attributes.shadow = .active( + with: .init( + color: .black, + opacity: 0.3, + radius: 6 + ) + ) + attributes.positionConstraints.size = .init( + width: .constant(value: auto(280)), + height: .constant(value: auto(130)) + ) + attributes.positionConstraints.verticalOffset = 0 + attributes.positionConstraints.safeArea = .overridden + attributes.statusBar = .light + SwiftEntryKit.display(entry: view, using: attributes) + } + public func isCurrentlyDisplaying(entryNamed name: String? = nil) -> Bool { return SwiftEntryKit.isCurrentlyDisplaying(entryNamed: name) } diff --git a/OrderScheduling/Global/Tool/Tool.swift b/OrderScheduling/Global/Tool/Tool.swift index 730478c..931fb23 100644 --- a/OrderScheduling/Global/Tool/Tool.swift +++ b/OrderScheduling/Global/Tool/Tool.swift @@ -81,4 +81,55 @@ open class Tool { } return dateString } + + public func getVersion() -> String { + return (Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) ?? "1.0.0" + } + + public func getIPhoneCode() -> String { + var systemInfo = utsname() + uname(&systemInfo) + + let versionCode: String = String(validatingUTF8: NSString(bytes: &systemInfo.machine, length: Int(_SYS_NAMELEN), encoding: String.Encoding.ascii.rawValue)!.utf8String!)! + + switch versionCode { + /*** iPhone ***/ + case "iPhone5,1", "iPhone5,2": return "iPhone5" + case "iPhone5,3", "iPhone5,4": return "iPhone5C" + case "iPhone6,1", "iPhone6,2": return "iPhone5S" + case "iPhone7,2": return "iPhone6" + case "iPhone7,1": return "iPhone6Plus" + case "iPhone8,1": return "iPhone6S" + case "iPhone8,2": return "iPhone6SPlus" + case "iPhone8,3", "iPhone8,4": return "iPhoneSE" + case "iPhone9,1", "iPhone9,3": return "iPhone7" + case "iPhone9,2", "iPhone9,4": return "iPhone7Plus" + case "iPhone10,1", "iPhone10,4": return "iPhone8" + case "iPhone10,2", "iPhone10,5": return "iPhone8Plus" + case "iPhone10,3", "iPhone10,6": return "iPhoneX" + case "iPhone11,2": return "iPhoneXS" + case "iPhone11,4", "iPhone11,6": return "iPhoneXS_Max" + case "iPhone11,8": return "iPhoneXR" + case "iPhone12,1": return "iPhone11" + case "iPhone12,3": return "iPhone11Pro" + case "iPhone12,5": return "iPhone11Pro_Max" + case "iPhone12,8": return "iPhoneSE2" + case "iPhone13,1": return "iPhone12Mini" + case "iPhone13,2": return "iPhone12" + case "iPhone13,3": return "iPhone12Pro" + case "iPhone13,4": return "iPhone12Pro_Max" + case "iPhone14,4": return "iPhone13Mini" + case "iPhone14,5": return "iPhone13" + case "iPhone14,2": return "iPhone13Pro" + case "iPhone14,3": return "iPhone13Pro_Max" + case "iPhone14,7": return "iPhone14" + case "iPhone14,8": return "iPhone14Plus" + case "iPhone15,2": return "iPhone14Pro" + case "iPhone15,3": return "iPhone14Pro_Max" + default: + break + } + return "未知" + } + } diff --git a/OrderScheduling/Global/User/UserData.swift b/OrderScheduling/Global/User/UserData.swift index 1349808..bbed3c3 100644 --- a/OrderScheduling/Global/User/UserData.swift +++ b/OrderScheduling/Global/User/UserData.swift @@ -28,9 +28,13 @@ open class UserData { UserDefaults.standard.set(supplierType, forKey: supplierType_key) } + public var deviceToken : String? + + public var regId : String? + func clear() { setToken(token: nil) setSupplierType(supplierType: nil) - + } } diff --git a/OrderScheduling/History/ViewController/HistoryController.swift b/OrderScheduling/History/ViewController/HistoryController.swift index ec0e07a..e9c9bf4 100644 --- a/OrderScheduling/History/ViewController/HistoryController.swift +++ b/OrderScheduling/History/ViewController/HistoryController.swift @@ -50,7 +50,17 @@ extension HistoryController { } }) .disposed(by: disposeBag) - + + pendingTapGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .todoList,appending: nil) + }) + .disposed(by: disposeBag) + } + + public override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) } } @@ -76,10 +86,8 @@ extension HistoryItemController { .subscribe(onNext: {[weak self] (response, pageNum) in if response?.success == true { if pageNum == 1 { - if response?.data?.isEmpty == false { - self?.resultArr.removeAll() - self?.historyItemView.tableView.mj_footer?.resetNoMoreData() - } + self?.resultArr.removeAll() + self?.historyItemView.tableView.mj_footer?.resetNoMoreData() self?.historyItemView.tableView.mj_header?.endRefreshing() }else{ if response?.data?.isEmpty == false { @@ -91,8 +99,15 @@ extension HistoryItemController { if let array = response?.data { self?.resultArr.append(contentsOf: array) - self?.historyItemView.tableView.reloadData() } + + if self?.resultArr.isEmpty == false { + self?.emptyView.isHidden = true + }else{ + self?.emptyView.isHidden = false + } + + self?.historyItemView.tableView.reloadData() }else{ if pageNum == 1 { self?.historyItemView.tableView.mj_header?.endRefreshing() @@ -177,9 +192,26 @@ extension HistoryItemController : UITableViewDelegate, UITableViewDataSource { }) } + cell?.reportButton.rx.tap + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .reporting, appending: "&queryType=\(OrderTypeEnum.UNCLOSED_ORDER.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)") + }) + .disposed(by: cell!.disposeBag) + cell?.additionalButton.rx.tap + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .supplySettlement, appending: "&queryType=\(OrderTypeEnum.UNCLOSED_ORDER.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)&taskOrderId=\(model.taskOrderId)") + }) + .disposed(by: cell!.disposeBag) return cell! } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + let model = resultArr[indexPath.item] + WEBTOOL.open(name: .workOrderDetail, appending: "&queryType=\(type.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)&taskOrderId=\(model.taskOrderId)") + } } // MARK: JXCategoryViewDelegate,JXCategoryListContainerViewDelegate @@ -273,6 +305,8 @@ class HistoryItemController : DDViewController { private var refreshRelay = ReplayRelay.create(bufferSize: 1) private var pageNum : Int = 1 private var type : OrderTypeEnum + private var emptyView = EmptyView() + public init(type:OrderTypeEnum) { self.type = type super.init(nibName: nil, bundle: nil) @@ -296,6 +330,13 @@ class HistoryItemController : DDViewController { make.edges.equalToSuperview() } + historyItemView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } + historyItemView.tableView.delegate = self historyItemView.tableView.dataSource = self } diff --git a/OrderScheduling/HttpRequestCenter/ApiList.swift b/OrderScheduling/HttpRequestCenter/ApiList.swift index 24f6f78..56601e2 100644 --- a/OrderScheduling/HttpRequestCenter/ApiList.swift +++ b/OrderScheduling/HttpRequestCenter/ApiList.swift @@ -43,4 +43,6 @@ open class ApiList { public let generalInfo = "/supplierAppV2/dispatchApp/user/generalInfo" public let dispatchAppH5Urls = "/supplierAppV2/open/dispatchAppH5Urls" + + public let versionCheck = "/supplierAppV2/dispatchApp/user/versionCheck" } diff --git a/OrderScheduling/HttpRequestCenter/ParametersList.swift b/OrderScheduling/HttpRequestCenter/ParametersList.swift index 193adad..7d51f86 100644 --- a/OrderScheduling/HttpRequestCenter/ParametersList.swift +++ b/OrderScheduling/HttpRequestCenter/ParametersList.swift @@ -99,13 +99,13 @@ public struct RtspChannelParameters : Encodable { var external : Int = 1 } -public struct OrderPhotoList : Encodable { +public struct OrderPhotoListParameters : Encodable { var userOrderId : Int var orderCode : String var taskOrderId : Int } -public struct SupplementOrderPhoto : Encodable { +public struct SupplementOrderPhotoParameters : Encodable { var userOrderId : Int var orderCode : String var taskOrderId : Int @@ -114,3 +114,8 @@ public struct SupplementOrderPhoto : Encodable { var tag : String var file : Data } + +public struct VersionCheckParameters : Encodable { + var version : String + var platForm : Int = 2 +} diff --git a/OrderScheduling/HttpRequestCenter/RequestList.swift b/OrderScheduling/HttpRequestCenter/RequestList.swift index f2cfdcf..ba1ae18 100644 --- a/OrderScheduling/HttpRequestCenter/RequestList.swift +++ b/OrderScheduling/HttpRequestCenter/RequestList.swift @@ -80,7 +80,11 @@ open class RequestList { return DDAF.post(urlString: HOST+API.generalInfo,encoding: URLEncodedFormParameterEncoder.default,headers: [tokenHeader()],responseType: ResponseModel.self) } - func dispatchAppH5Urls() -> Single?> { - return DDAF.post(urlString: HOST+API.dispatchAppH5Urls,encoding: URLEncodedFormParameterEncoder.default,headers: [tokenHeader()],responseType: ResponseModel.self) + func dispatchAppH5Urls() -> Single?> { + return DDAF.post(urlString: HOST+API.dispatchAppH5Urls,encoding: URLEncodedFormParameterEncoder.default,headers: [tokenHeader()],responseType: ResponseModel.self) + } + + func versionCheck(parameters:Encodable) -> Single?> { + return DDAF.post(urlString: HOST+API.versionCheck,parameters: parameters,encoding: JSONParameterEncoder.default,headers: [tokenHeader()],responseType: ResponseModel.self) } } diff --git a/OrderScheduling/HttpResponseModel/ResponseModel.swift b/OrderScheduling/HttpResponseModel/ResponseModel.swift index 4c896a2..56d3a01 100644 --- a/OrderScheduling/HttpResponseModel/ResponseModel.swift +++ b/OrderScheduling/HttpResponseModel/ResponseModel.swift @@ -62,7 +62,7 @@ class OrderListDataModel: Decodable { var orderCode : String var createTime : String var driverName : String? - var drivePhone : String? + var driverPhone : String? var environmentPic : String? var userOrderId : Int var taskOrderId : Int @@ -215,16 +215,34 @@ public class GeneralInfoDataModel : Decodable { var driverCount : Int } -public class DispatchAppH5Urls : Decodable { - var data : DataModel? - class DataModel : Decodable { - var todoList : String - var workOrderReconciliation : String - var vehicleManage : String - var driverManage : String - var invoicingNotify : String - var reporting : String - var supplySettlement : String - var workOrderDetail : String - } +public class DispatchAppH5UrlDataModel : Decodable { + var todoList : String? + var workOrderReconciliation : String + var vehicleManage : String + var driverManage : String + var invoicingNotify : String + var reporting : String + var supplySettlement : String + var workOrderDetail : String +} + +public class VersionCheckDataModel : Decodable { + var id : Int + var appVersion : String + var update : UpdateEnum + var appType : AppTypeEnum + enum UpdateEnum : Int,Decodable { + case NO = 0 + case YES = 1 + } + enum AppTypeEnum : Int,Decodable { + case app_type_1 = 1 + case app_type_2 = 2 + case app_type_3 = 3 + case app_type_4 = 4 + case app_type_5 = 5 + } + var updateTime : String? + var createTime : String? + var description : String? } diff --git a/OrderScheduling/Login/ViewController/LoginController.swift b/OrderScheduling/Login/ViewController/LoginController.swift index dd38269..25534cc 100644 --- a/OrderScheduling/Login/ViewController/LoginController.swift +++ b/OrderScheduling/Login/ViewController/LoginController.swift @@ -136,8 +136,15 @@ extension LoginController { let code = self?.loginView.codeView.textfield.text ?? "" let clientType = "rescueApp" let supplierLoginCode = self?.loginView.serviceProviderView.textfield.text ?? "" - - let str = "{\"phone\":\"\(phone)\",\"code\":\"\(code)\",\"clientType\":\"\(clientType)\",\"supplierLoginCode\":\"\(supplierLoginCode)\"}" + let appVsersion = TOOL.getVersion() + let brand = "iPhone" + let model = TOOL.getIPhoneCode() + let sdkRelease = UIDevice.current.systemVersion + let platform = "iOS" + let deviceId = USER.deviceToken ?? "" + let regId = USER.regId ?? "" + + let str = "{\"phone\":\"\(phone)\",\"code\":\"\(code)\",\"clientType\":\"\(clientType)\",\"supplierLoginCode\":\"\(supplierLoginCode)\",\"appVersion\":\"\(appVsersion)\",\"brand\":\"\(brand)\",\"model\":\"\(model)\",\"sdkRelease\":\"\(sdkRelease)\",\"platform\":\"\(platform)\",\"deviceId\":\"\(deviceId)\",\"regId\":\"\(regId)\"}" return str }) .flatMapLatest({ app_login_json in diff --git a/OrderScheduling/Main/AppDelegate.swift b/OrderScheduling/Main/AppDelegate.swift index f05b3f5..5743058 100644 --- a/OrderScheduling/Main/AppDelegate.swift +++ b/OrderScheduling/Main/AppDelegate.swift @@ -6,6 +6,7 @@ // import UIKit +import CocoaDebug class AppDelegate: UIResponder, UIApplicationDelegate { @@ -13,6 +14,22 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. + // 通知 + JGInforCollectionAuth.jCollectionAuth({ authInfo in + authInfo.isAuth = true + }) + + let entity = JPUSHRegisterEntity() + entity.types = 1 << 0 | 1 << 1 | 1 << 2 | 1 << 5 + JPUSHService.register(forRemoteNotificationConfig: entity, delegate: self) + #if DEBUG + JPUSHService.setup(withOption: launchOptions, appKey: JPushKey, channel: "App Store", apsForProduction: false) + #else + JPUSHService.setup(withOption: launchOptions, appKey: JPushKey, channel: "App Store", apsForProduction: true) + #endif + + JPUSHService.resetBadge() + UIApplication.shared.applicationIconBadgeNumber = 0 return true } @@ -23,6 +40,42 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return .allButUpsideDown } + func applicationDidBecomeActive(_ application: UIApplication) { +// JPUSHService.requestNotificationAuthorization({ status in +// print("通知授权状态\(status)") +// if status != .statusAuthorized { +// NOTIAUTHTOOL.requestNotiAuthRelay.accept(nil) +// }else{ +// NOTIAUTHTOOL.cancelNotiAuthRelay.accept(nil) +// } +// }) + } + + // 注册通知 + func application(_ application: UIApplication, + didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { + let tokenString = deviceToken.map { String(format: "%02.2hhx", $0) }.joined() + print("deviceToken:\(tokenString)") + JPUSHService.registerDeviceToken(deviceToken) + USER.deviceToken = tokenString + print("registrationID:\(JPUSHService.registrationID())") + USER.regId = JPUSHService.registrationID() + } + + func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { + print("did fail to register for remote notification with error ", error) + } + + func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) { + JPUSHService.handleRemoteNotification(userInfo) + print("收到通知", userInfo) + } + + func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { + JPUSHService.handleRemoteNotification(userInfo) + completionHandler(.newData) + } + // MARK: UISceneSession Lifecycle func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { @@ -36,7 +89,50 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } - - } +extension AppDelegate : JPUSHRegisterDelegate { + @available(iOS 12.0, *) + func jpushNotificationCenter(_ center: UNUserNotificationCenter, openSettingsFor notification: UNNotification) { + if notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self) == true { + // 从通知页面进入应用 + print("ios12从通知页面进入应用") + }else{ + // 从通知设置进入应用 + print("ios12从通知设置进入应用") + } + } + + @available(iOS 10.0, *) + func jpushNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, + withCompletionHandler completionHandler: ((Int) -> Void)) { + let userInfo = notification.request.content.userInfo + if notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self) == true { + JPUSHService.handleRemoteNotification(userInfo) + print("ios10 前台") + } + completionHandler(0) + } + + @available(iOS 10.0, *) + func jpushNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: (() -> Void)) { + let userInfo = response.notification.request.content.userInfo + if response.notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self) == true { + JPUSHService.resetBadge() + UIApplication.shared.applicationIconBadgeNumber = 0 + JPUSHService.handleRemoteNotification(userInfo) + print("ios10 后台") + } + completionHandler() + } + + func jpushNotificationAuthorization(_ status: JPAuthorizationStatus, withInfo info: [AnyHashable : Any]?) { + print("通知授权状态\(status)") + if status != .statusAuthorized { + NOTIAUTHTOOL.requestNotiAuthRelay.accept(nil) + }else{ + NOTIAUTHTOOL.cancelNotiAuthRelay.accept(nil) + } + } + +} diff --git a/OrderScheduling/Main/Initial.swift b/OrderScheduling/Main/Initial.swift index 8911d98..8ff8988 100644 --- a/OrderScheduling/Main/Initial.swift +++ b/OrderScheduling/Main/Initial.swift @@ -31,6 +31,9 @@ class Initial : NSObject { // af initAF() + + // + } func initIQKeyboard(){ @@ -50,6 +53,10 @@ class Initial : NSObject { DDAF.delegate = self } + func initAppUpdate() { + APPUPDATE.requestAppUpdateRelay.accept(.auto) + } + // MARK: func initRootViewController(){ if USER.token != nil { @@ -76,8 +83,9 @@ class Initial : NSObject { window?.rootViewController = nav } - NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: Notification_loginSuccessToRescueController), object: nil, queue: .main) { note in + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: Notification_loginSuccessToRescueController), object: nil, queue: .main) {[weak self] note in window?.rootViewController = MainTabBarController.init() + self?.initAppUpdate() } } diff --git a/OrderScheduling/Main/MainTabBarController.swift b/OrderScheduling/Main/MainTabBarController.swift index 5dc7403..900533e 100644 --- a/OrderScheduling/Main/MainTabBarController.swift +++ b/OrderScheduling/Main/MainTabBarController.swift @@ -12,7 +12,7 @@ import DDColorKit_Private import DDFontKit_Private import DDControlsKit_Private -open class MainTabBarController : ESTabBarController { +open class MainTabBarController : ESTabBarController,UITabBarControllerDelegate { open override func viewDidLoad() { super.viewDidLoad() @@ -36,12 +36,38 @@ open class MainTabBarController : ESTabBarController { tabBar.shadowImage = UIImage() tabBar.backgroundImage = UIImage() } + + delegate = self } open override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) } + + public func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { + let nav = viewController as? UINavigationController + if nav?.topViewController?.isMember(of: VehicleMonitoringController.self) == true { + let vc = nav?.topViewController as? VehicleMonitoringController + vc?.refreshData() + } + } + + open override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { + super.tabBar(tabBar, didSelect: item) + + if item.title != "车辆监控" || item.title != "点击刷新" { + for tabBarItem in (tabBar.items ?? []) { + if tabBarItem.title == "点击刷新" { + tabBarItem.title = "车辆监控" + } + } + } + + if item.title == "车辆监控" { + item.title = "点击刷新" + } + } } class MainTabBarItemContentView : ESTabBarItemContentView{ diff --git a/OrderScheduling/Main/OrderScheduling-Bridge-Header.h b/OrderScheduling/Main/OrderScheduling-Bridge-Header.h deleted file mode 100644 index 646b78a..0000000 --- a/OrderScheduling/Main/OrderScheduling-Bridge-Header.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// OrderScheduling-Bridge-Header.h -// OrderScheduling -// -// Created by 中道 on 2023/8/16. -// - -#ifndef OrderScheduling_Bridge_Header_h -#define OrderScheduling_Bridge_Header_h - -//#import -//#import -//#import - -#endif /* OrderScheduling_Bridge_Header_h */ diff --git a/OrderScheduling/Main/OrderScheduling-Bridging-Header.h b/OrderScheduling/Main/OrderScheduling-Bridging-Header.h new file mode 100644 index 0000000..7e3f1db --- /dev/null +++ b/OrderScheduling/Main/OrderScheduling-Bridging-Header.h @@ -0,0 +1,11 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + +// 引入 JPush 功能所需头文件 +# import "JPUSHService.h" +# import "JGInforCollectionAuth.h" +// iOS10 注册 APNs 所需头文件 +# ifdef NSFoundationVersionNumber_iOS_9_x_Max +# import +# endif diff --git a/OrderScheduling/Main/SceneDelegate.swift b/OrderScheduling/Main/SceneDelegate.swift index 710b8cf..3636925 100644 --- a/OrderScheduling/Main/SceneDelegate.swift +++ b/OrderScheduling/Main/SceneDelegate.swift @@ -36,6 +36,14 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { func sceneDidBecomeActive(_ scene: UIScene) { // Called when the scene has moved from an inactive state to an active state. // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. +// JPUSHService.requestNotificationAuthorization({ status in +// print("通知授权状态\(status)") +// if status != .statusAuthorized { +// NOTIAUTHTOOL.requestNotiAuthRelay.accept(nil) +// }else{ +// NOTIAUTHTOOL.cancelNotiAuthRelay.accept(nil) +// } +// }) } func sceneWillResignActive(_ scene: UIScene) { diff --git a/OrderScheduling/MessageCenter/ViewController/MessageCenterController.swift b/OrderScheduling/MessageCenter/ViewController/MessageCenterController.swift index d188e87..87ca413 100644 --- a/OrderScheduling/MessageCenter/ViewController/MessageCenterController.swift +++ b/OrderScheduling/MessageCenter/ViewController/MessageCenterController.swift @@ -47,6 +47,8 @@ extension MessageCenterController : UITableViewDelegate,UITableViewDataSource { open class MessageCenterController : DDViewController { private let messageCenterView = MessageCenterView() + private var emptyView = EmptyView() + open override func viewDidLoad() { super.viewDidLoad() dd_navigationItemTitle = "消息提醒" @@ -64,6 +66,13 @@ open class MessageCenterController : DDViewController { make.top.left.right.equalToSuperview() make.bottom.equalTo(-view.safeAreaInsets.bottom) } + + messageCenterView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } messageCenterView.tableView.delegate = self messageCenterView.tableView.dataSource = self diff --git a/OrderScheduling/Mine/ViewController/MineController.swift b/OrderScheduling/Mine/ViewController/MineController.swift index 4e129a9..6160c35 100644 --- a/OrderScheduling/Mine/ViewController/MineController.swift +++ b/OrderScheduling/Mine/ViewController/MineController.swift @@ -14,9 +14,14 @@ import RxRelay import RxCocoa import DDToastKit_Private import DDProgressHUDKit_Private +import MJRefresh extension MineController { func addActions() { + mineView.scrollView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in + self?.refreshRelay.accept(nil) + }) + mineView.logoutButton.rx.tap .observe(on: MainScheduler.instance) .do(onNext: {[weak self] _ in @@ -29,6 +34,7 @@ extension MineController { .do(onNext: {[weak self] _ in self?.view.dd_hideHUD() }) + .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] response in if response?.success == true { USER.clear() @@ -46,6 +52,7 @@ extension MineController { .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] response in if response?.success == true { + self?.mineView.scrollView.mj_header?.endRefreshing() self?.mineView.carInfoView.descLabel.text = String(response?.data?.vehicleCount ?? 0)+"台" self?.mineView.driverInfoView.descLabel.text = String(response?.data?.driverCount ?? 0)+"台" if let icon = response?.data?.icon { @@ -65,13 +72,60 @@ extension MineController { refreshRelay.accept(nil) + mineView.carInfoGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .vehicleManage, appending: nil) + }) + .disposed(by: disposeBag) + + mineView.driverInfoGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .driverManage, appending: nil) + }) + .disposed(by: disposeBag) + + mineView.gongdanduizhangGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .workOrderReconciliation, appending: nil) + }) + .disposed(by: disposeBag) + + mineView.kaipiaotongzhiGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .invoicingNotify, appending: nil) + }) + .disposed(by: disposeBag) + + mineView.wendangziliaoGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + + + }) + .disposed(by: disposeBag) + + mineView.peixunwendangGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + + }) + .disposed(by: disposeBag) + + mineView.banbenjianceGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + APPUPDATE.requestAppUpdateRelay.accept(.manual) + }) + .disposed(by: disposeBag) + mineView.tongzhitixingGes.rx.event .observe(on: MainScheduler.instance) .subscribe(onNext: { _ in - let url = URL(string: UIApplication.openSettingsURLString)! - if UIApplication.shared.canOpenURL(url) { - UIApplication.shared.open(url) - } + NOTIAUTHTOOL.openSetting() }) .disposed(by: disposeBag) } @@ -113,23 +167,30 @@ open class MineController : DDViewController { } open class MineView : DDView { - private let scrollView : DDScrollView + public let scrollView : DDScrollView private let scrollContentView : DDView private let topBackgroundImageView : DDImageView public let avatar : DDImageView public let accountLabel : DDLabel public let companyLabel : DDLabel + public let carInfoGes : UITapGestureRecognizer public let carInfoView : MineInfoView + public let driverInfoGes : UITapGestureRecognizer public let driverInfoView : MineInfoView public let infoRadiusView : DDView public let infoRadiusSeparate : DDImageView public let orderRadiusView : DDView public let materialRadiusView : DDView public let settingsRadiusView : DDView + public let gongdanduizhangGes : UITapGestureRecognizer public let gongdanduizhang : MineCell + public let kaipiaotongzhiGes : UITapGestureRecognizer public let kaipiaotongzhi : MineCell + public let peixunwendangGes : UITapGestureRecognizer public let peixunwendang : MineCell + public let wendangziliaoGes : UITapGestureRecognizer public let wendangziliao : MineCell + public let banbenjianceGes : UITapGestureRecognizer public let banbenjiance : MineCell public let tongzhitixingGes : UITapGestureRecognizer public let tongzhitixing : MineCell @@ -143,16 +204,23 @@ open class MineView : DDView { accountLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(15)), textColor: .hex("FFFFFF").alpha(0.8)) companyLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("FFFFFF").alpha(0.5)) carInfoView = MineInfoView() + carInfoGes = UITapGestureRecognizer() driverInfoView = MineInfoView() + driverInfoGes = UITapGestureRecognizer() infoRadiusView = DDView() infoRadiusSeparate = DDImageView(image: UIImage(named: "mine_info_separate")) orderRadiusView = DDView() materialRadiusView = DDView() settingsRadiusView = DDView() + gongdanduizhangGes = UITapGestureRecognizer() gongdanduizhang = MineCell() + kaipiaotongzhiGes = UITapGestureRecognizer() kaipiaotongzhi = MineCell() + peixunwendangGes = UITapGestureRecognizer() peixunwendang = MineCell() + wendangziliaoGes = UITapGestureRecognizer() wendangziliao = MineCell() + banbenjianceGes = UITapGestureRecognizer() banbenjiance = MineCell() tongzhitixingGes = UITapGestureRecognizer() tongzhitixing = MineCell() @@ -174,7 +242,9 @@ open class MineView : DDView { infoRadiusView.backgroundColor = .hex("FFFFFF") infoRadiusView.layer.cornerRadius = auto(12) scrollContentView.addSubview(infoRadiusView) + carInfoView.addGestureRecognizer(carInfoGes) infoRadiusView.addSubview(carInfoView) + driverInfoView.addGestureRecognizer(driverInfoGes) infoRadiusView.addSubview(driverInfoView) scrollContentView.addSubview(infoRadiusSeparate) orderRadiusView.backgroundColor = .hex("FFFFFF") @@ -186,12 +256,17 @@ open class MineView : DDView { settingsRadiusView.backgroundColor = .hex("FFFFFF") settingsRadiusView.layer.cornerRadius = auto(6) scrollContentView.addSubview(settingsRadiusView) + gongdanduizhang.addGestureRecognizer(gongdanduizhangGes) orderRadiusView.addSubview(gongdanduizhang) kaipiaotongzhi.line.isHidden = true + kaipiaotongzhi.addGestureRecognizer(kaipiaotongzhiGes) orderRadiusView.addSubview(kaipiaotongzhi) + peixunwendang.addGestureRecognizer(peixunwendangGes) materialRadiusView.addSubview(peixunwendang) wendangziliao.line.isHidden = true + wendangziliao.addGestureRecognizer(wendangziliaoGes) materialRadiusView.addSubview(wendangziliao) + banbenjiance.addGestureRecognizer(banbenjianceGes) settingsRadiusView.addSubview(banbenjiance) tongzhitixing.line.isHidden = true settingsRadiusView.addSubview(tongzhitixing) diff --git a/OrderScheduling/OrderSchedulingDebug.entitlements b/OrderScheduling/OrderSchedulingDebug.entitlements new file mode 100644 index 0000000..903def2 --- /dev/null +++ b/OrderScheduling/OrderSchedulingDebug.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/OrderScheduling/OrderSchedulingRelease.entitlements b/OrderScheduling/OrderSchedulingRelease.entitlements new file mode 100644 index 0000000..903def2 --- /dev/null +++ b/OrderScheduling/OrderSchedulingRelease.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift b/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift index e171efe..cdb8547 100644 --- a/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift +++ b/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift @@ -383,6 +383,7 @@ open class DispatchOrderPannelCell : DDTableViewCell { // stateLabel.lineBreakMode = .byTruncatingMiddle stateLabel.numberOfLines = 0 contentView.addSubview(stateLabel) + name.numberOfLines = 0 contentView.addSubview(name) contentView.addSubview(phone) distance.lineBreakMode = .byTruncatingMiddle diff --git a/OrderScheduling/Rescue/ViewController/RescueController.swift b/OrderScheduling/Rescue/ViewController/RescueController.swift index febab65..6cbbd09 100644 --- a/OrderScheduling/Rescue/ViewController/RescueController.swift +++ b/OrderScheduling/Rescue/ViewController/RescueController.swift @@ -53,8 +53,6 @@ extension RescueController { }) .disposed(by: disposeBag) - NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) - messageTapGes.rx.event .subscribe(onNext: {[weak self] _ in let vc = MessageCenterController() @@ -63,23 +61,17 @@ extension RescueController { .disposed(by: disposeBag) pendingTapGes.rx.event + .observe(on: MainScheduler.instance) .subscribe(onNext: { _ in - + WEBTOOL.open(name: .todoList,appending: nil) }) .disposed(by: disposeBag) - - h5Relay - .flatMapLatest { _ in - return RQ.dispatchAppH5Urls() - } - .subscribe(onNext: { response in - - }) - .disposed(by: disposeBag) - - h5Relay.accept(nil) } + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) + } } extension RescuePendingOrderController { @@ -102,10 +94,8 @@ extension RescuePendingOrderController { .subscribe(onNext: {[weak self] (response, pageNum) in if response?.success == true { if pageNum == 1 { - if response?.data?.isEmpty == false { - self?.resultArr.removeAll() - self?.pendingOrderView.tableView.mj_footer?.resetNoMoreData() - } + self?.resultArr.removeAll() + self?.pendingOrderView.tableView.mj_footer?.resetNoMoreData() self?.pendingOrderView.tableView.mj_header?.endRefreshing() }else{ if response?.data?.isEmpty == false { @@ -117,8 +107,15 @@ extension RescuePendingOrderController { if let array = response?.data { self?.resultArr.append(contentsOf: array) - self?.pendingOrderView.tableView.reloadData() } + + if self?.resultArr.isEmpty == false { + self?.emptyView.isHidden = true + }else{ + self?.emptyView.isHidden = false + } + + self?.pendingOrderView.tableView.reloadData() }else{ if pageNum == 1 { self?.pendingOrderView.tableView.mj_header?.endRefreshing() @@ -241,10 +238,8 @@ extension RescuePendingDispatchController { .subscribe(onNext: {[weak self] (response, pageNum) in if response?.success == true { if pageNum == 1 { - if response?.data?.isEmpty == false { - self?.resultArr.removeAll() - self?.pendingDispatchView.tableView.mj_footer?.resetNoMoreData() - } + self?.resultArr.removeAll() + self?.pendingDispatchView.tableView.mj_footer?.resetNoMoreData() self?.pendingDispatchView.tableView.mj_header?.endRefreshing() }else{ if response?.data?.isEmpty == false { @@ -256,8 +251,15 @@ extension RescuePendingDispatchController { if let array = response?.data { self?.resultArr.append(contentsOf: array) - self?.pendingDispatchView.tableView.reloadData() } + + if self?.resultArr.isEmpty == false { + self?.emptyView.isHidden = true + }else{ + self?.emptyView.isHidden = false + } + + self?.pendingDispatchView.tableView.reloadData() }else{ if pageNum == 1 { self?.pendingDispatchView.tableView.mj_header?.endRefreshing() @@ -293,10 +295,8 @@ extension RescueIsIngController { .subscribe(onNext: {[weak self] (response, pageNum) in if response?.success == true { if pageNum == 1 { - if response?.data?.isEmpty == false { - self?.resultArr.removeAll() - self?.pendingIsIngView.tableView.mj_footer?.resetNoMoreData() - } + self?.resultArr.removeAll() + self?.pendingIsIngView.tableView.mj_footer?.resetNoMoreData() self?.pendingIsIngView.tableView.mj_header?.endRefreshing() }else{ if response?.data?.isEmpty == false { @@ -308,8 +308,15 @@ extension RescueIsIngController { if let array = response?.data { self?.resultArr.append(contentsOf: array) - self?.pendingIsIngView.tableView.reloadData() } + + if self?.resultArr.isEmpty == false { + self?.emptyView.isHidden = true + }else{ + self?.emptyView.isHidden = false + } + + self?.pendingIsIngView.tableView.reloadData() }else{ if pageNum == 1 { self?.pendingIsIngView.tableView.mj_header?.endRefreshing() @@ -421,6 +428,11 @@ extension RescuePendingOrderController : UITableViewDelegate,UITableViewDataSour .disposed(by: disposeBag) return cell! } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + let model = resultArr[indexPath.item] + WEBTOOL.open(name: .workOrderDetail, appending: "&queryType=\(OrderTypeEnum.TO_ACCEPT_DISPATCH.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)&taskOrderId=\(model.taskOrderId)") + } } extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataSource { @@ -583,6 +595,11 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS .disposed(by: cell!.disposeBag) return cell! } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + let model = resultArr[indexPath.item] + WEBTOOL.open(name: .workOrderDetail, appending: "&queryType=\(OrderTypeEnum.TO_DISPATCH_VEHICLE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)&taskOrderId=\(model.taskOrderId)") + } } extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource { @@ -610,12 +627,12 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource { cell?.orderNumLabel.text = model.orderCode cell?.orderDateLabel.text = model.createTime - if model.driverName?.isEmpty == false && model.drivePhone?.isEmpty == false { - cell?.driverLabel.text = "\(model.driverName!)/\(model.drivePhone!)" + if model.driverName?.isEmpty == false && model.driverPhone?.isEmpty == false { + cell?.driverLabel.text = "\(model.driverName!)/\(model.driverPhone!)" }else if model.driverName?.isEmpty == false { cell?.driverLabel.text = model.driverName! - }else if model.drivePhone?.isEmpty == false { - cell?.driverLabel.text = model.drivePhone! + }else if model.driverPhone?.isEmpty == false { + cell?.driverLabel.text = model.driverPhone! }else{ cell?.driverLabel.text = nil } @@ -649,8 +666,20 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource { self?.navigationController?.pushViewController(vc, animated: true) }) .disposed(by: cell!.disposeBag) + + cell?.reportButton.rx.tap + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .reporting,appending: "&queryType=\(OrderTypeEnum.TO_RESCUE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)") + }) + .disposed(by: disposeBag) return cell! } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + let model = resultArr[indexPath.item] + WEBTOOL.open(name: .workOrderDetail, appending: "&queryType=\(OrderTypeEnum.TO_RESCUE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)&taskOrderId=\(model.taskOrderId)") + } } // MARK: UICollectionViewDelegate, UICollectionViewDataSource @@ -761,6 +790,7 @@ class RescuePendingOrderController : DDViewController { private var refuseRemarkIdRelay = ReplayRelay.create(bufferSize: 1) private var refuseSubmitRelay = ReplayRelay.create(bufferSize: 1) private var acceptOrderRelay = ReplayRelay.create(bufferSize: 1) + private var emptyView = EmptyView() override func viewDidLoad() { super.viewDidLoad() @@ -775,6 +805,13 @@ class RescuePendingOrderController : DDViewController { pendingOrderView.snp.makeConstraints { make in make.edges.equalToSuperview() } + + pendingOrderView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } pendingOrderView.tableView.delegate = self pendingOrderView.tableView.dataSource = self @@ -789,7 +826,8 @@ class RescuePendingDispatchController : DDViewController { private var environmentPics : [String] = [] private var refreshRelay = ReplayRelay.create(bufferSize: 1) private var pageNum : Int = 1 - + private var emptyView = EmptyView() + override func viewDidLoad() { super.viewDidLoad() dd_navigationBarBackgroundColor = .hex("354683") @@ -804,6 +842,13 @@ class RescuePendingDispatchController : DDViewController { make.edges.equalToSuperview() } + pendingDispatchView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } + pendingDispatchView.tableView.delegate = self pendingDispatchView.tableView.dataSource = self } @@ -816,7 +861,8 @@ class RescueIsIngController : DDViewController { private var resultArr : [OrderListDataModel] = [] private var refreshRelay = ReplayRelay.create(bufferSize: 1) private var pageNum : Int = 1 - + private var emptyView = EmptyView() + override func viewDidLoad() { super.viewDidLoad() dd_navigationBarBackgroundColor = .hex("354683") @@ -831,6 +877,13 @@ class RescueIsIngController : DDViewController { make.edges.equalToSuperview() } + pendingIsIngView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } + pendingIsIngView.tableView.delegate = self pendingIsIngView.tableView.dataSource = self } diff --git a/OrderScheduling/ReviewFailed/ViewController/AdditionalPhotoController.swift b/OrderScheduling/ReviewFailed/ViewController/AdditionalPhotoController.swift index 06116da..2480be5 100644 --- a/OrderScheduling/ReviewFailed/ViewController/AdditionalPhotoController.swift +++ b/OrderScheduling/ReviewFailed/ViewController/AdditionalPhotoController.swift @@ -17,7 +17,7 @@ extension AdditionalPhotoController{ func addActions() { refreshRelay .flatMapLatest {[weak self] _ in - return RQ.orderPhotoList(prameters: OrderPhotoList(userOrderId: (self?.userOrderId)!, orderCode: (self?.orderCode)!, taskOrderId: (self?.taskOrderId)!)) + return RQ.orderPhotoList(prameters: OrderPhotoListParameters(userOrderId: (self?.userOrderId)!, orderCode: (self?.orderCode)!, taskOrderId: (self?.taskOrderId)!)) } .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] response in @@ -44,7 +44,7 @@ extension AdditionalPhotoController{ uploadImageRelay .flatMapLatest {[weak self] itemModel in - return RQ.supplementOrderPhoto(prameters: SupplementOrderPhoto(userOrderId: (self?.userOrderId)!, orderCode: (self?.orderCode)!, taskOrderId: (self?.taskOrderId)!, taskStatus: (itemModel.taskStatus)!, tag: itemModel.tag, file: (itemModel.uploadImage)!)) { multipartFormData in + return RQ.supplementOrderPhoto(prameters: SupplementOrderPhotoParameters(userOrderId: (self?.userOrderId)!, orderCode: (self?.orderCode)!, taskOrderId: (self?.taskOrderId)!, taskStatus: (itemModel.taskStatus)!, tag: itemModel.tag, file: (itemModel.uploadImage)!)) { multipartFormData in multipartFormData.append((itemModel.uploadImage)!, withName: "file",fileName: "\(String(Date.init().timeIntervalSince1970*1000))",mimeType: "text/plain") if let data = itemModel.tag.data(using: .utf8) { multipartFormData.append(data, withName: "tag") diff --git a/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift b/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift index 1144bd9..711fc94 100644 --- a/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift +++ b/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift @@ -50,14 +50,12 @@ extension ReviewFailedController { }) .disposed(by: disposeBag) - NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) - - messageCenterView.tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in + reviewFailedView.tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in self?.pageNum = 1 self?.refreshRelay.accept(self?.pageNum ?? 1) }) - messageCenterView.tableView.mj_footer = MJRefreshBackNormalFooter(refreshingBlock: {[weak self] in + reviewFailedView.tableView.mj_footer = MJRefreshBackNormalFooter(refreshingBlock: {[weak self] in self?.pageNum+=1 self?.refreshRelay.accept(self?.pageNum ?? 1) }) @@ -70,35 +68,52 @@ extension ReviewFailedController { .subscribe(onNext: {[weak self] (response, pageNum) in if response?.success == true { if pageNum == 1 { - if response?.data?.isEmpty == false { - self?.resultArr.removeAll() - self?.messageCenterView.tableView.mj_footer?.resetNoMoreData() - } - self?.messageCenterView.tableView.mj_header?.endRefreshing() + self?.resultArr.removeAll() + self?.reviewFailedView.tableView.mj_footer?.resetNoMoreData() + self?.reviewFailedView.tableView.mj_header?.endRefreshing() }else{ if response?.data?.isEmpty == false { - self?.messageCenterView.tableView.mj_footer?.endRefreshing() + self?.reviewFailedView.tableView.mj_footer?.endRefreshing() }else{ - self?.messageCenterView.tableView.mj_footer?.endRefreshingWithNoMoreData() + self?.reviewFailedView.tableView.mj_footer?.endRefreshingWithNoMoreData() } } if let array = response?.data { self?.resultArr.append(contentsOf: array) - self?.messageCenterView.tableView.reloadData() } + + if self?.resultArr.isEmpty == false { + self?.emptyView.isHidden = true + }else{ + self?.emptyView.isHidden = false + } + + self?.reviewFailedView.tableView.reloadData() }else{ if pageNum == 1 { - self?.messageCenterView.tableView.mj_header?.endRefreshing() + self?.reviewFailedView.tableView.mj_header?.endRefreshing() }else{ - self?.messageCenterView.tableView.mj_footer?.endRefreshing() + self?.reviewFailedView.tableView.mj_footer?.endRefreshing() } self?.view.dd_makeToast(response?.msg) } }) .disposed(by: disposeBag) - messageCenterView.tableView.mj_header?.beginRefreshing() + reviewFailedView.tableView.mj_header?.beginRefreshing() + + pendingTapGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .todoList,appending: nil) + }) + .disposed(by: disposeBag) + } + + public override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) } } @@ -136,7 +151,7 @@ extension ReviewFailedController : UITableViewDelegate,UITableViewDataSource { } open class ReviewFailedController : DDViewController { - private let messageCenterView = ReviewFailedView() + private let reviewFailedView = ReviewFailedView() private var pageNum : Int = 1 private var refreshRelay = ReplayRelay.create(bufferSize: 1) private let disposeBag = DisposeBag() @@ -145,7 +160,8 @@ open class ReviewFailedController : DDViewController { private let messageView = MessageView() private let pendingTapGes = UITapGestureRecognizer() private let pendingView = MessageView() - + private var emptyView = EmptyView() + open override func viewDidLoad() { super.viewDidLoad() dd_navigationItemTitle = "审核失败" @@ -159,14 +175,21 @@ open class ReviewFailedController : DDViewController { func addSubviews() { view.backgroundColor = .hex("F4F5F7") - view.addSubview(messageCenterView) - messageCenterView.snp.makeConstraints { make in + view.addSubview(reviewFailedView) + reviewFailedView.snp.makeConstraints { make in make.top.left.right.equalToSuperview() make.bottom.equalTo(-view.safeAreaInsets.bottom) } - messageCenterView.tableView.delegate = self - messageCenterView.tableView.dataSource = self + reviewFailedView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } + + reviewFailedView.tableView.delegate = self + reviewFailedView.tableView.dataSource = self messageView.titleLabel.text = "消息" messageView.addGestureRecognizer(messageTapGes) diff --git a/OrderScheduling/Source/LaunchImage.png b/OrderScheduling/Source/LaunchImage.png new file mode 100644 index 0000000..a2bb870 Binary files /dev/null and b/OrderScheduling/Source/LaunchImage.png differ diff --git a/OrderScheduling/Strings/AppKeyStrings.swift b/OrderScheduling/Strings/AppKeyStrings.swift index d8d682e..67829aa 100644 --- a/OrderScheduling/Strings/AppKeyStrings.swift +++ b/OrderScheduling/Strings/AppKeyStrings.swift @@ -8,3 +8,7 @@ import Foundation public let MAAppKey = "6e13671d1444633f9fd5a407a309555a" + +public let JPushKey = "259b546bb2aaf5f02ffa2547" + +public let AppItunesId = "1616776985" diff --git a/OrderScheduling/Strings/EntryStrings.swift b/OrderScheduling/Strings/EntryStrings.swift index a01713c..cc18c7f 100644 --- a/OrderScheduling/Strings/EntryStrings.swift +++ b/OrderScheduling/Strings/EntryStrings.swift @@ -8,3 +8,7 @@ import Foundation public let refuseOrderEntry = "refuseOrderEntry" + +public let appUpdateEntry = "appUpdateEntry" + +public let notificationAuthViewEntry = "notificationAuthViewEntry" diff --git a/OrderScheduling/Strings/LocalizedStrings.swift b/OrderScheduling/Strings/LocalizedStrings.swift index 869e4cb..e51b512 100644 --- a/OrderScheduling/Strings/LocalizedStrings.swift +++ b/OrderScheduling/Strings/LocalizedStrings.swift @@ -22,3 +22,5 @@ public let dispatchOrderInputPhone = "请输入技师电话" public let dispatchOrderInputLicense = "请输入救援车车牌" public let dispatchOrderSuccess = "派单成功" + +public let isTheNewestVserion = "已是最新版本" diff --git a/OrderScheduling/Strings/TimerStrings.swift b/OrderScheduling/Strings/TimerStrings.swift index 502fac3..d08834e 100644 --- a/OrderScheduling/Strings/TimerStrings.swift +++ b/OrderScheduling/Strings/TimerStrings.swift @@ -8,3 +8,5 @@ import Foundation public let login_code_timer_key = "login_code_timer_key" + +public let refresh_vehicle_monitoring_key = "refresh_vehicle_monitoring_key" diff --git a/OrderScheduling/Strings/UserDefaultStrings.swift b/OrderScheduling/Strings/UserDefaultStrings.swift index 25277d0..f9909a3 100644 --- a/OrderScheduling/Strings/UserDefaultStrings.swift +++ b/OrderScheduling/Strings/UserDefaultStrings.swift @@ -10,3 +10,9 @@ import Foundation public let token_key = "token_key" public let supplierType_key = "supplierType_key" + +public let appUpdateIgnore_key = "appUpdateIgnore_key" + +public let deviceToken_key = "deviceToken_key" + +public let regId_key = "regId_key" diff --git a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift index 679ca1c..00020f7 100644 --- a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift +++ b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift @@ -14,6 +14,7 @@ import RxCocoa import RxRelay import JXCategoryView import SnapKit +import DDTimerKit_Private fileprivate let vehicleMonitoringPannelViewHeight = auto(300) fileprivate let vehicleMonitoringPannelViewTopInset = auto(90) @@ -62,10 +63,18 @@ extension VehicleMonitoringController { NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) reloadRelay + .observe(on: MainScheduler.instance) + .do(onNext: {[weak self] _ in + self?.view.dd_showHUD() + }) .flatMapLatest { _ in return RQ.vehicleMonitorList() } .observe(on: MainScheduler.instance) + .do(onNext: {[weak self] _ in + self?.view.dd_hideHUD() + }) + .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] response in if response?.success == true { self?.dataModel = response?.data @@ -76,12 +85,13 @@ extension VehicleMonitoringController { let busyCount = String(response?.data?.vehicleMonitorCount.busyCount ?? 0)+"\n"+"忙碌" let alarmCount = String(response?.data?.vehicleMonitorCount.alarmCount ?? 0)+"\n"+"报警" if USER.supplierType == 2 { - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [roster,onLineCount,lostConnectionCount,leisureCount,busyCount,alarmCount] + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [roster,onLineCount,lostConnectionCount,leisureCount,busyCount] }else{ - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineCount,lostConnectionCount,leisureCount,busyCount,alarmCount] + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineCount,lostConnectionCount,leisureCount,busyCount] } - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.reloadData() - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.selectItem(at: 0) + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.reloadDataWithoutListContainer() + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.listContainer.reloadData() + self?.categoryView(self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView, didSelectedItemAt: self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.selectedIndex ?? 0) }else{ self?.view.dd_makeToast(response?.msg) } @@ -143,9 +153,41 @@ extension VehicleMonitoringController { } }) .disposed(by: disposeBag) + + pendingTapGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + WEBTOOL.open(name: .todoList,appending: nil) + }) + .disposed(by: disposeBag) +// vehicleMonitoringView.refreshButton.rx.tap +// .subscribe(onNext: {[weak self] _ in +// self?.reloadRelay.accept(nil) +// }) +// .disposed(by: disposeBag) +// vehicleMonitoringView.refreshButton.sendActions(for: .touchUpInside) +// var duration = 0 +// DDTimerManager.dd_share().dd_addTimer(withName: refresh_vehicle_monitoring_key, timeInterval: 1, repeatCount: 0, delay: 0) {[weak self] (manager, obj, index) in +// if duration == 0 { +// duration = 60 +// self?.reloadRelay.accept(nil) +// } +// duration-=1 +// DispatchQueue.main.async {[weak self] in +// self?.vehicleMonitoringView.refreshButton.setTitle("自动刷新倒计时:"+"\(duration)s", for: .normal) +// } +// } + } + + public func refreshData() { reloadRelay.accept(nil) } + + public override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil) + } } extension VehicleMonitoringController : DDMAMapViewDelegate { @@ -505,10 +547,6 @@ open class VehicleMonitoringController : DDViewController { } } - open override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - } } // MARK: UI @@ -518,12 +556,14 @@ open class VehicleMonitoringView : DDView { public let coverView : DDView public let tapGes : UITapGestureRecognizer public let panGes : UIPanGestureRecognizer + public let refreshButton : DDButton public init(titles:[String]) { vehicleMonitoringPannelView = VehicleMonitoringPannelView(titles:titles) maMapView = DDMAMapView() coverView = DDView() tapGes = UITapGestureRecognizer() panGes = UIPanGestureRecognizer() + refreshButton = DDButton.dd_initCustom() super.init(frame: .zero) maMapView.maMapView.logoCenter = CGPoint(x: 100, y: 100) @@ -534,6 +574,11 @@ open class VehicleMonitoringView : DDView { addSubview(coverView) vehicleMonitoringPannelView.layer.cornerRadius = auto(16) addSubview(vehicleMonitoringPannelView) + refreshButton.setTitle("手动刷新", for: .normal) + refreshButton.setTitleColor(.hex("000000"), for: .normal) + refreshButton.titleLabel?.font = .mediumFont(auto(14)) + refreshButton.isHidden = true + addSubview(refreshButton) maMapView.snp.makeConstraints { make in make.top.left.right.equalToSuperview() @@ -549,6 +594,12 @@ open class VehicleMonitoringView : DDView { make.left.right.equalToSuperview() make.height.equalTo(vehicleMonitoringPannelViewHeight) } + + refreshButton.snp.makeConstraints { make in + make.bottom.equalTo(vehicleMonitoringPannelView.snp.top).offset(-auto(0)) + make.right.equalTo(-auto(20)) + make.height.equalTo(auto(30)) + } } required public init?(coder: NSCoder) { diff --git a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift index 768a96a..36a2cc5 100644 --- a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift +++ b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift @@ -88,6 +88,8 @@ open class VehicleMonitoringListController : DDViewController { public var selectCellBlock: ((VehicleMonitorListDataModel.ItemModel) -> Void)? private var isPaiban : Bool? private var isAlarm : Bool? + private var emptyView = EmptyView() + open override func viewDidLoad() { super.viewDidLoad() @@ -99,6 +101,13 @@ open class VehicleMonitoringListController : DDViewController { make.edges.equalToSuperview() } + vehicleMonitoringListView.tableView.addSubview(emptyView) + emptyView.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + make.width.equalTo(auto(303)) + make.height.equalTo(auto(94)) + } + vehicleMonitoringListView.tableView.delegate = self vehicleMonitoringListView.tableView.dataSource = self } @@ -111,6 +120,13 @@ open class VehicleMonitoringListController : DDViewController { if let models { self.models.append(contentsOf: models) } + + if self.models.isEmpty == false { + emptyView.isHidden = true + }else{ + emptyView.isHidden = false + } + vehicleMonitoringListView.tableView.reloadData() } } @@ -175,6 +191,7 @@ open class VehicleMonitoringListCell : DDTableViewCell { dateLabel.numberOfLines = 0 dateLabel.textAlignment = .center radiusView.addSubview(dateLabel) + nameLabel.numberOfLines = 0 radiusView.addSubview(nameLabel) radiusView.addSubview(phoneLabel) callButton.layer.cornerRadius = auto(4) @@ -208,7 +225,7 @@ open class VehicleMonitoringListCell : DDTableViewCell { } nameLabel.snp.makeConstraints { make in - make.left.equalTo(dateLabel.snp.right).offset(auto(5)) + make.left.equalTo(dateLabel.snp.right).offset(auto(10)) make.width.equalTo(auto(60)) make.centerY.equalToSuperview() } diff --git a/Podfile b/Podfile index 1a17402..e5fca2a 100644 --- a/Podfile +++ b/Podfile @@ -8,7 +8,7 @@ target 'OrderScheduling' do use_modular_headers! # pod 'CocoaDebug', :configurations => ['Debug'] - + pod 'CocoaDebug' pod 'ESTabBarController-swift' pod 'DDCategoryKit_Private' pod 'DDBasicControlsKit_Private' @@ -24,7 +24,7 @@ target 'OrderScheduling' do pod 'DDTimerKit_Private' pod 'DDToastKit_Private' pod 'DDNetworkingOfAlamofireKit_Private' - pod 'DDProgressHUDKit_Private' + pod 'DDProgressHUDKit_Private', :path=> '/Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private' pod 'JXCategoryView' pod 'DDControlsKit_Private' pod 'SwiftEntryKit' @@ -34,6 +34,7 @@ target 'OrderScheduling' do pod 'ZFPlayer',:path=> '/Users/zd/Downloads/iOS相关/ZFPlayer-master' pod 'ZFPlayer/ControlView',:path=> '/Users/zd/Downloads/iOS相关/ZFPlayer-master' pod 'ZFPlayer/ijkplayer',:path=> '/Users/zd/Downloads/iOS相关/ZFPlayer-master' + pod 'JPush' # pod 'ZFPlayer', '~> 4.0' # pod 'ZFPlayer/ControlView' diff --git a/Podfile.lock b/Podfile.lock index e398ae6..b9674a5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -10,6 +10,7 @@ PODS: - AMapTrack-NO-IDFA (1.4.2): - AMapFoundation-NO-IDFA (>= 1.6.4) - AMapLocation-NO-IDFA (>= 2.6.7) + - CocoaDebug (1.7.7) - DDAutoUIKit_Private (0.1.2) - DDBasicControlsKit_Private (0.3.1): - DDBasicControlsKit_Private/DDBaseAnimation (= 0.3.1) @@ -254,7 +255,10 @@ PODS: - Alamofire - DDLogKit_Private - RxSwift - - DDProgressHUDKit_Private (0.1.1) + - DDProgressHUDKit_Private (0.1.1): + - "DDCategoryKit_Private/UIImage+DDCategory" + - SnapKit + - YYImage - DDTimerKit_Private (0.1.0): - DDTimerKit_Private/GCDTimer (= 0.1.0) - DDTimerKit_Private/GCDTimer (0.1.0) @@ -272,6 +276,9 @@ PODS: - DDWebImageKit_Private/SDWebImage/Core - ESTabBarController-swift (2.8.0) - IQKeyboardManagerSwift (6.5.12) + - JCore (4.2.1) + - JPush (5.0.1): + - JCore (>= 2.0.0) - JXCategoryView (1.6.1) - MJRefresh (3.7.5) - RxCocoa (6.5.0): @@ -282,6 +289,9 @@ PODS: - RxSwift (6.5.0) - SnapKit (5.6.0) - SwiftEntryKit (2.0.0) + - YYImage (1.0.4): + - YYImage/Core (= 1.0.4) + - YYImage/Core (1.0.4) - ZFPlayer (4.0.5): - ZFPlayer/Core (= 4.0.5) - ZFPlayer/ControlView (4.0.5): @@ -294,6 +304,7 @@ PODS: - ZLPhotoBrowser/Core (4.4.3.2) DEPENDENCIES: + - CocoaDebug - DDAutoUIKit_Private - DDBasicControlsKit_Private - DDCategoryKit_Private @@ -302,12 +313,13 @@ DEPENDENCIES: - DDFontKit_Private - DDMAMapKit_Private - DDNetworkingOfAlamofireKit_Private - - DDProgressHUDKit_Private + - DDProgressHUDKit_Private (from `/Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private`) - DDTimerKit_Private - DDToastKit_Private - DDWebImageKit_Private - ESTabBarController-swift - IQKeyboardManagerSwift + - JPush - JXCategoryView - MJRefresh - RxCocoa @@ -331,7 +343,6 @@ SPEC REPOS: - DDLogKit_Private - DDMAMapKit_Private - DDNetworkingOfAlamofireKit_Private - - DDProgressHUDKit_Private - DDTimerKit_Private - DDToastKit_Private - DDWebImageKit_Private @@ -342,8 +353,11 @@ SPEC REPOS: - AMapNavi-NO-IDFA - AMapSearch-NO-IDFA - AMapTrack-NO-IDFA + - CocoaDebug - ESTabBarController-swift - IQKeyboardManagerSwift + - JCore + - JPush - JXCategoryView - MJRefresh - RxCocoa @@ -351,9 +365,12 @@ SPEC REPOS: - RxSwift - SnapKit - SwiftEntryKit + - YYImage - ZLPhotoBrowser EXTERNAL SOURCES: + DDProgressHUDKit_Private: + :path: "/Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private" ZFPlayer: :path: "/Users/zd/Downloads/iOS相关/ZFPlayer-master" @@ -364,6 +381,7 @@ SPEC CHECKSUMS: AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6 AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918 AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e + CocoaDebug: b38d31464b91a9775928f8667d114db07b136565 DDAutoUIKit_Private: 4d031662fdd86c46b1dc4b88271f2303661225fd DDBasicControlsKit_Private: 04e64a24551a24e76555835fc14002415db80f94 DDCategoryKit_Private: db12e3f6923e2309dd1894fc36c967d6bce94605 @@ -373,12 +391,14 @@ SPEC CHECKSUMS: DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0 DDMAMapKit_Private: 8e70d3f58cb70ce30705a2f10d696e42878ce52d DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea - DDProgressHUDKit_Private: 2046b3cc10a6fe4c7bd454b7431fe80efdd58923 + DDProgressHUDKit_Private: 2523d52ac5566bfde304456abfe2aac3cbf75c59 DDTimerKit_Private: 3713d029a72710f42a5dd5a32083d6aad8f51eb0 DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256 DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76 ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136 IQKeyboardManagerSwift: 371b08cb39664fb56030f5345c815a4ffc74bbc0 + JCore: d994e32edb50add8a33135473acca799d882c5fa + JPush: bf8d6011eb80c776aa40a0c4f5c25fd10335af9c JXCategoryView: 7b1ee69ede4843c581688afe84d0f047723262f2 MJRefresh: fdf5e979eb406a0341468932d1dfc8b7f9fce961 RxCocoa: 94f817b71c07517321eb4f9ad299112ca8af743b @@ -386,9 +406,10 @@ SPEC CHECKSUMS: RxSwift: 5710a9e6b17f3c3d6e40d6e559b9fa1e813b2ef8 SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 SwiftEntryKit: 61b5fa36f34a97dd8013e48a7345bc4c4720be9a + YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 ZFPlayer: ba6410f1043fc8a3b7769749f860cf237016df09 ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b -PODFILE CHECKSUM: 35f200a29520ee2712b22639b1f230ab047e1457 +PODFILE CHECKSUM: bcbd7bb02cdf74bee6af46549ebabe072e53ecf7 COCOAPODS: 1.11.3 diff --git a/Pods/.DS_Store b/Pods/.DS_Store new file mode 100644 index 0000000..cbb5832 Binary files /dev/null and b/Pods/.DS_Store differ diff --git a/Pods/CocoaDebug/README.md b/Pods/CocoaDebug/README.md new file mode 100644 index 0000000..826afca --- /dev/null +++ b/Pods/CocoaDebug/README.md @@ -0,0 +1,104 @@ +| logo | | +| -------------- | -------------- | +| Version | [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/CocoaDebug.svg)](https://img.shields.io/cocoapods/v/CocoaDebug.svg) | +| Platform | ![Platform](https://img.shields.io/badge/platforms-iOS%2012.0+-blue.svg) | +| Languages | ![Languages](https://img.shields.io/badge/languages-Swift%20%7C%20ObjC-blue.svg) | + + + +## Screenshot + + + + + + + + +## Introduction + +- [x] Shake to hide or show the black bubble. (Support iPhone device and simulator) + +- [x] Share network details via email or copy to clipboard when you are in the *Network Details* page. + +- [x] Copy logs. (Long press the text, then select all or select copy) + +- [x] Search logs by keyword. + +- [x] Long press the black bubble to clean all network logs. + +- [x] Detect *UI Blocking*. + +- [x] List crash errors. + +- [x] List application and device informations, including: *version*, *build*, *bundle name*, *bundle id*, *screen resolution*, *device*, *iOS version* + +- [x] List all network requests sent by the application. (Support *JSON* and Google's *Protocol buffers*) + +- [x] List all sandbox folders and files, supporting to preview and edit. + +- [x] List all *WKWebView* consoles. + +- [x] List all *React Native* JavaScript consoles and Native logs. + +- [x] List all *print()* and *NSLog()* messages which have been written by developer in Xcode. + +## Installation + +### *CocoaPods* *(Preferred)* + +```ruby +target 'YourTargetName' do + use_frameworks! + pod 'CocoaDebug', :configurations => ['Debug'] +end +``` + +### *Carthage* + +```ruby +github "CocoaDebug/CocoaDebug" +``` + +### *Framework* + +*[CocoaDebug.framework](https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/CocoaDebug.framework.zip) (Version 1.7.2)* + +> WARNING: Never ship a product which has been linked with the CocoaDebug framework. The [Integration Guide](https://github.com/CocoaDebug/CocoaDebug/wiki/Integration-Guide) outline a way to use build configurations to isolate linking the framework to Debug builds. + +## Usage + +- Don't need to do anything. CocoaDebug will start automatically. +- To capture logs from Xcode with codes: (You can also set this in *CocoaDebug->App->Monitor->Applogs* without any codes.) +```swift +CocoaDebugSettings.shared.enableLogMonitoring = true //The default value is false +``` +- Check [AppDelegate.m](https://github.com/CocoaDebug/CocoaDebug/blob/master/Example_Objc/Example_Objc/AppDelegate.m) OR [AppDelegate.swift](https://github.com/CocoaDebug/CocoaDebug/blob/master/Example_Swift/Example_Swift/AppDelegate.swift) for more advanced usage. + +## Parameters + +When you initialize CocoaDebug, you can customize the following parameter values before `CocoaDebug.enable()`. + +- `serverURL` - If the captured URLs contain server URL, CocoaDebug set server URL bold font to be marked. Not mark when this value is nil. Default value is **nil**. + +- `ignoredURLs` - Set the URLs which should not been captured, CocoaDebug capture all URLs when the value is nil. Default value is **nil**. + +- `onlyURLs` - Set the URLs which are only been captured, CocoaDebug capture all URLs when the value is nil. Default value is **nil**. + +- `ignoredPrefixLogs` - Set the prefix Logs which should not been captured, CocoaDebug capture all Logs when the value is nil. Default value is **nil**. + +- `onlyPrefixLogs` - Set the prefix Logs which are only been captured, CocoaDebug capture all Logs when the value is nil. Default value is **nil**. + +- `additionalViewController` - Add an additional UIViewController as child controller of CocoaDebug's main UITabBarController. Default value is **nil**. + +- `emailToRecipients` - Set the initial recipients to include in the email’s “To” field when share via email. Default value is **nil**. + +- `emailCcRecipients` - Set the initial recipients to include in the email’s “Cc” field when share via email. Default value is **nil**. + +- `mainColor` - Set CocoaDebug's main color with hexadecimal format. Default value is **#42d459**. + +- `protobufTransferMap` - Protobuf data transfer to JSON map. Default value is **nil**. + +## Reference + +[https://developer.apple.com/library/archive/samplecode/CustomHTTPProtocol/Introduction/Intro.html](https://developer.apple.com/library/archive/samplecode/CustomHTTPProtocol/Introduction/Intro.html) diff --git a/Pods/CocoaDebug/Sources/App/AboutViewController.swift b/Pods/CocoaDebug/Sources/App/AboutViewController.swift new file mode 100644 index 0000000..449bdfc --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/AboutViewController.swift @@ -0,0 +1,37 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit + +class AboutViewController: UITableViewController { + + @IBOutlet weak var versionLabel: UILabel! + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "About" + naviItem.titleView = naviItemTitleLabel + + +// let version = "1.7.2" +// +// self.versionLabel.text = "CocoaDebug Version ".appending(version) + + tableView.tableFooterView = UIView() + } +} diff --git a/Pods/CocoaDebug/Sources/App/AppInfoViewController.swift b/Pods/CocoaDebug/Sources/App/AppInfoViewController.swift new file mode 100644 index 0000000..d5f550d --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/AppInfoViewController.swift @@ -0,0 +1,217 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class AppInfoViewController: UITableViewController { + + @IBOutlet weak var labelVersionNumber: UILabel! + @IBOutlet weak var labelBuildNumber: UILabel! + @IBOutlet weak var labelBundleName: UILabel! + @IBOutlet weak var labelScreenResolution: UILabel! + @IBOutlet weak var labelDeviceModel: UILabel! + @IBOutlet weak var labelCrashCount: UILabel! + @IBOutlet weak var labelBundleID: UILabel! + @IBOutlet weak var labelserverURL: UILabel! + @IBOutlet weak var labelIOSVersion: UILabel! + @IBOutlet weak var labelHtml: UILabel! + @IBOutlet weak var crashSwitch: UISwitch! + @IBOutlet weak var logSwitch: UISwitch! + @IBOutlet weak var networkSwitch: UISwitch! + @IBOutlet weak var webViewSwitch: UISwitch! + @IBOutlet weak var slowAnimationsSwitch: UISwitch! + @IBOutlet weak var naviItem: UINavigationItem! + @IBOutlet weak var rnSwitch: UISwitch! + @IBOutlet weak var uiBlockingSwitch: UISwitch! + + var naviItemTitleLabel: UILabel? + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "App" + naviItem.titleView = naviItemTitleLabel + + labelCrashCount.frame.size = CGSize(width: 30, height: 20) + + labelVersionNumber.text = CocoaDebugDeviceInfo.sharedInstance().appVersion + labelBuildNumber.text = CocoaDebugDeviceInfo.sharedInstance().appBuiltVersion + labelBundleName.text = CocoaDebugDeviceInfo.sharedInstance().appBundleName + + labelScreenResolution.text = "\(Int(CocoaDebugDeviceInfo.sharedInstance().resolution.width))" + "*" + "\(Int(CocoaDebugDeviceInfo.sharedInstance().resolution.height))" + labelDeviceModel.text = "\(CocoaDebugDeviceInfo.sharedInstance().getPlatformString)" + + labelBundleID.text = CocoaDebugDeviceInfo.sharedInstance().appBundleID + + labelserverURL.text = CocoaDebugSettings.shared.serverURL + labelIOSVersion.text = UIDevice.current.systemVersion + + if UIScreen.main.bounds.size.width == 320 { + labelHtml.font = UIFont.systemFont(ofSize: 15) + } + + logSwitch.isOn = CocoaDebugSettings.shared.enableLogMonitoring + networkSwitch.isOn = !CocoaDebugSettings.shared.disableNetworkMonitoring + rnSwitch.isOn = CocoaDebugSettings.shared.enableRNMonitoring + webViewSwitch.isOn = CocoaDebugSettings.shared.enableWKWebViewMonitoring + slowAnimationsSwitch.isOn = CocoaDebugSettings.shared.slowAnimations + crashSwitch.isOn = CocoaDebugSettings.shared.enableCrashRecording + uiBlockingSwitch.isOn = CocoaDebugSettings.shared.enableUIBlockingMonitoring + + logSwitch.addTarget(self, action: #selector(logSwitchChanged), for: UIControl.Event.valueChanged) + networkSwitch.addTarget(self, action: #selector(networkSwitchChanged), for: UIControl.Event.valueChanged) + rnSwitch.addTarget(self, action: #selector(rnSwitchChanged), for: UIControl.Event.valueChanged) + webViewSwitch.addTarget(self, action: #selector(webViewSwitchChanged), for: UIControl.Event.valueChanged) + slowAnimationsSwitch.addTarget(self, action: #selector(slowAnimationsSwitchChanged), for: UIControl.Event.valueChanged) + crashSwitch.addTarget(self, action: #selector(crashSwitchChanged), for: UIControl.Event.valueChanged) + uiBlockingSwitch.addTarget(self, action: #selector(uiBlockingSwitchChanged), for: UIControl.Event.valueChanged) + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + let count = UserDefaults.standard.integer(forKey: "crashCount_CocoaDebug") + labelCrashCount.text = "\(count)" + labelCrashCount.textColor = count > 0 ? .red : .white + } + + //MARK: - alert + func showAlert() { + let alert = UIAlertController.init(title: nil, message: "You must restart APP to ensure the changes take effect", preferredStyle: .alert) + let cancelAction = UIAlertAction.init(title: "Restart later", style: .cancel, handler: nil) + let okAction = UIAlertAction.init(title: "Restart now", style: .destructive) { _ in + exit(0) + } + + alert.addAction(cancelAction) + alert.addAction(okAction) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } + + //MARK: - target action + @objc func slowAnimationsSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.slowAnimations = slowAnimationsSwitch.isOn + // self.showAlert() + } + + @objc func uiBlockingSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.enableUIBlockingMonitoring = uiBlockingSwitch.isOn + if uiBlockingSwitch.isOn == true { + WindowHelper.shared.startUIBlockingMonitoring() + } else { + WindowHelper.shared.stopUIBlockingMonitoring() + } + } + + @objc func crashSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.enableCrashRecording = crashSwitch.isOn + self.showAlert() + } + + @objc func networkSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.disableNetworkMonitoring = !networkSwitch.isOn + self.showAlert() + } + + @objc func logSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.enableLogMonitoring = logSwitch.isOn + self.showAlert() + } + + @objc func rnSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.enableRNMonitoring = rnSwitch.isOn + self.showAlert() + } + + @objc func webViewSwitchChanged(sender: UISwitch) { + CocoaDebugSettings.shared.enableWKWebViewMonitoring = webViewSwitch.isOn + self.showAlert() + } +} + + +//MARK: - UITableViewDelegate +extension AppInfoViewController { + + override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat + { + if section == 0 { + return 56 + } + return 38 + } + + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat + { + if indexPath.section == 1 && indexPath.row == 4 { + if labelserverURL.text == nil || labelserverURL.text == "" { + return 0 + } + } + + return 44 + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) + { + tableView.deselectRow(at: indexPath, animated: true) + + if indexPath.section == 1 && indexPath.row == 2 { + UIPasteboard.general.string = CocoaDebugDeviceInfo.sharedInstance().appBundleName + + let alert = UIAlertController.init(title: "copied bundle name to clipboard", message: nil, preferredStyle: .alert) + let action = UIAlertAction.init(title: "OK", style: .cancel, handler: nil) + alert.addAction(action) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } + + if indexPath.section == 1 && indexPath.row == 3 { + UIPasteboard.general.string = CocoaDebugDeviceInfo.sharedInstance().appBundleID + + let alert = UIAlertController.init(title: "copied bundle id to clipboard", message: nil, preferredStyle: .alert) + let action = UIAlertAction.init(title: "OK", style: .cancel, handler: nil) + alert.addAction(action) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } + + if indexPath.section == 1 && indexPath.row == 4 { + if labelserverURL.text == nil || labelserverURL.text == "" {return} + + UIPasteboard.general.string = CocoaDebugSettings.shared.serverURL + + let alert = UIAlertController.init(title: "copied server to clipboard", message: nil, preferredStyle: .alert) + let action = UIAlertAction.init(title: "OK", style: .cancel, handler: nil) + alert.addAction(action) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } + } +} diff --git a/Pods/CocoaDebug/Sources/App/CrashCell.swift b/Pods/CocoaDebug/Sources/App/CrashCell.swift new file mode 100644 index 0000000..7ada038 --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/CrashCell.swift @@ -0,0 +1,41 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CrashCell: UITableViewCell { + + @IBOutlet weak var textview: CustomTextView! + + override func awakeFromNib() { + super.awakeFromNib() + textview.isUserInteractionEnabled = false + } + + var crash: _CrashModel? { + didSet { + guard let crash = crash else {return} + + if let formatDate = _OCLoggerFormat.formatDate(crash.date) { + let content = "\("\(String(describing: formatDate))\n")\(crash.name ?? "unknown crash")" + + textview.text = content + let attstr = NSMutableAttributedString(string: content) + + attstr.addAttribute(.foregroundColor, + value: UIColor.white, range: NSMakeRange(0, content.count)) + + let range = NSMakeRange(0, formatDate.count) + attstr.addAttribute(.foregroundColor, value: Color.mainGreen, range: range) + attstr.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 12), range: range) + + textview.attributedText = attstr + } + } + } +} diff --git a/Pods/CocoaDebug/Sources/App/CrashDetailViewController.swift b/Pods/CocoaDebug/Sources/App/CrashDetailViewController.swift new file mode 100644 index 0000000..88649de --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/CrashDetailViewController.swift @@ -0,0 +1,62 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CrashDetailViewController: UITableViewController { + + @IBOutlet weak var textviewName: CustomTextView! + @IBOutlet weak var textviewReason: CustomTextView! + @IBOutlet weak var textviewStackTraces: CustomTextView! + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + var crash: _CrashModel? + + static func instanceFromStoryBoard() -> CrashDetailViewController { + let storyboard = UIStoryboard(name: "App", bundle: Bundle(for: CocoaDebug.self)) + return storyboard.instantiateViewController(withIdentifier: "CrashDetailViewController") as! CrashDetailViewController + } + + //MARK - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "Details" + naviItem.titleView = naviItemTitleLabel + + tableView.rowHeight = UITableView.automaticDimension + tableView.estimatedRowHeight = 50 + tableView.delegate = self + + textviewName.text = "\(crash?.name ?? "N/A")" + textviewReason.text = "\(crash?.reason ?? "N/A")" + + let contentStack = crash?.callStacks?.reduce("", { + $0 == "" ? $1 : $0 + "\n" + $1 + }) + textviewStackTraces.text = contentStack + } +} + +//MARK: - UITableViewDelegate +extension CrashDetailViewController { + + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return UITableView.automaticDimension + } + + override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { + return 50 + } +} diff --git a/Pods/CocoaDebug/Sources/App/CrashListViewController.swift b/Pods/CocoaDebug/Sources/App/CrashListViewController.swift new file mode 100644 index 0000000..91dc773 --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/CrashListViewController.swift @@ -0,0 +1,115 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CrashListViewController: UITableViewController { + + var models: [_CrashModel] = [_CrashModel]() + + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "Crash" + naviItem.titleView = naviItemTitleLabel + + + navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .trash, target: self, action:#selector(CrashListViewController.deleteCrashes)) + + tableView.delegate = self + tableView.dataSource = self + tableView.tableFooterView = UIView() + + models = CrashStoreManager.shared.crashArray + tableView.reloadData() + } + + //MARK: - target action + @objc func deleteCrashes() { + models = [] + CrashStoreManager.shared.resetCrashs() + + // dispatch_main_async_safe { [weak self] in + tableView.reloadData() + // } + } +} + +//MARK: - UITableViewDataSource +extension CrashListViewController { + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return models.count + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "CrashCell", for: indexPath) + as! CrashCell + cell.crash = models[indexPath.row] + cell.accessoryType = .none + return cell + } +} + +//MARK: - UITableViewDelegate +extension CrashListViewController { + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + + let vc = CrashDetailViewController.instanceFromStoryBoard() + vc.crash = models[indexPath.row] + + self.navigationController?.pushViewController(vc, animated: true) + } + + @available(iOS 11.0, *) + override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { + + let delete = UIContextualAction(style: .destructive, title: "Delete") { [weak self] (action, sourceView, completionHandler) in + guard let models = self?.models else {return} + CrashStoreManager.shared.removeCrash(models[indexPath.row]) + self?.models.remove(at: indexPath.row) + // self?.dispatch_main_async_safe { [weak self] in + self?.tableView.deleteRows(at: [indexPath], with: .automatic) + // } + completionHandler(true) + } + + return UISwipeActionsConfiguration(actions: [delete]) + } + + //MARK: - only for ios8/ios9/ios10, not ios11 + override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle { + return .delete + } + override func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? { + return "Delete" + } + override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { + return true + } + override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { + if (editingStyle == .delete) { + CrashStoreManager.shared.removeCrash(models[indexPath.row]) + self.models.remove(at: indexPath.row) + // self.dispatch_main_async_safe { [weak self] in + self.tableView.deleteRows(at: [indexPath], with: .automatic) + // } + } + } +} diff --git a/Pods/CocoaDebug/Sources/App/CrashLogger.swift b/Pods/CocoaDebug/Sources/App/CrashLogger.swift new file mode 100644 index 0000000..89c9022 --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/CrashLogger.swift @@ -0,0 +1,98 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit +import Darwin + +func exceptionHandler(exception: NSException) { + if CrashLogger.shared.crashed { + return + } + CrashLogger.shared.crashed = true + CrashLogger.addCrash(name: exception.name.rawValue, reason: exception.reason) +} + +func handleSignal(signal: Int32) { + if CrashLogger.shared.crashed { + return + } + CrashLogger.shared.crashed = true + switch signal { + case SIGILL: + CrashLogger.addCrash(name: "SIGILL", reason: nil) + case SIGABRT: + CrashLogger.addCrash(name: "SIGABRT", reason: nil) + case SIGFPE: + CrashLogger.addCrash(name: "SIGFPE", reason: nil) + case SIGBUS: + CrashLogger.addCrash(name: "SIGBUS", reason: nil) + case SIGSEGV: + CrashLogger.addCrash(name: "SIGSEGV", reason: nil) + case SIGSYS: + CrashLogger.addCrash(name: "SIGSYS", reason: nil) + case SIGPIPE: + CrashLogger.addCrash(name: "SIGPIPE", reason: nil) + case SIGTRAP: + CrashLogger.addCrash(name: "SIGTRAP", reason: nil) + default: break + } +} + +class CrashLogger { + + static let shared = CrashLogger() + private init() {} + + var hasBeenRegistered = false + var crashed = false + var enable: Bool = false { + didSet { + if enable { + CrashLogger.shared.register() + } + else { + CrashLogger.shared.unregister() + } + } + } + + func register() { + if hasBeenRegistered == false { + hasBeenRegistered = true + NSSetUncaughtExceptionHandler(exceptionHandler) + signal(SIGILL, handleSignal) + signal(SIGABRT, handleSignal) + signal(SIGFPE, handleSignal) + signal(SIGBUS, handleSignal) + signal(SIGSEGV, handleSignal) + signal(SIGSYS, handleSignal) + signal(SIGPIPE, handleSignal) + signal(SIGTRAP, handleSignal) + } + } + + func unregister() { + if hasBeenRegistered == true { + hasBeenRegistered = false + NSSetUncaughtExceptionHandler(nil) + signal(SIGILL, SIG_DFL) + signal(SIGABRT, SIG_DFL) + signal(SIGFPE, SIG_DFL) + signal(SIGBUS, SIG_DFL) + signal(SIGSEGV, SIG_DFL) + signal(SIGSYS, SIG_DFL) + signal(SIGPIPE, SIG_DFL) + signal(SIGTRAP, SIG_DFL) + } + } + + static func addCrash(name: String, reason: String?) { + let newCrash = _CrashModel(name: name, reason: reason) + CrashStoreManager.shared.addCrash(newCrash) + } +} diff --git a/Pods/CocoaDebug/Sources/App/CrashStoreManager.swift b/Pods/CocoaDebug/Sources/App/CrashStoreManager.swift new file mode 100644 index 0000000..f16fce8 --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/CrashStoreManager.swift @@ -0,0 +1,79 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation + +class CrashStoreManager { + + var crashArray: [_CrashModel] = [_CrashModel]() + + static let shared = CrashStoreManager() + private init() { + crashArray = self.getCrashs() + } + + //MARK: - public + func addCrash(_ crash: _CrashModel) { + if self.crashArray.count >= 1000 { + if self.crashArray.count > 0 { + self.crashArray.remove(at: 0) + } + } + self.crashArray.append(crash) + archiveCrashs(self.crashArray) + } + + func removeCrash(_ model: _CrashModel) { + if let index = self.crashArray.firstIndex(where: { (crash) -> Bool in + return crash.id == model.id + }) { + self.crashArray.remove(at: index) + } + archiveCrashs(self.crashArray) + } + + func resetCrashs() { + if self.crashArray.count > 0 { + self.crashArray.removeAll() + UserDefaults.standard.removeObject(forKey: "crashArchive_CocoaDebug") + UserDefaults.standard.removeObject(forKey: "crashCount_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + + //MARK: - private + private func archiveCrashs(_ crashs: [_CrashModel]) { + do { + var dataArchive: Data + if #available(iOS 11.0, *) { + dataArchive = try NSKeyedArchiver.archivedData(withRootObject: crashs, requiringSecureCoding: false) + } else { + // Fallback on earlier versions + dataArchive = NSKeyedArchiver.archivedData(withRootObject: crashs) + } + UserDefaults.standard.set(dataArchive, forKey: "crashArchive_CocoaDebug") + UserDefaults.standard.set(crashs.count, forKey: "crashCount_CocoaDebug") + UserDefaults.standard.synchronize() + } catch {} + } + + private func getCrashs() -> [_CrashModel] { + guard let data = UserDefaults.standard.object(forKey: "crashArchive_CocoaDebug") as? Data else {return []} + do { + if #available(iOS 9.0, *) { + let dataArchive = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) + return dataArchive as! [_CrashModel] + } else { + // Fallback on earlier versions + return [] + } + } catch { + return [] + } + } +} diff --git a/Pods/CocoaDebug/Sources/App/IgnoredURLsViewController.swift b/Pods/CocoaDebug/Sources/App/IgnoredURLsViewController.swift new file mode 100644 index 0000000..6179d0f --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/IgnoredURLsViewController.swift @@ -0,0 +1,119 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit + +class IgnoredURLsViewController: UITableViewController { + + var ignoredURLs: Array? + var onlyURLs: Array? + + var ignoredPrefixLogs: Array? + var onlyPrefixLogs: Array? + + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "Settings" + naviItem.titleView = naviItemTitleLabel + + tableView.tableFooterView = UIView() + + ignoredURLs = CocoaDebugSettings.shared.ignoredURLs + onlyURLs = CocoaDebugSettings.shared.onlyURLs + + ignoredPrefixLogs = CocoaDebugSettings.shared.ignoredPrefixLogs + onlyPrefixLogs = CocoaDebugSettings.shared.onlyPrefixLogs + } +} + +//MARK: - UITableViewDataSource +extension IgnoredURLsViewController { + + override func numberOfSections(in tableView: UITableView) -> Int { + return 4 + } + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + switch section { + case 0: + return ignoredURLs?.count ?? 0 + case 1: + return onlyURLs?.count ?? 0 + case 2: + return ignoredPrefixLogs?.count ?? 0 + case 3: + return onlyPrefixLogs?.count ?? 0 + default: + break + } + + return 0 + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = UITableViewCell.init(style: .default, reuseIdentifier: "CocoaDebugSettingsCell") + cell.textLabel?.textColor = .white + cell.contentView.backgroundColor = .black + cell.selectionStyle = .none + + switch indexPath.section { + case 0: + cell.textLabel?.text = ignoredURLs?[indexPath.row] + case 1: + cell.textLabel?.text = onlyURLs?[indexPath.row] + case 2: + cell.textLabel?.text = ignoredPrefixLogs?[indexPath.row] + case 3: + cell.textLabel?.text = onlyPrefixLogs?[indexPath.row] + default: + break + } + + return cell + } + + override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + + switch section { + case 0: + return "ignored URLs" + case 1: + return "only URLs" + case 2: + return "ignored Prefix Logs" + case 3: + return "only Prefix Logs" + default: + break + } + + return "" + } +} + +//MARK: - UITableViewDelegate +extension IgnoredURLsViewController { + override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + return 60 + } + + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 20 + } +} diff --git a/Pods/CocoaDebug/Sources/App/_CrashModel.swift b/Pods/CocoaDebug/Sources/App/_CrashModel.swift new file mode 100644 index 0000000..dcedb56 --- /dev/null +++ b/Pods/CocoaDebug/Sources/App/_CrashModel.swift @@ -0,0 +1,57 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class _CrashModel: NSObject, NSCoding { + + var id: String + var date: Date + var reason: String? + var name: String? + var callStacks: [String]? + + + init(name: String, reason: String?) { + id = UUID().uuidString + date = Date() + self.reason = reason + self.name = name + callStacks = Thread.callStackSymbols + } + + func encode(with aCoder: NSCoder) { + aCoder.encode(id, forKey: "id") + aCoder.encode(date, forKey: "date") + aCoder.encode(reason, forKey: "reason") + aCoder.encode(name, forKey: "name") + aCoder.encode(callStacks, forKey: "callstacks") + } + + required init?(coder aDecoder: NSCoder) { + id = aDecoder.decodeObject(forKey: "id") as? String ?? "" + date = aDecoder.decodeObject(forKey: "date") as? Date ?? Date() + reason = aDecoder.decodeObject(forKey: "reason") as? String + name = aDecoder.decodeObject(forKey: "name") as? String + callStacks = aDecoder.decodeObject(forKey: "callstacks") as? [String] + } + + func toString() -> String { + let stringContent = NSMutableString() + stringContent.append("Date: \(String(describing: _OCLoggerFormat.formatDate(date)))\n") + stringContent.append("Name: \(name ?? "N/A")\n") + stringContent.append("Reason: \(reason ?? "N/A")\n") + + let stacks = (callStacks ?? []).reduce("", { + return "\($0)\($1)\n" + }) + stringContent.append(stacks) + return stringContent as String + } +} + diff --git a/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.h b/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.h new file mode 100644 index 0000000..4ecce13 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.h @@ -0,0 +1,20 @@ +//// +//// Example +//// man.li +//// +//// Created by man 11/11/2018. +//// Copyright © 2020 man. All rights reserved. +//// +// +//#import +// +//@interface GPBMessage (CocoaDebug) +// +//- (id _Nullable)initWithDictionary:(NSDictionary *_Nullable)dict; +// +//- (NSDictionary *_Nullable)containerType; +//- (NSDictionary *_Nullable)nameMap; +//- (NSString *_Nullable)_JSONStringWithIgnoreFields:(NSArray * _Nullable)ignoreFields; +//- (NSDictionary *_Nullable)dictionaryWithIgnoreFields:(NSArray * _Nullable)ignoreFields; +// +//@end diff --git a/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.m b/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.m new file mode 100644 index 0000000..eb3d80b --- /dev/null +++ b/Pods/CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.m @@ -0,0 +1,411 @@ +//// +//// Example +//// man.li +//// +//// Created by man 11/11/2018. +//// Copyright © 2020 man. All rights reserved. +//// +// +//#import "GPBMessage+CocoaDebug.h" +//#import "NSObject+CocoaDebug.h" +//#import +//#import +//#import "GPBArray.h" +// +//@implementation GPBMessage (CocoaDebug) +// +//#pragma mark - Public Methods +//- (id)initWithDictionary:(NSDictionary *)dict { +// self = [self init]; +// if (dict && [dict isKindOfClass:[NSDictionary class]]) { +// NSMutableDictionary *keyMap = [NSMutableDictionary dictionary]; +// NSDictionary *nameMap = [self nameMap]; +// for (NSString *keyName in nameMap) { +// id keyNameObject = [nameMap objectForKey:keyName]; +// if ([keyNameObject isKindOfClass:[NSString class]]) { +// [keyMap setObject:keyName forKey:keyNameObject]; +// } +// if ([keyNameObject isKindOfClass:[NSArray class]]) { +// for (id keyPath in (NSArray *)keyNameObject) { +// [keyMap setObject:keyName forKey:keyPath]; +// } +// } +// } +// for (NSString *keyName in dict) { +// NSString *keyPath = [keyMap _stringForKey:keyName default:keyName]; +// [self setKeyPath:keyPath value:[dict objectForKey:keyName]]; +// } +// } +// return self; +//} +// +//- (NSDictionary *)containerType { +// return @{}; +//} +// +//- (NSDictionary *)nameMap { +// return @{}; +//} +// +//- (NSString *)_JSONStringWithIgnoreFields:(NSArray * _Nullable)ignoreFields { +// NSData *data = [NSJSONSerialization dataWithJSONObject:[self dictionaryWithIgnoreFields:ignoreFields] options:kNilOptions error:nil]; +// return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; +//} +// +//#pragma mark - Private Methods +//- (NSDictionary *)dictionaryWithIgnoreFields:(NSArray * _Nullable)ignoreFields { +// NSMutableDictionary *dict = [NSMutableDictionary dictionary]; +// +// unsigned int count; +// objc_property_t *properties = class_copyPropertyList([self class], &count); +// for (unsigned int i = 0; i < count; i++) { +// const char *propertyName = property_getName(properties[i]); +// NSString *keyPath = [NSString stringWithUTF8String:propertyName]; +// +// id serializeObject = [self serializeValueForKey:keyPath]; +// if (nil == serializeObject) { +// continue; +// } +// id keyNameObject = [[self nameMap] objectForKey:keyPath]; +// +// if (keyNameObject == nil && ![ignoreFields containsObject:keyPath]) { +// [dict setObject:serializeObject forKey:keyPath]; +// } +// if ([keyNameObject isKindOfClass:[NSString class]] && ![ignoreFields containsObject:keyNameObject]) { +// [dict setObject:serializeObject forKey:keyNameObject]; +// } +// if ([keyNameObject isKindOfClass:[NSArray class]] && ![ignoreFields containsObject:keyNameObject]) { +// NSString *keyName = [keyNameObject objectAtIndex:0]; // Serialize only the first value +// [dict setObject:serializeObject forKey:keyName]; +// } +// } +// free(properties); +// return dict; +//} +// +//- (NSDictionary *)dictionary { +// return [self dictionaryWithIgnoreFields:nil]; +//} +// +//- (id)serializeValueForKey:(NSString *)keyPath { +// id item = [self valueForKey:keyPath]; +// if ([item isKindOfClass:[NSNumber class]] || [item isKindOfClass:[NSString class]]) { +// return item; +// } +// if ([item isKindOfClass:[GPBMessage class]]) { +// return [item dictionary]; +// } +// if ([item isKindOfClass:[GPBInt32Array class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBInt32Array *itemArray = (GPBInt32Array *)item; +// [itemArray enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBUInt32Array class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBUInt32Array *itemArray = (GPBUInt32Array *)item; +// [itemArray enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBInt64Array class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBInt64Array *itemArray = (GPBInt64Array *)item; +// [itemArray enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBUInt64Array class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBUInt64Array *itemArray = (GPBUInt64Array *)item; +// [itemArray enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBFloatArray class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBFloatArray *itemArray = (GPBFloatArray *)item; +// [itemArray enumerateValuesWithBlock:^(float value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBDoubleArray class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBDoubleArray *itemArray = (GPBDoubleArray *)item; +// [itemArray enumerateValuesWithBlock:^(double value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBBoolArray class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBBoolArray *itemArray = (GPBBoolArray *)item; +// [itemArray enumerateValuesWithBlock:^(BOOL value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[GPBEnumArray class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// GPBEnumArray *itemArray = (GPBEnumArray *)item; +// [itemArray enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL * _Nonnull stop) { +// [array addObject:@(value)]; +// }]; +// return array; +// } +// if ([item isKindOfClass:[NSArray class]]) { +// NSMutableArray *array = [NSMutableArray array]; +// for (id arrayItem in item) { +// if ([arrayItem isKindOfClass:[NSNumber class]] || [arrayItem isKindOfClass:[NSString class]]) { +// [array addObject:arrayItem]; +// continue; +// } +// if ([arrayItem isKindOfClass:[GPBMessage class]]) { +// [array addObject:[arrayItem dictionary]]; +// } +// } +// return array; +// } +// return nil; +//} +// +//- (void)setKeyPath:(NSString *)keyPath value:(id)value { +// NSMutableArray *propertiesNameArray = [NSMutableArray array]; +// NSMutableDictionary *propertiesTypeDic = [NSMutableDictionary dictionary]; +// unsigned int count; +// objc_property_t *properties = class_copyPropertyList([self class], &count); +// for (NSUInteger i = 0; i < count; i++) { +// objc_property_t property = properties[i]; +// NSString *propertyName = [NSString stringWithUTF8String:property_getName(property)]; +// [propertiesNameArray addObject:propertyName]; +// +// NSString *attr = [NSString stringWithUTF8String:&(property_getAttributes(property)[1])]; +// NSString *type = [[attr componentsSeparatedByString:@","] objectAtIndex:0]; +// [propertiesTypeDic setObject:type forKey:propertyName]; +// } +// free(properties); +// +// NSString *type = [propertiesTypeDic _stringForKey:keyPath default:@""]; +// SEL setter = NSSelectorFromString([NSString stringWithFormat:@"set%@%@:", [keyPath substringToIndex:1].uppercaseString, [keyPath substringFromIndex:1]]); +// +// if ([value isKindOfClass:[NSString class]] == YES) { +// NSString *str = (NSString *)value; +// if ([type isEqualToString:@"@\"NSString\""]) { +// ((void (*)(id, SEL, id))(void *) objc_msgSend)((id)self, setter, str); +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(bool)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require bool but string", self, keyPath); +// ((void (*)(id, SEL, bool))(void *) objc_msgSend)(self, setter, str.boolValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(BOOL)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require BOOL but string", self, keyPath); +// ((void (*)(id, SEL, BOOL))(void *) objc_msgSend)(self, setter, str.boolValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(int32_t)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require int32_t but string", self, keyPath); +// ((void (*)(id, SEL, int32_t))(void *) objc_msgSend)(self, setter, (int32_t)str.intValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(uint32_t)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require uint32_t but string", self, keyPath); +// NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; +// [numberFormatter setNumberStyle:NSNumberFormatterNoStyle]; +// NSNumber *num = [numberFormatter numberFromString:str]; +// ((void (*)(id, SEL, uint32_t))(void *) objc_msgSend)(self, setter, (uint32_t)num.unsignedIntValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(int64_t)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require int64_t but string", self, keyPath); +// ((void (*)(id, SEL, int64_t))(void *) objc_msgSend)(self, setter, (int64_t)str.longLongValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(uint64_t)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require uint64_t but string", self, keyPath); +// NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; +// [numberFormatter setNumberStyle:NSNumberFormatterNoStyle]; +// NSNumber *num = [numberFormatter numberFromString:str]; +// ((void (*)(id, SEL, uint64_t))(void *) objc_msgSend)(self, setter, (uint64_t)num.unsignedLongLongValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(float)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require float but string", self, keyPath); +// float f = str.floatValue; +// if (isnan(f) == NO && isinf(f) == NO) { +// ((void (*)(id, SEL, float))(void *) objc_msgSend)(self, setter, f); +// return; +// } +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(double)]]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require double but string", self, keyPath); +// double d = str.doubleValue; +// if (isnan(d) == NO && isinf(d) == NO) { +// ((void (*)(id, SEL, double))(void *) objc_msgSend)(self, setter, d); +// return; +// } +// } +// } +// if ([value isKindOfClass:[NSNumber class]] == YES) { +// NSNumber *number = (NSNumber *)value; +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(bool)]]) { +// ((void (*)(id, SEL, bool))(void *) objc_msgSend)(self, setter, number.boolValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(BOOL)]]) { +// ((void (*)(id, SEL, BOOL))(void *) objc_msgSend)(self, setter, number.boolValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(int32_t)]]) { +// ((void (*)(id, SEL, int32_t))(void *) objc_msgSend)(self, setter, (int32_t)number.intValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(uint32_t)]]) { +// ((void (*)(id, SEL, uint32_t))(void *) objc_msgSend)(self, setter, (uint32_t)number.unsignedIntValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(int64_t)]]) { +// ((void (*)(id, SEL, int64_t))(void *) objc_msgSend)(self, setter, (int64_t)number.longLongValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(uint64_t)]]) { +// ((void (*)(id, SEL, uint64_t))(void *) objc_msgSend)(self, setter, (uint64_t)number.longLongValue); +// return; +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(float)]]) { +// float f = number.floatValue; +// if (isnan(f) == NO && isinf(f) == NO) { +// ((void (*)(id, SEL, float))(void *) objc_msgSend)(self, setter, f); +// return; +// } +// } +// if ([type isEqualToString:[NSString stringWithUTF8String:@encode(double)]]) { +// double d = number.doubleValue; +// if (isnan(d) == NO && isinf(d) == NO) { +// ((void (*)(id, SEL, double))(void *) objc_msgSend)(self, setter, d); +// return; +// } +// } +// if ([type isEqualToString:@"@\"NSString\""]) { +// NSAssert([value isKindOfClass:[NSString class]], @"%@: property (%@) type mismatch, require string but number", self, keyPath); +// ((void (*)(id, SEL, id))(void *) objc_msgSend)((id)self, setter, [number stringValue]); +// return; +// } +// } +// if (([type isEqualToString:@"@\"NSMutableArray\""] || [type isEqualToString:@"@\"NSArray\""]) && [value isKindOfClass:[NSArray class]] == YES) { +// NSMutableArray *array = [NSMutableArray array]; +// for (id arrayValue in value) { +// if ([arrayValue isKindOfClass:[NSNumber class]] == YES || [arrayValue isKindOfClass:[NSString class]] == YES) { +// [array addObject:arrayValue]; +// continue; +// } +// if ([arrayValue isKindOfClass:[NSDictionary class]] == YES) { +// NSString *arrayItemType = [[self containerType] _stringForKey:keyPath default:nil]; +// if (arrayItemType == nil) { +// [array addObject:arrayValue]; +// break; +// } +// Class itemClass = NSClassFromString(arrayItemType); +// if (!itemClass) { +// //SSPWarning(@"Can't find class of %@", arrayItemType); +// return; +// } +// Class parentClass = class_getSuperclass(itemClass); +// if ([parentClass isEqual:[GPBMessage class]] == NO) { +// //SSPWarning(@"%@ is not GPBMessage", arrayItemType); +// return; +// } +// [array addObject:[[itemClass alloc] initWithDictionary:arrayValue]]; +// } +// if ([arrayValue isKindOfClass:[NSArray class]] == YES) { +// //SSPError(@"Not support NSArray in NSArray"); +// return; +// } +// } +// ((void (*)(id, SEL, id))(void *) objc_msgSend)(self, setter, array); +// return; +// } +// if ([type hasPrefix:@"@\""] && [value isKindOfClass:[NSDictionary class]] == YES) { +// if ([type isEqualToString:@"@\"NSDictionary\""] || [type isEqualToString:@"@\"NSMutableDictionary\""]) { +// NSMutableDictionary *dictValue = [NSMutableDictionary dictionary]; +// NSArray *dictTypes = [[self containerType] _arrayForKey:keyPath default:nil]; +// if (dictTypes && [dictTypes count] == 2) { +// for (id dictKey in value) { +// Class itemClass = NSClassFromString(dictTypes[1]); +// if (!itemClass) { +// //SSPWarning(@"Can't find class of %@", dictTypes[1]); +// return; +// } +// if ([itemClass isEqual:[NSString class]]||[itemClass isEqual:[NSNumber class]]) { +// [dictValue setObject:value[dictKey] forKey:dictKey]; +// continue; +// } +// Class parentClass = class_getSuperclass(itemClass); +// if ([parentClass isEqual:[GPBMessage class]] == NO) { +// //SSPWarning(@"%@ is not GPBMessage", dictTypes[1]); +// return; +// } +// [dictValue setObject:[[itemClass alloc] initWithDictionary:value[dictKey]] forKey:dictKey]; +// } +// } else if (dictTypes && [dictTypes count] == 3){ +// for (id dictKey in value) { +// Class itemClass = NSClassFromString(dictTypes[1]); +// if (!itemClass || ![itemClass isEqual:[NSArray class]] || ![value[dictKey] isKindOfClass:[NSArray class]]) { +// //SSPWarning(@"Map parse error!"); +// return; +// } +// NSMutableArray *array = [NSMutableArray array]; +// for (id arrayValue in value[dictKey]) { +// if ([arrayValue isKindOfClass:[NSNumber class]] == YES || [arrayValue isKindOfClass:[NSString class]] == YES) { +// [array addObject:arrayValue]; +// continue; +// } +// if ([arrayValue isKindOfClass:[NSDictionary class]] == YES) { +// Class inItemClass = NSClassFromString(dictTypes[2]); +// if (!inItemClass) { +// //SSPWarning(@"Can't find class of %@", dictTypes[2]); +// return; +// } +// Class parentClass = class_getSuperclass(inItemClass); +// if ([parentClass isEqual:[GPBMessage class]] == NO) { +// //SSPWarning(@"%@ is not GPBMessage", dictTypes[2]); +// return; +// } +// [array addObject:[[inItemClass alloc] initWithDictionary:arrayValue]]; +// } +// if ([arrayValue isKindOfClass:[NSArray class]] == YES) { +// //SSPError(@"Not support NSArray in NSArray"); +// return; +// } +// } +// [dictValue setObject:array forKey:dictKey]; +// } +// } +// ((void (*)(id, SEL, id))(void *) objc_msgSend)(self, setter, dictValue); +// return; +// } +// +// NSString *itemType = [type substringWithRange:NSMakeRange(2, [type length]-3)]; +// Class itemClass = NSClassFromString(itemType); +// if (!itemClass) { +// //SSPWarning(@"Can't find class of %@", itemType); +// return; +// } +// Class parentClass = class_getSuperclass(itemClass); +// if ([parentClass isEqual:[GPBMessage class]] == NO) { +// //SSPWarning(@"%@ is not GPBMessage", itemType); +// return; +// } +// id item = [[itemClass alloc] initWithDictionary:value]; +// ((void (*)(id, SEL, id))(void *) objc_msgSend)(self, setter, item); +// return; +// } +//} +// +//@end diff --git a/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.h b/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.h new file mode 100644 index 0000000..8c4e80d --- /dev/null +++ b/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.h @@ -0,0 +1,84 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +/*************************************************/ + +@interface NSData (CocoaDebug) + ++ (NSData *_Nullable)dataWithInputStream:(NSInputStream *_Nullable)stream; + +@end + +/*************************************************/ + +@interface NSString (CocoaDebug) + +- (CGFloat)heightWithFont:(UIFont *_Nullable)font constraintToWidth:(CGFloat)width; + +@end + +/*************************************************/ + +@interface NSURLRequest (CocoaDebug) + +- (NSString *_Nullable)requestId; +- (void)setRequestId:(NSString *_Nullable)requestId; + +- (NSNumber*_Nullable)startTime; +- (void)setStartTime:(NSNumber*_Nullable)startTime; + +@end + +/*************************************************/ + +@interface UIColor (CocoaDebug) + ++ (UIColor *_Nullable)colorFromHexString:(NSString *_Nullable)hexString; + +@end + +/*************************************************/ + +@interface NSDictionary (CocoaDebug) + +- (NSString *_Nullable)_stringForKey:(id_Nullable)key; +- (NSArray *_Nullable)_arrayForKey:(id_Nullable)key; +- (NSDictionary *_Nullable)_dictionaryForKey:(id_Nullable)key; +- (NSInteger)_integerForKey:(id_Nullable)key; +- (int64_t)_int64ForKey:(id_Nullable)key; +- (int32_t)_int32ForKey:(id_Nullable)key; +- (float)_floatForKey:(id_Nullable)key; +- (double)_doubleForKey:(id_Nullable)key; +- (BOOL)_boolForKey:(id_Nullable)key; + +- (NSString *_Nullable)_stringForKey:(id_Nullable)key default:(NSString * _Nullable)defaultValue; +- (bool)_boolForKey:(id_Nullable)key default:(bool)defaultValue; +- (NSInteger)_integerForKey:(id_Nullable)key default:(NSInteger)defaultValue; +- (float)_floatForKey:(id_Nullable)key default:(float)defaultValue; +- (NSArray *_Nullable)_arrayForKey:(id_Nullable)key default:(NSArray * _Nullable)defaultValue; +- (NSDictionary *_Nullable)_dictionaryForKey:(id_Nullable)key default:(NSDictionary * _Nullable)defaultValue; + +@end + +/*************************************************/ + +@interface UIImage (CocoaDebug) + +//Obtain the GIF image object according to the data data of a GIF image ++ (UIImage *_Nullable)imageWithGIFData:(NSData *_Nullable)data; + +//Obtain the GIF image object according to the name of the local GIF image ++ (UIImage *_Nullable)imageWithGIFNamed:(NSString *_Nullable)name; + +//Obtain the GIF image object according to the URL of a GIF image ++ (void)imageWithGIFUrl:(NSString *_Nullable)url gifImageBlock:(void(^_Nullable)(UIImage *_Nullable gifImage))gifImageBlock; + +@end diff --git a/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.m b/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.m new file mode 100644 index 0000000..409cf2a --- /dev/null +++ b/Pods/CocoaDebug/Sources/Categories/NSObject+CocoaDebug.m @@ -0,0 +1,367 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "NSObject+CocoaDebug.h" +#import +#import + +/*************************************************/ + +@implementation NSData (CocoaDebug) + ++ (NSData *)dataWithInputStream:(NSInputStream *)stream +{ + NSMutableData * data = [NSMutableData data]; + [stream open]; + NSInteger result; + uint8_t buffer[1024]; // BUFFER_LEN can be any positive integer + + while((result = [stream read:buffer maxLength:1024]) != 0) { + if (result > 0) { + // buffer contains result bytes of data to be handled + [data appendBytes:buffer length:result]; + } else { + // The stream had an error. You can get an NSError object using [iStream streamError] + if (result < 0) { +// [NSException raise:@"STREAM_ERROR" format:@"%@", [stream streamError]]; + return nil;//liman + } + } + } + return data; +} + +@end + +/*************************************************/ + +@implementation NSString (CocoaDebug) + +- (CGFloat)heightWithFont:(UIFont *)font constraintToWidth:(CGFloat)width +{ + CGRect rect = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:font} context:nil]; + + return rect.size.height; +} + +@end + +/*************************************************/ + +@implementation NSURLRequest (CocoaDebug) + +- (NSString *)requestId { + return objc_getAssociatedObject(self, @"requestId"); +} + +- (void)setRequestId:(NSString *)requestId { + objc_setAssociatedObject(self, @"requestId", requestId, OBJC_ASSOCIATION_COPY_NONATOMIC); +} + +- (NSNumber*)startTime { + return objc_getAssociatedObject(self, @"startTime"); +} + +- (void)setStartTime:(NSNumber*)startTime { + objc_setAssociatedObject(self, @"startTime", startTime, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +@end + +/*************************************************/ + +@implementation UIColor (CocoaDebug) + ++ (UIColor *)colorFromHexString:(NSString *)hexString +{ + unsigned rgbValue = 0; + NSScanner *scanner = [NSScanner scannerWithString:hexString]; + [scanner setScanLocation:1]; + [scanner scanHexInt:&rgbValue]; + return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0]; +} + +@end + +/*************************************************/ + +@implementation NSDictionary (CocoaDebug) + +- (NSString *)_stringForKey:(id)key { + id obj = [self objectForKey:key]; + if (![obj isKindOfClass:[NSString class]]) { + return nil; + } + return obj; +} + +- (NSArray *)_arrayForKey:(id)key { + id obj = [self objectForKey:key]; + if (![obj isKindOfClass:[NSArray class]]) { + return nil; + } + return obj; +} + +- (NSDictionary *)_dictionaryForKey:(id)key { + id obj = [self objectForKey:key]; + if (![obj isKindOfClass:[NSDictionary class]]) { + return nil; + } + return obj; +} + +- (NSInteger)_integerForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) integerValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) integerValue]; + } + return 0; +} + +- (int64_t)_int64ForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) longLongValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) longLongValue]; + } + return 0; +} + +- (int32_t)_int32ForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) intValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) intValue]; + } + return 0; +} + +- (float)_floatForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) floatValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) floatValue]; + } + return 0; +} + +- (double)_doubleForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) doubleValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) doubleValue]; + } + return 0; +} + +- (BOOL)_boolForKey:(id)key { + id obj = [self objectForKey:key]; + if ([obj isKindOfClass:[NSNumber class]]) { + return [((NSNumber *)obj) boolValue]; + } + if ([obj isKindOfClass:[NSString class]]) { + return [((NSString *)obj) boolValue]; + } + return NO; +} + +- (NSString *)_stringForKey:(id)key default:(NSString * _Nullable)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSString class]]) { + return obj; + } + return defaultValue; +} + +- (bool)_boolForKey:(id)key default:(bool)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSNumber class]] || [obj isKindOfClass:[NSString class]]) { + return [obj boolValue]; + } + return defaultValue; +} + +- (NSInteger)_integerForKey:(id)key default:(NSInteger)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSNumber class]] || [obj isKindOfClass:[NSString class]]) { + return [obj integerValue]; + } + return defaultValue; +} + +- (float)_floatForKey:(id)key default:(float)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSNumber class]] || [obj isKindOfClass:[NSString class]]) { + return [obj floatValue]; + } + return defaultValue; +} + +- (NSArray *)_arrayForKey:(id)key default:(NSArray * _Nullable)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSArray class]]) { + return obj; + } + return defaultValue; +} + +- (NSDictionary *)_dictionaryForKey:(id)key default:(NSDictionary * _Nullable)defaultValue { + id obj = [self objectForKey:key]; + + if ([obj isKindOfClass:[NSDictionary class]]) { + return obj; + } + return defaultValue; +} + +@end + +/*************************************************/ + +@implementation UIImage (CocoaDebug) + +//Obtain the GIF image object according to the data data of a GIF image ++ (UIImage *_Nullable)imageWithGIFData:(NSData *_Nullable)data { + if (!data) return nil; + + CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL); + size_t count = CGImageSourceGetCount(source); + UIImage *animatedImage; + + if (count <= 1) { + animatedImage = [[UIImage alloc] initWithData:data]; + + } else { + + NSMutableArray *images = [NSMutableArray array]; + NSTimeInterval duration = 0.0f; + + for (size_t i = 0; i < count; i++) { + + CGImageRef image = CGImageSourceCreateImageAtIndex(source, i, NULL); + + NSTimeInterval frameDuration = [UIImage ssz_frameDurationAtIndex:i source:source]; + + duration += frameDuration; + + [images addObject:[UIImage imageWithCGImage:image scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]]; + + CFRelease(image); + } + + if (!duration) { + duration = (1.0f / 10.0f) * count; + } + + animatedImage = [UIImage animatedImageWithImages:images duration:duration]; + } + + CFRelease(source); + + return animatedImage; +} + +//Obtain the GIF image object according to the name of the local GIF image ++ (UIImage *_Nullable)imageWithGIFNamed:(NSString *_Nullable)name { + NSUInteger scale = (NSUInteger)[UIScreen mainScreen].scale; + return [self GIFName:name scale:scale]; +} + ++ (UIImage *)GIFName:(NSString *)name scale:(NSUInteger)scale { + NSString *imagePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@@%zdx", name, scale] ofType:@"gif"]; + + if (!imagePath) { + (scale + 1 > 3) ? (scale -= 1) : (scale += 1); + imagePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@@%zdx", name, scale] ofType:@"gif"]; + } + + if (imagePath) { + NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; + return [UIImage imageWithGIFData:imageData]; + + } else { + + imagePath = [[NSBundle mainBundle] pathForResource:name ofType:@"gif"]; + + if (imagePath) { + NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; + return [UIImage imageWithGIFData:imageData]; + + } else { + return [UIImage imageNamed:name]; + } + } +} + +//Obtain the GIF image object according to the URL of a GIF image ++ (void)imageWithGIFUrl:(NSString *_Nullable)url gifImageBlock:(void(^_Nullable)(UIImage *_Nullable gifImage))gifImageBlock { + NSURL *GIFUrl = [NSURL URLWithString:url]; + + if (!GIFUrl) return; + + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + NSData *CIFData = [NSData dataWithContentsOfURL:GIFUrl]; + + dispatch_async(dispatch_get_main_queue(), ^{ + gifImageBlock([UIImage imageWithGIFData:CIFData]); + }); + }); +} + + ++ (float)ssz_frameDurationAtIndex:(NSUInteger)index source:(CGImageSourceRef)source { + float frameDuration = 0.1f; + + CFDictionaryRef cfFrameProperties = CGImageSourceCopyPropertiesAtIndex(source, index, nil); + NSDictionary *frameProperties = (__bridge NSDictionary *)cfFrameProperties; + NSDictionary *gifProperties = frameProperties[(NSString *)kCGImagePropertyGIFDictionary]; + NSNumber *delayTimeUnclampedProp = gifProperties[(NSString *)kCGImagePropertyGIFUnclampedDelayTime]; + + if (delayTimeUnclampedProp) { + frameDuration = [delayTimeUnclampedProp floatValue]; + + } else { + NSNumber *delayTimeProp = gifProperties[(NSString *)kCGImagePropertyGIFDelayTime]; + + if (delayTimeProp) { + frameDuration = [delayTimeProp floatValue]; + } + } + + // Many annoying ads specify a 0 duration to make an image flash as quickly as possible. + // We follow Firefox's behavior and use a duration of 100 ms for any frames that specify + // a duration of <= 10 ms. See and + // for more information. + + if (frameDuration < 0.011f) { + frameDuration = 0.100f; + } + + CFRelease(cfFrameProperties); + + return frameDuration; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebug+Extensions.swift b/Pods/CocoaDebug/Sources/Core/CocoaDebug+Extensions.swift new file mode 100644 index 0000000..ec267ff --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebug+Extensions.swift @@ -0,0 +1,393 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation + +extension Dictionary { + ///JSON/Form format conversion + func dictionaryToFormString() -> String? { + var array = [String]() + + for (key, value) in self { + array.append(String(describing: key) + "=" + String(describing: value)) + } + if array.count > 0 { + return array.joined(separator: "&") + } + return nil + } +} + +extension String { + ///JSON/Form format conversion + func formStringToDictionary() -> [String: Any]? { + var dictionary = [String: Any]() + let array = self.components(separatedBy: "&") + + for str in array { + let arr = str.components(separatedBy: "=") + if arr.count == 2 { + dictionary.updateValue(arr[1], forKey: arr[0]) + } else { + return nil + } + } + if dictionary.count > 0 { + return dictionary + } + return nil + } +} + +//MARK: - ********************************************************************* + +extension Data { + func dataToDictionary() -> [String: Any]? { + do { + return try JSONSerialization.jsonObject(with: self, options: []) as? [String : Any] + } catch { + } + return nil + } +} + +extension Dictionary { + func dictionaryToData() -> Data? { + do { + return try JSONSerialization.data(withJSONObject: self, options: .prettyPrinted) + } catch { + } + return nil + } +} + +extension Data { + func dataToString() -> String? { + return String(bytes: self, encoding: .utf8) + } +} + +extension String { + func stringToData() -> Data? { + return self.data(using: .utf8) + } +} + +//MARK: - ********************************************************************* + +extension String { + func stringToDictionary() -> [String: Any]? { + return self.stringToData()?.dataToDictionary() + } +} + +extension Dictionary { + func dictionaryToString() -> String? { + return self.dictionaryToData()?.dataToString() + } +} + +extension String { + func jsonStringToPrettyJsonString() -> String? { + return self.stringToDictionary()?.dictionaryToString() + } +} + +extension String { + func isValidURL() -> Bool { + if let url = URL(string: self) { + return UIApplication.shared.canOpenURL(url) + } + return false + } +} + +extension String { + func isValidJsonString() -> Bool { + if let _ = self.stringToDictionary() { + return true + } + return false + } +} + +extension String { + func isValidFormString() -> Bool { + if let _ = self.formStringToDictionary() { + return true + } + return false + } +} + +extension String { + func jsonStringToFormString() -> String? { + return self.stringToDictionary()?.dictionaryToFormString() + } +} + +extension String { + func formStringToJsonString() -> String? { + return self.formStringToDictionary()?.dictionaryToString() + } +} + +extension String { + func formStringToData() -> Data? { + return self.formStringToDictionary()?.dictionaryToData() + } +} + +extension Data { + func formDataToDictionary() -> [String: Any]? { + return self.dataToString()?.formStringToDictionary() + } +} + +extension Data { + func dataToPrettyPrintString() -> String? { + //1.pretty json + if let str = self.dataToDictionary()?.dictionaryToString() { + return str + } else { + //2.protobuf + // if let message = try? GPBMessage.parse(from: self) { + // if message.serializedSize() > 0 { + // return message.description + // } else { + // //3.utf-8 string + // return String(data: self, encoding: .utf8) + // } + // } else { + //3.utf-8 string + return String(data: self, encoding: .utf8) + // } + } + } +} + +//MARK: - ********************************************************************* + +//https://gist.github.com/arshad/de147c42d7b3063ef7bc +///Color +extension String { + var hexColor: UIColor { + let hex = trimmingCharacters(in: CharacterSet.alphanumerics.inverted) + var int = UInt32() + Scanner(string: hex).scanHexInt32(&int) + var a, r, g, b: UInt32 + switch hex.count { + case 3: // RGB (12-bit) + (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17) + case 6: // RGB (24-bit) + (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF) + case 8: // ARGB (32-bit) + (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF) + default: + return .clear + } + return UIColor(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha: CGFloat(a) / 255) + } +} + +extension UIView { + func addCorner(roundingCorners: UIRectCorner, cornerSize: CGSize) { + let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: roundingCorners, cornerRadii: cornerSize) + let cornerLayer = CAShapeLayer() + cornerLayer.frame = bounds + cornerLayer.path = path.cgPath + self.layer.mask = cornerLayer + } +} + +//extension NSObject { +// func dispatch_main_async_safe(callback: @escaping ()->Void ) { +// if Thread.isMainThread { +// callback() +// } else { +// DispatchQueue.main.async( execute: { +// callback() +// }) +// } +// } +//} + +//https://stackoverflow.com/questions/26244293/scrolltorowatindexpath-with-uitableview-does-not-work +///tableView +extension UITableView { + func tableViewScrollToBottom(animated: Bool) { + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(1)) { + let numberOfSections = self.numberOfSections + let numberOfRows = self.numberOfRows(inSection: numberOfSections-1) + + if numberOfRows > 0 { + let indexPath = IndexPath(row: numberOfRows-1, section: (numberOfSections-1)) + self.scrollToRow(at: indexPath, at: .bottom, animated: animated) + } + } + } + + func tableViewScrollToIndex(index: Int, animated: Bool) { + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(1)) { + self.scrollToRow(at: IndexPath(row: index, section: 0), at: .middle, animated: animated) + } + } + + func tableViewScrollToHeader(animated: Bool) { + self.scrollRectToVisible(CGRect(x: 0, y: 0, width: 1, height: 1), animated: animated) + } + + func reloadData(completion: @escaping () -> ()) { + UIView.animate(withDuration: 0, animations: { self.reloadData()}) + {_ in completion() } + } +} + +///shake +extension UIWindow { + + private static var _cocoadebugShakeProperty = [String:Bool]() + + var cocoadebugShakeProperty:Bool { + get { + let tmpAddress = String(format: "%p", unsafeBitCast(self, to: Int.self)) + return UIWindow._cocoadebugShakeProperty[tmpAddress] ?? false + } + set(newValue) { + let tmpAddress = String(format: "%p", unsafeBitCast(self, to: Int.self)) + UIWindow._cocoadebugShakeProperty[tmpAddress] = newValue + } + } + + + open override var canBecomeFirstResponder: Bool { + return true + } + + open override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) { + super.motionBegan(motion, with: event) + + self.cocoadebugShakeProperty = true + + if CocoaDebugSettings.shared.responseShake == false {return} + if motion == .motionShake { + if CocoaDebugSettings.shared.visible == true { return } + CocoaDebugSettings.shared.showBubbleAndWindow = !CocoaDebugSettings.shared.showBubbleAndWindow + } + } + + open override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) { + super.motionEnded(motion, with: event) + + if self.cocoadebugShakeProperty == true { + self.cocoadebugShakeProperty = false + return + } + + if CocoaDebugSettings.shared.responseShake == false {return} + if motion == .motionShake { + if CocoaDebugSettings.shared.visible == true { return } + CocoaDebugSettings.shared.showBubbleAndWindow = !CocoaDebugSettings.shared.showBubbleAndWindow + } + } +} + + +///CocoaDebug +extension CocoaDebug { + + ///init + static func initializationMethod(serverURL: String? = nil, ignoredURLs: [String]? = nil, onlyURLs: [String]? = nil, ignoredPrefixLogs: [String]? = nil, onlyPrefixLogs: [String]? = nil, additionalViewController: UIViewController? = nil, emailToRecipients: [String]? = nil, emailCcRecipients: [String]? = nil, mainColor: String? = nil, protobufTransferMap: [String: [String]]? = nil) + { + if serverURL == nil { + CocoaDebugSettings.shared.serverURL = "" + } else { + CocoaDebugSettings.shared.serverURL = serverURL + } + + if ignoredURLs == nil { + CocoaDebugSettings.shared.ignoredURLs = [] + } else { + CocoaDebugSettings.shared.ignoredURLs = ignoredURLs + } + if onlyURLs == nil { + CocoaDebugSettings.shared.onlyURLs = [] + } else { + CocoaDebugSettings.shared.onlyURLs = onlyURLs + } + + if ignoredPrefixLogs == nil { + CocoaDebugSettings.shared.ignoredPrefixLogs = [] + } else { + CocoaDebugSettings.shared.ignoredPrefixLogs = ignoredPrefixLogs + } + if onlyPrefixLogs == nil { + CocoaDebugSettings.shared.onlyPrefixLogs = [] + } else { + CocoaDebugSettings.shared.onlyPrefixLogs = onlyPrefixLogs + } + + if CocoaDebugSettings.shared.firstIn == nil {//first launch + CocoaDebugSettings.shared.firstIn = "" + CocoaDebugSettings.shared.showBubbleAndWindow = true + } else {//not first launch + CocoaDebugSettings.shared.showBubbleAndWindow = CocoaDebugSettings.shared.showBubbleAndWindow + } + + CocoaDebugSettings.shared.visible = false + CocoaDebugSettings.shared.logSearchWordNormal = nil + CocoaDebugSettings.shared.logSearchWordRN = nil + CocoaDebugSettings.shared.logSearchWordWeb = nil + CocoaDebugSettings.shared.networkSearchWord = nil + CocoaDebugSettings.shared.protobufTransferMap = protobufTransferMap + CocoaDebugSettings.shared.additionalViewController = additionalViewController + + var _ = _OCLogStoreManager.shared() + CocoaDebugSettings.shared.responseShake = true + + //share via email + CocoaDebugSettings.shared.emailToRecipients = emailToRecipients + CocoaDebugSettings.shared.emailCcRecipients = emailCcRecipients + + //color + CocoaDebugSettings.shared.mainColor = mainColor ?? "#42d459" + + //slow animations + CocoaDebugSettings.shared.slowAnimations = false + + //log + let enableLogMonitoring = UserDefaults.standard.bool(forKey: "enableLogMonitoring_CocoaDebug") + if enableLogMonitoring == false { + _SwiftLogHelper.shared.enable = false +// _OCLogHelper.shared()?.enable = false + } else { + _SwiftLogHelper.shared.enable = true +// _OCLogHelper.shared()?.enable = true + } + + //network + let disableNetworkMonitoring = UserDefaults.standard.bool(forKey: "disableNetworkMonitoring_CocoaDebug") + if disableNetworkMonitoring == true { + _NetworkHelper.shared().disable() + } else { + _NetworkHelper.shared().enable() + } + } + + ///deinit + static func deinitializationMethod() { + WindowHelper.shared.disable() + _NetworkHelper.shared().disable() + _SwiftLogHelper.shared.enable = false +// _OCLogHelper.shared()?.enable = false + CrashLogger.shared.enable = false + CocoaDebugSettings.shared.responseShake = false + } +} + + diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebug.h b/Pods/CocoaDebug/Sources/Core/CocoaDebug.h new file mode 100644 index 0000000..b47007b --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebug.h @@ -0,0 +1,40 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "CocoaDebug.h" +#import "CocoaDebugTool.h" +#import "CocoaDebugDeviceInfo.h" +#import "NSObject+CocoaDebug.h" + +#import "_fishhook.h" +#import "_FileInfo.h" +#import "_Swizzling.h" +#import "_ObjcLog.h" +#import "_Sandboxer.h" +#import "_HttpModel.h" +#import "_OCLogModel.h" +#import "_OCLogHelper.h" +#import "_NetworkHelper.h" +#import "_HttpDatasource.h" +#import "_ImageResources.h" +#import "_OCLoggerFormat.h" +#import "_RunloopMonitor.h" +#import "_BacktraceLogger.h" +#import "_ImageController.h" +#import "_SandboxerHelper.h" +#import "_CanonicalRequest.h" +#import "_Sandboxer-Header.h" +#import "_FileTableViewCell.h" +#import "_OCLogStoreManager.h" +#import "_DebugConsoleLabel.h" +#import "_CustomHTTPProtocol.h" +#import "_CacheStoragePolicy.h" +#import "_QNSURLSessionDemux.h" +#import "GPBMessage+CocoaDebug.h" +#import "_FilePreviewController.h" +#import "_DirectoryContentsTableViewController.h" diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebug.swift b/Pods/CocoaDebug/Sources/Core/CocoaDebug.swift new file mode 100644 index 0000000..d66dbcf --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebug.swift @@ -0,0 +1,65 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit + +@objc public class CocoaDebug : NSObject { + + ///if the captured URLs contain server URL, CocoaDebug set server URL bold font to be marked. Not mark when this value is nil. Default value is `nil`. + @objc public static var serverURL: String? = nil + ///set the URLs which should not been captured, CocoaDebug capture all URLs when the value is nil. Default value is `nil`. + @objc public static var ignoredURLs: [String]? = nil + ///set the URLs which are only been captured, CocoaDebug capture all URLs when the value is nil. Default value is `nil`. + @objc public static var onlyURLs: [String]? = nil + ///set the prefix Logs which should not been captured, CocoaDebug capture all Logs when the value is nil. Default value is `nil`. + @objc public static var ignoredPrefixLogs: [String]? = nil + ///set the prefix Logs which are only been captured, CocoaDebug capture all Logs when the value is nil. Default value is `nil`. + @objc public static var onlyPrefixLogs: [String]? = nil + ///add an additional UIViewController as child controller of CocoaDebug's main UITabBarController. Default value is `nil`. + @objc public static var additionalViewController: UIViewController? = nil + ///set the initial recipients to include in the email’s “To” field when share via email. Default value is `nil`. + @objc public static var emailToRecipients: [String]? = nil + ///set the initial recipients to include in the email’s “Cc” field when share via email. Default value is `nil`. + @objc public static var emailCcRecipients: [String]? = nil + ///set CocoaDebug's main color with hexadecimal format. Default value is `#42d459`. + @objc public static var mainColor: String = "#42d459" + ///protobuf url and response class transfer map. Default value is `nil`. + @objc public static var protobufTransferMap: [String: [String]]? = nil + + //MARK: - CocoaDebug enable + @objc public static func enable() { + initializationMethod(serverURL: serverURL, ignoredURLs: ignoredURLs, onlyURLs: onlyURLs, ignoredPrefixLogs: ignoredPrefixLogs, onlyPrefixLogs: onlyPrefixLogs, additionalViewController: additionalViewController, emailToRecipients: emailToRecipients, emailCcRecipients: emailCcRecipients, mainColor: mainColor, protobufTransferMap: protobufTransferMap) + } + + //MARK: - CocoaDebug disable + @objc public static func disable() { + deinitializationMethod() + } + + //MARK: - hide Bubble + @objc public static func hideBubble() { + CocoaDebugSettings.shared.showBubbleAndWindow = false + } + + //MARK: - show Bubble + @objc public static func showBubble() { + CocoaDebugSettings.shared.showBubbleAndWindow = true + } +} + + + +//MARK: - override Swift `print` method +public func print(file: String = #file, function: String = #function, line: Int = #line, _ message: T, color: UIColor = .white) { + Swift.print(message) + _SwiftLogHelper.shared.handleLog(file: file, function: function, line: line, message: message, color: color) +} + + + diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.h b/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.h new file mode 100644 index 0000000..3f6e344 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.h @@ -0,0 +1,37 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// +// https://github.com/maybeliu/MBDeviceTool_OC + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface CocoaDebugDeviceInfo : NSObject + +@property (nonatomic, assign, readonly) CGSize resolution; + +@property (nonatomic, copy, readonly) NSString *systemType; +@property (nonatomic, copy, readonly) NSString *userName; +@property (nonatomic, copy, readonly) NSString *systemVersion; +@property (nonatomic, copy, readonly) NSString *deviceModel; +@property (nonatomic, copy, readonly) NSString *deviceUUID; +@property (nonatomic, copy, readonly) NSString *userPhoneName; +@property (nonatomic, copy, readonly) NSString *deviceName; +@property (nonatomic, copy, readonly) NSString *getPlatformString; +@property (nonatomic, copy, readonly) NSString *localizedModel; +@property (nonatomic, copy, readonly) NSString *appVersion; +@property (nonatomic, copy, readonly) NSString *appBuiltVersion; +@property (nonatomic, copy, readonly) NSString *appBundleID ; +@property (nonatomic, copy, readonly) NSString *appBundleName ; + ++ (instancetype)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.m b/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.m new file mode 100644 index 0000000..250a2ae --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.m @@ -0,0 +1,89 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +#import "CocoaDebugDeviceInfo.h" +#import "sys/utsname.h" +#import "_DeviceUtil.h" + +@implementation CocoaDebugDeviceInfo + ++ (instancetype)sharedInstance { + + static CocoaDebugDeviceInfo *sharedInstance; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[CocoaDebugDeviceInfo alloc] init]; + }); + return sharedInstance; +} + +- (NSString *)systemType { + + return [[UIDevice currentDevice] systemName]; +} + +- (NSString *)userName { + + return [[UIDevice currentDevice] name]; +} + +- (NSString *)systemVersion { + + return [[UIDevice currentDevice] systemVersion]; +} + +- (NSString *)deviceModel { + + return [[UIDevice currentDevice] model]; +} + +- (NSString *)deviceUUID { + + return [[[UIDevice currentDevice] identifierForVendor] UUIDString]; +} + +- (NSString *)deviceName { + struct utsname systemInfo; + uname(&systemInfo); + NSString *code = [NSString stringWithCString:systemInfo.machine + encoding:NSUTF8StringEncoding]; + return code; +} + + +- (NSString *)getPlatformString { + return [[_DeviceUtil new] hardwareSimpleDescription]; +} + +- (NSString *)localizedModel { + return [[UIDevice currentDevice] localizedModel]; +} + +- (NSString *)appVersion { + return [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"]; +} + +- (NSString *)appBuiltVersion { + return [[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"]; +} + +- (NSString *)appBundleID { + NSString *bundleID = [[NSBundle mainBundle] bundleIdentifier]; + return bundleID; +} + +- (NSString *)appBundleName { + NSString *bundleName = [[NSBundle mainBundle] objectForInfoDictionaryKey:(__bridge NSString *)kCFBundleNameKey]; + return bundleName; +} + +- (CGSize)resolution { + return CGSizeMake([UIScreen mainScreen].bounds.size.width * [[UIScreen mainScreen] scale], [UIScreen mainScreen].bounds.size.height * [[UIScreen mainScreen] scale]); +} + +@end diff --git a/Pods/CocoaDebug/Sources/Core/CocoaDebugSettings.swift b/Pods/CocoaDebug/Sources/Core/CocoaDebugSettings.swift new file mode 100644 index 0000000..787fc44 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/CocoaDebugSettings.swift @@ -0,0 +1,277 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation + +@objc public class CocoaDebugSettings: NSObject { + + @objc public static let shared = CocoaDebugSettings() + + @objc public var slowAnimations: Bool = false { + didSet { + if slowAnimations == false { + UIApplication.shared.windows.first?.layer.speed = 1; + } else { + UIApplication.shared.windows.first?.layer.speed = 0.1; + } + } + } + + @objc public var responseShake: Bool = false { + didSet { + UserDefaults.standard.set(responseShake, forKey: "responseShake_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + + @objc public var firstIn: String? = nil { + didSet { + UserDefaults.standard.set(firstIn, forKey: "firstIn_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableCrashRecording: Bool = false { + didSet { + UserDefaults.standard.set(enableCrashRecording, forKey: "enableCrashRecording_CocoaDebug") + UserDefaults.standard.synchronize() + + if enableCrashRecording == true { + CrashLogger.shared.enable = true + } else { + CrashLogger.shared.enable = false + CrashStoreManager.shared.resetCrashs() + } + } + } + @objc public var enableUIBlockingMonitoring: Bool = false { + didSet { + UserDefaults.standard.set(enableUIBlockingMonitoring, forKey: "enableUIBlockingMonitoring_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableWKWebViewMonitoring: Bool = false { + didSet { + UserDefaults.standard.set(enableWKWebViewMonitoring, forKey: "enableWKWebViewMonitoring_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableLogMonitoring: Bool = false { + didSet { + UserDefaults.standard.set(enableLogMonitoring, forKey: "enableLogMonitoring_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var disableNetworkMonitoring: Bool = false { + didSet { + UserDefaults.standard.set(disableNetworkMonitoring, forKey: "disableNetworkMonitoring_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableRNMonitoring: Bool = false { + didSet { + UserDefaults.standard.set(enableRNMonitoring, forKey: "enableRNMonitoring_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableMemoryLeaksMonitoring_ViewController: Bool = false { + didSet { + UserDefaults.standard.set(enableMemoryLeaksMonitoring_ViewController, forKey: "enableMemoryLeaksMonitoring_UIViewController_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableMemoryLeaksMonitoring_View: Bool = false { + didSet { + UserDefaults.standard.set(enableMemoryLeaksMonitoring_View, forKey: "enableMemoryLeaksMonitoring_UIView_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var enableMemoryLeaksMonitoring_MemberVariables: Bool = false { + didSet { + UserDefaults.standard.set(enableMemoryLeaksMonitoring_MemberVariables, forKey: "enableMemoryLeaksMonitoring_MemberVariables_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var visible: Bool = false { + didSet { + UserDefaults.standard.set(visible, forKey: "visible_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var showBubbleAndWindow: Bool = false { + didSet { + UserDefaults.standard.set(showBubbleAndWindow, forKey: "showBubbleAndWindow_CocoaDebug") + UserDefaults.standard.synchronize() + + let x = WindowHelper.shared.vc.bubble.frame.origin.x + let width = WindowHelper.shared.vc.bubble.frame.size.width + + if showBubbleAndWindow == true + { + if x > UIScreen.main.bounds.size.width/2 { + WindowHelper.shared.vc.bubble.frame.origin.x = UIScreen.main.bounds.size.width - width/8*8.25 + } else { + WindowHelper.shared.vc.bubble.frame.origin.x = -width + width/8*8.25 + } + WindowHelper.shared.enable() + } + else + { + if x > UIScreen.main.bounds.size.width/2 { + WindowHelper.shared.vc.bubble.frame.origin.x = UIScreen.main.bounds.size.width + } else { + WindowHelper.shared.vc.bubble.frame.origin.x = -width + } + WindowHelper.shared.disable() + } + } + } + @objc public var serverURL: String? = nil { + didSet { + UserDefaults.standard.set(serverURL, forKey: "serverURL_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var tabBarSelectItem: Int { + didSet { + UserDefaults.standard.set(tabBarSelectItem, forKey: "tabBarSelectItem_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var logSelectIndex: Int { + didSet { + UserDefaults.standard.set(logSelectIndex, forKey: "logSelectIndex_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var networkLastIndex: Int { + didSet { + UserDefaults.standard.set(networkLastIndex, forKey: "networkLastIndex_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var bubbleFrameX: Float { + didSet { + UserDefaults.standard.set(bubbleFrameX, forKey: "bubbleFrameX_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var bubbleFrameY: Float { + didSet { + UserDefaults.standard.set(bubbleFrameY, forKey: "bubbleFrameY_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var logSearchWordNormal: String? = nil { + didSet { + UserDefaults.standard.set(logSearchWordNormal, forKey: "logSearchWordNormal_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var logSearchWordRN: String? = nil { + didSet { + UserDefaults.standard.set(logSearchWordRN, forKey: "logSearchWordRN_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var logSearchWordWeb: String? = nil { + didSet { + UserDefaults.standard.set(logSearchWordWeb, forKey: "logSearchWordWeb_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var networkSearchWord: String? = nil { + didSet { + UserDefaults.standard.set(networkSearchWord, forKey: "networkSearchWord_CocoaDebug") + UserDefaults.standard.synchronize() + } + } + @objc public var mainColor: String { + didSet { + UserDefaults.standard.set(mainColor, forKey: "mainColor_CocoaDebug") + UserDefaults.standard.synchronize() + _NetworkHelper.shared().mainColor = mainColor.hexColor + } + } + @objc public var additionalViewController: UIViewController? = nil + + //share via email + @objc public var emailToRecipients: [String]? = nil + @objc public var emailCcRecipients: [String]? = nil + + //objc + + @objc public var ignoredURLs: [String]? = nil { + didSet { + _NetworkHelper.shared().ignoredURLs = ignoredURLs + } + } + @objc public var onlyURLs: [String]? = nil { + didSet { + _NetworkHelper.shared().onlyURLs = onlyURLs + } + } + + @objc public var ignoredPrefixLogs: [String]? = nil { + didSet { + _NetworkHelper.shared().ignoredPrefixLogs = ignoredPrefixLogs + } + } + @objc public var onlyPrefixLogs: [String]? = nil { + didSet { + _NetworkHelper.shared().onlyPrefixLogs = onlyPrefixLogs + } + } + + //protobuf + @objc public var protobufTransferMap: [String: [String]]? = nil { + didSet { + _NetworkHelper.shared().protobufTransferMap = protobufTransferMap + } + } + + private override init() { + responseShake = UserDefaults.standard.bool(forKey: "responseShake_CocoaDebug") + firstIn = UserDefaults.standard.string(forKey: "firstIn_CocoaDebug") + serverURL = UserDefaults.standard.string(forKey: "serverURL_CocoaDebug") + visible = UserDefaults.standard.bool(forKey: "visible_CocoaDebug") + showBubbleAndWindow = UserDefaults.standard.bool(forKey: "showBubbleAndWindow_CocoaDebug") + enableCrashRecording = UserDefaults.standard.bool(forKey: "enableCrashRecording_CocoaDebug") + enableUIBlockingMonitoring = UserDefaults.standard.bool(forKey: "enableUIBlockingMonitoring_CocoaDebug") + enableWKWebViewMonitoring = UserDefaults.standard.bool(forKey: "enableWKWebViewMonitoring_CocoaDebug") + enableLogMonitoring = UserDefaults.standard.bool(forKey: "enableLogMonitoring_CocoaDebug") + disableNetworkMonitoring = UserDefaults.standard.bool(forKey: "disableNetworkMonitoring_CocoaDebug") + enableRNMonitoring = UserDefaults.standard.bool(forKey: "enableRNMonitoring_CocoaDebug") + tabBarSelectItem = UserDefaults.standard.integer(forKey: "tabBarSelectItem_CocoaDebug") + logSelectIndex = UserDefaults.standard.integer(forKey: "logSelectIndex_CocoaDebug") + networkLastIndex = UserDefaults.standard.integer(forKey: "networkLastIndex_CocoaDebug") + bubbleFrameX = UserDefaults.standard.float(forKey: "bubbleFrameX_CocoaDebug") + bubbleFrameY = UserDefaults.standard.float(forKey: "bubbleFrameY_CocoaDebug") + logSearchWordNormal = UserDefaults.standard.string(forKey: "logSearchWordNormal_CocoaDebug") + logSearchWordRN = UserDefaults.standard.string(forKey: "logSearchWordRN_CocoaDebug") + logSearchWordWeb = UserDefaults.standard.string(forKey: "logSearchWordWeb_CocoaDebug") + networkSearchWord = UserDefaults.standard.string(forKey: "networkSearchWord_CocoaDebug") + mainColor = UserDefaults.standard.string(forKey: "mainColor_CocoaDebug") ?? "#42d459" + + + //objc + + ignoredURLs = _NetworkHelper.shared().ignoredURLs + onlyURLs = _NetworkHelper.shared().onlyURLs + + ignoredPrefixLogs = _NetworkHelper.shared().ignoredPrefixLogs + onlyPrefixLogs = _NetworkHelper.shared().onlyPrefixLogs + + //protobuf + protobufTransferMap = _NetworkHelper.shared().protobufTransferMap + + //Memory + enableMemoryLeaksMonitoring_ViewController = UserDefaults.standard.bool(forKey: "enableMemoryLeaksMonitoring_UIViewController_CocoaDebug") + enableMemoryLeaksMonitoring_View = UserDefaults.standard.bool(forKey: "enableMemoryLeaksMonitoring_UIView_CocoaDebug") + enableMemoryLeaksMonitoring_MemberVariables = UserDefaults.standard.bool(forKey: "enableMemoryLeaksMonitoring_MemberVariables_CocoaDebug") + } +} diff --git a/Pods/CocoaDebug/Sources/Core/_AutoLaunch.m b/Pods/CocoaDebug/Sources/Core/_AutoLaunch.m new file mode 100644 index 0000000..5500795 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/_AutoLaunch.m @@ -0,0 +1,51 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +static const char *kPropertyKey = "kApplicationDidFinishLaunching_CocoaDebug_Key"; + +#import +#import +#import +#import "_NetworkHelper.h" + +@interface NSObject (CocoaDebugAutoLaunch) + +@property (nonatomic, assign) BOOL cocoadebug_applicationDidFinishLaunching; + +@end + +@implementation NSObject (CocoaDebugAutoLaunch) + +#pragma mark - load ++ (void)load { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cocoadebug_applicationDidFinishLaunchingNotification:) name:UIApplicationDidFinishLaunchingNotification object:nil]; +} + +#pragma mark - notification +- (void)cocoadebug_applicationDidFinishLaunchingNotification:(NSNotification *)notification { + if (self.cocoadebug_applicationDidFinishLaunching) {return;} + self.cocoadebug_applicationDidFinishLaunching = YES; + + Class CocoaDebug = NSClassFromString(@"_TtC10CocoaDebug10CocoaDebug"); + if (CocoaDebug) { + [[CocoaDebug class] performSelector:@selector(enable)]; + } +} + +#pragma mark - getter setter +- (BOOL)cocoadebug_applicationDidFinishLaunching { + NSNumber *number = objc_getAssociatedObject(self, kPropertyKey); + return [number boolValue]; +} + +- (void)setCocoadebug_applicationDidFinishLaunching:(BOOL)applicationDidFinishLaunching { + NSNumber *number = [NSNumber numberWithBool:applicationDidFinishLaunching]; + objc_setAssociatedObject(self, kPropertyKey, number, OBJC_ASSOCIATION_RETAIN); +} + +@end diff --git a/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.h b/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.h new file mode 100644 index 0000000..3ab9c6e --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.h @@ -0,0 +1,325 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +typedef NS_ENUM(NSUInteger, Hardware) { + + + IPHONE_2G, + IPHONE_3G, + IPHONE_3GS, + IPHONE_4, + IPHONE_4_CDMA, + IPHONE_4S, + IPHONE_5, + IPHONE_5_CDMA_GSM, + IPHONE_5C, + IPHONE_5C_CDMA_GSM, + IPHONE_5S, + IPHONE_5S_CDMA_GSM, + IPHONE_6_PLUS, + IPHONE_6, + IPHONE_6S, + IPHONE_6S_PLUS, + IPHONE_SE, + IPHONE_7, + IPHONE_7_PLUS, + IPHONE_7_GSM, + IPHONE_7_PLUS_GSM, + IPHONE_8_CN, + IPHONE_8_PLUS_CN, + IPHONE_X_CN, + IPHONE_8, + IPHONE_8_PLUS, + IPHONE_X, + IPHONE_XS, + IPHONE_XS_MAX, + IPHONE_XS_MAX_CN, + IPHONE_XR, + IPHONE_11, + IPHONE_11_PRO, + IPHONE_11_PRO_MAX, + IPHONE_SE_2G, + IPHONE_12_MINI, + IPHONE_12, + IPHONE_12_PRO, + IPHONE_12_PRO_MAX, + IPHONE_13_PRO, + IPHONE_13_PRO_MAX, + IPHONE_13_MINI, + IPHONE_13, + IPHONE_SE_3G, + IPHONE_14, + IPHONE_14_PLUS, + IPHONE_14_PRO, + IPHONE_14_PRO_MAX, + + IPOD_TOUCH_1G, + IPOD_TOUCH_2G, + IPOD_TOUCH_3G, + IPOD_TOUCH_4G, + IPOD_TOUCH_5G, + IPOD_TOUCH_6G, + IPOD_TOUCH_7G, + + IPAD, + IPAD_3G, + IPAD_2_WIFI, + IPAD_2, + IPAD_2_CDMA, + IPAD_MINI_WIFI, + IPAD_MINI, + IPAD_MINI_WIFI_CDMA, + IPAD_3_WIFI, + IPAD_3_WIFI_CDMA, + IPAD_3, + IPAD_4_WIFI, + IPAD_4, + IPAD_4_GSM_CDMA, + IPAD_AIR_WIFI, + IPAD_AIR_WIFI_GSM, + IPAD_AIR_WIFI_CDMA, + IPAD_MINI_RETINA_WIFI, + IPAD_MINI_RETINA_WIFI_CDMA, + IPAD_MINI_RETINA_WIFI_CELLULAR_CN, + IPAD_MINI_3_WIFI, + IPAD_MINI_3_WIFI_CELLULAR, + IPAD_MINI_3_WIFI_CELLULAR_CN, + IPAD_MINI_4_WIFI, + IPAD_MINI_4_WIFI_CELLULAR, + IPAD_AIR_2_WIFI, + IPAD_AIR_2_WIFI_CELLULAR, + IPAD_5_WIFI, + IPAD_5_WIFI_CELLULAR, + IPAD_PRO_97_WIFI, + IPAD_PRO_97_WIFI_CELLULAR, + IPAD_PRO_WIFI, + IPAD_PRO_WIFI_CELLULAR, + IPAD_PRO_2G_WIFI, + IPAD_7_WIFI, + IPAD_7_WIFI_CELLULAR, + IPAD_PRO_2G_WIFI_CELLULAR, + IPAD_PRO_105_WIFI, + IPAD_PRO_105_WIFI_CELLULAR, + IPAD_6_WIFI, + IPAD_6_WIFI_CELLULAR, + IPAD_PRO_11_2G_WIFI_CELLULAR, + IPAD_PRO_11_WIFI, + IPAD_PRO_4G_WIFI, + IPAD_PRO_11_1TB_WIFI, + IPAD_PRO_11_WIFI_CELLULAR, + IPAD_PRO_11_1TB_WIFI_CELLULAR, + IPAD_PRO_3G_WIFI, + IPAD_PRO_3G_1TB_WIFI, + IPAD_PRO_3G_WIFI_CELLULAR, + IPAD_PRO_4G_WIFI_CELLULAR, + IPAD_PRO_3G_1TB_WIFI_CELLULAR, + IPAD_PRO_11_2G_WIFI, + IPAD_MINI_5_WIFI, + IPAD_MINI_5_WIFI_CELLULAR, + IPAD_AIR_3_WIFI, + IPAD_AIR_3_WIFI_CELLULAR, + IPAD_9_WIFI, + IPAD_9_WIFI_CELLULAR, + IPAD_PRO_5_WIFI_CELLULAR, + IPAD_AIR_4_WIFI, + IPAD_AIR_5_WIFI, + IPAD_AIR_5_WIFI_CELLULAR, + IPAD_AIR_4_WIFI_CELLULAR, + IPAD_PRO_11_3_WIFI, + IPAD_PRO_11_3_WIFI_CELLULAR, + IPAD_PRO_5_WIFI, + IPAD_MINI_6_WIFI, + IPAD_MINI_6_WIFI_CELLULAR, + + APPLE_WATCH_38, + APPLE_WATCH_42, + APPLE_WATCH_SERIES_2_38, + APPLE_WATCH_SERIES_2_42, + APPLE_WATCH_SERIES_1_38, + APPLE_WATCH_SERIES_1_42, + APPLE_WATCH_SERIES_3_38_CELLULAR, + APPLE_WATCH_SERIES_3_42_CELLULAR, + APPLE_WATCH_SERIES_3_38, + APPLE_WATCH_SERIES_3_42, + APPLE_WATCH_SERIES_4_40, + APPLE_WATCH_SERIES_4_44, + APPLE_WATCH_SERIES_4_40_CELLULAR, + APPLE_WATCH_SERIES_4_44_CELLULAR, + APPLE_WATCH_SERIES_5_40, + APPLE_WATCH_SERIES_5_44, + APPLE_WATCH_SERIES_5_40_CELLULAR, + APPLE_WATCH_SERIES_5_44_CELLULAR, + + APPLE_TV_1G, + APPLE_TV_2G, + APPLE_TV_3G, + APPLE_TV_3_2G, + APPLE_TV_4G, + APPLE_TV_4K, + + SIMULATOR, + UNKNOWN +}; + +extern NSString* const AppleTV1_1; +extern NSString* const AppleTV2_1; +extern NSString* const AppleTV3_1; +extern NSString* const AppleTV3_2; +extern NSString* const AppleTV5_3; +extern NSString* const AppleTV6_2; +extern NSString* const Watch1_1; +extern NSString* const Watch1_2; +extern NSString* const Watch2_3; +extern NSString* const Watch2_4; +extern NSString* const Watch2_6; +extern NSString* const Watch2_7; +extern NSString* const Watch3_1; +extern NSString* const Watch3_2; +extern NSString* const Watch3_3; +extern NSString* const Watch3_4; +extern NSString* const Watch4_1; +extern NSString* const Watch4_2; +extern NSString* const Watch4_3; +extern NSString* const Watch4_4; +extern NSString* const Watch5_1; +extern NSString* const Watch5_2; +extern NSString* const Watch5_3; +extern NSString* const Watch5_4; +extern NSString* const i386_Simulator; +extern NSString* const iPad1_1; +extern NSString* const iPad1_2; +extern NSString* const iPad11_1; +extern NSString* const iPad11_2; +extern NSString* const iPad11_3; +extern NSString* const iPad11_4; +extern NSString* const iPad12_1; +extern NSString* const iPad12_2; +extern NSString* const iPad13_1; +extern NSString* const iPad13_10; +extern NSString* const iPad13_11; +extern NSString* const iPad13_16; +extern NSString* const iPad13_17; +extern NSString* const iPad13_2; +extern NSString* const iPad13_4; +extern NSString* const iPad13_5; +extern NSString* const iPad13_6; +extern NSString* const iPad13_7; +extern NSString* const iPad13_8; +extern NSString* const iPad13_9; +extern NSString* const iPad14_1; +extern NSString* const iPad14_2; +extern NSString* const iPad2_1; +extern NSString* const iPad2_2; +extern NSString* const iPad2_3; +extern NSString* const iPad2_4; +extern NSString* const iPad2_5; +extern NSString* const iPad2_6; +extern NSString* const iPad2_7; +extern NSString* const iPad3_1; +extern NSString* const iPad3_2; +extern NSString* const iPad3_3; +extern NSString* const iPad3_4; +extern NSString* const iPad3_5; +extern NSString* const iPad3_6; +extern NSString* const iPad4_1; +extern NSString* const iPad4_2; +extern NSString* const iPad4_3; +extern NSString* const iPad4_4; +extern NSString* const iPad4_5; +extern NSString* const iPad4_6; +extern NSString* const iPad4_7; +extern NSString* const iPad4_8; +extern NSString* const iPad4_9; +extern NSString* const iPad5_1; +extern NSString* const iPad5_2; +extern NSString* const iPad5_3; +extern NSString* const iPad5_4; +extern NSString* const iPad6_11; +extern NSString* const iPad6_12; +extern NSString* const iPad6_3; +extern NSString* const iPad6_4; +extern NSString* const iPad6_7; +extern NSString* const iPad6_8; +extern NSString* const iPad7_1; +extern NSString* const iPad7_11; +extern NSString* const iPad7_12; +extern NSString* const iPad7_2; +extern NSString* const iPad7_3; +extern NSString* const iPad7_4; +extern NSString* const iPad7_5; +extern NSString* const iPad7_6; +extern NSString* const iPad8_1; +extern NSString* const iPad8_10; +extern NSString* const iPad8_11; +extern NSString* const iPad8_12; +extern NSString* const iPad8_2; +extern NSString* const iPad8_3; +extern NSString* const iPad8_4; +extern NSString* const iPad8_5; +extern NSString* const iPad8_6; +extern NSString* const iPad8_7; +extern NSString* const iPad8_8; +extern NSString* const iPad8_9; +extern NSString* const iPhone1_1; +extern NSString* const iPhone1_2; +extern NSString* const iPhone10_1; +extern NSString* const iPhone10_2; +extern NSString* const iPhone10_3; +extern NSString* const iPhone10_4; +extern NSString* const iPhone10_5; +extern NSString* const iPhone10_6; +extern NSString* const iPhone11_2; +extern NSString* const iPhone11_4; +extern NSString* const iPhone11_6; +extern NSString* const iPhone11_8; +extern NSString* const iPhone12_1; +extern NSString* const iPhone12_3; +extern NSString* const iPhone12_5; +extern NSString* const iPhone12_8; +extern NSString* const iPhone13_1; +extern NSString* const iPhone13_2; +extern NSString* const iPhone13_3; +extern NSString* const iPhone13_4; +extern NSString* const iPhone14_2; +extern NSString* const iPhone14_3; +extern NSString* const iPhone14_4; +extern NSString* const iPhone14_5; +extern NSString* const iPhone14_6; +extern NSString* const iPhone14_7; +extern NSString* const iPhone14_8; +extern NSString* const iPhone15_2; +extern NSString* const iPhone15_3; +extern NSString* const iPhone2_1; +extern NSString* const iPhone3_1; +extern NSString* const iPhone3_2; +extern NSString* const iPhone3_3; +extern NSString* const iPhone4_1; +extern NSString* const iPhone5_1; +extern NSString* const iPhone5_2; +extern NSString* const iPhone5_3; +extern NSString* const iPhone5_4; +extern NSString* const iPhone6_1; +extern NSString* const iPhone6_2; +extern NSString* const iPhone7_1; +extern NSString* const iPhone7_2; +extern NSString* const iPhone8_1; +extern NSString* const iPhone8_2; +extern NSString* const iPhone8_4; +extern NSString* const iPhone9_1; +extern NSString* const iPhone9_2; +extern NSString* const iPhone9_3; +extern NSString* const iPhone9_4; +extern NSString* const iPod1_1; +extern NSString* const iPod2_1; +extern NSString* const iPod3_1; +extern NSString* const iPod4_1; +extern NSString* const iPod5_1; +extern NSString* const iPod7_1; +extern NSString* const iPod9_1; +extern NSString* const x86_64_Simulator; + diff --git a/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.m b/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.m new file mode 100644 index 0000000..84ed379 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/_DeviceUtil+Constant.m @@ -0,0 +1,334 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +#import "_DeviceUtil.h" + +NSString* const AppleTV1_1 = @"AppleTV1,1"; +NSString* const AppleTV2_1 = @"AppleTV2,1"; +NSString* const AppleTV3_1 = @"AppleTV3,1"; +NSString* const AppleTV3_2 = @"AppleTV3,2"; +NSString* const AppleTV5_3 = @"AppleTV5,3"; +NSString* const AppleTV6_2 = @"AppleTV6,2"; +NSString* const Watch1_1 = @"Watch1,1"; +NSString* const Watch1_2 = @"Watch1,2"; +NSString* const Watch2_3 = @"Watch2,3"; +NSString* const Watch2_4 = @"Watch2,4"; +NSString* const Watch2_6 = @"Watch2,6"; +NSString* const Watch2_7 = @"Watch2,7"; +NSString* const Watch3_1 = @"Watch3,1"; +NSString* const Watch3_2 = @"Watch3,2"; +NSString* const Watch3_3 = @"Watch3,3"; +NSString* const Watch3_4 = @"Watch3,4"; +NSString* const Watch4_1 = @"Watch4,1"; +NSString* const Watch4_2 = @"Watch4,2"; +NSString* const Watch4_3 = @"Watch4,3"; +NSString* const Watch4_4 = @"Watch4,4"; +NSString* const Watch5_1 = @"Watch5,1"; +NSString* const Watch5_2 = @"Watch5,2"; +NSString* const Watch5_3 = @"Watch5,3"; +NSString* const Watch5_4 = @"Watch5,4"; +NSString* const i386_Simulator = @"i386"; +NSString* const iPad1_1 = @"iPad1,1"; +NSString* const iPad1_2 = @"iPad1,2"; +NSString* const iPad11_1 = @"iPad11,1"; +NSString* const iPad11_2 = @"iPad11,2"; +NSString* const iPad11_3 = @"iPad11,3"; +NSString* const iPad11_4 = @"iPad11,4"; +NSString* const iPad12_1 = @"iPad12,1"; +NSString* const iPad12_2 = @"iPad12,2"; +NSString* const iPad13_1 = @"iPad13,1"; +NSString* const iPad13_10 = @"iPad13,10"; +NSString* const iPad13_11 = @"iPad13,11"; +NSString* const iPad13_16 = @"iPad13,16"; +NSString* const iPad13_17 = @"iPad13,17"; +NSString* const iPad13_2 = @"iPad13,2"; +NSString* const iPad13_4 = @"iPad13,4"; +NSString* const iPad13_5 = @"iPad13,5"; +NSString* const iPad13_6 = @"iPad13,6"; +NSString* const iPad13_7 = @"iPad13,7"; +NSString* const iPad13_8 = @"iPad13,8"; +NSString* const iPad13_9 = @"iPad13,9"; +NSString* const iPad14_1 = @"iPad14,1"; +NSString* const iPad14_2 = @"iPad14,2"; +NSString* const iPad2_1 = @"iPad2,1"; +NSString* const iPad2_2 = @"iPad2,2"; +NSString* const iPad2_3 = @"iPad2,3"; +NSString* const iPad2_4 = @"iPad2,4"; +NSString* const iPad2_5 = @"iPad2,5"; +NSString* const iPad2_6 = @"iPad2,6"; +NSString* const iPad2_7 = @"iPad2,7"; +NSString* const iPad3_1 = @"iPad3,1"; +NSString* const iPad3_2 = @"iPad3,2"; +NSString* const iPad3_3 = @"iPad3,3"; +NSString* const iPad3_4 = @"iPad3,4"; +NSString* const iPad3_5 = @"iPad3,5"; +NSString* const iPad3_6 = @"iPad3,6"; +NSString* const iPad4_1 = @"iPad4,1"; +NSString* const iPad4_2 = @"iPad4,2"; +NSString* const iPad4_3 = @"iPad4,3"; +NSString* const iPad4_4 = @"iPad4,4"; +NSString* const iPad4_5 = @"iPad4,5"; +NSString* const iPad4_6 = @"iPad4,6"; +NSString* const iPad4_7 = @"iPad4,7"; +NSString* const iPad4_8 = @"iPad4,8"; +NSString* const iPad4_9 = @"iPad4,9"; +NSString* const iPad5_1 = @"iPad5,1"; +NSString* const iPad5_2 = @"iPad5,2"; +NSString* const iPad5_3 = @"iPad5,3"; +NSString* const iPad5_4 = @"iPad5,4"; +NSString* const iPad6_11 = @"iPad6,11"; +NSString* const iPad6_12 = @"iPad6,12"; +NSString* const iPad6_3 = @"iPad6,3"; +NSString* const iPad6_4 = @"iPad6,4"; +NSString* const iPad6_7 = @"iPad6,7"; +NSString* const iPad6_8 = @"iPad6,8"; +NSString* const iPad7_1 = @"iPad7,1"; +NSString* const iPad7_11 = @"iPad7,11"; +NSString* const iPad7_12 = @"iPad7,12"; +NSString* const iPad7_2 = @"iPad7,2"; +NSString* const iPad7_3 = @"iPad7,3"; +NSString* const iPad7_4 = @"iPad7,4"; +NSString* const iPad7_5 = @"iPad7,5"; +NSString* const iPad7_6 = @"iPad7,6"; +NSString* const iPad8_1 = @"iPad8,1"; +NSString* const iPad8_10 = @"iPad8,10"; +NSString* const iPad8_11 = @"iPad8,11"; +NSString* const iPad8_12 = @"iPad8,12"; +NSString* const iPad8_2 = @"iPad8,2"; +NSString* const iPad8_3 = @"iPad8,3"; +NSString* const iPad8_4 = @"iPad8,4"; +NSString* const iPad8_5 = @"iPad8,5"; +NSString* const iPad8_6 = @"iPad8,6"; +NSString* const iPad8_7 = @"iPad8,7"; +NSString* const iPad8_8 = @"iPad8,8"; +NSString* const iPad8_9 = @"iPad8,9"; +NSString* const iPhone1_1 = @"iPhone1,1"; +NSString* const iPhone1_2 = @"iPhone1,2"; +NSString* const iPhone10_1 = @"iPhone10,1"; +NSString* const iPhone10_2 = @"iPhone10,2"; +NSString* const iPhone10_3 = @"iPhone10,3"; +NSString* const iPhone10_4 = @"iPhone10,4"; +NSString* const iPhone10_5 = @"iPhone10,5"; +NSString* const iPhone10_6 = @"iPhone10,6"; +NSString* const iPhone11_2 = @"iPhone11,2"; +NSString* const iPhone11_4 = @"iPhone11,4"; +NSString* const iPhone11_6 = @"iPhone11,6"; +NSString* const iPhone11_8 = @"iPhone11,8"; +NSString* const iPhone12_1 = @"iPhone12,1"; +NSString* const iPhone12_3 = @"iPhone12,3"; +NSString* const iPhone12_5 = @"iPhone12,5"; +NSString* const iPhone12_8 = @"iPhone12,8"; +NSString* const iPhone13_1 = @"iPhone13,1"; +NSString* const iPhone13_2 = @"iPhone13,2"; +NSString* const iPhone13_3 = @"iPhone13,3"; +NSString* const iPhone13_4 = @"iPhone13,4"; +NSString* const iPhone14_2 = @"iPhone14,2"; +NSString* const iPhone14_3 = @"iPhone14,3"; +NSString* const iPhone14_4 = @"iPhone14,4"; +NSString* const iPhone14_5 = @"iPhone14,5"; +NSString* const iPhone14_6 = @"iPhone14,6"; +NSString* const iPhone14_7 = @"iPhone14,7"; +NSString* const iPhone14_8 = @"iPhone14,8"; +NSString* const iPhone15_2 = @"iPhone15,2"; +NSString* const iPhone15_3 = @"iPhone15,3"; +NSString* const iPhone2_1 = @"iPhone2,1"; +NSString* const iPhone3_1 = @"iPhone3,1"; +NSString* const iPhone3_2 = @"iPhone3,2"; +NSString* const iPhone3_3 = @"iPhone3,3"; +NSString* const iPhone4_1 = @"iPhone4,1"; +NSString* const iPhone5_1 = @"iPhone5,1"; +NSString* const iPhone5_2 = @"iPhone5,2"; +NSString* const iPhone5_3 = @"iPhone5,3"; +NSString* const iPhone5_4 = @"iPhone5,4"; +NSString* const iPhone6_1 = @"iPhone6,1"; +NSString* const iPhone6_2 = @"iPhone6,2"; +NSString* const iPhone7_1 = @"iPhone7,1"; +NSString* const iPhone7_2 = @"iPhone7,2"; +NSString* const iPhone8_1 = @"iPhone8,1"; +NSString* const iPhone8_2 = @"iPhone8,2"; +NSString* const iPhone8_4 = @"iPhone8,4"; +NSString* const iPhone9_1 = @"iPhone9,1"; +NSString* const iPhone9_2 = @"iPhone9,2"; +NSString* const iPhone9_3 = @"iPhone9,3"; +NSString* const iPhone9_4 = @"iPhone9,4"; +NSString* const iPod1_1 = @"iPod1,1"; +NSString* const iPod2_1 = @"iPod2,1"; +NSString* const iPod3_1 = @"iPod3,1"; +NSString* const iPod4_1 = @"iPod4,1"; +NSString* const iPod5_1 = @"iPod5,1"; +NSString* const iPod7_1 = @"iPod7,1"; +NSString* const iPod9_1 = @"iPod9,1"; +NSString* const x86_64_Simulator = @"x86_64"; + + + @implementation _DeviceUtil (Constant) + +- (Hardware)hardware { + NSString *hardware = [self hardwareString]; + if ([hardware isEqualToString:AppleTV1_1]) return APPLE_TV_1G; + if ([hardware isEqualToString:AppleTV2_1]) return APPLE_TV_2G; + if ([hardware isEqualToString:AppleTV3_1]) return APPLE_TV_3G; + if ([hardware isEqualToString:AppleTV3_2]) return APPLE_TV_3_2G; + if ([hardware isEqualToString:AppleTV5_3]) return APPLE_TV_4G; + if ([hardware isEqualToString:AppleTV6_2]) return APPLE_TV_4K; + if ([hardware isEqualToString:Watch1_1]) return APPLE_WATCH_38; + if ([hardware isEqualToString:Watch1_2]) return APPLE_WATCH_42; + if ([hardware isEqualToString:Watch2_3]) return APPLE_WATCH_SERIES_2_38; + if ([hardware isEqualToString:Watch2_4]) return APPLE_WATCH_SERIES_2_42; + if ([hardware isEqualToString:Watch2_6]) return APPLE_WATCH_SERIES_1_38; + if ([hardware isEqualToString:Watch2_7]) return APPLE_WATCH_SERIES_1_42; + if ([hardware isEqualToString:Watch3_1]) return APPLE_WATCH_SERIES_3_38_CELLULAR; + if ([hardware isEqualToString:Watch3_2]) return APPLE_WATCH_SERIES_3_42_CELLULAR; + if ([hardware isEqualToString:Watch3_3]) return APPLE_WATCH_SERIES_3_38; + if ([hardware isEqualToString:Watch3_4]) return APPLE_WATCH_SERIES_3_42; + if ([hardware isEqualToString:Watch4_1]) return APPLE_WATCH_SERIES_4_40; + if ([hardware isEqualToString:Watch4_2]) return APPLE_WATCH_SERIES_4_44; + if ([hardware isEqualToString:Watch4_3]) return APPLE_WATCH_SERIES_4_40_CELLULAR; + if ([hardware isEqualToString:Watch4_4]) return APPLE_WATCH_SERIES_4_44_CELLULAR; + if ([hardware isEqualToString:Watch5_1]) return APPLE_WATCH_SERIES_5_40; + if ([hardware isEqualToString:Watch5_2]) return APPLE_WATCH_SERIES_5_44; + if ([hardware isEqualToString:Watch5_3]) return APPLE_WATCH_SERIES_5_40_CELLULAR; + if ([hardware isEqualToString:Watch5_4]) return APPLE_WATCH_SERIES_5_44_CELLULAR; + if ([hardware isEqualToString:i386_Simulator]) return SIMULATOR; + if ([hardware isEqualToString:iPad1_1]) return IPAD; + if ([hardware isEqualToString:iPad1_2]) return IPAD_3G; + if ([hardware isEqualToString:iPad11_1]) return IPAD_MINI_5_WIFI; + if ([hardware isEqualToString:iPad11_2]) return IPAD_MINI_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad11_3]) return IPAD_AIR_3_WIFI; + if ([hardware isEqualToString:iPad11_4]) return IPAD_AIR_3_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad12_1]) return IPAD_9_WIFI; + if ([hardware isEqualToString:iPad12_2]) return IPAD_9_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_1]) return IPAD_AIR_4_WIFI; + if ([hardware isEqualToString:iPad13_10]) return IPAD_PRO_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_11]) return IPAD_PRO_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_16]) return IPAD_AIR_5_WIFI; + if ([hardware isEqualToString:iPad13_17]) return IPAD_AIR_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_2]) return IPAD_AIR_4_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_4]) return IPAD_PRO_11_3_WIFI; + if ([hardware isEqualToString:iPad13_5]) return IPAD_AIR_4_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_6]) return IPAD_PRO_11_3_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_7]) return IPAD_PRO_11_3_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad13_8]) return IPAD_PRO_5_WIFI; + if ([hardware isEqualToString:iPad13_9]) return IPAD_PRO_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad14_1]) return IPAD_MINI_6_WIFI; + if ([hardware isEqualToString:iPad14_2]) return IPAD_MINI_6_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad2_1]) return IPAD_2_WIFI; + if ([hardware isEqualToString:iPad2_2]) return IPAD_2; + if ([hardware isEqualToString:iPad2_3]) return IPAD_2_CDMA; + if ([hardware isEqualToString:iPad2_4]) return IPAD_2; + if ([hardware isEqualToString:iPad2_5]) return IPAD_MINI_WIFI; + if ([hardware isEqualToString:iPad2_6]) return IPAD_MINI; + if ([hardware isEqualToString:iPad2_7]) return IPAD_MINI_WIFI_CDMA; + if ([hardware isEqualToString:iPad3_1]) return IPAD_3_WIFI; + if ([hardware isEqualToString:iPad3_2]) return IPAD_3_WIFI_CDMA; + if ([hardware isEqualToString:iPad3_3]) return IPAD_3; + if ([hardware isEqualToString:iPad3_4]) return IPAD_4_WIFI; + if ([hardware isEqualToString:iPad3_5]) return IPAD_4; + if ([hardware isEqualToString:iPad3_6]) return IPAD_4_GSM_CDMA; + if ([hardware isEqualToString:iPad4_1]) return IPAD_AIR_WIFI; + if ([hardware isEqualToString:iPad4_2]) return IPAD_AIR_WIFI_GSM; + if ([hardware isEqualToString:iPad4_3]) return IPAD_AIR_WIFI_CDMA; + if ([hardware isEqualToString:iPad4_4]) return IPAD_MINI_RETINA_WIFI; + if ([hardware isEqualToString:iPad4_5]) return IPAD_MINI_RETINA_WIFI_CDMA; + if ([hardware isEqualToString:iPad4_6]) return IPAD_MINI_RETINA_WIFI_CELLULAR_CN; + if ([hardware isEqualToString:iPad4_7]) return IPAD_MINI_3_WIFI; + if ([hardware isEqualToString:iPad4_8]) return IPAD_MINI_3_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad4_9]) return IPAD_MINI_3_WIFI_CELLULAR_CN; + if ([hardware isEqualToString:iPad5_1]) return IPAD_MINI_4_WIFI; + if ([hardware isEqualToString:iPad5_2]) return IPAD_MINI_4_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad5_3]) return IPAD_AIR_2_WIFI; + if ([hardware isEqualToString:iPad5_4]) return IPAD_AIR_2_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad6_11]) return IPAD_5_WIFI; + if ([hardware isEqualToString:iPad6_12]) return IPAD_5_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad6_3]) return IPAD_PRO_97_WIFI; + if ([hardware isEqualToString:iPad6_4]) return IPAD_PRO_97_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad6_7]) return IPAD_PRO_WIFI; + if ([hardware isEqualToString:iPad6_8]) return IPAD_PRO_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad7_1]) return IPAD_PRO_2G_WIFI; + if ([hardware isEqualToString:iPad7_11]) return IPAD_7_WIFI; + if ([hardware isEqualToString:iPad7_12]) return IPAD_7_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad7_2]) return IPAD_PRO_2G_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad7_3]) return IPAD_PRO_105_WIFI; + if ([hardware isEqualToString:iPad7_4]) return IPAD_PRO_105_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad7_5]) return IPAD_6_WIFI; + if ([hardware isEqualToString:iPad7_6]) return IPAD_6_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_1]) return IPAD_PRO_11_WIFI; + if ([hardware isEqualToString:iPad8_10]) return IPAD_PRO_11_2G_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_11]) return IPAD_PRO_4G_WIFI; + if ([hardware isEqualToString:iPad8_12]) return IPAD_PRO_4G_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_2]) return IPAD_PRO_11_1TB_WIFI; + if ([hardware isEqualToString:iPad8_3]) return IPAD_PRO_11_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_4]) return IPAD_PRO_11_1TB_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_5]) return IPAD_PRO_3G_WIFI; + if ([hardware isEqualToString:iPad8_6]) return IPAD_PRO_3G_1TB_WIFI; + if ([hardware isEqualToString:iPad8_7]) return IPAD_PRO_3G_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_8]) return IPAD_PRO_3G_1TB_WIFI_CELLULAR; + if ([hardware isEqualToString:iPad8_9]) return IPAD_PRO_11_2G_WIFI; + if ([hardware isEqualToString:iPhone1_1]) return IPHONE_2G; + if ([hardware isEqualToString:iPhone1_2]) return IPHONE_3G; + if ([hardware isEqualToString:iPhone10_1]) return IPHONE_8_CN; + if ([hardware isEqualToString:iPhone10_2]) return IPHONE_8_PLUS_CN; + if ([hardware isEqualToString:iPhone10_3]) return IPHONE_X_CN; + if ([hardware isEqualToString:iPhone10_4]) return IPHONE_8; + if ([hardware isEqualToString:iPhone10_5]) return IPHONE_8_PLUS; + if ([hardware isEqualToString:iPhone10_6]) return IPHONE_X; + if ([hardware isEqualToString:iPhone11_2]) return IPHONE_XS; + if ([hardware isEqualToString:iPhone11_4]) return IPHONE_XS_MAX; + if ([hardware isEqualToString:iPhone11_6]) return IPHONE_XS_MAX_CN; + if ([hardware isEqualToString:iPhone11_8]) return IPHONE_XR; + if ([hardware isEqualToString:iPhone12_1]) return IPHONE_11; + if ([hardware isEqualToString:iPhone12_3]) return IPHONE_11_PRO; + if ([hardware isEqualToString:iPhone12_5]) return IPHONE_11_PRO_MAX; + if ([hardware isEqualToString:iPhone12_8]) return IPHONE_SE_2G; + if ([hardware isEqualToString:iPhone13_1]) return IPHONE_12_MINI; + if ([hardware isEqualToString:iPhone13_2]) return IPHONE_12; + if ([hardware isEqualToString:iPhone13_3]) return IPHONE_12_PRO; + if ([hardware isEqualToString:iPhone13_4]) return IPHONE_12_PRO_MAX; + if ([hardware isEqualToString:iPhone14_2]) return IPHONE_13_PRO; + if ([hardware isEqualToString:iPhone14_3]) return IPHONE_13_PRO_MAX; + if ([hardware isEqualToString:iPhone14_4]) return IPHONE_13_MINI; + if ([hardware isEqualToString:iPhone14_5]) return IPHONE_13; + if ([hardware isEqualToString:iPhone14_6]) return IPHONE_SE_3G; + if ([hardware isEqualToString:iPhone14_7]) return IPHONE_14; + if ([hardware isEqualToString:iPhone14_8]) return IPHONE_14_PLUS; + if ([hardware isEqualToString:iPhone15_2]) return IPHONE_14_PRO; + if ([hardware isEqualToString:iPhone15_3]) return IPHONE_14_PRO_MAX; + if ([hardware isEqualToString:iPhone2_1]) return IPHONE_3GS; + if ([hardware isEqualToString:iPhone3_1]) return IPHONE_4; + if ([hardware isEqualToString:iPhone3_2]) return IPHONE_4; + if ([hardware isEqualToString:iPhone3_3]) return IPHONE_4_CDMA; + if ([hardware isEqualToString:iPhone4_1]) return IPHONE_4S; + if ([hardware isEqualToString:iPhone5_1]) return IPHONE_5; + if ([hardware isEqualToString:iPhone5_2]) return IPHONE_5_CDMA_GSM; + if ([hardware isEqualToString:iPhone5_3]) return IPHONE_5C; + if ([hardware isEqualToString:iPhone5_4]) return IPHONE_5C_CDMA_GSM; + if ([hardware isEqualToString:iPhone6_1]) return IPHONE_5S; + if ([hardware isEqualToString:iPhone6_2]) return IPHONE_5S_CDMA_GSM; + if ([hardware isEqualToString:iPhone7_1]) return IPHONE_6_PLUS; + if ([hardware isEqualToString:iPhone7_2]) return IPHONE_6; + if ([hardware isEqualToString:iPhone8_1]) return IPHONE_6S; + if ([hardware isEqualToString:iPhone8_2]) return IPHONE_6S_PLUS; + if ([hardware isEqualToString:iPhone8_4]) return IPHONE_SE; + if ([hardware isEqualToString:iPhone9_1]) return IPHONE_7; + if ([hardware isEqualToString:iPhone9_2]) return IPHONE_7_PLUS; + if ([hardware isEqualToString:iPhone9_3]) return IPHONE_7_GSM; + if ([hardware isEqualToString:iPhone9_4]) return IPHONE_7_PLUS_GSM; + if ([hardware isEqualToString:iPod1_1]) return IPOD_TOUCH_1G; + if ([hardware isEqualToString:iPod2_1]) return IPOD_TOUCH_2G; + if ([hardware isEqualToString:iPod3_1]) return IPOD_TOUCH_3G; + if ([hardware isEqualToString:iPod4_1]) return IPOD_TOUCH_4G; + if ([hardware isEqualToString:iPod5_1]) return IPOD_TOUCH_5G; + if ([hardware isEqualToString:iPod7_1]) return IPOD_TOUCH_6G; + if ([hardware isEqualToString:iPod9_1]) return IPOD_TOUCH_7G; + if ([hardware isEqualToString:x86_64_Simulator]) return SIMULATOR; + + NSLog(@"This is a device which is not listed in this category. Please visit https://github.com/InderKumarRathore/DeviceUtil and add a comment there."); + NSLog(@"Your device hardware string is: %@", hardware); + return UNKNOWN; +} +@end diff --git a/Pods/CocoaDebug/Sources/Core/_DeviceUtil.h b/Pods/CocoaDebug/Sources/Core/_DeviceUtil.h new file mode 100644 index 0000000..deb5f1c --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/_DeviceUtil.h @@ -0,0 +1,55 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +#import +#import "_DeviceUtil+Constant.h" + +/// Enum of the different Apple's device platforms +typedef NS_ENUM(NSUInteger, Platform) { + iPhone, + iPodTouch, + iPad, + AppleTV, + AppleWatch, + Unknown +}; + + +@interface _DeviceUtil : NSObject + +/// This method returns the hardware type +- (NSString*)hardwareString; + +/// This method returns the Platform enum depending upon hardware string +- (Platform)platform; + + + +/// This method returns the readable description of hardware string +- (NSString*)hardwareDescription; + +/// This method returns the readable simple description of hardware string +- (NSString*)hardwareSimpleDescription; + +/// This method returns the hardware number not actual but logically. e.g. if the hardware string is 5,1 then hardware number would be 5.1 +- (float)hardwareNumber; + +/// This method returns if we are running in the simulator +- (BOOL)isSimulator; + +/// This method returns the resolution for still image that can be received from back camera of the current device. Resolution returned for image oriented landscape right. +- (CGSize)backCameraStillImageResolutionInPixels; + +@end + + +@interface _DeviceUtil (Constant) + +/// This method returns the Hardware enum depending upon hardware string +- (Hardware)hardware; +@end diff --git a/Pods/CocoaDebug/Sources/Core/_DeviceUtil.m b/Pods/CocoaDebug/Sources/Core/_DeviceUtil.m new file mode 100644 index 0000000..9e0bc81 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Core/_DeviceUtil.m @@ -0,0 +1,849 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +#import "_DeviceUtil.h" +#import "_DeviceUtil+Constant.h" +#include + +@implementation _DeviceUtil { + NSDictionary *deviceList; +} + +- (instancetype)init +{ + self = [super init]; + if (self) { + deviceList = @{ + @"AppleTV1,1" : @{ + @"name": @"Apple TV 1G", + @"version": @"1.1", + }, + @"AppleTV2,1" : @{ + @"name": @"Apple TV 2G", + @"version": @"2.1", + }, + @"AppleTV3,1" : @{ + @"name": @"Apple TV 2012", + @"version": @"3.1", + }, + @"AppleTV3,2" : @{ + @"name": @"Apple TV 2013", + @"version": @"3.2", + }, + @"AppleTV5,3" : @{ + @"name": @"Apple TV 4G", + @"version": @"5.3", + }, + @"AppleTV6,2" : @{ + @"name": @"Apple TV 4K", + @"version": @"6.2", + }, + @"Watch1,1" : @{ + @"name": @"Apple Watch (38 mm)", + @"version": @"1.1", + }, + @"Watch1,2" : @{ + @"name": @"Apple Watch (42 mm)", + @"version": @"1.2", + }, + @"Watch2,3" : @{ + @"name": @"Apple Watch Series 2 (38 mm)", + @"version": @"2.3", + }, + @"Watch2,4" : @{ + @"name": @"Apple Watch Series 2 (42 mm)", + @"version": @"2.4", + }, + @"Watch2,6" : @{ + @"name": @"Apple Watch Series 1 (38 mm)", + @"version": @"2.6", + }, + @"Watch2,7" : @{ + @"name": @"Apple Watch Series 1 (42 mm)", + @"version": @"2.7", + }, + @"Watch3,1" : @{ + @"name": @"Apple Watch Series 3 (38 mm/Cellular)", + @"version": @"3.1", + }, + @"Watch3,2" : @{ + @"name": @"Apple Watch Series 3 (42 mm/Cellular)", + @"version": @"3.2", + }, + @"Watch3,3" : @{ + @"name": @"Apple Watch Series 3 (38 mm)", + @"version": @"3.3", + }, + @"Watch3,4" : @{ + @"name": @"Apple Watch Series 3 (42 mm)", + @"version": @"3.4", + }, + @"Watch4,1" : @{ + @"name": @"Apple Watch Series 4 (40 mm)", + @"version": @"4.1", + }, + @"Watch4,2" : @{ + @"name": @"Apple Watch Series 4 (44 mm)", + @"version": @"4.2", + }, + @"Watch4,3" : @{ + @"name": @"Apple Watch Series 4 (40 mm/Cellular)", + @"version": @"4.3", + }, + @"Watch4,4" : @{ + @"name": @"Apple Watch Series 4 (44 mm/Cellular)", + @"version": @"4.4", + }, + @"Watch5,1" : @{ + @"name": @"Apple Watch Series 5 (40 mm)", + @"version": @"5.1", + }, + @"Watch5,2" : @{ + @"name": @"Apple Watch Series 5 (44 mm)", + @"version": @"5.2", + }, + @"Watch5,3" : @{ + @"name": @"Apple Watch Series 5 (40 mm/Cellular)", + @"version": @"5.3", + }, + @"Watch5,4" : @{ + @"name": @"Apple Watch Series 5 (44 mm/Cellular)", + @"version": @"5.4", + }, + @"i386" : @{ + @"name": @"Simulator", + @"version": @"-1", + }, + @"iPad1,1" : @{ + @"name": @"iPad (WiFi)", + @"version": @"1.1", + }, + @"iPad1,2" : @{ + @"name": @"iPad 3G", + @"version": @"1.2", + }, + @"iPad11,1" : @{ + @"name": @"iPad mini 5 (Wi-Fi Only)", + @"version": @"11.1", + }, + @"iPad11,2" : @{ + @"name": @"iPad mini 5 (Wi-Fi/Cellular)", + @"version": @"11.2", + }, + @"iPad11,3" : @{ + @"name": @"iPad Air 3 (Wi-Fi)", + @"version": @"11.3", + }, + @"iPad11,4" : @{ + @"name": @"iPad Air 3 (Wi-Fi + Cellular)", + @"version": @"11.4", + }, + @"iPad12,1" : @{ + @"name": @"iPad 9 (Wi-Fi)", + @"version": @"12.1", + }, + @"iPad12,2" : @{ + @"name": @"iPad 9 (Wi-Fi + Cellular)", + @"version": @"12.2", + }, + @"iPad13,1" : @{ + @"name": @"iPad Air 4 (Wi-Fi)", + @"version": @"13.1", + }, + @"iPad13,10" : @{ + @"name": @"iPad Pro 12.9\" 5th Gen (Wi-Fi + Cellular)", + @"version": @"13.1", + }, + @"iPad13,11" : @{ + @"name": @"iPad Pro 12.9\" 5th Gen (Wi-Fi + Cellular)", + @"version": @"13.11", + }, + @"iPad13,16" : @{ + @"name": @"iPad Air 5th Gen (Wi-Fi)", + @"version": @"13.16", + }, + @"iPad13,17" : @{ + @"name": @"iPad Air 5th Gen (Wi-Fi + Cellular)", + @"version": @"13.17", + }, + @"iPad13,2" : @{ + @"name": @"iPad Air 4 (Wi-Fi + Cellular)", + @"version": @"13.2", + }, + @"iPad13,4" : @{ + @"name": @"iPad Pro 11\" 3rd Gen (Wi-Fi)", + @"version": @"13.4", + }, + @"iPad13,5" : @{ + @"name": @"iPad Pro 11\" 3rd Gen (Wi-Fi + Cellular)", + @"version": @"13.5", + }, + @"iPad13,6" : @{ + @"name": @"iPad Pro 11\" 3rd Gen (Wi-Fi + Cellular)", + @"version": @"13.6", + }, + @"iPad13,7" : @{ + @"name": @"iPad Pro 11\" 3rd Gen (Wi-Fi + Cellular)", + @"version": @"13.7", + }, + @"iPad13,8" : @{ + @"name": @"iPad Pro 12.9\" 5th Gen (Wi-Fi)", + @"version": @"13.8", + }, + @"iPad13,9" : @{ + @"name": @"iPad Pro 12.9\" 5th Gen (Wi-Fi + Cellular)", + @"version": @"13.9", + }, + @"iPad14,1" : @{ + @"name": @"iPad Mini 6 (Wi-Fi)", + @"version": @"14.1", + }, + @"iPad14,2" : @{ + @"name": @"iPad Mini 6 (Wi-Fi + Cellular)", + @"version": @"14.2", + }, + @"iPad2,1" : @{ + @"name": @"iPad 2 (WiFi)", + @"version": @"2.1", + }, + @"iPad2,2" : @{ + @"name": @"iPad 2 (GSM)", + @"version": @"2.2", + }, + @"iPad2,3" : @{ + @"name": @"iPad 2 (CDMA)", + @"version": @"2.3", + }, + @"iPad2,4" : @{ + @"name": @"iPad 2 (WiFi Rev. A)", + @"version": @"2.4", + }, + @"iPad2,5" : @{ + @"name": @"iPad Mini (WiFi)", + @"version": @"2.5", + }, + @"iPad2,6" : @{ + @"name": @"iPad Mini (GSM)", + @"version": @"2.6", + }, + @"iPad2,7" : @{ + @"name": @"iPad Mini (CDMA)", + @"version": @"2.7", + }, + @"iPad3,1" : @{ + @"name": @"iPad 3 (WiFi)", + @"version": @"3.1", + }, + @"iPad3,2" : @{ + @"name": @"iPad 3 (CDMA)", + @"version": @"3.2", + }, + @"iPad3,3" : @{ + @"name": @"iPad 3 (Global)", + @"version": @"3.3", + }, + @"iPad3,4" : @{ + @"name": @"iPad 4 (WiFi)", + @"version": @"3.4", + }, + @"iPad3,5" : @{ + @"name": @"iPad 4 (CDMA)", + @"version": @"3.5", + }, + @"iPad3,6" : @{ + @"name": @"iPad 4 (Global)", + @"version": @"3.6", + }, + @"iPad4,1" : @{ + @"name": @"iPad Air (WiFi)", + @"version": @"4.1", + }, + @"iPad4,2" : @{ + @"name": @"iPad Air (WiFi+GSM)", + @"version": @"4.2", + }, + @"iPad4,3" : @{ + @"name": @"iPad Air (WiFi+CDMA)", + @"version": @"4.3", + }, + @"iPad4,4" : @{ + @"name": @"iPad Mini Retina (WiFi)", + @"version": @"4.4", + }, + @"iPad4,5" : @{ + @"name": @"iPad Mini Retina (WiFi+CDMA)", + @"version": @"4.5", + }, + @"iPad4,6" : @{ + @"name": @"iPad Mini Retina (Wi-Fi + Cellular CN)", + @"version": @"4.6", + }, + @"iPad4,7" : @{ + @"name": @"iPad Mini 3 (Wi-Fi)", + @"version": @"4.7", + }, + @"iPad4,8" : @{ + @"name": @"iPad Mini 3 (Wi-Fi + Cellular)", + @"version": @"4.8", + }, + @"iPad4,9" : @{ + @"name": @"iPad mini 3 (Wi-Fi/Cellular, China)", + @"version": @"4.9", + }, + @"iPad5,1" : @{ + @"name": @"iPad mini 4 (Wi-Fi Only)", + @"version": @"5.1", + }, + @"iPad5,2" : @{ + @"name": @"iPad mini 4 (Wi-Fi/Cellular)", + @"version": @"5.2", + }, + @"iPad5,3" : @{ + @"name": @"iPad Air 2 (Wi-Fi)", + @"version": @"5.3", + }, + @"iPad5,4" : @{ + @"name": @"iPad Air 2 (Wi-Fi + Cellular)", + @"version": @"5.4", + }, + @"iPad6,11" : @{ + @"name": @"9.7-inch iPad (Wi-Fi)", + @"version": @"6.11", + }, + @"iPad6,12" : @{ + @"name": @"9.7-inch iPad (Wi-Fi + Cellular)", + @"version": @"6.12", + }, + @"iPad6,3" : @{ + @"name": @"iPad Pro 9.7-inch (Wi-Fi Only)", + @"version": @"6.3", + }, + @"iPad6,4" : @{ + @"name": @"iPad Pro 9.7-inch (Wi-Fi + Cellular)", + @"version": @"6.4", + }, + @"iPad6,7" : @{ + @"name": @"iPad Pro (Wi-Fi Only)", + @"version": @"6.7", + }, + @"iPad6,8" : @{ + @"name": @"iPad Pro (Wi-Fi/Cellular)", + @"version": @"6.8", + }, + @"iPad7,1" : @{ + @"name": @"iPad Pro 12.9-Inch (Wi-Fi Only - 2nd Gen)", + @"version": @"7.1", + }, + @"iPad7,11" : @{ + @"name": @"iPad 10.2-Inch 7th Gen (Wi-Fi Only)", + @"version": @"7.11", + }, + @"iPad7,12" : @{ + @"name": @"iPad 10.2-Inch 7th Gen (Wi-Fi/Cellular Only)", + @"version": @"7.12", + }, + @"iPad7,2" : @{ + @"name": @"iPad Pro 12.9-Inch (Wi-Fi/Cell - 2nd Gen)", + @"version": @"7.2", + }, + @"iPad7,3" : @{ + @"name": @"iPad Pro 10.5-Inch (Wi-Fi Only)", + @"version": @"7.3", + }, + @"iPad7,4" : @{ + @"name": @"iPad Pro 10.5-Inch (Wi-Fi/Cellular)", + @"version": @"7.4", + }, + @"iPad7,5" : @{ + @"name": @"iPad 9.7-Inch 6th Gen (Wi-Fi Only)", + @"version": @"7.5", + }, + @"iPad7,6" : @{ + @"name": @"iPad 9.7-Inch 6th Gen (Wi-Fi/Cellular)", + @"version": @"7.6", + }, + @"iPad8,1" : @{ + @"name": @"iPad Pro 11-Inch (Wi-Fi Only)", + @"version": @"8.1", + }, + @"iPad8,10" : @{ + @"name": @"iPad Pro 11-Inch (Wi-Fi/Cellular - 2nd Gen)", + @"version": @"8.1", + }, + @"iPad8,11" : @{ + @"name": @"iPad Pro 12.9-Inch 1TB (Wi-Fi Only - 4th Gen)", + @"version": @"8.109999999999999", + }, + @"iPad8,12" : @{ + @"name": @"iPad Pro 12.9-Inch (Wi-Fi/Cell - 4th Gen)", + @"version": @"8.800000000000001", + }, + @"iPad8,2" : @{ + @"name": @"iPad Pro 11-Inch 1TB (Wi-Fi Only)", + @"version": @"8.199999999999999", + }, + @"iPad8,3" : @{ + @"name": @"iPad Pro 11-Inch (Wi-Fi/Cellular)", + @"version": @"8.300000000000001", + }, + @"iPad8,4" : @{ + @"name": @"iPad Pro 11-Inch 1TB (Wi-Fi/Cellular)", + @"version": @"8.4", + }, + @"iPad8,5" : @{ + @"name": @"iPad Pro 12.9-Inch (Wi-Fi Only - 3rd Gen)", + @"version": @"8.5", + }, + @"iPad8,6" : @{ + @"name": @"iPad Pro 12.9-Inch 1TB (Wi-Fi Only - 3rd Gen)", + @"version": @"8.6", + }, + @"iPad8,7" : @{ + @"name": @"iPad Pro 12.9-Inch (Wi-Fi/Cell - 3rd Gen)", + @"version": @"8.699999999999999", + }, + @"iPad8,8" : @{ + @"name": @"iPad Pro 12.9-Inch 1TB (Wi-Fi/Cell - 3rd Gen)", + @"version": @"8.800000000000001", + }, + @"iPad8,9" : @{ + @"name": @"iPad Pro 11-Inch (Wi-Fi Only - 2nd Gen)", + @"version": @"8.9", + }, + @"iPhone1,1" : @{ + @"name": @"iPhone 2G", + @"version": @"1.1", + }, + @"iPhone1,2" : @{ + @"name": @"iPhone 3G", + @"version": @"1.2", + }, + @"iPhone10,1" : @{ + @"name": @"iPhone 8", + @"version": @"10.1", + }, + @"iPhone10,2" : @{ + @"name": @"iPhone 8 Plus", + @"version": @"10.2", + }, + @"iPhone10,3" : @{ + @"name": @"iPhone X", + @"version": @"10.3", + }, + @"iPhone10,4" : @{ + @"name": @"iPhone 8", + @"version": @"10.4", + }, + @"iPhone10,5" : @{ + @"name": @"iPhone 8 Plus", + @"version": @"10.5", + }, + @"iPhone10,6" : @{ + @"name": @"iPhone X", + @"version": @"10.6", + }, + @"iPhone11,2" : @{ + @"name": @"iPhone XS", + @"version": @"11.2", + }, + @"iPhone11,4" : @{ + @"name": @"iPhone XS Max", + @"version": @"11.4", + }, + @"iPhone11,6" : @{ + @"name": @"iPhone XS Max China", + @"version": @"11.6", + }, + @"iPhone11,8" : @{ + @"name": @"iPhone XR", + @"version": @"11.8", + }, + @"iPhone12,1" : @{ + @"name": @"iPhone 11", + @"version": @"12.1", + }, + @"iPhone12,3" : @{ + @"name": @"iPhone 11 Pro", + @"version": @"12.3", + }, + @"iPhone12,5" : @{ + @"name": @"iPhone 11 Pro Max", + @"version": @"12.5", + }, + @"iPhone12,8" : @{ + @"name": @"iPhone SE (2 Gen)", + @"version": @"12.8", + }, + @"iPhone13,1" : @{ + @"name": @"iPhone 12 mini", + @"version": @"13.1", + }, + @"iPhone13,2" : @{ + @"name": @"iPhone 12", + @"version": @"13.2", + }, + @"iPhone13,3" : @{ + @"name": @"iPhone 12 Pro", + @"version": @"13.3", + }, + @"iPhone13,4" : @{ + @"name": @"iPhone 12 Pro Max", + @"version": @"13.4", + }, + @"iPhone14,2" : @{ + @"name": @"iPhone 13 Pro", + @"version": @"14.2", + }, + @"iPhone14,3" : @{ + @"name": @"iPhone 13 Pro Max", + @"version": @"14.3", + }, + @"iPhone14,4" : @{ + @"name": @"iPhone 13 mini", + @"version": @"14.4", + }, + @"iPhone14,5" : @{ + @"name": @"iPhone 13", + @"version": @"14.5", + }, + @"iPhone14,6" : @{ + @"name": @"iPhone SE (3 Gen)", + @"version": @"14.6", + }, + @"iPhone14,7" : @{ + @"name": @"iPhone 14", + @"version": @"14.7", + }, + @"iPhone14,8" : @{ + @"name": @"iPhone 14 Plus", + @"version": @"14.8", + }, + @"iPhone15,2" : @{ + @"name": @"iPhone 14 Pro", + @"version": @"15.2", + }, + @"iPhone15,3" : @{ + @"name": @"iPhone 14 Pro Max", + @"version": @"15.3", + }, + @"iPhone2,1" : @{ + @"name": @"iPhone 3GS", + @"version": @"2.1", + }, + @"iPhone3,1" : @{ + @"name": @"iPhone 4 (GSM)", + @"version": @"3.1", + }, + @"iPhone3,2" : @{ + @"name": @"iPhone 4 (GSM Rev. A)", + @"version": @"3.2", + }, + @"iPhone3,3" : @{ + @"name": @"iPhone 4 (CDMA)", + @"version": @"3.3", + }, + @"iPhone4,1" : @{ + @"name": @"iPhone 4S", + @"version": @"4.1", + }, + @"iPhone5,1" : @{ + @"name": @"iPhone 5 (GSM)", + @"version": @"5.1", + }, + @"iPhone5,2" : @{ + @"name": @"iPhone 5 (Global)", + @"version": @"5.2", + }, + @"iPhone5,3" : @{ + @"name": @"iPhone 5c (GSM)", + @"version": @"5.3", + }, + @"iPhone5,4" : @{ + @"name": @"iPhone 5c (Global)", + @"version": @"5.4", + }, + @"iPhone6,1" : @{ + @"name": @"iPhone 5s (GSM)", + @"version": @"6.1", + }, + @"iPhone6,2" : @{ + @"name": @"iPhone 5s (Global)", + @"version": @"6.2", + }, + @"iPhone7,1" : @{ + @"name": @"iPhone 6 Plus", + @"version": @"7.1", + }, + @"iPhone7,2" : @{ + @"name": @"iPhone 6", + @"version": @"7.2", + }, + @"iPhone8,1" : @{ + @"name": @"iPhone 6s", + @"version": @"8.1", + }, + @"iPhone8,2" : @{ + @"name": @"iPhone 6s Plus", + @"version": @"8.199999999999999", + }, + @"iPhone8,4" : @{ + @"name": @"iPhone SE", + @"version": @"8.4", + }, + @"iPhone9,1" : @{ + @"name": @"iPhone 7", + @"version": @"9.1", + }, + @"iPhone9,2" : @{ + @"name": @"iPhone 7 Plus", + @"version": @"9.199999999999999", + }, + @"iPhone9,3" : @{ + @"name": @"iPhone 7", + @"version": @"9.300000000000001", + }, + @"iPhone9,4" : @{ + @"name": @"iPhone 7 Plus", + @"version": @"9.4", + }, + @"iPod1,1" : @{ + @"name": @"iPod Touch (1 Gen)", + @"version": @"1.1", + }, + @"iPod2,1" : @{ + @"name": @"iPod Touch (2 Gen)", + @"version": @"2.1", + }, + @"iPod3,1" : @{ + @"name": @"iPod Touch (3 Gen)", + @"version": @"3.1", + }, + @"iPod4,1" : @{ + @"name": @"iPod Touch (4 Gen)", + @"version": @"4.1", + }, + @"iPod5,1" : @{ + @"name": @"iPod Touch (5 Gen)", + @"version": @"5.1", + }, + @"iPod7,1" : @{ + @"name": @"iPod Touch (6 Gen)", + @"version": @"7.1", + }, + @"iPod9,1" : @{ + @"name": @"iPod Touch (7 Gen)", + @"version": @"9.1", + }, + @"x86_64" : @{ + @"name": @"Simulator", + @"version": @"-1", + }, + }; + } + return self; +} + +- (NSString*)nativeHardwareString { + int name[] = {CTL_HW,HW_MACHINE}; + size_t size = 100; + sysctl(name, 2, NULL, &size, NULL, 0); // getting size of answer + char *hw_machine = malloc(size); + + sysctl(name, 2, hw_machine, &size, NULL, 0); + NSString *hardware = [NSString stringWithUTF8String:hw_machine]; + free(hw_machine); + + return hardware; +} + +- (NSString*)hardwareString { + NSString *hardware = [self nativeHardwareString]; + + // Check if the hardware is simulator + if ([hardware isEqualToString:i386_Simulator] || [hardware isEqualToString:x86_64_Simulator]) { + NSString *deviceID = [[[NSProcessInfo processInfo] environment] objectForKey:@"SIMULATOR_MODEL_IDENTIFIER"]; + if (deviceID != nil) { + hardware = deviceID; + } + } + return hardware; +} + +/* This is another way of gtting the system info + * For this you have to #import + */ + +/* + NSString* machineName + { + struct utsname systemInfo; + uname(&systemInfo); + return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + } + */ + + + +/// This method returns the Platform enum depending upon hardware string +/// +/// +/// - returns: `Platform` type of the device +/// +- (Platform)platform { + + NSString *hardware = [self hardwareString]; + + if ([hardware hasPrefix:@"iPhone"]) return iPhone; + if ([hardware hasPrefix:@"iPod"]) return iPodTouch; + if ([hardware hasPrefix:@"iPad"]) return iPad; + if ([hardware hasPrefix:@"Watch"]) return AppleWatch; + if ([hardware hasPrefix:@"AppleTV"]) return AppleTV; + + return Unknown; +} + +- (Hardware)nativeHardware { + NSString *hardware = [self nativeHardwareString]; + if ([hardware isEqualToString:i386_Simulator]) return SIMULATOR; + if ([hardware isEqualToString:x86_64_Simulator]) return SIMULATOR; + return [self hardware]; +} + +- (NSString*)hardwareDescription { + NSString *hardware = [self hardwareString]; + NSString *hardwareDescription = [[deviceList objectForKey:hardware] objectForKey:@"name"]; + if (hardwareDescription) { + return hardwareDescription; + } + else { + //log message that your device is not present in the list + [self logMessage:hardware]; + + return nil; + } +} + +- (NSString*)hardwareSimpleDescription { + NSString *hardwareDescription = [self hardwareDescription]; + if (hardwareDescription == nil) { + return nil; + } + NSError *error = nil; + // this expression matches all strings between round brackets (e.g (Wifi), (GSM)) except the pattern "[0-9]+ Gen" + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\((?![0-9]+ Gen).*\\)" options:NSRegularExpressionCaseInsensitive error:&error]; + NSString *hardwareSimpleDescription = [regex stringByReplacingMatchesInString:hardwareDescription options:0 range:NSMakeRange(0, [hardwareDescription length]) withTemplate:@""]; + if (error) { + return nil; + } else { + return hardwareSimpleDescription; + } +} + +- (float)hardwareNumber { + NSString *hardware = [self hardwareString]; + float version = [[[deviceList objectForKey:hardware] objectForKey:@"version"] floatValue]; + if (version != 0.0f) { + return version; + } + else { + //log message that your device is not present in the list + [self logMessage:hardware]; + + return 200.0f; //device might be new one of missing one so returning 200.0f + } +} + +- (BOOL)isSimulator { + return [self nativeHardware] == SIMULATOR; +} + +- (CGSize)backCameraStillImageResolutionInPixels { + switch ([self hardware]) { + case IPHONE_2G: + case IPHONE_3G: + return CGSizeMake(1600, 1200); + + case IPHONE_3GS: + return CGSizeMake(2048, 1536); + + case IPHONE_4: + case IPHONE_4_CDMA: + case IPAD_3_WIFI: + case IPAD_3_WIFI_CDMA: + case IPAD_3: + case IPAD_4_WIFI: + case IPAD_4: + case IPAD_4_GSM_CDMA: + return CGSizeMake(2592, 1936); + + case IPHONE_4S: + case IPHONE_5: + case IPHONE_5_CDMA_GSM: + case IPHONE_5C: + case IPHONE_5C_CDMA_GSM: + case IPHONE_6: + case IPHONE_6_PLUS: + case IPOD_TOUCH_6G: + case IPAD_AIR_2_WIFI: + case IPAD_AIR_2_WIFI_CELLULAR: + case IPHONE_6S: + case IPHONE_6S_PLUS: + case IPAD_MINI_4_WIFI: + case IPAD_MINI_4_WIFI_CELLULAR: + case IPAD_MINI_5_WIFI: + case IPAD_MINI_5_WIFI_CELLULAR: + case IPAD_AIR_3_WIFI: + case IPAD_AIR_3_WIFI_CELLULAR: + return CGSizeMake(3264, 2448); + + case IPHONE_7: + case IPHONE_7_GSM: + case IPHONE_7_PLUS: + case IPHONE_7_PLUS_GSM: + case IPHONE_8: + case IPHONE_8_CN: + case IPHONE_8_PLUS: + case IPHONE_8_PLUS_CN: + case IPHONE_X: + case IPHONE_X_CN: + return CGSizeMake(4032, 3024); + + case IPOD_TOUCH_4G: + return CGSizeMake(960, 720); + + case IPOD_TOUCH_5G: + return CGSizeMake(2440, 1605); + + case IPAD_2_WIFI: + case IPAD_2: + case IPAD_2_CDMA: + return CGSizeMake(872, 720); + + case IPAD_MINI_WIFI: + case IPAD_MINI: + case IPAD_MINI_WIFI_CDMA: + return CGSizeMake(1820, 1304); + + case IPAD_PRO_97_WIFI: + case IPAD_PRO_97_WIFI_CELLULAR: + return CGSizeMake(4032, 3024); + + default: + NSLog(@"We have no resolution for your device's camera listed in this category. Please, make photo with back camera of your device, get its resolution in pixels (via Preview Cmd+I for example) and add a comment to this repository (https://github.com/InderKumarRathore/DeviceUtil) on GitHub.com in format Device = Hpx x Wpx."); + NSLog(@"Your device is: %@", [self hardwareDescription]); + break; + } + return CGSizeZero; +} + +- (void)logMessage:(NSString *)hardware { + NSLog(@"This is a device which is not listed in this category. Please visit https://github.com/InderKumarRathore/DeviceUtil and add a comment there."); + NSLog(@"Your device hardware string is: %@", hardware); +} + +@end diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.h b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.h new file mode 100644 index 0000000..2c29acd --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.h @@ -0,0 +1,22 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +@import Foundation; + +/*! Determines the cache storage policy for a response. + * \details When we provide a response up to the client we need to tell the client whether + * the response is cacheable or not. The default HTTP/HTTPS protocol has a reasonable + * complex chunk of code to determine this, but we can't get at it. Thus, we have to + * reimplement it ourselves. This is split off into a separate file to emphasise that + * this is standard boilerplate that you probably don't need to look at. + * \param request The request that generated the response; must not be nil. + * \param response The response itself; must not be nil. + * \returns A cache storage policy to use. + */ + +extern NSURLCacheStoragePolicy CacheStoragePolicyForRequestAndResponse(NSURLRequest * request, NSHTTPURLResponse * response); diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.m b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.m new file mode 100644 index 0000000..0c5c80c --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.m @@ -0,0 +1,85 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_CacheStoragePolicy.h" + +extern NSURLCacheStoragePolicy CacheStoragePolicyForRequestAndResponse(NSURLRequest * request, NSHTTPURLResponse * response) + // See comment in header. +{ + BOOL cacheable; + NSURLCacheStoragePolicy result; + + //assert(request != NULL); + //assert(response != NULL); + + // First determine if the request is cacheable based on its status code. + + switch ([response statusCode]) { + case 200: + case 203: + case 206: + case 301: + case 304: + case 404: + case 410: { + cacheable = YES; + } break; + default: { + cacheable = NO; + } break; + } + + // If the response might be cacheable, look at the "Cache-Control" header in + // the response. + + // IMPORTANT: We can't rely on -rangeOfString: returning valid results if the target + // string is nil, so we have to explicitly test for nil in the following two cases. + + if (cacheable) { + NSString * responseHeader; + + responseHeader = [[response allHeaderFields][@"Cache-Control"] lowercaseString]; + if ( (responseHeader != nil) && [responseHeader rangeOfString:@"no-store"].location != NSNotFound) { + cacheable = NO; + } + } + + // If we still think it might be cacheable, look at the "Cache-Control" header in + // the request. + + if (cacheable) { + NSString * requestHeader; + + requestHeader = [[request allHTTPHeaderFields][@"Cache-Control"] lowercaseString]; + if ( (requestHeader != nil) + && ([requestHeader rangeOfString:@"no-store"].location != NSNotFound) + && ([requestHeader rangeOfString:@"no-cache"].location != NSNotFound) ) { + cacheable = NO; + } + } + + // Use the cacheable flag to determine the result. + + if (cacheable) { + + // This code only caches HTTPS data in memory. This is inline with earlier versions of + // iOS. Modern versions of iOS use file protection to protect the cache, and thus are + // happy to cache HTTPS on disk. I've not made the correspondencing change because + // it's nice to see all three cache policies in action. + + if ([[[[request URL] scheme] lowercaseString] isEqual:@"https"]) { + result = NSURLCacheStorageAllowedInMemoryOnly; + } else { + result = NSURLCacheStorageAllowed; + } + } else { + result = NSURLCacheStorageNotAllowed; + } + + return result; +} diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.h b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.h new file mode 100644 index 0000000..8e6f890 --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.h @@ -0,0 +1,25 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +@import Foundation; + +/*! Returns a canonical form of the supplied request. + * \details The Foundation URL loading system needs to be able to canonicalize URL + * requests for various reasons (for example, to look for cache hits). The default + * HTTP/HTTPS protocol has a complex chunk of code to perform this function. Unfortunately + * there's no way for third party code to access this. Instead, we have to reimplement + * it all ourselves. This is split off into a separate file to emphasise that this + * is standard boilerplate that you probably don't need to look at. + * + * IMPORTANT: While you can take most of this code as read, you might want to tweak + * the handling of the "Accept-Language" in the CanonicaliseHeaders routine. + * \param request The request to canonicalise; must not be nil. + * \returns The canonical request; should never be nil. + */ + +extern NSMutableURLRequest * CanonicalRequestForRequest(NSURLRequest *request); diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.m b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.m new file mode 100644 index 0000000..41805a2 --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.m @@ -0,0 +1,397 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_CanonicalRequest.h" + +#include + +#pragma mark * URL canonicalization steps + +/*! A step in the canonicalisation process. + * \details The canonicalisation process is made up of a sequence of steps, each of which is + * implemented by a function that matches this function pointer. The function gets a URL + * and a mutable buffer holding that URL as bytes. The function can mutate the buffer as it + * sees fit. It typically does this by calling CFURLGetByteRangeForComponent to find the range + * of interest in the buffer. In that case bytesInserted is the amount to adjust that range, + * and the function should modify that to account for any bytes it inserts or deletes. If + * the function modifies the buffer too much, it can return kCFNotFound to force the system + * to re-create the URL from the buffer. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +typedef CFIndex (*CanonicalRequestStepFunction)(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted); + +/*! The post-scheme separate should be "://"; if that's not the case, fix it. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +static CFIndex FixPostSchemeSeparator(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) +{ + CFRange range; + uint8_t * urlDataBytes; + NSUInteger urlDataLength; + NSUInteger cursor; + NSUInteger separatorLength; + NSUInteger expectedSeparatorLength; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentScheme, NULL); + if (range.location != kCFNotFound) { + //assert(range.location >= 0); + //assert(range.length >= 0); + + urlDataBytes = [urlData mutableBytes]; + urlDataLength = [urlData length]; + + separatorLength = 0; + cursor = (NSUInteger) range.location + (NSUInteger) bytesInserted + (NSUInteger) range.length; + if ( (cursor < urlDataLength) && (urlDataBytes[cursor] == ':') ) { + cursor += 1; + separatorLength += 1; + if ( (cursor < urlDataLength) && (urlDataBytes[cursor] == '/') ) { + cursor += 1; + separatorLength += 1; + if ( (cursor < urlDataLength) && (urlDataBytes[cursor] == '/') ) { + cursor += 1; + separatorLength += 1; + } + } + } + #pragma unused(cursor) // quietens an analyser warning + + expectedSeparatorLength = strlen("://"); + if (separatorLength != expectedSeparatorLength) { + [urlData replaceBytesInRange:NSMakeRange((NSUInteger) range.location + (NSUInteger) bytesInserted + (NSUInteger) range.length, separatorLength) withBytes:"://" length:expectedSeparatorLength]; + bytesInserted = kCFNotFound; // have to build everything now + } + } + + return bytesInserted; +} + +/*! The scheme should be lower case; if it's not, make it so. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +static CFIndex LowercaseScheme(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) +{ + CFRange range; + uint8_t * urlDataBytes; + CFIndex i; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentScheme, NULL); + if (range.location != kCFNotFound) { + //assert(range.location >= 0); + //assert(range.length >= 0); + + urlDataBytes = [urlData mutableBytes]; + for (i = range.location + bytesInserted; i < (range.location + bytesInserted + range.length); i++) { + urlDataBytes[i] = (uint8_t) tolower_l(urlDataBytes[i], NULL); + } + } + return bytesInserted; +} + +/*! The host should be lower case; if it's not, make it so. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +static CFIndex LowercaseHost(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) + // The host should be lower case; if it's not, make it so. +{ + CFRange range; + uint8_t * urlDataBytes; + CFIndex i; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentHost, NULL); + if (range.location != kCFNotFound) { + //assert(range.location >= 0); + //assert(range.length >= 0); + + urlDataBytes = [urlData mutableBytes]; + for (i = range.location + bytesInserted; i < (range.location + bytesInserted + range.length); i++) { + urlDataBytes[i] = (uint8_t) tolower_l(urlDataBytes[i], NULL); + } + } + return bytesInserted; +} + +/*! An empty host should be treated as "localhost" case; if it's not, make it so. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +static CFIndex FixEmptyHost(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) +{ + CFRange range; + CFRange rangeWithSeparator; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentHost, &rangeWithSeparator); + if (range.length == 0) { + NSUInteger localhostLength; + + //assert(range.location >= 0); + //assert(range.length >= 0); + + localhostLength = strlen("localhost"); + if (range.location != kCFNotFound) { + [urlData replaceBytesInRange:NSMakeRange( (NSUInteger) range.location + (NSUInteger) bytesInserted, 0) withBytes:"localhost" length:localhostLength]; + bytesInserted += localhostLength; + } else if ( (rangeWithSeparator.location != kCFNotFound) && (rangeWithSeparator.length == 0) ) { + [urlData replaceBytesInRange:NSMakeRange((NSUInteger) rangeWithSeparator.location + (NSUInteger) bytesInserted, 0) withBytes:"localhost" length:localhostLength]; + bytesInserted += localhostLength; + } + } + return bytesInserted; +} + +/*! Transform an empty URL path to "/". For example, "http://www.apple.com" becomes "http://www.apple.com/". + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +static CFIndex FixEmptyPath(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) +{ + CFRange range; + CFRange rangeWithSeparator; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentPath, &rangeWithSeparator); + // The following is not a typo. We use rangeWithSeparator to find where to insert the + // "/" and the range length to decide whether we /need/ to insert the "/". + if ( (rangeWithSeparator.location != kCFNotFound) && (range.length == 0) ) { + //assert(range.location >= 0); + //assert(range.length >= 0); + //assert(rangeWithSeparator.location >= 0); + //assert(rangeWithSeparator.length >= 0); + + [urlData replaceBytesInRange:NSMakeRange( (NSUInteger) rangeWithSeparator.location + (NSUInteger) bytesInserted, 0) withBytes:"/" length:1]; + bytesInserted += 1; + } + return bytesInserted; +} + +/*! If the user specified the default port (80 for HTTP, 443 for HTTPS), remove it from the URL. + * \details Actually this code is disabled because the equivalent code in the default protocol + * handler has also been disabled; some setups depend on get the port number in the URL, even if it + * is the default. + * \param url The original URL to work on. + * \param urlData The URL as a mutable buffer; the routine modifies this. + * \param bytesInserted The number of bytes that have been inserted so far the mutable buffer. + * \returns An updated value of bytesInserted or kCFNotFound if the URL must be reparsed. + */ + +__attribute__((unused)) static CFIndex DeleteDefaultPort(NSURL *url, NSMutableData *urlData, CFIndex bytesInserted) +{ + NSString * scheme; + BOOL isHTTP; + BOOL isHTTPS; + CFRange range; + uint8_t * urlDataBytes; + NSString * portNumberStr; + int portNumber; + + //assert(url != nil); + //assert(urlData != nil); + //assert(bytesInserted >= 0); + + scheme = [[url scheme] lowercaseString]; + //assert(scheme != nil); + + isHTTP = [scheme isEqual:@"http" ]; + isHTTPS = [scheme isEqual:@"https"]; + + range = CFURLGetByteRangeForComponent( (CFURLRef) url, kCFURLComponentPort, NULL); + if (range.location != kCFNotFound) { + //assert(range.location >= 0); + //assert(range.length >= 0); + + urlDataBytes = [urlData mutableBytes]; + + portNumberStr = [[NSString alloc] initWithBytes:&urlDataBytes[range.location + bytesInserted] length:(NSUInteger) range.length encoding:NSUTF8StringEncoding]; + if (portNumberStr != nil) { + portNumber = [portNumberStr intValue]; + if ( (isHTTP && (portNumber == 80)) || (isHTTPS && (portNumber == 443)) ) { + // -1 and +1 to account for the leading ":" + [urlData replaceBytesInRange:NSMakeRange((NSUInteger) range.location + (NSUInteger) bytesInserted - 1, (NSUInteger) range.length + 1) withBytes:NULL length:0]; + bytesInserted -= (range.length + 1); + } + } + } + return bytesInserted; +} + +#pragma mark * Other request canonicalization + +/*! Canonicalise the request headers. + * \param request The request to canonicalise. + */ + +static void CanonicaliseHeaders(NSMutableURLRequest * request) +{ + // If there's no content type and the request is a POST with a body, add a default + // content type of "application/x-www-form-urlencoded". + + if ( ([request valueForHTTPHeaderField:@"Content-Type"] == nil) + && ([[request HTTPMethod] caseInsensitiveCompare:@"POST"] == NSOrderedSame) + && (([request HTTPBody] != nil) || ([request HTTPBodyStream] != nil)) ) { + [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; + } + + // If there's no "Accept" header, add a default. + + if ([request valueForHTTPHeaderField:@"Accept"] == nil) { + [request setValue:@"*/*" forHTTPHeaderField:@"Accept"]; + } + + // If there's not "Accept-Encoding" header, add a default. + + if ([request valueForHTTPHeaderField:@"Accept-Encoding"] == nil) { + [request setValue:@"gzip, deflate" forHTTPHeaderField:@"Accept-Encoding"]; + } + + // If there's not an "Accept-Language" headre, add a default. This is quite bogus; ideally we + // should derive the correct "Accept-Language" value from the langauge that the app is running + // in. However, that's quite difficult to get right, so rather than show some general purpose + // code that might fail in some circumstances, I've decided to just hardwire US English. + // If you use this code in your own app you can customise it as you see fit. One option might be + // to base this value on -[NSBundle preferredLocalizations], so that the web page comes back in + // the language that the app is running in. + + if ([request valueForHTTPHeaderField:@"Accept-Language"] == nil) { + [request setValue:@"en-us" forHTTPHeaderField:@"Accept-Language"]; + } +} + +#pragma mark * API + +extern NSMutableURLRequest * CanonicalRequestForRequest(NSURLRequest *request) +{ + NSMutableURLRequest * result; + NSString * scheme; + + //assert(request != nil); + + // Make a mutable copy of the request. + + result = [request mutableCopy]; + + // First up check that we're dealing with HTTP or HTTPS. If not, do nothing (why were we + // we even called?). + + scheme = [[[request URL] scheme] lowercaseString]; + //assert(scheme != nil); + + if ( ! [scheme isEqual:@"http" ] && ! [scheme isEqual:@"https"]) { + //assert(NO); + } else { + CFIndex bytesInserted; + NSURL * requestURL; + NSMutableData * urlData; + static const CanonicalRequestStepFunction kStepFunctions[] = { + FixPostSchemeSeparator, + LowercaseScheme, + LowercaseHost, + FixEmptyHost, + // DeleteDefaultPort, -- The built-in canonicalizer has stopped doing this, so we don't do it either. + FixEmptyPath + }; + size_t stepIndex; + size_t stepCount; + + // Canonicalise the URL by executing each of our step functions. + + bytesInserted = kCFNotFound; + urlData = nil; + requestURL = [request URL]; + //assert(requestURL != nil); + + stepCount = sizeof(kStepFunctions) / sizeof(*kStepFunctions); + for (stepIndex = 0; stepIndex < stepCount; stepIndex++) { + + // If we don't have valid URL data, create it from the URL. + + //assert(requestURL != nil); + if (bytesInserted == kCFNotFound) { + NSData * urlDataImmutable; + + urlDataImmutable = CFBridgingRelease( CFURLCreateData(NULL, (CFURLRef) requestURL, kCFStringEncodingUTF8, true) ); + //assert(urlDataImmutable != nil); + + urlData = [urlDataImmutable mutableCopy]; + //assert(urlData != nil); + + bytesInserted = 0; + } + //assert(urlData != nil); + + // Run the step. + + bytesInserted = kStepFunctions[stepIndex](requestURL, urlData, bytesInserted); + + // Note: The following logging is useful when debugging this code. Change the + // if expression to YES to enable it. + + if (/* DISABLES CODE */ (NO)) { +// fprintf(stderr, " [%zu] %.*s\n", stepIndex, (int) [urlData length], (const char *) [urlData bytes]); + } + + // If the step invalidated our URL (or we're on the last step, whereupon we'll need + // the URL outside of the loop), recreate the URL from the URL data. + + if ( (bytesInserted == kCFNotFound) || ((stepIndex + 1) == stepCount) ) { + requestURL = CFBridgingRelease( CFURLCreateWithBytes(NULL, [urlData bytes], (CFIndex) [urlData length], kCFStringEncodingUTF8, NULL) ); + //assert(requestURL != nil); + + urlData = nil; + } + } + + [result setURL:requestURL]; + + // Canonicalise the headers. + + CanonicaliseHeaders(result); + } + + return result; +} diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h new file mode 100644 index 0000000..6602dbb --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h @@ -0,0 +1,138 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +@import Foundation; + +@protocol _CustomHTTPProtocolDelegate; + +/*! An NSURLProtocol subclass that overrides the built-in HTTP/HTTPS protocol to intercept + * authentication challenges for subsystems, ilke UIWebView, that don't otherwise allow it. + * To use this class you should set up your delegate (+setDelegate:) and then call +start. + * If you don't call +start the class is completely benign. + * + * The really tricky stuff here is related to the authentication challenge delegate + * callbacks; see the docs for _CustomHTTPProtocolDelegate for the details. + */ + +@interface _CustomHTTPProtocol : NSURLProtocol + +/*! Call this to start the module. Prior to this the module is just dormant, and + * all HTTP requests proceed as normal. After this all HTTP and HTTPS requests + * go through this module. + */ + ++ (void)start; + +//liman ++ (void)stop; + +/*! Sets the delegate for the class. + * \details Note that there's one delegate for the entire class, not one per + * instance of the class as is more normal. The delegate is not retained in general, + * but is retained for the duration of any given call. Once you set the delegate to nil + * you can be assured that it won't be called unretained (that is, by the time that + * -setDelegate: returns, we've already done all possible retains on the delegate). + * \param newValue The new delegate to use; may be nil. + */ + ++ (void)setDelegate:(id<_CustomHTTPProtocolDelegate>)newValue; + +/*! Returns the class delegate. + */ + ++ (id<_CustomHTTPProtocolDelegate>)delegate; + +@property (atomic, strong, readonly ) NSURLAuthenticationChallenge * pendingChallenge; ///< The current authentication challenge; it's only safe to access this from the main thread. + +/*! Call this method to resolve an authentication challeng. This must be called on the main thread. + * \param challenge The challenge to resolve. This must match the pendingChallenge property. + * \param credential The credential to use, or nil to continue without a credential. + */ + +- (void)resolveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge withCredential:(NSURLCredential *)credential; + +@end + +/*! The delegate for the CustomHTTPProtocol class (not its instances). + * \details The delegate handles two different types of callbacks: + * + * - authentication challenges + * + * - logging + * + * The latter is very simple. The former is quite tricky. The basic idea is that each CustomHTTPProtocol + * instance sends the delegate a serialised stream of authentication challenges, each of which it is + * expected to resolve. The sequence is as follows: + * + * -# It calls -customHTTPProtocol:canAuthenticateAgainstProtectionSpace: to determine if the delegate + * can handle the challenge. This can be call on an arbitrary background thread. + * + * -# If the delegate returns YES, it calls -customHTTPProtocol:didReceiveAuthenticationChallenge: to + * actually process the challenge. This is always called on the main thread. The delegate can resolve + * the challenge synchronously (that is, before returning from the call) or it can return from the call + * and then, later on, resolve the challenge. Resolving the challenge involves calling + * -[CustomHTTPProtocol resolveAuthenticationChallenge:withCredential:], which also must be called + * on the main thread. Between the calls to -customHTTPProtocol:didReceiveAuthenticationChallenge: + * and -[CustomHTTPProtocol resolveAuthenticationChallenge:withCredential:], the protocol's + * pendingChallenge property will contain the challenge. + * + * -# While there is a pending challenge, the protocol may call -customHTTPProtocol:didCancelAuthenticationChallenge: + * to cancel the challenge. This is always called on the main thread. + * + * Note that this design follows the original NSURLConnection model, not the newer NSURLConnection model + * (introduced in OS X 10.7 / iOS 5) or the NSURLSession model, because of my concerns about performance. + * Specifically, -customHTTPProtocol:canAuthenticateAgainstProtectionSpace: can be called on any thread + * but -customHTTPProtocol:didReceiveAuthenticationChallenge: is called on the main thread. If I unified + * them I'd end up calling the resulting single routine on the main thread, which meanings a lot more + * bouncing between threads, much of which would be pointless in the common case where you don't want to + * customise the default behaviour. Alternatively I could call the unified routine on an arbitrary thread, + * but that would make it harder for clients and require a major rework of my implementation. + */ + +@protocol _CustomHTTPProtocolDelegate + +@optional + +/*! Called by an CustomHTTPProtocol instance to ask the delegate whether it's prepared to handle + * a particular authentication challenge. Can be called on any thread. + * \param protocol The protocol instance itself; will not be nil. + * \param protectionSpace The protection space for the authentication challenge; will not be nil. + * \returns Return YES if you want the -customHTTPProtocol:didReceiveAuthenticationChallenge: delegate + * callback, or NO for the challenge to be handled in the default way. + */ + +- (BOOL)customHTTPProtocol:(_CustomHTTPProtocol *)protocol canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace; + +/*! Called by an CustomHTTPProtocol instance to request that the delegate process on authentication + * challenge. Will be called on the main thread. Unless the challenge is cancelled (see below) + * the delegate must eventually resolve it by calling -resolveAuthenticationChallenge:withCredential:. + * \param protocol The protocol instance itself; will not be nil. + * \param challenge The authentication challenge; will not be nil. + */ + +- (void)customHTTPProtocol:(_CustomHTTPProtocol *)protocol didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge; + +/*! Called by an CustomHTTPProtocol instance to cancel an issued authentication challenge. + * Will be called on the main thread. + * \param protocol The protocol instance itself; will not be nil. + * \param challenge The authentication challenge; will not be nil; will match the challenge + * previously issued by -customHTTPProtocol:canAuthenticateAgainstProtectionSpace:. + */ + +- (void)customHTTPProtocol:(_CustomHTTPProtocol *)protocol didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge; + +/*! Called by the CustomHTTPProtocol to log various bits of information. + * Can be called on any thread. + * \param protocol The protocol instance itself; nil to indicate log messages from the class itself. + * \param format A standard NSString-style format string; will not be nil. + * \param arguments Arguments for that format string. + */ + +- (void)customHTTPProtocol:(_CustomHTTPProtocol *)protocol logWithFormat:(NSString *)format arguments:(va_list)arguments; + +@end diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.m b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.m new file mode 100644 index 0000000..0e8163d --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.m @@ -0,0 +1,1189 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_CustomHTTPProtocol.h" + +#import "_CanonicalRequest.h" +#import "_CacheStoragePolicy.h" +#import "_QNSURLSessionDemux.h" + +//liman +#import "_Swizzling.h" +#import "_NetworkHelper.h" +#import "_HttpDatasource.h" +#import "NSObject+CocoaDebug.h" + +// https://stackoverflow.com/questions/27604052/nsurlsessiontask-authentication-challenge-completionhandler-and-nsurlauthenticat +@interface CPURLSessionChallengeSender : NSObject + +- (instancetype)initWithSessionCompletionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler; + +@end + +@implementation CPURLSessionChallengeSender +{ + void (^_sessionCompletionHandler)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential); +} + +- (instancetype)initWithSessionCompletionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler +{ + self = [super init]; + + if (self) + { + _sessionCompletionHandler = [completionHandler copy]; + } + + return self; +} + +- (void)useCredential:(NSURLCredential *)credential forAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge +{ + _sessionCompletionHandler(NSURLSessionAuthChallengeUseCredential, credential); +} + +- (void)continueWithoutCredentialForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge +{ + _sessionCompletionHandler(NSURLSessionAuthChallengeUseCredential, nil); +} + +- (void)cancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge; +{ + _sessionCompletionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil); +} + +- (void)performDefaultHandlingForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge +{ + _sessionCompletionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); +} + +- (void)rejectProtectionSpaceAndContinueWithChallenge:(NSURLAuthenticationChallenge *)challenge +{ + _sessionCompletionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, nil); +} + +@end + +//liman +typedef NSURLSessionConfiguration *(*SessionConfigConstructor)(id,SEL); + +static SessionConfigConstructor orig_defaultSessionConfiguration; +static SessionConfigConstructor orig_ephemeralSessionConfiguration; + +static NSURLSessionConfiguration *replaced_defaultSessionConfiguration(id self, SEL _cmd) +{ + NSURLSessionConfiguration *config = orig_defaultSessionConfiguration(self,_cmd); + + if ([config respondsToSelector:@selector(protocolClasses)] && [config respondsToSelector:@selector(setProtocolClasses:)]) { + NSMutableArray *urlProtocolClasses = [NSMutableArray arrayWithArray:config.protocolClasses]; + Class protoCls = _CustomHTTPProtocol.class; + if (![urlProtocolClasses containsObject:protoCls]) { + [urlProtocolClasses insertObject:protoCls atIndex:0]; + } + + config.protocolClasses = urlProtocolClasses; + } + + return config; +} + +static NSURLSessionConfiguration *replaced_ephemeralSessionConfiguration(id self, SEL _cmd) +{ + NSURLSessionConfiguration *config = orig_ephemeralSessionConfiguration(self,_cmd); + + if ([config respondsToSelector:@selector(protocolClasses)] && [config respondsToSelector:@selector(setProtocolClasses:)]) { + NSMutableArray *urlProtocolClasses = [NSMutableArray arrayWithArray:config.protocolClasses]; + Class protoCls = _CustomHTTPProtocol.class; + if (![urlProtocolClasses containsObject:protoCls]) { + [urlProtocolClasses insertObject:protoCls atIndex:0]; + } + + config.protocolClasses = urlProtocolClasses; + } + + return config; +} + +// I use the following typedef to keep myself sane in the face of the wacky +// Objective-C block syntax. + +typedef void (^_ChallengeCompletionHandler)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * credential); + +@interface _CustomHTTPProtocol () + +@property (atomic, strong, readwrite) NSThread * clientThread; ///< The thread on which we should call the client. + +/*! The run loop modes in which to call the client. + * \details The concurrency control here is complex. It's set up on the client + * thread in -startLoading and then never modified. It is, however, read by code + * running on other threads (specifically the main thread), so we deallocate it in + * -dealloc rather than in -stopLoading. We can be sure that it's not read before + * it's set up because the main thread code that reads it can only be called after + * -startLoading has started the connection running. + */ + +@property (atomic, copy, readwrite) NSArray * modes; +@property (atomic, assign, readwrite) NSTimeInterval startTime; ///< The start time of the request; written by client thread only; read by any thread. +@property (atomic, strong, readwrite) NSURLSessionDataTask * task; ///< The NSURLSession task for that request; client thread only. +@property (atomic, strong, readwrite) NSURLAuthenticationChallenge * pendingChallenge; +@property (atomic, copy, readwrite) _ChallengeCompletionHandler pendingChallengeCompletionHandler; ///< The completion handler that matches pendingChallenge; main thread only. + +//liman +@property (atomic, strong) NSURLResponse *response; +@property (atomic, strong) NSMutableData *data; +@property (atomic, strong) NSError *error; + +@end + +@implementation _CustomHTTPProtocol + +#pragma mark * Subclass specific additions + +/*! The backing store for the class delegate. This is protected by @synchronized on the class. + */ + +static id<_CustomHTTPProtocolDelegate> sDelegate; + ++ (void)start +{ + [NSURLProtocol registerClass:self]; +} + +//liman ++ (void)stop +{ + [NSURLProtocol unregisterClass:self]; +} + ++ (id<_CustomHTTPProtocolDelegate>)delegate +{ + id<_CustomHTTPProtocolDelegate> result; + + @synchronized (self) { + result = sDelegate; + } + return result; +} + ++ (void)setDelegate:(id<_CustomHTTPProtocolDelegate>)newValue +{ + @synchronized (self) { + sDelegate = newValue; + } +} + +/*! Returns the session demux object used by all the protocol instances. + * \details This object allows us to have a single NSURLSession, with a session delegate, + * and have its delegate callbacks routed to the correct protocol instance on the correct + * thread in the correct modes. Can be called on any thread. + */ + ++ (_QNSURLSessionDemux *)sharedDemux +{ + static dispatch_once_t sOnceToken; + static _QNSURLSessionDemux * sDemux; + dispatch_once(&sOnceToken, ^{ + NSURLSessionConfiguration * config; + + config = [NSURLSessionConfiguration defaultSessionConfiguration]; + // You have to explicitly configure the session to use your own protocol subclass here + // otherwise you don't see redirects . + config.protocolClasses = @[ self ]; + sDemux = [[_QNSURLSessionDemux alloc] initWithConfiguration:config]; + }); + return sDemux; +} + +/*! Called by by both class code and instance code to log various bits of information. + * Can be called on any thread. + * \param protocol The protocol instance; nil if it's the class doing the logging. + * \param format A standard NSString-style format string; will not be nil. + */ + +#pragma mark * NSURLProtocol overrides + +/*! Used to mark our recursive requests so that we don't try to handle them (and thereby + * suffer an infinite recursive death). + */ + +static NSString * kOurRecursiveRequestFlagProperty = @"com.apple.dts.CustomHTTPProtocol"; + +//liman +//+ (BOOL)canInitWithRequest:(NSURLRequest *)request +//{ +// BOOL shouldAccept; +// NSURL * url; +// NSString * scheme; +// +// // Check the basics. This routine is extremely defensive because experience has shown that +// // it can be called with some very odd requests . +// +// shouldAccept = (request != nil); +// if (shouldAccept) { +// url = [request URL]; +// shouldAccept = (url != nil); +// } +// if ( ! shouldAccept ) { +// [self customHTTPProtocol:nil logWithFormat:@"decline request (malformed)"]; +// } +// +// // Decline our recursive requests. +// +// if (shouldAccept) { +// shouldAccept = ([self propertyForKey:kOurRecursiveRequestFlagProperty inRequest:request] == nil); +// if ( ! shouldAccept ) { +// [self customHTTPProtocol:nil logWithFormat:@"decline request %@ (recursive)", url]; +// } +// } +// +// // Get the scheme. +// +// if (shouldAccept) { +// scheme = [[url scheme] lowercaseString]; +// shouldAccept = (scheme != nil); +// +// if ( ! shouldAccept ) { +// [self customHTTPProtocol:nil logWithFormat:@"decline request %@ (no scheme)", url]; +// } +// } +// +// // Look for "http" or "https". +// // +// // Flip either or both of the following to YESes to control which schemes go through this custom +// // NSURLProtocol subclass. +// +// if (shouldAccept) { +// shouldAccept = /* DISABLES CODE */ (NO) && [scheme isEqual:@"http"]; +// if ( ! shouldAccept ) { +// shouldAccept = YES && [scheme isEqual:@"https"]; +// } +// +// if ( ! shouldAccept ) { +// [self customHTTPProtocol:nil logWithFormat:@"decline request %@ (scheme mismatch)", url]; +// } else { +// [self customHTTPProtocol:nil logWithFormat:@"accept request %@", url]; +// } +// } +// +// return shouldAccept; +//} + +//liman ++ (BOOL)canInitWithRequest:(NSURLRequest *)request +{ + if (![request.URL.scheme isEqualToString:@"http"] && + ![request.URL.scheme isEqualToString:@"https"]) { + return NO; + } + + if ([NSURLProtocol propertyForKey:kOurRecursiveRequestFlagProperty inRequest:request] ) { + return NO; + } + + if ([[_NetworkHelper shared] onlyURLs].count > 0) { + NSString* url = [request.URL.absoluteString lowercaseString]; + for (NSString* _url in [_NetworkHelper shared].onlyURLs) { + if ([url rangeOfString:[_url lowercaseString]].location != NSNotFound) + return YES; + } + return NO; + } + + return YES; +} + ++ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request +{ + NSURLRequest * result; + + //assert(request != nil); + // can be called on any thread + + // Canonicalising a request is quite complex, so all the heavy lifting has + // been shuffled off to a separate module. + + result = CanonicalRequestForRequest(request); + + + return result; +} + +- (id)initWithRequest:(NSURLRequest *)request cachedResponse:(NSCachedURLResponse *)cachedResponse client:(id )client +{ + //assert(request != nil); + // cachedResponse may be nil + //assert(client != nil); + // can be called on any thread + + self = [super initWithRequest:request cachedResponse:cachedResponse client:client]; + + return self; +} + +- (void)dealloc +{ + // can be called on any thread + + //assert(self->_task == nil); // we should have cleared it by now + //assert(self->_pendingChallenge == nil); // we should have cancelled it by now + //assert(self->_pendingChallengeCompletionHandler == nil); // we should have cancelled it by now +} + +- (void)startLoading +{ + NSMutableURLRequest * recursiveRequest; + NSMutableArray * calculatedModes; + NSString * currentMode; + + // At this point we kick off the process of loading the URL via NSURLSession. + // The thread that calls this method becomes the client thread. + + //assert(self.clientThread == nil); // you can't call -startLoading twice + //assert(self.task == nil); + + // Calculate our effective run loop modes. In some circumstances (yes I'm looking at + // you UIWebView!) we can be called from a non-standard thread which then runs a + // non-standard run loop mode waiting for the request to finish. We detect this + // non-standard mode and add it to the list of run loop modes we use when scheduling + // our callbacks. Exciting huh? + // + // For debugging purposes the non-standard mode is "WebCoreSynchronousLoaderRunLoopMode" + // but it's better not to hard-code that here. + + //assert(self.modes == nil); + calculatedModes = [NSMutableArray array]; + [calculatedModes addObject:NSDefaultRunLoopMode]; + currentMode = [[NSRunLoop currentRunLoop] currentMode]; + if ( (currentMode != nil) && ! [currentMode isEqual:NSDefaultRunLoopMode] ) { + [calculatedModes addObject:currentMode]; + } + self.modes = calculatedModes; + //assert([self.modes count] > 0); + + // Create new request that's a clone of the request we were initialised with, + // except that it has our 'recursive request flag' property set on it. + + recursiveRequest = [[self request] mutableCopy]; + //assert(recursiveRequest != nil); + + [[self class] setProperty:@YES forKey:kOurRecursiveRequestFlagProperty inRequest:recursiveRequest]; + + //liman + self.startTime = [[NSDate date] timeIntervalSince1970]; + self.data = [NSMutableData data]; + + // Latch the thread we were called on, primarily for debugging purposes. + + self.clientThread = [NSThread currentThread]; + + // Once everything is ready to go, create a data task with the new request. + + self.task = [[[self class] sharedDemux] dataTaskWithRequest:recursiveRequest delegate:self modes:self.modes]; + //assert(self.task != nil); + + [self.task resume]; +} + +- (void)stopLoading +{ + // The implementation just cancels the current load (if it's still running). + + //assert(self.clientThread != nil); // someone must have called -startLoading + + // Check that we're being stopped on the same thread that we were started + // on. Without this invariant things are going to go badly (for example, + // run loop sources that got attached during -startLoading may not get + // detached here). + // + // I originally had code here to bounce over to the client thread but that + // actually gets complex when you consider run loop modes, so I've nixed it. + // Rather, I rely on our client calling us on the right thread, which is what + // the following //assert is about. + + //assert([NSThread currentThread] == self.clientThread); + + [self cancelPendingChallenge]; + if (self.task != nil) { + [self.task cancel]; + self.task = nil; + // The following ends up calling -URLSession:task:didCompleteWithError: with NSURLErrorDomain / NSURLErrorCancelled, + // which specificallys traps and ignores the error. + } + // Don't nil out self.modes; see property declaration comments for a a discussion of this. + + + + //liman + if (![_NetworkHelper shared].isNetworkEnable) { + return; + } + + _HttpModel* model = [[_HttpModel alloc] init]; + model.url = self.request.URL; + model.method = self.request.HTTPMethod; + model.mineType = self.response.MIMEType; + if (self.request.HTTPBody) { + model.requestData = self.request.HTTPBody; + } + if (self.request.HTTPBodyStream) {//liman + NSData* data = [NSData dataWithInputStream:self.request.HTTPBodyStream]; + model.requestData = data; + } + + NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)self.response; + model.statusCode = [NSString stringWithFormat:@"%d",(int)httpResponse.statusCode]; + model.responseData = self.data; + model.size = [[NSByteCountFormatter new] stringFromByteCount:self.data.length]; + model.isImage = [self.response.MIMEType rangeOfString:@"image"].location != NSNotFound; + + //时间 + NSTimeInterval startTimeDouble = self.startTime; + NSTimeInterval endTimeDouble = [[NSDate date] timeIntervalSince1970]; + NSTimeInterval durationDouble = fabs(endTimeDouble - startTimeDouble); + + model.startTime = [NSString stringWithFormat:@"%f", startTimeDouble]; + model.endTime = [NSString stringWithFormat:@"%f", endTimeDouble]; + model.totalDuration = [NSString stringWithFormat:@"%f (s)", durationDouble]; + + + model.errorDescription = self.error.description; + model.errorLocalizedDescription = self.error.localizedDescription; + model.requestHeaderFields = self.request.allHTTPHeaderFields; + + if ([self.response isKindOfClass:[NSHTTPURLResponse class]]) { + model.responseHeaderFields = ((NSHTTPURLResponse *)self.response).allHeaderFields; + } + + if (self.response.MIMEType == nil) { + model.isImage = NO; + } + + if ([model.url.absoluteString length] > 4) { + NSString *str = [model.url.absoluteString substringFromIndex: [model.url.absoluteString length] - 4]; + if ([str isEqualToString:@".png"] || [str isEqualToString:@".PNG"] || [str isEqualToString:@".jpg"] || [str isEqualToString:@".JPG"] || [str isEqualToString:@".gif"] || [str isEqualToString:@".GIF"]) { + model.isImage = YES; + } + } + if ([model.url.absoluteString length] > 5) { + NSString *str = [model.url.absoluteString substringFromIndex: [model.url.absoluteString length] - 5]; + if ([str isEqualToString:@".jpeg"] || [str isEqualToString:@".JPEG"]) { + model.isImage = YES; + } + } + + //Handling errors 404... + model = [self handleError:self.error model:model]; + + + if ([[_HttpDatasource shared] addHttpRequset:model]) + { + [[NSNotificationCenter defaultCenter] postNotificationName:@"reloadHttp_CocoaDebug" object:nil userInfo:@{@"statusCode":model.statusCode}]; + } +} + +#pragma mark * Authentication challenge handling + +/*! Performs the block on the specified thread in one of specified modes. + * \param thread The thread to target; nil implies the main thread. + * \param modes The modes to target; nil or an empty array gets you the default run loop mode. + * \param block The block to run. + */ + +- (void)performOnThread:(NSThread *)thread modes:(NSArray *)modes block:(dispatch_block_t)block +{ + // thread may be nil + // modes may be nil + //assert(block != nil); + + if (thread == nil) { + thread = [NSThread mainThread]; + } + if ([modes count] == 0) { + modes = @[ NSDefaultRunLoopMode ]; + } + [self performSelector:@selector(onThreadPerformBlock:) onThread:thread withObject:[block copy] waitUntilDone:NO modes:modes]; +} + +/*! A helper method used by -performOnThread:modes:block:. Runs in the specified context + * and simply calls the block. + * \param block The block to run. + */ + +- (void)onThreadPerformBlock:(dispatch_block_t)block +{ + //assert(block != nil); + block(); +} + +/*! Called by our NSURLSession delegate callback to pass the challenge to our delegate. + * \description This simply passes the challenge over to the main thread. + * We do this so that all accesses to pendingChallenge are done from the main thread, + * which avoids the need for extra synchronisation. + * + * By the time this runes, the NSURLSession delegate callback has already confirmed with + * the delegate that it wants the challenge. + * + * Note that we use the default run loop mode here, not the common modes. We don't want + * an authorisation dialog showing up on top of an active menu (-: + * + * Also, we implement our own 'perform block' infrastructure because Cocoa doesn't have + * one and CFRunLoopPerformBlock is inadequate for the + * return case (where we need to pass in an array of modes; CFRunLoopPerformBlock only takes + * one mode). + * \param challenge The authentication challenge to process; must not be nil. + * \param completionHandler The associated completion handler; must not be nil. + */ + +- (void)didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(_ChallengeCompletionHandler)completionHandler +{ + //assert(challenge != nil); + //assert(completionHandler != nil); + //assert([NSThread currentThread] == self.clientThread); + + [self performOnThread:nil modes:nil block:^{ + [self mainThreadDidReceiveAuthenticationChallenge:challenge completionHandler:completionHandler]; + }]; +} + +/*! The main thread side of authentication challenge processing. + * \details If there's already a pending challenge, something has gone wrong and + * the routine simply cancels the new challenge. If our delegate doesn't implement + * the -customHTTPProtocol:canAuthenticateAgainstProtectionSpace: delegate callback, + * we also cancel the challenge. OTOH, if all goes well we simply call our delegate + * with the challenge. + * \param challenge The authentication challenge to process; must not be nil. + * \param completionHandler The associated completion handler; must not be nil. + */ + +- (void)mainThreadDidReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(_ChallengeCompletionHandler)completionHandler +{ + //assert(challenge != nil); + //assert(completionHandler != nil); + //assert([NSThread isMainThread]); + + if (self.pendingChallenge != nil) { + + // Our delegate is not expecting a second authentication challenge before resolving the + // first. Likewise, NSURLSession shouldn't send us a second authentication challenge + // before we resolve the first. If this happens, //assert, log, and cancel the challenge. + // + // Note that we have to cancel the challenge on the thread on which we received it, + // namely, the client thread. + + + //assert(NO); + [self clientThreadCancelAuthenticationChallenge:challenge completionHandler:completionHandler]; + } else { + id<_CustomHTTPProtocolDelegate> strongDelegate; + + strongDelegate = [[self class] delegate]; + + // Tell the delegate about it. It would be weird if the delegate didn't support this + // selector (it did return YES from -customHTTPProtocol:canAuthenticateAgainstProtectionSpace: + // after all), but if it doesn't then we just cancel the challenge ourselves (or the client + // thread, of course). + + if ( ! [strongDelegate respondsToSelector:@selector(customHTTPProtocol:canAuthenticateAgainstProtectionSpace:)] ) { + + //assert(NO); + [self clientThreadCancelAuthenticationChallenge:challenge completionHandler:completionHandler]; + } else { + + // Remember that this challenge is in progress. + + self.pendingChallenge = challenge; + self.pendingChallengeCompletionHandler = completionHandler; + + // Pass the challenge to the delegate. + + + [strongDelegate customHTTPProtocol:self didReceiveAuthenticationChallenge:self.pendingChallenge]; + } + } +} + +/*! Cancels an authentication challenge that hasn't made it to the pending challenge state. + * \details This routine is called as part of various error cases in the challenge handling + * code. It cancels a challenge that, for some reason, we've failed to pass to our delegate. + * + * The routine is always called on the main thread but bounces over to the client thread to + * do the actual cancellation. + * \param challenge The authentication challenge to cancel; must not be nil. + * \param completionHandler The associated completion handler; must not be nil. + */ + +- (void)clientThreadCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(_ChallengeCompletionHandler)completionHandler +{ + #pragma unused(challenge) + //assert(challenge != nil); + //assert(completionHandler != nil); + //assert([NSThread isMainThread]); + + [self performOnThread:self.clientThread modes:self.modes block:^{ + completionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil); + }]; +} + +/*! Cancels an authentication challenge that /has/ made to the pending challenge state. + * \details This routine is called by -stopLoading to cancel any challenge that might be + * pending when the load is cancelled. It's always called on the client thread but + * immediately bounces over to the main thread (because .pendingChallenge is a main + * thread only value). + */ + +- (void)cancelPendingChallenge +{ + //assert([NSThread currentThread] == self.clientThread); + + // Just pass the work off to the main thread. We do this so that all accesses + // to pendingChallenge are done from the main thread, which avoids the need for + // extra synchronisation. + + [self performOnThread:nil modes:nil block:^{ + if (self.pendingChallenge == nil) { + // This is not only not unusual, it's actually very typical. It happens every time you shut down + // the connection. Ideally I'd like to not even call -mainThreadCancelPendingChallenge when + // there's no challenge outstanding, but the synchronisation issues are tricky. Rather than solve + // those, I'm just not going to log in this case. + // + // [[self class] customHTTPProtocol:self logWithFormat:@"challenge not cancelled; no challenge pending"]; + } else { + id<_CustomHTTPProtocolDelegate> strongeDelegate; + NSURLAuthenticationChallenge * challenge; + + strongeDelegate = [[self class] delegate]; + + challenge = self.pendingChallenge; + self.pendingChallenge = nil; + self.pendingChallengeCompletionHandler = nil; + + if ([strongeDelegate respondsToSelector:@selector(customHTTPProtocol:didCancelAuthenticationChallenge:)]) { + [strongeDelegate customHTTPProtocol:self didCancelAuthenticationChallenge:challenge]; + } else { + // If we managed to send a challenge to the client but can't cancel it, that's bad. + // There's nothing we can do at this point except log the problem. + //assert(NO); + } + } + }]; +} + +- (void)resolveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge withCredential:(NSURLCredential *)credential +{ + //assert(challenge == self.pendingChallenge); + // credential may be nil + //assert([NSThread isMainThread]); + //assert(self.clientThread != nil); + + if (challenge != self.pendingChallenge) { + // This should never happen, and we want to know if it does, at least in the debug build. + //assert(NO); + } else { + _ChallengeCompletionHandler completionHandler; + + // We clear out our record of the pending challenge and then pass the real work + // over to the client thread (which ensures that the challenge is resolved on + // the same thread we received it on). + + completionHandler = self.pendingChallengeCompletionHandler; + self.pendingChallenge = nil; + self.pendingChallengeCompletionHandler = nil; + + [self performOnThread:self.clientThread modes:self.modes block:^{ + if (credential == nil) { + completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); + } else { + completionHandler(NSURLSessionAuthChallengeUseCredential, credential); + } + }]; + } +} + +#pragma mark * NSURLSession delegate callbacks + +//liman +//- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)newRequest completionHandler:(void (^)(NSURLRequest *))completionHandler +//{ +// NSMutableURLRequest * redirectRequest; +// +// #pragma unused(session) +// #pragma unused(task) +// //assert(task == self.task); +// //assert(response != nil); +// //assert(newRequest != nil); +// #pragma unused(completionHandler) +// //assert(completionHandler != nil); +// //assert([NSThread currentThread] == self.clientThread); +// +// +// // The new request was copied from our old request, so it has our magic property. We actually +// // have to remove that so that, when the client starts the new request, we see it. If we +// // don't do this then we never see the new request and thus don't get a chance to change +// // its caching behaviour. +// // +// // We also cancel our current connection because the client is going to start a new request for +// // us anyway. +// +// //assert([[self class] propertyForKey:kOurRecursiveRequestFlagProperty inRequest:newRequest] != nil); +// +// redirectRequest = [newRequest mutableCopy]; +// [[self class] removePropertyForKey:kOurRecursiveRequestFlagProperty inRequest:redirectRequest]; +// +// // Tell the client about the redirect. +// +// [[self client] URLProtocol:self wasRedirectedToRequest:redirectRequest redirectResponse:response]; +// +// // Stop our load. The CFNetwork infrastructure will create a new NSURLProtocol instance to run +// // the load of the redirect. +// +// // The following ends up calling -URLSession:task:didCompleteWithError: with NSURLErrorDomain / NSURLErrorCancelled, +// // which specificallys traps and ignores the error. +// +// [self.task cancel]; +// +// [[self client] URLProtocol:self didFailWithError:[NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:nil]]; +//} + +//liman +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)request completionHandler:(void (^)(NSURLRequest * _Nullable))completionHandler +{ + //Redirect: code >=300 && < 400 + if (response && [response isKindOfClass:[NSHTTPURLResponse class]]) { + NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; + NSInteger status = httpResponse.statusCode; + if (status >= 300 && status < 400) { + [[self client] URLProtocol:self wasRedirectedToRequest:request redirectResponse:response]; + //Remember to set to nil, otherwise the normal request will be requested twice + request = nil; + } + } + + completionHandler(request); +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler +{ + BOOL result; + id<_CustomHTTPProtocolDelegate> strongeDelegate; + + #pragma unused(session) + #pragma unused(task) + //assert(task == self.task); + //assert(challenge != nil); + //assert(completionHandler != nil); + //assert([NSThread currentThread] == self.clientThread); + + // Ask our delegate whether it wants this challenge. We do this from this thread, not the main thread, + // to avoid the overload of bouncing to the main thread for challenges that aren't going to be customised + // anyway. + + strongeDelegate = [[self class] delegate]; + + result = NO; + if ([strongeDelegate respondsToSelector:@selector(customHTTPProtocol:canAuthenticateAgainstProtectionSpace:)]) { + result = [strongeDelegate customHTTPProtocol:self canAuthenticateAgainstProtectionSpace:[challenge protectionSpace]]; + } + + // If the client wants the challenge, kick off that process. If not, resolve it by doing the default thing. + + if (result) { + + [self didReceiveAuthenticationChallenge:challenge completionHandler:completionHandler]; + } else { + +// completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); + // Callback the original method + NSURLAuthenticationChallenge* challengeWrapper = [[NSURLAuthenticationChallenge alloc] initWithAuthenticationChallenge:challenge sender:[[CPURLSessionChallengeSender alloc] initWithSessionCompletionHandler:completionHandler]]; + [self.client URLProtocol:self didReceiveAuthenticationChallenge:challengeWrapper]; + } +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler +{ + NSURLCacheStoragePolicy cacheStoragePolicy; + NSInteger statusCode; + + #pragma unused(session) + #pragma unused(dataTask) + //assert(dataTask == self.task); + //assert(response != nil); + //assert(completionHandler != nil); + //assert([NSThread currentThread] == self.clientThread); + + // Pass the call on to our client. The only tricky thing is that we have to decide on a + // cache storage policy, which is based on the actual request we issued, not the request + // we were given. + + if ([response isKindOfClass:[NSHTTPURLResponse class]]) { + cacheStoragePolicy = CacheStoragePolicyForRequestAndResponse(self.task.originalRequest, (NSHTTPURLResponse *) response); + statusCode = [((NSHTTPURLResponse *) response) statusCode]; + } else { + //assert(NO); + cacheStoragePolicy = NSURLCacheStorageNotAllowed; + statusCode = 42; + } + + + [[self client] URLProtocol:self didReceiveResponse:response cacheStoragePolicy:cacheStoragePolicy]; + + self.response = response;//liman + + completionHandler(NSURLSessionResponseAllow); +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data +{ + #pragma unused(session) + #pragma unused(dataTask) + //assert(dataTask == self.task); + //assert(data != nil); + //assert([NSThread currentThread] == self.clientThread); + + // Just pass the call on to our client. + + + [[self client] URLProtocol:self didLoadData:data]; + [self.data appendData:data];//liman +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask willCacheResponse:(NSCachedURLResponse *)proposedResponse completionHandler:(void (^)(NSCachedURLResponse *))completionHandler +{ + #pragma unused(session) + #pragma unused(dataTask) + //assert(dataTask == self.task); + //assert(proposedResponse != nil); + //assert(completionHandler != nil); + //assert([NSThread currentThread] == self.clientThread); + + // We implement this delegate callback purely for the purposes of logging. + + + completionHandler(proposedResponse); +} + +//liman +//- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error +// // An NSURLSession delegate callback. We pass this on to the client. +//{ +// #pragma unused(session) +// #pragma unused(task) +// //assert( (self.task == nil) || (task == self.task) ); // can be nil in the 'cancel from -stopLoading' case +// //assert([NSThread currentThread] == self.clientThread); +// +// // Just log and then, in most cases, pass the call on to our client. +// +// if (error == nil) { +// +// [[self client] URLProtocolDidFinishLoading:self]; +// } else if ( [[error domain] isEqual:NSURLErrorDomain] && ([error code] == NSURLErrorCancelled) ) { +// // Do nothing. This happens in two cases: +// // +// // o during a redirect, in which case the redirect code has already told the client about +// // the failure +// // +// // o if the request is cancelled by a call to -stopLoading, in which case the client doesn't +// // want to know about the failure +// } else { +// +// [[self client] URLProtocol:self didFailWithError:error]; +// } +// +// // We don't need to clean up the connection here; the system will call, or has already called, +// // -stopLoading to do that. +//} + +//liman +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error +{ + if (error) { + [[self client] URLProtocol:self didFailWithError:error]; + self.error = error; + } else { + [[self client] URLProtocolDidFinishLoading:self]; + } +} + + +#pragma mark - +//liman ++ (void)load { + + if (![[NSUserDefaults standardUserDefaults] boolForKey:@"disableNetworkMonitoring_CocoaDebug"]) { + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + + orig_defaultSessionConfiguration = (SessionConfigConstructor)replaceMethod(@selector(defaultSessionConfiguration), (IMP)replaced_defaultSessionConfiguration, [NSURLSessionConfiguration class], YES); + + orig_ephemeralSessionConfiguration = (SessionConfigConstructor)replaceMethod(@selector(ephemeralSessionConfiguration), (IMP)replaced_ephemeralSessionConfiguration, [NSURLSessionConfiguration class], YES); + }); + } +} + +//Handling errors 404... +- (_HttpModel *)handleError:(NSError *)error model:(_HttpModel *)model { + if (!error) { + //https://httpcodes.co/status/ + switch (model.statusCode.integerValue) { + case 100: + model.errorDescription = @"Informational :\nClient should continue with request"; + model.errorLocalizedDescription = @"Continue"; + break; + case 101: + model.errorDescription = @"Informational :\nServer is switching protocols"; + model.errorLocalizedDescription = @"Switching Protocols"; + break; + case 102: + model.errorDescription = @"Informational :\nServer has received and is processing the request"; + model.errorLocalizedDescription = @"Processing"; + break; + case 103: + model.errorDescription = @"Informational :\nresume aborted PUT or POST requests"; + model.errorLocalizedDescription = @"Checkpoint"; + break; + case 122: + model.errorDescription = @"Informational :\nURI is longer than a maximum of 2083 characters"; + model.errorLocalizedDescription = @"Request-URI too long"; + break; + case 300: + model.errorDescription = @"Redirection :\nMultiple options for the resource delivered"; + model.errorLocalizedDescription = @"Multiple Choices"; + break; + case 301: + model.errorDescription = @"Redirection :\nThis and all future requests directed to the given URI"; + model.errorLocalizedDescription = @"Moved Permanently"; + break; + case 302: + model.errorDescription = @"Redirection :\nTemporary response to request found via alternative URI"; + model.errorLocalizedDescription = @"Found"; + break; + case 303: + model.errorDescription = @"Redirection :\nPermanent response to request found via alternative URI"; + model.errorLocalizedDescription = @"See Other"; + break; + case 304: + model.errorDescription = @"Redirection :\nResource has not been modified since last requested"; + model.errorLocalizedDescription = @"Not Modified"; + break; + case 305: + model.errorDescription = @"Redirection :\nContent located elsewhere, retrieve from there"; + model.errorLocalizedDescription = @"Use Proxy"; + break; + case 306: + model.errorDescription = @"Redirection :\nSubsequent requests should use the specified proxy"; + model.errorLocalizedDescription = @"Switch Proxy"; + break; + case 307: + model.errorDescription = @"Redirection :\nConnect again to different URI as provided"; + model.errorLocalizedDescription = @"Temporary Redirect"; + break; + case 308: + model.errorDescription = @"Redirection :\nConnect again to a different URI using the same method"; + model.errorLocalizedDescription = @"Permanent Redirect"; + break; + case 400: + model.errorDescription = @"Client Error :\nRequest cannot be fulfilled due to bad syntax"; + model.errorLocalizedDescription = @"Bad Request"; + break; + case 401: + model.errorDescription = @"Client Error :\nAuthentication is possible but has failed"; + model.errorLocalizedDescription = @"Unauthorized"; + break; + case 402: + model.errorDescription = @"Client Error :\nPayment required, reserved for future use"; + model.errorLocalizedDescription = @"Payment Required"; + break; + case 403: + model.errorDescription = @"Client Error :\nServer refuses to respond to request"; + model.errorLocalizedDescription = @"Forbidden"; + break; + case 404: + model.errorDescription = @"Client Error :\nRequested resource could not be found"; + model.errorLocalizedDescription = @"Not Found"; + break; + case 405: + model.errorDescription = @"Client Error :\nRequest method not supported by that resource"; + model.errorLocalizedDescription = @"Method Not Allowed"; + break; + case 406: + model.errorDescription = @"Client Error :\nContent not acceptable according to the Accept headers"; + model.errorLocalizedDescription = @"Not Acceptable"; + break; + case 407: + model.errorDescription = @"Client Error :\nClient must first authenticate itself with the proxy"; + model.errorLocalizedDescription = @"Proxy Authentication Required"; + break; + case 408: + model.errorDescription = @"Client Error :\nServer timed out waiting for the request"; + model.errorLocalizedDescription = @"Request Timeout"; + break; + case 409: + model.errorDescription = @"Client Error :\nRequest could not be processed because of conflict"; + model.errorLocalizedDescription = @"Conflict"; + break; + case 410: + model.errorDescription = @"Client Error :\nResource is no longer available and will not be available again"; + model.errorLocalizedDescription = @"Gone"; + break; + case 411: + model.errorDescription = @"Client Error :\nRequest did not specify the length of its content"; + model.errorLocalizedDescription = @"Length Required"; + break; + case 412: + model.errorDescription = @"Client Error :\nServer does not meet request preconditions"; + model.errorLocalizedDescription = @"Precondition Failed"; + break; + case 413: + model.errorDescription = @"Client Error :\nRequest is larger than the server is willing or able to process"; + model.errorLocalizedDescription = @"Request Entity Too Large"; + break; + case 414: + model.errorDescription = @"Client Error :\nURI provided was too long for the server to process"; + model.errorLocalizedDescription = @"Request-URI Too Long"; + break; + case 415: + model.errorDescription = @"Client Error :\nServer does not support media type"; + model.errorLocalizedDescription = @"Unsupported Media Type"; + break; + case 416: + model.errorDescription = @"Client Error :\nClient has asked for unprovidable portion of the file"; + model.errorLocalizedDescription = @"Requested Range Not Satisfiable"; + break; + case 417: + model.errorDescription = @"Client Error :\nServer cannot meet requirements of Expect request-header field"; + model.errorLocalizedDescription = @"Expectation Failed"; + break; + case 418: + model.errorDescription = @"Client Error :\nI'm a teapot"; + model.errorLocalizedDescription = @"I'm a Teapot"; + break; + case 420: + model.errorDescription = @"Client Error :\nTwitter rate limiting"; + model.errorLocalizedDescription = @"Enhance Your Calm"; + break; + case 421: + model.errorDescription = @"Client Error :\nMisdirected Request"; + model.errorLocalizedDescription = @"Misdirected Request"; + break; + case 422: + model.errorDescription = @"Client Error :\nRequest unable to be followed due to semantic errors"; + model.errorLocalizedDescription = @"Unprocessable Entity"; + break; + case 423: + model.errorDescription = @"Client Error :\nResource that is being accessed is locked"; + model.errorLocalizedDescription = @"Locked"; + break; + case 424: + model.errorDescription = @"Client Error :\nRequest failed due to failure of a previous request"; + model.errorLocalizedDescription = @"Failed Dependency"; + break; + case 426: + model.errorDescription = @"Client Error :\nClient should switch to a different protocol"; + model.errorLocalizedDescription = @"Upgrade Required"; + break; + case 428: + model.errorDescription = @"Client Error :\nOrigin server requires the request to be conditional"; + model.errorLocalizedDescription = @"Precondition Required"; + break; + case 429: + model.errorDescription = @"Client Error :\nUser has sent too many requests in a given amount of time"; + model.errorLocalizedDescription = @"Too Many Requests"; + break; + case 431: + model.errorDescription = @"Client Error :\nServer is unwilling to process the request"; + model.errorLocalizedDescription = @"Request Header Fields Too Large"; + break; + case 444: + model.errorDescription = @"Client Error :\nServer returns no information and closes the connection"; + model.errorLocalizedDescription = @"No Response"; + break; + case 449: + model.errorDescription = @"Client Error :\nRequest should be retried after performing action"; + model.errorLocalizedDescription = @"Retry With"; + break; + case 450: + model.errorDescription = @"Client Error :\nWindows Parental Controls blocking access to webpage"; + model.errorLocalizedDescription = @"Blocked by Windows Parental Controls"; + break; + case 451: + model.errorDescription = @"Client Error :\nThe server cannot reach the client's mailbox"; + model.errorLocalizedDescription = @"Wrong Exchange server"; + break; + case 499: + model.errorDescription = @"Client Error :\nConnection closed by client while HTTP server is processing"; + model.errorLocalizedDescription = @"Client Closed Request"; + break; + case 500: + model.errorDescription = @"Server Error :\ngeneric error message"; + model.errorLocalizedDescription = @"Internal Server Error"; + break; + case 501: + model.errorDescription = @"Server Error :\nserver does not recognise method or lacks ability to fulfill"; + model.errorLocalizedDescription = @"Not Implemented"; + break; + case 502: + model.errorDescription = @"Server Error :\nserver received an invalid response from upstream server"; + model.errorLocalizedDescription = @"Bad Gateway"; + break; + case 503: + model.errorDescription = @"Server Error :\nserver is currently unavailable"; + model.errorLocalizedDescription = @"Service Unavailable"; + break; + case 504: + model.errorDescription = @"Server Error :\ngateway did not receive response from upstream server"; + model.errorLocalizedDescription = @"Gateway Timeout"; + break; + case 505: + model.errorDescription = @"Server Error :\nserver does not support the HTTP protocol version"; + model.errorLocalizedDescription = @"HTTP Version Not Supported"; + break; + case 506: + model.errorDescription = @"Server Error :\ncontent negotiation for the request results in a circular reference"; + model.errorLocalizedDescription = @"Variant Also Negotiates"; + break; + case 507: + model.errorDescription = @"Server Error :\nserver is unable to store the representation"; + model.errorLocalizedDescription = @"Insufficient Storage"; + break; + case 508: + model.errorDescription = @"Server Error :\nserver detected an infinite loop while processing the request"; + model.errorLocalizedDescription = @"Loop Detected"; + break; + case 509: + model.errorDescription = @"Server Error :\nbandwidth limit exceeded"; + model.errorLocalizedDescription = @"Bandwidth Limit Exceeded"; + break; + case 510: + model.errorDescription = @"Server Error :\nfurther extensions to the request are required"; + model.errorLocalizedDescription = @"Not Extended"; + break; + case 511: + model.errorDescription = @"Server Error :\nclient needs to authenticate to gain network access"; + model.errorLocalizedDescription = @"Network Authentication Required"; + break; + case 526: + model.errorDescription = @"Server Error :\nThe origin web server does not have a valid SSL certificate"; + model.errorLocalizedDescription = @"Invalid SSL certificate"; + break; + case 598: + model.errorDescription = @"Server Error :\nnetwork read timeout behind the proxy"; + model.errorLocalizedDescription = @"Network Read Timeout Error"; + break; + case 599: + model.errorDescription = @"Server Error :\nnetwork connect timeout behind the proxy"; + model.errorLocalizedDescription = @"Network Connect Timeout Error"; + break; + default: + break; + } + } + + return model; +} + +@end diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h new file mode 100644 index 0000000..0f01f24 --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h @@ -0,0 +1,52 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +/*! A simple class for demultiplexing NSURLSession delegate callbacks to a per-task delegate object. + + You initialise the class with a session configuration. After that you can create data tasks + within that session by calling -dataTaskWithRequest:delegate:modes:. Any delegate callbacks + for that data task are redirected to the delegate on the thread that created the task in + one of the specified run loop modes. That thread must run its run loop in order to get + these callbacks. +*/ + +@interface _QNSURLSessionDemux : NSObject + +/*! Create a demultiplex for the specified session configuration. + * \param configuration The session configuration to use; if nil, a default session is created. + * \returns An initialised instance. + */ + +- (instancetype)initWithConfiguration:(NSURLSessionConfiguration *)configuration; + +@property (atomic, copy, readonly ) NSURLSessionConfiguration * configuration; ///< A copy of the configuration passed to -initWithConfiguration:. +@property (atomic, strong, readonly ) NSURLSession * session; ///< The session created from the configuration passed to -initWithConfiguration:. + +/*! Creates a new data task whose delegate callbacks are routed to the supplied delegate. + * \details The callbacks are run on the current thread (that is, the thread that called this + * method) in the specified modes. + * + * The delegate is retained until the task completes, that is, until after your + * -URLSession:task:didCompleteWithError: delegate callback returns. + * + * The returned task is suspend. You must resume the returned task for the task to + * make progress. Furthermore, it's not safe to simply discard the returned task + * because in that case the task's delegate is never released. + * + * \param request The request that the data task executes; must not be nil. + * \param delegate The delegate to receive the data task's delegate callbacks; must not be nil. + * \param modes The run loop modes in which to run the data task's delegate callbacks; if nil or + * empty, the default run loop mode (NSDefaultRunLoopMode is used). + * \returns A suspended data task that you must resume. + */ + +- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request delegate:(id)delegate modes:(NSArray *)modes; + +@end diff --git a/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.m b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.m new file mode 100644 index 0000000..72441a3 --- /dev/null +++ b/Pods/CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.m @@ -0,0 +1,279 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_QNSURLSessionDemux.h" + +@interface _QNSURLSessionDemuxTaskInfo : NSObject + +- (instancetype)initWithTask:(NSURLSessionDataTask *)task delegate:(id)delegate modes:(NSArray *)modes; + +@property (atomic, strong, readonly ) NSURLSessionDataTask * task; +@property (atomic, strong, readonly ) id delegate; +@property (atomic, strong, readonly ) NSThread * thread; +@property (atomic, copy, readonly ) NSArray * modes; + +- (void)performBlock:(dispatch_block_t)block; + +- (void)invalidate; + +@end + +@interface _QNSURLSessionDemuxTaskInfo () + +@property (atomic, strong, readwrite) id delegate; +@property (atomic, strong, readwrite) NSThread * thread; + +@end + +@implementation _QNSURLSessionDemuxTaskInfo + +- (instancetype)initWithTask:(NSURLSessionDataTask *)task delegate:(id)delegate modes:(NSArray *)modes +{ + //assert(task != nil); + //assert(delegate != nil); + //assert(modes != nil); + + self = [super init]; + if (self != nil) { + self->_task = task; + self->_delegate = delegate; + self->_thread = [NSThread currentThread]; + self->_modes = [modes copy]; + } + return self; +} + +- (void)performBlock:(dispatch_block_t)block +{ + //assert(self.delegate != nil); + //assert(self.thread != nil); + [self performSelector:@selector(performBlockOnClientThread:) onThread:self.thread withObject:[block copy] waitUntilDone:NO modes:self.modes]; +} + +- (void)performBlockOnClientThread:(dispatch_block_t)block +{ + //assert([NSThread currentThread] == self.thread); + block(); +} + +- (void)invalidate +{ + self.delegate = nil; + self.thread = nil; +} + +@end + +@interface _QNSURLSessionDemux () + +@property (atomic, strong, readonly ) NSMutableDictionary * taskInfoByTaskID; // keys NSURLSessionTask taskIdentifier, values are SessionManager +@property (atomic, strong, readonly ) NSOperationQueue * sessionDelegateQueue; + +@end + +@implementation _QNSURLSessionDemux + +- (instancetype)init +{ + return [self initWithConfiguration:nil]; +} + +- (instancetype)initWithConfiguration:(NSURLSessionConfiguration *)configuration +{ + // configuration may be nil + self = [super init]; + if (self != nil) { + if (configuration == nil) { + configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; + } + self->_configuration = [configuration copy]; + + self->_taskInfoByTaskID = [[NSMutableDictionary alloc] init]; + + self->_sessionDelegateQueue = [[NSOperationQueue alloc] init]; + [self->_sessionDelegateQueue setMaxConcurrentOperationCount:1]; + [self->_sessionDelegateQueue setName:@"_QNSURLSessionDemux"]; + + self->_session = [NSURLSession sessionWithConfiguration:self->_configuration delegate:self delegateQueue:self->_sessionDelegateQueue]; + self->_session.sessionDescription = @"_QNSURLSessionDemux"; + } + return self; +} + +- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request delegate:(id)delegate modes:(NSArray *)modes +{ + NSURLSessionDataTask * task; + _QNSURLSessionDemuxTaskInfo * taskInfo; + + //assert(request != nil); + //assert(delegate != nil); + // modes may be nil + + if ([modes count] == 0) { + modes = @[ NSDefaultRunLoopMode ]; + } + + task = [self.session dataTaskWithRequest:request]; + //assert(task != nil); + + taskInfo = [[_QNSURLSessionDemuxTaskInfo alloc] initWithTask:task delegate:delegate modes:modes]; + + @synchronized (self) { + self.taskInfoByTaskID[@(task.taskIdentifier)] = taskInfo; + } + + return task; +} + +- (_QNSURLSessionDemuxTaskInfo *)taskInfoForTask:(NSURLSessionTask *)task +{ + _QNSURLSessionDemuxTaskInfo * result; + + //assert(task != nil); + + @synchronized (self) { + result = self.taskInfoByTaskID[@(task.taskIdentifier)]; + //assert(result != nil); + } + return result; +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task willPerformHTTPRedirection:(NSHTTPURLResponse *)response newRequest:(NSURLRequest *)newRequest completionHandler:(void (^)(NSURLRequest *))completionHandler +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:task]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session task:task willPerformHTTPRedirection:response newRequest:newRequest completionHandler:completionHandler]; + }]; + } else { + completionHandler(newRequest); + } +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:task]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:task:didReceiveChallenge:completionHandler:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session task:task didReceiveChallenge:challenge completionHandler:completionHandler]; + }]; + } else { + completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); + } +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task needNewBodyStream:(void (^)(NSInputStream *bodyStream))completionHandler +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:task]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:task:needNewBodyStream:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session task:task needNewBodyStream:completionHandler]; + }]; + } else { + completionHandler(nil); + } +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:task]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session task:task didSendBodyData:bytesSent totalBytesSent:totalBytesSent totalBytesExpectedToSend:totalBytesExpectedToSend]; + }]; + } +} + +- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:task]; + + // This is our last delegate callback so we remove our task info record. + + @synchronized (self) { + [self.taskInfoByTaskID removeObjectForKey:@(taskInfo.task.taskIdentifier)]; + } + + // Call the delegate if required. In that case we invalidate the task info on the client thread + // after calling the delegate, otherwise the client thread side of the -performBlock: code can + // find itself with an invalidated task info. + + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:task:didCompleteWithError:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session task:task didCompleteWithError:error]; + [taskInfo invalidate]; + }]; + } else { + [taskInfo invalidate]; + } +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition disposition))completionHandler +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:dataTask]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:dataTask:didReceiveResponse:completionHandler:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session dataTask:dataTask didReceiveResponse:response completionHandler:completionHandler]; + }]; + } else { + completionHandler(NSURLSessionResponseAllow); + } +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask:(NSURLSessionDownloadTask *)downloadTask +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:dataTask]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:dataTask:didBecomeDownloadTask:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session dataTask:dataTask didBecomeDownloadTask:downloadTask]; + }]; + } +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:dataTask]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:dataTask:didReceiveData:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session dataTask:dataTask didReceiveData:data]; + }]; + } +} + +- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask willCacheResponse:(NSCachedURLResponse *)proposedResponse completionHandler:(void (^)(NSCachedURLResponse *cachedResponse))completionHandler +{ + _QNSURLSessionDemuxTaskInfo * taskInfo; + + taskInfo = [self taskInfoForTask:dataTask]; + if ([taskInfo.delegate respondsToSelector:@selector(URLSession:dataTask:willCacheResponse:completionHandler:)]) { + [taskInfo performBlock:^{ + [taskInfo.delegate URLSession:session dataTask:dataTask willCacheResponse:proposedResponse completionHandler:completionHandler]; + }]; + } else { + completionHandler(proposedResponse); + } +} + +@end + diff --git a/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.h b/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.h new file mode 100644 index 0000000..76efdef --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.h @@ -0,0 +1,31 @@ +// +// CocoaDebugTool.h +// Example_Swift +// +// Created by man 5/8/19. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +@interface CocoaDebugTool : NSObject + +/// log with string, +/// default color is white ++ (void)logWithString:(NSString *)string; ++ (void)logWithString:(NSString *)string color:(UIColor *)color; + +/// log with JSON Data, +/// default color is white, +/// return string ++ (NSString *)logWithJsonData:(NSData *)data; ++ (NSString *)logWithJsonData:(NSData *)data color:(UIColor *)color; + +/// log with Protobuf Data, +/// default color is white, +/// return string +//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className; +//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className color:(UIColor *)color; + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.m b/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.m new file mode 100644 index 0000000..0fc96bd --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/CocoaDebugTool.m @@ -0,0 +1,103 @@ +// +// CocoaDebugTool.m +// Example_Swift +// +// Created by man 5/8/19. +// Copyright © 2020 man. All rights reserved. +// + +#import "CocoaDebugTool.h" +#import "_OCLogHelper.h" +#import "GPBMessage+CocoaDebug.h" +//#import "GPBMessage.h" + +@implementation CocoaDebugTool + +#pragma mark - logWithString ++ (void)logWithString:(NSString *)string { + [self logWithString:string color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]]; +} + ++ (void)logWithString:(NSString *)string color:(UIColor *)color { + [self finalLogWithString:string type:CocoaDebugToolTypeNone color:color]; +} + + +#pragma mark - logWithJsonData ++ (NSString *)logWithJsonData:(NSData *)data { + return [self logWithJsonData:data color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]]; +} + ++ (NSString *)logWithJsonData:(NSData *)data color:(UIColor *)color { + NSString *string = [self getPrettyJsonStringWithData:data] ? : @"NULL"; + return [self finalLogWithString:string type:CocoaDebugToolTypeJson color:color]; +} + + +//#pragma mark - logWithProtobufData +//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className { +// return [self logWithProtobufData:data className:className color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]]; +//} +// +//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className color:(UIColor *)color { +// NSString *string = [self parsingProtobufWithData:data className:className] ? : @"NULL"; +// return [self finalLogWithString:string type:CocoaDebugToolTypeProtobuf color:color]; +//} + + + + +#pragma mark - tool + ++ (NSString *)getPrettyJsonStringWithJsonString:(NSString *)jsonString { + return [self getPrettyJsonStringWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]]; +} + ++ (NSString *)getPrettyJsonStringWithData:(NSData *)data { + if (!data) {return nil;} + + //1.pretty json + NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; + if (!dict) {return nil;} + + NSData *prettyData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil]; + if (!prettyData) {return nil;} + + NSString *prettyJsonString = [[NSString alloc] initWithData:prettyData encoding:NSUTF8StringEncoding]; + if (prettyJsonString) { + return prettyJsonString; + } + + //2.protobuf + // GPBMessage *message = [GPBMessage parseFromData:data error:nil]; + // if ([message serializedSize] > 0) { + // return [message description]; + // } + + //3.utf-8 string + return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; +} + ++ (NSString *)finalLogWithString:(NSString *)string type:(CocoaDebugToolType)type color:(UIColor *)color { + [[_OCLogHelper shared] handleLogWithFile:@"XXX" function:@"XXX" line:1 message:string color:color type:type]; + return string; +} + +//解析Protobuf +//+ (NSString *)parsingProtobufWithData:(NSData *)data className:(NSString *)className { +// if (!data || !className) {return nil;} +// +// Class cls = NSClassFromString(className); +// //protobuf +// GPBMessage *obj = [cls parseFromData:data error:nil]; +// //HuiCao +// NSString *jsonString = [obj _JSONStringWithIgnoreFields:nil]; +// if (!jsonString) {return nil;} +// +// NSString *prettyJsonString = [self getPrettyJsonStringWithJsonString:jsonString]; +// if (!prettyJsonString) {return nil;} +// +// return [prettyJsonString stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"]; +//} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/LogCell.swift b/Pods/CocoaDebug/Sources/Logs/LogCell.swift new file mode 100644 index 0000000..d7547c3 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/LogCell.swift @@ -0,0 +1,68 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class LogCell: UITableViewCell { + + @IBOutlet weak var labelContent: CustomTextView! + @IBOutlet weak var viewTypeLogColor: UIView! + + var model: _OCLogModel? { + didSet { + guard let model = model else { return } + + labelContent.text = nil + labelContent.text = model.str + labelContent.attributedText = model.attr + + labelContent.textContainer.lineBreakMode = NSLineBreakMode.byCharWrapping + labelContent.textContainer.lineFragmentPadding = 0 + labelContent.textContainerInset = .zero + labelContent.isUserInteractionEnabled = false + + //tag + if model.isTag == true { + self.contentView.backgroundColor = "#007aff".hexColor + } else { + //isSelected + if model.isSelected == true { + self.contentView.backgroundColor = "#222222".hexColor + } else { + self.contentView.backgroundColor = .black + } + } + } + } +} + + +class CustomTextView : UITextView { + + required init(coder aDecoder: NSCoder) { + super.init(coder: aDecoder)! + self.inputView = UIView.init(frame: CGRect(x: 0, y: 0, width: 1, height: 1)) + } + + override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { + if action == #selector(selectAll) { + if let range = selectedTextRange, range.start == beginningOfDocument, range.end == endOfDocument { + return false + } + return !text.isEmpty + } + else if action == #selector(paste(_:)) { + return false + } + else if action == #selector(cut(_:)) { + return false + } + + return super.canPerformAction(action, withSender: sender) + } +} diff --git a/Pods/CocoaDebug/Sources/Logs/LogViewController.swift b/Pods/CocoaDebug/Sources/Logs/LogViewController.swift new file mode 100644 index 0000000..788f481 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/LogViewController.swift @@ -0,0 +1,700 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class LogViewController: UIViewController { + + var reachEndDefault: Bool = true + var reachEndRN: Bool = true + var reachEndWeb: Bool = true + + var firstInDefault: Bool = true + var firstInRN: Bool = true + var firstInWeb: Bool = true + + var selectedSegmentIndex: Int = 0 + var selectedSegment_0: Bool = false + var selectedSegment_1: Bool = false + var selectedSegment_2: Bool = false + + var defaultReloadDataFinish: Bool = true + var rnReloadDataFinish: Bool = true + var webReloadDataFinish: Bool = true + + + @IBOutlet weak var segmentedControl: UISegmentedControl! + @IBOutlet weak var deleteItem: UIBarButtonItem! + + @IBOutlet weak var defaultTableView: UITableView! + @IBOutlet weak var defaultSearchBar: UISearchBar! + var defaultModels: [_OCLogModel] = [_OCLogModel]() + var defaultCacheModels: Array<_OCLogModel>? + var defaultSearchModels: Array<_OCLogModel>? + + @IBOutlet weak var rnTableView: UITableView! + @IBOutlet weak var rnSearchBar: UISearchBar! + var rnModels: [_OCLogModel] = [_OCLogModel]() + var rnCacheModels: Array<_OCLogModel>? + var rnSearchModels: Array<_OCLogModel>? + + @IBOutlet weak var webTableView: UITableView! + @IBOutlet weak var webSearchBar: UISearchBar! + var webModels: [_OCLogModel] = [_OCLogModel]() + var webCacheModels: Array<_OCLogModel>? + var webSearchModels: Array<_OCLogModel>? + + + + //MARK: - tool + //搜索逻辑 + func searchLogic(_ searchText: String = "") { + + if selectedSegmentIndex == 0 + { + guard let defaultCacheModels = defaultCacheModels else {return} + defaultSearchModels = defaultCacheModels + + if searchText == "" { + defaultModels = defaultCacheModels + } else { + guard let defaultSearchModels = defaultSearchModels else {return} + + for _ in defaultSearchModels { + if let index = self.defaultSearchModels?.firstIndex(where: { (model) -> Bool in + return !model.content.lowercased().contains(searchText.lowercased())//忽略大小写 + }) { + self.defaultSearchModels?.remove(at: index) + } + } + defaultModels = self.defaultSearchModels ?? [] + } + } + else if selectedSegmentIndex == 1 + { + guard let rnCacheModels = rnCacheModels else {return} + rnSearchModels = rnCacheModels + + if searchText == "" { + rnModels = rnCacheModels + } else { + guard let rnSearchModels = rnSearchModels else {return} + + for _ in rnSearchModels { + if let index = self.rnSearchModels?.firstIndex(where: { (model) -> Bool in + return !model.content.lowercased().contains(searchText.lowercased())//忽略大小写 + }) { + self.rnSearchModels?.remove(at: index) + } + } + rnModels = self.rnSearchModels ?? [] + } + } + else + { + guard let webCacheModels = webCacheModels else {return} + webSearchModels = webCacheModels + + if searchText == "" { + webModels = webCacheModels + } else { + guard let webSearchModels = webSearchModels else {return} + + for _ in webSearchModels { + if let index = self.webSearchModels?.firstIndex(where: { (model) -> Bool in + return !model.content.lowercased().contains(searchText.lowercased())//忽略大小写 + }) { + self.webSearchModels?.remove(at: index) + } + } + webModels = self.webSearchModels ?? [] + } + } + } + + //MARK: - private + func reloadLogs(needScrollToEnd: Bool = false, needReloadData: Bool = true) { + + if selectedSegmentIndex == 0 + { + if defaultReloadDataFinish == false {return} + + if defaultSearchBar.isHidden != false || + rnSearchBar.isHidden != true || + webSearchBar.isHidden != true { + defaultSearchBar.isHidden = false + rnSearchBar.isHidden = true + webSearchBar.isHidden = true + } + + if defaultTableView.isHidden != false || + rnTableView.isHidden != true || + webTableView.isHidden != true { + defaultTableView.isHidden = false + rnTableView.isHidden = true + webTableView.isHidden = true + } + + if needReloadData == false && defaultModels.count > 0 {return} + + if let arr = _OCLogStoreManager.shared()?.normalLogArray { + defaultModels = arr as! [_OCLogModel] + } + + self.defaultCacheModels = self.defaultModels + + self.searchLogic(CocoaDebugSettings.shared.logSearchWordNormal ?? "") + + // dispatch_main_async_safe { [weak self] in + self.defaultReloadDataFinish = false + self.defaultTableView.reloadData { + self.defaultReloadDataFinish = true + } + + if needScrollToEnd == false {return} + + //table下滑到底部 + // guard let count = self.defaultModels.count else {return} + if self.defaultModels.count > 0 { + // guard let firstInDefault = self.firstInDefault else {return} + self.defaultTableView.tableViewScrollToBottom(animated: !firstInDefault) + self.firstInDefault = false + } + // } + } + else if selectedSegmentIndex == 1 + { + if rnReloadDataFinish == false {return} + + if defaultSearchBar.isHidden != true || + rnSearchBar.isHidden != false || + webSearchBar.isHidden != true { + defaultSearchBar.isHidden = true + rnSearchBar.isHidden = false + webSearchBar.isHidden = true + } + + if defaultTableView.isHidden != true || + rnTableView.isHidden != false || + webTableView.isHidden != true { + defaultTableView.isHidden = true + rnTableView.isHidden = false + webTableView.isHidden = true + } + + if needReloadData == false && rnModels.count > 0 {return} + + if let arr = _OCLogStoreManager.shared()?.rnLogArray { + rnModels = arr as! [_OCLogModel] + } + + self.rnCacheModels = self.rnModels + + self.searchLogic(CocoaDebugSettings.shared.logSearchWordRN ?? "") + + // dispatch_main_async_safe { [weak self] in + self.rnReloadDataFinish = false + self.rnTableView.reloadData { + self.rnReloadDataFinish = true + } + + if needScrollToEnd == false {return} + + //table下滑到底部 + // guard let count = self.rnModels.count else {return} + if self.rnModels.count > 0 { + // guard let firstInRN = self.firstInRN else {return} + self.rnTableView.tableViewScrollToBottom(animated: !firstInRN) + self.firstInRN = false + } + // } + } + else + { + if webReloadDataFinish == false {return} + + if defaultSearchBar.isHidden != true || + rnSearchBar.isHidden != true || + webSearchBar.isHidden != false { + defaultSearchBar.isHidden = true + rnSearchBar.isHidden = true + webSearchBar.isHidden = false + } + + if defaultTableView.isHidden != true || + rnTableView.isHidden != true || + webTableView.isHidden != false { + defaultTableView.isHidden = true + rnTableView.isHidden = true + webTableView.isHidden = false + } + + if needReloadData == false && webModels.count > 0 {return} + + if let arr = _OCLogStoreManager.shared().webLogArray { + webModels = arr as! [_OCLogModel] + } + + self.webCacheModels = self.webModels + + self.searchLogic(CocoaDebugSettings.shared.logSearchWordWeb ?? "") + + // dispatch_main_async_safe { [weak self] in + self.webReloadDataFinish = false + self.webTableView.reloadData { + self.webReloadDataFinish = true + } + + if needScrollToEnd == false {return} + + //table下滑到底部 + // guard let count = self.webModels.count else {return} + if self.webModels.count > 0 { + // guard let firstInWeb = self.firstInWeb else {return} + self.webTableView.tableViewScrollToBottom(animated: !firstInWeb) + self.firstInWeb = false + } + // } + } + } + + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + let tap = UITapGestureRecognizer.init(target: self, action: #selector(didTapView)) + tap.cancelsTouchesInView = false + view.addGestureRecognizer(tap) + + + deleteItem.tintColor = Color.mainGreen + segmentedControl.tintColor = Color.mainGreen + + if UIScreen.main.bounds.size.width == 320 { + segmentedControl.setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 11)], for: .normal) + } else { + segmentedControl.setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 13)], for: .normal) + } + + //notification + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "refreshLogs_CocoaDebug"), object: nil, queue: OperationQueue.main) { [weak self] _ in + self?.refreshLogs_notification() + } + + + defaultTableView.tableFooterView = UIView() + defaultTableView.delegate = self + defaultTableView.dataSource = self + // defaultTableView.rowHeight = UITableViewAutomaticDimension + defaultSearchBar.delegate = self + defaultSearchBar.text = CocoaDebugSettings.shared.logSearchWordNormal + defaultSearchBar.isHidden = true + //抖动bug + defaultTableView.estimatedRowHeight = 0 + defaultTableView.estimatedSectionHeaderHeight = 0 + defaultTableView.estimatedSectionFooterHeight = 0 + + + + rnTableView.tableFooterView = UIView() + rnTableView.delegate = self + rnTableView.dataSource = self + // rnTableView.rowHeight = UITableViewAutomaticDimension + rnSearchBar.delegate = self + rnSearchBar.text = CocoaDebugSettings.shared.logSearchWordRN + rnSearchBar.isHidden = true + //抖动bug + rnTableView.estimatedRowHeight = 0 + rnTableView.estimatedSectionHeaderHeight = 0 + rnTableView.estimatedSectionFooterHeight = 0 + + + + webTableView.tableFooterView = UIView() + webTableView.delegate = self + webTableView.dataSource = self + // webTableView.rowHeight = UITableViewAutomaticDimension + webSearchBar.delegate = self + webSearchBar.text = CocoaDebugSettings.shared.logSearchWordWeb + webSearchBar.isHidden = true + //抖动bug + webTableView.estimatedRowHeight = 0 + webTableView.estimatedSectionHeaderHeight = 0 + webTableView.estimatedSectionFooterHeight = 0 + + + + //segmentedControl + selectedSegmentIndex = CocoaDebugSettings.shared.logSelectIndex + segmentedControl.selectedSegmentIndex = selectedSegmentIndex + + if selectedSegmentIndex == 0 { + selectedSegment_0 = true + } else if selectedSegmentIndex == 1 { + selectedSegment_1 = true + } else { + selectedSegment_2 = true + } + + reloadLogs(needScrollToEnd: true, needReloadData: true) + + + + //hide searchBar icon + let textFieldInsideSearchBar = defaultSearchBar.value(forKey: "searchField") as! UITextField + textFieldInsideSearchBar.leftViewMode = .never + textFieldInsideSearchBar.leftView = nil + textFieldInsideSearchBar.backgroundColor = .white + textFieldInsideSearchBar.returnKeyType = .default + + let textFieldInsideSearchBar2 = rnSearchBar.value(forKey: "searchField") as! UITextField + textFieldInsideSearchBar2.leftViewMode = .never + textFieldInsideSearchBar2.leftView = nil + textFieldInsideSearchBar2.backgroundColor = .white + textFieldInsideSearchBar2.returnKeyType = .default + + let textFieldInsideSearchBar3 = webSearchBar.value(forKey: "searchField") as! UITextField + textFieldInsideSearchBar3.leftViewMode = .never + textFieldInsideSearchBar3.leftView = nil + textFieldInsideSearchBar3.backgroundColor = .white + textFieldInsideSearchBar3.returnKeyType = .default + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + defaultSearchBar.resignFirstResponder() + rnSearchBar.resignFirstResponder() + webSearchBar.resignFirstResponder() + } + + deinit { + //notification + NotificationCenter.default.removeObserver(self) + } + + + //MARK: - target action + @IBAction func didTapDown(_ sender: Any) { + if selectedSegmentIndex == 0 + { + defaultTableView.tableViewScrollToBottom(animated: true) + defaultSearchBar.resignFirstResponder() + reachEndDefault = true + } + else if selectedSegmentIndex == 1 + { + rnTableView.tableViewScrollToBottom(animated: true) + rnSearchBar.resignFirstResponder() + reachEndRN = true + } + else + { + webTableView.tableViewScrollToBottom(animated: true) + webSearchBar.resignFirstResponder() + reachEndWeb = true + } + } + + @IBAction func didTapUp(_ sender: Any) { + if selectedSegmentIndex == 0 + { + defaultTableView.tableViewScrollToHeader(animated: true) + defaultSearchBar.resignFirstResponder() + reachEndDefault = false + } + else if selectedSegmentIndex == 1 + { + rnTableView.tableViewScrollToHeader(animated: true) + rnSearchBar.resignFirstResponder() + reachEndRN = false + } + else + { + webTableView.tableViewScrollToHeader(animated: true) + webSearchBar.resignFirstResponder() + reachEndWeb = false + } + } + + + @IBAction func resetLogs(_ sender: Any) { + if selectedSegmentIndex == 0 + { + defaultModels = [] + defaultCacheModels = [] + // defaultSearchBar.text = nil + defaultSearchBar.resignFirstResponder() + // CocoaDebugSettings.shared.logSearchWordNormal = nil + + _OCLogStoreManager.shared()?.resetNormalLogs() + + // dispatch_main_async_safe { [weak self] in + self.defaultTableView.reloadData() + // } + } + else if selectedSegmentIndex == 1 + { + rnModels = [] + rnCacheModels = [] + // rnSearchBar.text = nil + rnSearchBar.resignFirstResponder() + // CocoaDebugSettings.shared.logSearchWordRN = nil + + _OCLogStoreManager.shared()?.resetRNLogs() + + // dispatch_main_async_safe { [weak self] in + self.rnTableView.reloadData() + // } + } + else + { + webModels = [] + webCacheModels = [] + // webSearchBar.text = nil + webSearchBar.resignFirstResponder() + // CocoaDebugSettings.shared.logSearchWordWeb = nil + + _OCLogStoreManager.shared().resetWebLogs() + + // dispatch_main_async_safe { [weak self] in + self.webTableView.reloadData() + // } + } + } + + @IBAction func segmentedControlAction(_ sender: UISegmentedControl) { + selectedSegmentIndex = segmentedControl.selectedSegmentIndex + CocoaDebugSettings.shared.logSelectIndex = selectedSegmentIndex + + if selectedSegmentIndex == 0 { + rnSearchBar.resignFirstResponder() + webSearchBar.resignFirstResponder() + } else if selectedSegmentIndex == 1 { + defaultSearchBar.resignFirstResponder() + webSearchBar.resignFirstResponder() + } else { + defaultSearchBar.resignFirstResponder() + rnSearchBar.resignFirstResponder() + } + + if selectedSegmentIndex == 0 && selectedSegment_0 == false { + selectedSegment_0 = true + reloadLogs(needScrollToEnd: true, needReloadData: true) + return + } + + if selectedSegmentIndex == 1 && selectedSegment_1 == false { + selectedSegment_1 = true + reloadLogs(needScrollToEnd: true, needReloadData: true) + return + } + + if selectedSegmentIndex == 2 && selectedSegment_2 == false { + selectedSegment_2 = true + reloadLogs(needScrollToEnd: true, needReloadData: true) + return + } + + reloadLogs(needScrollToEnd: false, needReloadData: false) + } + + @objc func didTapView() { + if selectedSegmentIndex == 0 { + defaultSearchBar.resignFirstResponder() + } else if selectedSegmentIndex == 1 { + rnSearchBar.resignFirstResponder() + } else { + webSearchBar.resignFirstResponder() + } + } + + + //MARK: - notification + @objc func refreshLogs_notification() { + if self.selectedSegmentIndex == 0 { + self.reloadLogs(needScrollToEnd: self.reachEndDefault , needReloadData: true) + } else if self.selectedSegmentIndex == 1 { + self.reloadLogs(needScrollToEnd: self.reachEndRN , needReloadData: true) + } else { + self.reloadLogs(needScrollToEnd: self.reachEndWeb , needReloadData: true) + } + } +} + +//MARK: - UITableViewDataSource +extension LogViewController: UITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + if tableView == defaultTableView { + return defaultModels.count + } else if tableView == rnTableView { + return rnModels.count + } else { + return webModels.count + } + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "LogCell", for: indexPath) as! LogCell + + if tableView == defaultTableView + { + cell.model = defaultModels[indexPath.row] + } + else if tableView == rnTableView + { + cell.model = rnModels[indexPath.row] + } + else + { + cell.model = webModels[indexPath.row] + } + + return cell + } +} + +//MARK: - UITableViewDelegate +extension LogViewController: UITableViewDelegate { + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + + var logTitleString = "" + var models_: [_OCLogModel]? + + if tableView == defaultTableView + { + defaultSearchBar.resignFirstResponder() + reachEndDefault = false + logTitleString = "Log" + models_ = defaultModels + } + else if tableView == rnTableView + { + rnSearchBar.resignFirstResponder() + reachEndRN = false + logTitleString = "RN" + models_ = rnModels + } + else + { + webSearchBar.resignFirstResponder() + reachEndWeb = false + logTitleString = "Web" + models_ = webModels + } + + // + guard let models = models_ else {return} + + let vc = JsonViewController.instanceFromStoryBoard() + vc.editType = .log + vc.logTitleString = logTitleString + vc.logModels = models + vc.logModel = models[indexPath.row] + + navigationController?.pushViewController(vc, animated: true) + + vc.justCancelCallback = { + tableView.reloadData() + } + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + + var model: _OCLogModel + + if tableView == defaultTableView { + model = defaultModels[indexPath.row] + + } else if tableView == rnTableView { + model = rnModels[indexPath.row] + + } else { + model = webModels[indexPath.row] + } + + if let height = model.str?.height(with: UIFont.boldSystemFont(ofSize: 12), constraintToWidth: UIScreen.main.bounds.size.width) { + return height + 10; + } + + return 0 + } +} + +//MARK: - UIScrollViewDelegate +extension LogViewController: UIScrollViewDelegate { + + func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + if scrollView == defaultTableView { + defaultSearchBar.resignFirstResponder() + reachEndDefault = false + } else if scrollView == rnTableView { + rnSearchBar.resignFirstResponder() + reachEndRN = false + } else { + webSearchBar.resignFirstResponder() + reachEndWeb = false + } + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + if (scrollView.contentOffset.y + 1) >= (scrollView.contentSize.height - scrollView.frame.size.height) { + //bottom reached + if scrollView == defaultTableView { + reachEndDefault = true + } else if scrollView == rnTableView { + reachEndRN = true + } else { + reachEndWeb = true + } + } + } +} + +//MARK: - UISearchBarDelegate +extension LogViewController: UISearchBarDelegate { + + func searchBarSearchButtonClicked(_ searchBar: UISearchBar) + { + searchBar.resignFirstResponder() + } + + func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) + { + if searchBar == defaultSearchBar + { + CocoaDebugSettings.shared.logSearchWordNormal = searchText + searchLogic(searchText) + + // dispatch_main_async_safe { [weak self] in + self.defaultTableView.reloadData() + // } + } + else if searchBar == rnSearchBar + { + CocoaDebugSettings.shared.logSearchWordRN = searchText + searchLogic(searchText) + + // dispatch_main_async_safe { [weak self] in + self.rnTableView.reloadData() + // } + } + else + { + CocoaDebugSettings.shared.logSearchWordWeb = searchText + searchLogic(searchText) + + // dispatch_main_async_safe { [weak self] in + self.webTableView.reloadData() + // } + } + } +} diff --git a/Pods/CocoaDebug/Sources/Logs/_NSLogHook.m b/Pods/CocoaDebug/Sources/Logs/_NSLogHook.m new file mode 100644 index 0000000..9dd3d05 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_NSLogHook.m @@ -0,0 +1,96 @@ +// +// _NSLogHook.m +// Example_Swift +// +// Created by man 7/26/19. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import "_OCLogHelper.h" +#import "_fishhook.h" +//#import +//#import "RCTLog.h" + +@interface _NSLogHook : NSObject + +@end + +@implementation _NSLogHook + +static void (*_original_nslog)(NSString *format, ...); + +#pragma mark - hooks +void cocoadebug_nslog(NSString *format, ...) +{ + if (![format isKindOfClass:[NSString class]]) {return;} + + va_list vl; + va_start(vl, format); + NSString *str = [[NSString alloc] initWithFormat:format arguments:vl]; + + @try { + _original_nslog(str); + } @catch(NSException *exception) { + + } @finally { + + } + + @try { + [_OCLogHelper.shared handleLogWithFile:@"" function:@"" line:999999999 message:str color:[UIColor whiteColor] type:CocoaDebugToolTypeNone]; + } @catch(NSException *exception) { + + } @finally { + + } + + va_end(vl); +} + +#pragma mark - load ++ (void)load +{ + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"enableLogMonitoring_CocoaDebug"]) { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + struct rebinding nslog_rebinding = {"NSLog",cocoadebug_nslog,(void*)&_original_nslog}; + rebind_symbols((struct rebinding[1]){nslog_rebinding}, 1); + }); + } +} + +//#pragma mark - RN +//void _RCTLogJavaScriptInternal(RCTLogLevel level, NSString *message) +//{ +// if ([[NSUserDefaults standardUserDefaults] boolForKey:@"enableRNMonitoring_CocoaDebug"]) {return;} +// if (![message isKindOfClass:[NSString class]]) {return;} +//// if (level != RCTLogLevelError && level != RCTLogLevelInfo) {return;} +// +// NSString *levelStr = @""; +// +// switch (level) { +//// case RCTLogLevelTrace: +//// levelStr = @"[RCTLogTrace]"; +//// break; +// case RCTLogLevelInfo: +// levelStr = @"[RCTLogInfo]"; +// break; +// case RCTLogLevelWarning: +// levelStr = @"[RCTLogWarn]"; +// break; +// case RCTLogLevelError: +// levelStr = @"[RCTLogError]"; +// break; +//// case RCTLogLevelFatal: +//// levelStr = @"[RCTLogFatal]"; +// break; +// default: +// break; +// } +// +// [_OCLogHelper.shared handleLogWithFile:[NSString stringWithFormat:@"%@\n", levelStr] function:@"" line:-1 message:message color:[UIColor whiteColor] type:CocoaDebugToolTypeRN]; +//} + +@end + diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.h b/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.h new file mode 100644 index 0000000..dc373cc --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.h @@ -0,0 +1,21 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import +#import "_OCLogModel.h" + +@interface _OCLogHelper : NSObject + +//@property (nonatomic, assign) BOOL enable; + ++ (instancetype)shared; + +- (void)handleLogWithFile:(NSString *)file function:(NSString *)function line:(NSInteger)line message:(NSString *)message color:(UIColor *)color type:(CocoaDebugToolType)type; + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.m b/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.m new file mode 100644 index 0000000..979e3d6 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogHelper.m @@ -0,0 +1,91 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_OCLogHelper.h" +#import "_OCLogStoreManager.h" + +@implementation _OCLogHelper + ++ (instancetype)shared +{ + static id sharedInstance = nil; + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; + }); + + return sharedInstance; +} + +//default value for @property +//- (id)init { +// if (self = [super init]) { +// self.enable = YES; +// } +// return self; +//} + +- (NSString *)parseFileInfo:(NSString *)file function:(NSString *)function line:(NSInteger)line +{ + if (![file isKindOfClass:[NSString class]] || ![function isKindOfClass:[NSString class]]) { + return @"\n"; + } + + if ([file isEqualToString:@"XXX"] && [function isEqualToString:@"XXX"] && line == 1) { + return @"XXX|XXX|1"; + } + + if (line == 0) { //web + NSString *fileName = [[file componentsSeparatedByString:@"/"] lastObject] ?: @""; + return [NSString stringWithFormat:@"%@ %@\n", fileName, function]; + } + + if (line == 999999999) { //nslog + NSString *fileName = [[file componentsSeparatedByString:@"/"] lastObject] ?: @""; + return [NSString stringWithFormat:@"%@ %@\n", fileName, function]; + } + + if (line == -1) { //RN + return file; + } + + NSString *fileName = [[file componentsSeparatedByString:@"/"] lastObject] ?: @""; + return [NSString stringWithFormat:@"%@[%ld]%@\n", fileName, (long)line, function]; +} + +- (void)handleLogWithFile:(NSString *)file function:(NSString *)function line:(NSInteger)line message:(NSString *)message color:(UIColor *)color type:(CocoaDebugToolType)type +{ +// if (!self.enable && type != CocoaDebugToolTypeRN) {return;} + if (!file || !function || !message || !color) {return;} + + //1. + NSString *fileInfo = [self parseFileInfo:file function:function line:line]; + + //2. + _OCLogModel *newLog = [[_OCLogModel alloc] initWithContent:message color:color fileInfo:fileInfo isTag:NO type:type]; + + // if (line == 0 && ![fileInfo isEqualToString:@"XXX|XXX|1"]) { + // newLog.logType = CocoaDebugLogType... + // } + + if (type == CocoaDebugToolTypeRN) { + newLog.logType = CocoaDebugLogTypeRN; + } + + if ([file isEqualToString:@"[WKWebView]"]) { + newLog.logType = CocoaDebugLogTypeWeb; + } + + [[_OCLogStoreManager shared] addLog:newLog]; + + //3. + [[NSNotificationCenter defaultCenter] postNotificationName:@"refreshLogs_CocoaDebug" object:nil userInfo:nil]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogModel.h b/Pods/CocoaDebug/Sources/Logs/_OCLogModel.h new file mode 100644 index 0000000..f0eaf08 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogModel.h @@ -0,0 +1,44 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +typedef NS_ENUM(NSInteger, CocoaDebugLogType) { + CocoaDebugLogTypeNormal = 0, + CocoaDebugLogTypeRN, + CocoaDebugLogTypeWeb +}; + +typedef NS_ENUM (NSInteger, CocoaDebugToolType) { + CocoaDebugToolTypeNone, + CocoaDebugToolTypeRN, + CocoaDebugToolTypeJson, + CocoaDebugToolTypeProtobuf +}; + +@interface _OCLogModel : NSObject + +@property (nonatomic, copy) NSData *contentData; + +@property (nonatomic, copy) NSString *Id; +@property (nonatomic, copy) NSString *fileInfo; +@property (nonatomic, copy) NSString *content; +@property (nonatomic, strong) NSDate *date; +@property (nonatomic, strong) UIColor *color; + +@property (nonatomic, assign) BOOL isTag; +@property (nonatomic, assign) BOOL isSelected; +@property (nonatomic, copy) NSString *str; +@property (nonatomic, copy) NSAttributedString *attr; + +@property (nonatomic, assign) CocoaDebugLogType logType; + +- (instancetype)initWithContent:(NSString *)content color:(UIColor *)color fileInfo:(NSString *)fileInfo isTag:(BOOL)isTag type:(CocoaDebugToolType)type; + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogModel.m b/Pods/CocoaDebug/Sources/Logs/_OCLogModel.m new file mode 100644 index 0000000..734ab6b --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogModel.m @@ -0,0 +1,110 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_OCLogModel.h" +#import "_OCLoggerFormat.h" +#import "_NetworkHelper.h" + +@implementation _OCLogModel + +- (instancetype)initWithContent:(NSString *)content color:(UIColor *)color fileInfo:(NSString *)fileInfo isTag:(BOOL)isTag type:(CocoaDebugToolType)type +{ + if (self = [super init]) { + + if ([fileInfo isEqualToString:@"XXX|XXX|1"]) { + if (type == CocoaDebugToolTypeProtobuf) { + fileInfo = @"Protobuf\n"; + } else { + fileInfo = @"\n"; + } + } + + // + if (type == CocoaDebugToolTypeNone) { + if ([fileInfo isEqualToString:@" \n"]) {//nslog + fileInfo = @"NSLog\n"; + } else if ([fileInfo isEqualToString:@"\n"]) {//color + fileInfo = @"\n"; + } + } + + //RN (java script) + if ([fileInfo isEqualToString:@"[RCTLogError]\n"]) { + fileInfo = @"[error]\n"; + } else if ([fileInfo isEqualToString:@"[RCTLogInfo]\n"]) { + fileInfo = @"[log]\n"; + } + + // + self.Id = [[NSUUID UUID] UUIDString]; + self.fileInfo = fileInfo; + self.date = [NSDate date]; + self.color = color; + self.isTag = isTag; + + if ([content isKindOfClass:[NSString class]]) { + self.contentData = [content dataUsingEncoding:NSUTF8StringEncoding]; + } + + //避免日志数量过多导致卡顿 + if (content.length > 1000) { + content = [content substringToIndex:1000]; + } + self.content = content; + + ///////////////////////////////////////////////////////////////////////// + + NSInteger startIndex = 0; + NSInteger lenghtDate = 0; + NSString *stringContent = @""; + + stringContent = [stringContent stringByAppendingFormat:@"[%@]", [_OCLoggerFormat formatDate:self.date]]; + lenghtDate = [stringContent length]; + startIndex = [stringContent length]; + + if (self.fileInfo) { + stringContent = [stringContent stringByAppendingFormat:@"%@%@", self.fileInfo, self.content]; + } else { + stringContent = [stringContent stringByAppendingFormat:@"%@", self.content]; + } + + NSMutableAttributedString *attstr = [[NSMutableAttributedString alloc] initWithString:stringContent]; + [attstr addAttribute:NSForegroundColorAttributeName value:self.color range:NSMakeRange(0, [stringContent length])]; + + NSRange range = NSMakeRange(0, lenghtDate); + [attstr addAttribute:NSForegroundColorAttributeName value: [[_NetworkHelper shared] mainColor] range: range]; + [attstr addAttribute:NSFontAttributeName value: [UIFont boldSystemFontOfSize:12] range: range]; + + NSRange range2 = NSMakeRange(startIndex, self.fileInfo.length); + + if ([self.fileInfo isEqualToString:@"[error]\n"]) { + [attstr addAttribute: NSForegroundColorAttributeName value: [UIColor systemRedColor] range: range2]; + } else { + [attstr addAttribute: NSForegroundColorAttributeName value: [UIColor systemGrayColor] range: range2]; + } + + [attstr addAttribute: NSFontAttributeName value: [UIFont boldSystemFontOfSize:12] range: range2]; + + + //换行 + NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; + paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping; + + NSRange rang3 = NSMakeRange(0, attstr.length); + [attstr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:rang3]; + + + // + self.str = stringContent; + self.attr = [attstr copy]; + } + + return self; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.h b/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.h new file mode 100644 index 0000000..02455d6 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.h @@ -0,0 +1,28 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import "_OCLogModel.h" + +@interface _OCLogStoreManager : NSObject + +@property (nonatomic, strong) NSMutableArray<_OCLogModel *> *normalLogArray; +@property (nonatomic, strong) NSMutableArray<_OCLogModel *> *rnLogArray; +@property (nonatomic, strong) NSMutableArray<_OCLogModel *> *webLogArray; + ++ (instancetype)shared; + +- (void)addLog:(_OCLogModel *)log; +- (void)removeLog:(_OCLogModel *)log; + +- (void)resetNormalLogs; +- (void)resetRNLogs; +- (void)resetWebLogs; + +@end + diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.m b/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.m new file mode 100644 index 0000000..240cab0 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLogStoreManager.m @@ -0,0 +1,127 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_OCLogStoreManager.h" +#import "_NetworkHelper.h" + +@implementation _OCLogStoreManager + ++ (instancetype)shared +{ + static id sharedInstance = nil; + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; + }); + + return sharedInstance; +} + +- (id)init +{ + self = [super init]; + if (self) { + self.normalLogArray = [NSMutableArray arrayWithCapacity:1000 + 100]; + self.rnLogArray = [NSMutableArray arrayWithCapacity:1000 + 100]; + self.webLogArray = [NSMutableArray arrayWithCapacity:1000 + 100]; + } + return self; +} + +- (void)addLog:(_OCLogModel *)log +{ + if (![log.content isKindOfClass:[NSString class]]) {return;} + + //log过滤, 忽略大小写 + for (NSString *prefixStr in [_NetworkHelper shared].onlyPrefixLogs) { + if (![log.content hasPrefix:prefixStr]) { + return; + } + } + //log过滤, 忽略大小写 + for (NSString *prefixStr in [_NetworkHelper shared].ignoredPrefixLogs) { + if ([log.content hasPrefix:prefixStr]) { + return; + } + } + + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + + if (log.logType == CocoaDebugLogTypeNormal) + { + //normal + if ([self.normalLogArray count] >= 1000) { + if (self.normalLogArray.count > 0) { + [self.normalLogArray removeObjectAtIndex:0]; + } + } + + [self.normalLogArray addObject:log]; + } + else if (log.logType == CocoaDebugLogTypeRN) + { + //rn + if ([self.rnLogArray count] >= 1000) { + if (self.rnLogArray.count > 0) { + [self.rnLogArray removeObjectAtIndex:0]; + } + } + + [self.rnLogArray addObject:log]; + } + else + { + //web + if ([self.webLogArray count] >= 1000) { + if (self.webLogArray.count > 0) { + [self.webLogArray removeObjectAtIndex:0]; + } + } + + [self.webLogArray addObject:log]; + } +} + +- (void)removeLog:(_OCLogModel *)log +{ + if (log.logType == CocoaDebugLogTypeNormal) + { + //normal + [self.normalLogArray removeObject:log]; + } + else if (log.logType == CocoaDebugLogTypeNormal) + { + //rn + [self.rnLogArray removeObject:log]; + } + else + { + //web + [self.webLogArray removeObject:log]; + } +} + +- (void)resetNormalLogs +{ + [self.normalLogArray removeAllObjects]; +} + +- (void)resetRNLogs +{ + [self.rnLogArray removeAllObjects]; +} + +- (void)resetWebLogs +{ + [self.webLogArray removeAllObjects]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.h b/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.h new file mode 100644 index 0000000..a75ab50 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.h @@ -0,0 +1,15 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +@interface _OCLoggerFormat : NSObject + ++ (NSString *)formatDate:(NSDate *)date; + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.m b/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.m new file mode 100644 index 0000000..31bf225 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_OCLoggerFormat.m @@ -0,0 +1,21 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_OCLoggerFormat.h" + +@implementation _OCLoggerFormat + ++ (NSString *)formatDate:(NSDate *)date +{ + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + formatter.timeZone = [NSTimeZone systemTimeZone]; + formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.SSS"; + return [formatter stringFromDate:date]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_ObjcLog.h b/Pods/CocoaDebug/Sources/Logs/_ObjcLog.h new file mode 100644 index 0000000..351c526 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_ObjcLog.h @@ -0,0 +1,20 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +@interface _ObjcLog : NSObject + ++ (void)logWithFile:(const char *)file + function:(const char *)function + line:(NSUInteger)line + color:(UIColor *)color + message:(id)format, ...; + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_ObjcLog.m b/Pods/CocoaDebug/Sources/Logs/_ObjcLog.m new file mode 100644 index 0000000..52c49b6 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_ObjcLog.m @@ -0,0 +1,57 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_ObjcLog.h" +#import "_OCLogHelper.h" +#import "NSObject+CocoaDebug.h" +#import + +@implementation _ObjcLog + ++ (void)logWithFile:(const char *)file + function:(const char *)function + line:(NSUInteger)line + color:(UIColor *)color + message:(id)format, ... +{ + if (format) + { + va_list args; + va_start(args, format); + + if ([format isKindOfClass:[NSString class]]) + { + // NSLogv(format, args); + [_OCLogHelper.shared handleLogWithFile:[NSString stringWithUTF8String:file] function:[NSString stringWithUTF8String:function] line:line message:[[NSString alloc] initWithFormat:format arguments:args] color:color type:CocoaDebugToolTypeNone]; + } + else if ([format isKindOfClass:[JSValue class]]) + { + id format_ = [format toString]; + if ([format_ isEqualToString:@"[object Object]"]) + { + format_ = [format toDictionary]; + // NSLogv([NSString stringWithFormat:@"%@",format_], args); + [_OCLogHelper.shared handleLogWithFile:[NSString stringWithUTF8String:file] function:[NSString stringWithUTF8String:function] line:line message:[NSString stringWithFormat:@"%@",format_] color:color type:CocoaDebugToolTypeNone]; + } + else + { + // NSLogv([NSString stringWithFormat:@"%@",format], args); + [_OCLogHelper.shared handleLogWithFile:[NSString stringWithUTF8String:file] function:[NSString stringWithUTF8String:function] line:line message:[NSString stringWithFormat:@"%@",format] color:color type:CocoaDebugToolTypeNone]; + } + } + else + { + // NSLogv([NSString stringWithFormat:@"%@",format], args); + [_OCLogHelper.shared handleLogWithFile:[NSString stringWithUTF8String:file] function:[NSString stringWithUTF8String:function] line:line message:[NSString stringWithFormat:@"%@",format] color:color type:CocoaDebugToolTypeNone]; + } + + va_end(args); + } +} + +@end diff --git a/Pods/CocoaDebug/Sources/Logs/_SwiftLogHelper.swift b/Pods/CocoaDebug/Sources/Logs/_SwiftLogHelper.swift new file mode 100644 index 0000000..e046e28 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Logs/_SwiftLogHelper.swift @@ -0,0 +1,49 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation + +public class _SwiftLogHelper: NSObject { + + var enable: Bool = true + + @objc public static let shared = _SwiftLogHelper() + private override init() {} + + + fileprivate func parseFileInfo(file: String?, function: String?, line: Int?) -> String? { + guard let file = file, let function = function, let line = line, let fileName = file.components(separatedBy: "/").last else {return nil} + return "\(fileName)[\(line)]\(function)\n" + } + + + public func handleLog(file: String?, function: String?, line: Int?, message: Any..., color: UIColor?) { + let stringContent = message.reduce("") { result, next -> String in + return "\(result)\(result.count > 0 ? " " : "")\(next)" + } + commonHandleLog(file: file, function: function, line: (line ?? 0), message: stringContent, color: color) + } + + + private func commonHandleLog(file: String?, function: String?, line: Int, message: String, color: UIColor?) { + guard enable else { + return + } + + //1. + let fileInfo = parseFileInfo(file: file, function: function, line: line) + + //2. + if let newLog = _OCLogModel.init(content: message, color: color, fileInfo: fileInfo, isTag: false, type: .none) { + _OCLogStoreManager.shared().addLog(newLog) + } + + //3. + NotificationCenter.default.post(name: NSNotification.Name("refreshLogs_CocoaDebug"), object: nil, userInfo: nil) + } +} diff --git a/Pods/CocoaDebug/Sources/Monitor/FPSCounter.swift b/Pods/CocoaDebug/Sources/Monitor/FPSCounter.swift new file mode 100644 index 0000000..24b354e --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/FPSCounter.swift @@ -0,0 +1,113 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// +/* +import Foundation +import UIKit + +public class FPSCounter: NSObject { + + internal class DisplayLinkProxy: NSObject { + + @objc weak var parentCounter: FPSCounter? + + @objc func updateFromDisplayLink(_ displayLink: CADisplayLink) { + parentCounter?.updateFromDisplayLink(displayLink) + } + } + + + // MARK: - Initialization + + private var displayLink: CADisplayLink + private var displayLinkProxy: DisplayLinkProxy + + + public override init() { + self.displayLinkProxy = DisplayLinkProxy() + self.displayLink = CADisplayLink( + target: self.displayLinkProxy, + selector: #selector(DisplayLinkProxy.updateFromDisplayLink(_:)) + ) + + super.init() + + self.displayLinkProxy.parentCounter = self + } + + deinit { + self.displayLink.invalidate() + } + + + // MARK: - Configuration + + public weak var delegate: FPSCounterDelegate? + + @objc public var notificationDelay: TimeInterval = 1.0 + + + // MARK: - Tracking + + private var runloop: RunLoop? + private var mode: RunLoop.Mode? + + + @objc public func startMonitoring(inRunLoop runloop: RunLoop = .main, mode: RunLoop.Mode = .common) { + if CocoaDebugSettings.shared.enableFpsMonitoring == false {return} + + self.stopMonitoring() + + self.runloop = runloop + self.mode = mode + self.displayLink.add(to: runloop, forMode: mode) + } + + + @objc public func stopMonitoring() { + guard let runloop = self.runloop, let mode = self.mode else { return } + + self.displayLink.remove(from: runloop, forMode: mode) + self.runloop = nil + self.mode = nil + } + + + // MARK: - Handling Frame Updates + + private var lastNotificationTime: CFAbsoluteTime = 0.0 + private var numberOfFrames = 0 + + private func updateFromDisplayLink(_ displayLink: CADisplayLink) { + if self.lastNotificationTime == 0.0 { + self.lastNotificationTime = CFAbsoluteTimeGetCurrent() + return + } + + self.numberOfFrames += 1 + + let currentTime = CFAbsoluteTimeGetCurrent() + let elapsedTime = currentTime - self.lastNotificationTime + + if elapsedTime >= self.notificationDelay { + self.notifyUpdateForElapsedTime(elapsedTime) + self.lastNotificationTime = 0.0 + self.numberOfFrames = 0 + } + } + + private func notifyUpdateForElapsedTime(_ elapsedTime: CFAbsoluteTime) { + let fps = Int(round(Double(self.numberOfFrames) / elapsedTime)) + self.delegate?.fpsCounter(self, didUpdateFramesPerSecond: fps) + } +} + + +public protocol FPSCounterDelegate: NSObjectProtocol { + func fpsCounter(_ counter: FPSCounter, didUpdateFramesPerSecond fps: Int) +} +*/ diff --git a/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.h b/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.h new file mode 100755 index 0000000..924f605 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.h @@ -0,0 +1,25 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +/*! + * @brief 线程堆栈上下文输出 + */ +@interface _BacktraceLogger : NSObject + ++ (NSString *)cocoadebug_backtraceOfAllThread; ++ (NSString *)cocoadebug_backtraceOfMainThread; ++ (NSString *)cocoadebug_backtraceOfCurrentThread; ++ (NSString *)cocoadebug_backtraceOfNSThread:(NSThread *)thread; + ++ (void)cocoadebug_logMain; ++ (void)cocoadebug_logCurrent; ++ (void)cocoadebug_logAllThread; + +@end diff --git a/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.m b/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.m new file mode 100755 index 0000000..04b2980 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_BacktraceLogger.m @@ -0,0 +1,420 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_BacktraceLogger.h" +#import +#include +#include +#include +#include +#include +#include +#include + +#import "CocoaDebugTool.h" +#import "_OCLogHelper.h" + + +/*! + * @brief 适配不同CPU的宏定义 + * + * @thx 代码出自https://github.com/bestswifter/BSBacktraceLogger 加工修改 + */ +#if defined(__arm64__) +#define _DETAG_INSTRUCTION_ADDRESS(A) ((A) & ~(3UL)) +#define COCOADEBUG_THREAD_STATE_COUNT ARM_THREAD_STATE64_COUNT +#define COCOADEBUG_THREAD_STATE ARM_THREAD_STATE64 +#define COCOADEBUG_FRAME_POINTER __fp +#define COCOADEBUG_STACK_POINTER __sp +#define COCOADEBUG_INSTRUCTION_ADDRESS __pc + +#elif defined(__arm__) +#define _DETAG_INSTRUCTION_ADDRESS(A) ((A) & ~(1UL)) +#define COCOADEBUG_THREAD_STATE_COUNT ARM_THREAD_STATE_COUNT +#define COCOADEBUG_THREAD_STATE ARM_THREAD_STATE +#define COCOADEBUG_FRAME_POINTER __r[7] +#define COCOADEBUG_STACK_POINTER __sp +#define COCOADEBUG_INSTRUCTION_ADDRESS __pc + +#elif defined(__x86_64__) +#define _DETAG_INSTRUCTION_ADDRESS(A) (A) +#define COCOADEBUG_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT +#define COCOADEBUG_THREAD_STATE x86_THREAD_STATE64 +#define COCOADEBUG_FRAME_POINTER __rbp +#define COCOADEBUG_STACK_POINTER __rsp +#define COCOADEBUG_INSTRUCTION_ADDRESS __rip + +#elif defined(__i386__) +#define _DETAG_INSTRUCTION_ADDRESS(A) (A) +#define COCOADEBUG_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT +#define COCOADEBUG_THREAD_STATE x86_THREAD_STATE32 +#define COCOADEBUG_FRAME_POINTER __ebp +#define COCOADEBUG_STACK_POINTER __esp +#define COCOADEBUG_INSTRUCTION_ADDRESS __eip + +#endif + +#if defined(__LP64__) +#define _TRACE_FMT "%-4d%-31s 0x%016lx %s + %lu" +#define _POINTER_FMT "0x%016lx" +#define _POINTER_SHORT_FMT "0x%lx" +#define COCOADEBUG_NLIST struct nlist_64 +#else +#define _TRACE_FMT "%-4d%-31s 0x%08lx %s + %lu" +#define _POINTER_FMT "0x%08lx" +#define _POINTER_SHORT_FMT "0x%lx" +#define COCOADEBUG_NLIST struct nlist + +#endif + +#define _MAX_FRAME_NUMBER 30 +#define _LOG_SEPERATE printf("\n"); +#define _FAILED_UINT_PTR_ADDRESS 0 +#define _CALL_INSTRUCTION_FROM_RETURN_ADDRESS(A) (_DETAG_INSTRUCTION_ADDRESS((A)) - 1) + + +typedef struct COCOADEBUGStackFrameEntry{ + const struct COCOADEBUGStackFrameEntry * const previous; + const uintptr_t return_address; +} COCOADEBUGStackFrameEntry; + +static mach_port_t main_thread_id; + + + +@implementation _BacktraceLogger + ++ (void)load { + main_thread_id = mach_thread_self(); +} + + +#pragma mark - Public ++ (NSString *)cocoadebug_backtraceOfAllThread { + thread_act_array_t threads; + mach_msg_type_number_t thread_count = 0; + const task_t this_task = mach_task_self(); + + kern_return_t kr = task_threads(this_task, &threads, &thread_count); + if (kr != KERN_SUCCESS) { + return @"Failed to get information of all threads"; + } + NSMutableString * result = @"".mutableCopy; + for (int idx = 0; idx < thread_count; idx++) { + [result appendString: _cocoadebug_backtraceOfThread(threads[idx])]; + } + return result.copy; +} + ++ (NSString *)cocoadebug_backtraceOfMainThread { + return [self cocoadebug_backtraceOfNSThread: [NSThread mainThread]]; +} + ++ (NSString *)cocoadebug_backtraceOfCurrentThread { + return [self cocoadebug_backtraceOfNSThread: [NSThread currentThread]]; +} + ++ (NSString *)cocoadebug_backtraceOfNSThread:(NSThread *)thread { + return _cocoadebug_backtraceOfThread(cocoadebug_machThreadFromNSThread(thread)); +} + ++ (void)cocoadebug_logMain { +// _LOG_SEPERATE +// NSLog(@"Detected UI Blocking %@", [self cocoadebug_backtraceOfMainThread]); +// _LOG_SEPERATE + + [CocoaDebugTool logWithString:[NSString stringWithFormat:@"\nDetected UI Blocking\n%@\n", [self cocoadebug_backtraceOfMainThread]] color:[UIColor redColor]]; + + [[NSNotificationCenter defaultCenter] postNotificationName:@"CocoaDebug_Detected_UI_Blocking" object:nil]; +} + ++ (void)cocoadebug_logCurrent { + _LOG_SEPERATE + NSLog(@"%@", [self cocoadebug_backtraceOfCurrentThread]); + _LOG_SEPERATE +} + ++ (void)cocoadebug_logAllThread { + _LOG_SEPERATE + NSLog(@"%@", [self cocoadebug_backtraceOfAllThread]); + _LOG_SEPERATE +} + + +#pragma mark - Generate +thread_t cocoadebug_machThreadFromNSThread(NSThread * nsthread) { + char name[256]; + thread_act_array_t list; + mach_msg_type_number_t count; + task_threads(mach_task_self(), &list, &count); + + NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970]; + NSString * originName = nsthread.name; + [nsthread setName: [NSString stringWithFormat: @"%f", timeStamp]]; + + if ([nsthread isMainThread]) { return (thread_t)main_thread_id; } + + for (int idx = 0; idx < count; idx++) { + pthread_t pt = pthread_from_mach_thread_np(list[idx]); + if ([nsthread isMainThread] && list[idx] == main_thread_id) { return list[idx]; } + if (pt) { + name[0] = '\0'; + pthread_getname_np(pt, name, sizeof(name)); + if (!strcmp(name, [nsthread name].UTF8String)) { + [nsthread setName: originName]; + return list[idx]; + } + } + } + [nsthread setName: originName]; + return mach_thread_self(); +} + +NSString * _cocoadebug_backtraceOfThread(thread_t thread) { + uintptr_t backtraceBuffer[_MAX_FRAME_NUMBER]; + int idx = 0; + NSMutableString * result = [NSString stringWithFormat: @"Backtrace of Thread %u:\n======================================================================================\n", thread].mutableCopy; + + _STRUCT_MCONTEXT machineContext; + if (!cocoadebug_fillThreadStateIntoMachineContext(thread, &machineContext)) { + return [NSString stringWithFormat: @"Failed to get information abount thread: %u", thread]; + } + const uintptr_t instructionAddress = cocoadebug_mach_instructionAddress(&machineContext); + backtraceBuffer[idx++] = instructionAddress; + + uintptr_t linkRegister = cocoadebug_mach_linkRegister(&machineContext); + if (linkRegister) { + backtraceBuffer[idx++] = linkRegister; + } + if (instructionAddress == _FAILED_UINT_PTR_ADDRESS) { return @"Failed to get instruction address"; } + + COCOADEBUGStackFrameEntry frame = { 0 }; + const uintptr_t framePtr = cocoadebug_mach_framePointer(&machineContext); + if (framePtr == _FAILED_UINT_PTR_ADDRESS || + cocoadebug_mach_copyMem((void *)framePtr, &frame, sizeof(frame)) != KERN_SUCCESS) { + return @"failed to get frame pointer"; + } + + for (; idx < _MAX_FRAME_NUMBER; idx++) { + backtraceBuffer[idx] = frame.return_address; + if (backtraceBuffer[idx] == _FAILED_UINT_PTR_ADDRESS || + frame.previous == NULL || + cocoadebug_mach_copyMem(frame.previous, &frame, sizeof(frame)) != KERN_SUCCESS) { + break; + } + } + + int backtraceLength = idx; + Dl_info symbolicated[backtraceLength]; + cocoadebug_symbolicate(backtraceBuffer, symbolicated, backtraceLength, 0); + for (int idx = 0; idx < backtraceLength; idx++) { + [result appendFormat: @"%@", cocoadebug_logBacktraceEntry(idx, backtraceBuffer[idx], &symbolicated[idx])]; + } + [result appendString: @"\n"]; + [result appendString: @"======================================================================================"]; + return result.copy; +} + + +#pragma mark - operate machine context +bool cocoadebug_fillThreadStateIntoMachineContext(thread_t thread, _STRUCT_MCONTEXT * machineContext) { + mach_msg_type_number_t state_count = COCOADEBUG_THREAD_STATE_COUNT; + kern_return_t kr = thread_get_state(thread, COCOADEBUG_THREAD_STATE, (thread_state_t)&machineContext->__ss, &state_count); + return (kr == KERN_SUCCESS); +} + +uintptr_t cocoadebug_mach_linkRegister(_STRUCT_MCONTEXT * const machineContext){ +#if defined(__i386__) || defined(__x86_64__) + return _FAILED_UINT_PTR_ADDRESS; +#else + return machineContext->__ss.__lr; +#endif +} + +uintptr_t cocoadebug_mach_framePointer(_STRUCT_MCONTEXT * const machineContext) { + return machineContext->__ss.COCOADEBUG_FRAME_POINTER; +} + +uintptr_t cocoadebug_mach_instructionAddress(_STRUCT_MCONTEXT * const machineContext) { + return machineContext->__ss.COCOADEBUG_INSTRUCTION_ADDRESS; +} + +kern_return_t cocoadebug_mach_copyMem(const void * src, const void * dst, const size_t numBytes) { + vm_size_t bytesCopied = 0; + return vm_read_overwrite(mach_task_self(), (vm_address_t)src, (vm_size_t)numBytes, (vm_address_t)dst, &bytesCopied); +} + + +#pragma mark - handle symbolicate +void cocoadebug_symbolicate(const uintptr_t * const backtraceBuffer, Dl_info * const symbolsBuffer, const int numEntries, const int skippedEntries) { + int idx = 0; + if (!skippedEntries && idx < numEntries) { + cocoadebug_dladdr(backtraceBuffer[idx], &symbolsBuffer[idx]); + idx++; + } + + for (; idx < numEntries; idx++) { + cocoadebug_dladdr(_CALL_INSTRUCTION_FROM_RETURN_ADDRESS(backtraceBuffer[idx]), &symbolsBuffer[idx]); + } +} + +bool cocoadebug_dladdr(const uintptr_t address, Dl_info * const info) { + info->dli_fname = NULL; + info->dli_fbase = NULL; + info->dli_sname = NULL; + info->dli_saddr = NULL; + + const uint32_t idx = cocoadebug_imageIndexContainingAddress(address); + if (idx == UINT_MAX) { return false; } + + const struct mach_header * header = _dyld_get_image_header(idx); + const uintptr_t imageVMAddressSlide = (uintptr_t)_dyld_get_image_vmaddr_slide(idx); + const uintptr_t addressWithSlide = address - imageVMAddressSlide; + const uintptr_t segmentBase = cocoadebug_segmentBaseOfImageIndex(idx) + imageVMAddressSlide; + if (segmentBase == _FAILED_UINT_PTR_ADDRESS) { return false; } + + info->dli_fbase = (void *)header; + info->dli_fname = _dyld_get_image_name(idx); + + const COCOADEBUG_NLIST * bestMatch = NULL; + uintptr_t bestDistance = ULONG_MAX; + uintptr_t cmdPtr = cocoadebug_firstCmdAfterHeader(header); + if (cmdPtr == _FAILED_UINT_PTR_ADDRESS) { return false; } + + for (uint32_t iCmd = 0; iCmd < header->ncmds; iCmd++) { + const struct load_command * loadCmd = (struct load_command *)cmdPtr; + if (loadCmd->cmd == LC_SYMTAB) { + const struct symtab_command * symtabCmd = (struct symtab_command *)cmdPtr; + const COCOADEBUG_NLIST * symbolTable = (COCOADEBUG_NLIST *)(segmentBase + symtabCmd->symoff); + const uintptr_t stringTable = segmentBase + symtabCmd->stroff; + + for (uint32_t iSym = 0; iSym < symtabCmd->nsyms; iSym++) { + if (symbolTable[iSym].n_value == _FAILED_UINT_PTR_ADDRESS) { continue; } + uintptr_t symbolBase = symbolTable[iSym].n_value; + uintptr_t currentDistance = addressWithSlide - symbolBase; + if ( (addressWithSlide >= symbolBase && currentDistance <= bestDistance) ) { + bestMatch = symbolTable + iSym; + bestDistance = currentDistance; + } + } + if (bestMatch != NULL) { + info->dli_saddr = (void *)(bestMatch->n_value + imageVMAddressSlide); + info->dli_sname = (char *)((intptr_t)stringTable + (intptr_t)bestMatch->n_un.n_strx); + if (*info->dli_sname == '_') { + info->dli_sname++; + } + if (info->dli_saddr == info->dli_fbase && bestMatch->n_type == 3) { + info->dli_sname = NULL; + } + break; + } + } + cmdPtr += loadCmd->cmdsize; + } + return true; +} + +uintptr_t cocoadebug_firstCmdAfterHeader(const struct mach_header * const header) { + switch (header->magic) { + case MH_MAGIC: + case MH_CIGAM: + return (uintptr_t)(header + 1); + case MH_MAGIC_64: + case MH_CIGAM_64: + return (uintptr_t)(((struct mach_header_64*)header) + 1); + default: + return 0; + } +} + +uintptr_t cocoadebug_segmentBaseOfImageIndex(const uint32_t idx) { + const struct mach_header * header = _dyld_get_image_header(idx); + + uintptr_t cmdPtr = cocoadebug_firstCmdAfterHeader(header); + if (cmdPtr == _FAILED_UINT_PTR_ADDRESS) { return _FAILED_UINT_PTR_ADDRESS; } + for (uint32_t idx = 0; idx < header->ncmds; idx++) { + const struct load_command * loadCmd = (struct load_command *)cmdPtr; + if (loadCmd->cmd == LC_SEGMENT) { + const struct segment_command * segCmd = (struct segment_command *)cmdPtr; + if (strcmp(segCmd->segname, SEG_LINKEDIT) == 0) { + return segCmd->vmaddr - segCmd->fileoff; + } + } else if (loadCmd->cmd == LC_SEGMENT_64) { + const struct segment_command_64 * segCmd = (struct segment_command_64 *)cmdPtr; + if (strcmp(segCmd->segname, SEG_LINKEDIT) == 0) { + return segCmd->vmaddr - segCmd->fileoff; + } + } + cmdPtr += loadCmd->cmdsize; + } + return _FAILED_UINT_PTR_ADDRESS; +} + +uint32_t cocoadebug_imageIndexContainingAddress(const uintptr_t address) { + const uint32_t imageCount = _dyld_image_count(); + const struct mach_header * header = _FAILED_UINT_PTR_ADDRESS; + + for (uint32_t iImg = 0; iImg < imageCount; iImg++) { + header = _dyld_get_image_header(iImg); + if (header != NULL) { + uintptr_t addressWSlide = address - (uintptr_t)_dyld_get_image_vmaddr_slide(iImg); + uintptr_t cmdPtr = cocoadebug_firstCmdAfterHeader(header); + if (cmdPtr == _FAILED_UINT_PTR_ADDRESS) { continue; } + + for (uint32_t iCmd = 0; iCmd < header->ncmds; iCmd++) { + const struct load_command * loadCmd = (struct load_command *)cmdPtr; + if (loadCmd->cmd == LC_SEGMENT) { + const struct segment_command * segCmd = (struct segment_command *)cmdPtr; + if (addressWSlide >= segCmd->vmaddr && + addressWSlide < segCmd->vmaddr + segCmd->vmsize) { + return iImg; + } + } else if (loadCmd->cmd == LC_SEGMENT_64) { + const struct segment_command_64 * segCmd = (struct segment_command_64 *)cmdPtr; + if (addressWSlide >= segCmd->vmaddr && + addressWSlide < segCmd->vmaddr + segCmd->vmsize) { + return iImg; + } + } + cmdPtr += loadCmd->cmdsize; + } + } + } + return UINT_MAX; +} + + +#pragma mark - generate backtrace entry +const char * cocoadebug_lastPathEntry(const char * const path) { + if (path == NULL) { return NULL; } + char * lastFile = strrchr(path, '/'); + return lastFile == NULL ? path: lastFile + 1; +} + +NSString * cocoadebug_logBacktraceEntry(const int entryNum, const uintptr_t address, const Dl_info * const dlInfo) { + char faddrBuffer[20]; + char saddrBuffer[20]; + + const char * fname = cocoadebug_lastPathEntry(dlInfo->dli_fname); + if (fname == NULL) { + sprintf(faddrBuffer, _POINTER_FMT, (uintptr_t)dlInfo->dli_fbase); + fname = faddrBuffer; + } + + uintptr_t offset = address - (uintptr_t)dlInfo->dli_saddr; + const char * sname = dlInfo->dli_sname; + if (sname == NULL) { + sprintf(saddrBuffer, _POINTER_SHORT_FMT, (uintptr_t)dlInfo->dli_fbase); + sname = saddrBuffer; + offset = address - (uintptr_t)dlInfo->dli_fbase; + } + return [NSString stringWithFormat: @"%-30s 0x%08" PRIxPTR " %s + %lu\n", fname, (uintptr_t)address, sname, offset]; +} + + +@end diff --git a/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.h b/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.h new file mode 100644 index 0000000..e1a5594 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.h @@ -0,0 +1,18 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// +/* +#import + +@interface _DebugConsoleLabel : UILabel + +- (void)updateLabelWithValue:(float)value; + +- (NSAttributedString *)uiBlockingAttributedStringWith:(float)uiBlocking; + +@end + */ diff --git a/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.m b/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.m new file mode 100644 index 0000000..1cf73fc --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_DebugConsoleLabel.m @@ -0,0 +1,75 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// +/* +#import "_DebugConsoleLabel.h" + +@interface _DebugConsoleLabel () + +@property (nonatomic, strong) UIFont *mainFont; +@property (nonatomic, strong) UIFont *subFont; + +@end + +@implementation _DebugConsoleLabel + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self setDefault]; + } + return self; +} + +- (void)setDefault { + self.textAlignment = NSTextAlignmentCenter; + self.userInteractionEnabled = NO; + self.adjustsFontSizeToFitWidth = YES; + + self.mainFont = [UIFont fontWithName:@"Menlo" size:14]; + if (self.mainFont) { + self.subFont = [UIFont fontWithName:@"Menlo" size:4]; + } else { + self.mainFont = [UIFont fontWithName:@"Courier" size:14]; + self.subFont = [UIFont fontWithName:@"Courier" size:4]; + } +} + +- (void)updateLabelWithValue:(float)value { + self.attributedText = [self uiBlockingAttributedStringWith:value]; +} + +#pragma mark - NSAttributedString + +- (NSAttributedString *)uiBlockingAttributedStringWith:(float)uiBlocking { + CGFloat progress = uiBlocking / 60.0; + UIColor *color = [UIColor colorWithHue:0.27 * (progress - 0.2) saturation:1 brightness:0.9 alpha:1]; + NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%d UIBlocking",(int)round(uiBlocking)]]; + [text addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(0, text.length - 3)]; + [text addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(text.length - 3, 3)]; + [text addAttribute:NSFontAttributeName value:self.mainFont range:NSMakeRange(0, text.length)]; + [text addAttribute:NSFontAttributeName value:self.subFont range:NSMakeRange(text.length - 4, 1)]; + return text; +} + +#pragma mark - Color + +- (UIColor*)getColorByPercent:(CGFloat)percent { + NSInteger r = 0, g = 0, one = 255 + 255; + if (percent < 0.5) { + r = one * percent; + g = 255; + } + if (percent >= 0.5) { + g = 255 - ((percent - 0.5 ) * one) ; + r = 255; + } + return [UIColor colorWithRed:r/255.0 green:g/255.0 blue:0 alpha:1]; +} + +@end + */ diff --git a/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.h b/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.h new file mode 100644 index 0000000..f1e08e7 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.h @@ -0,0 +1,23 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _RunloopMonitor : NSObject +//@property (nonatomic, copy, class) NSString * version; ++ (instancetype)shared; + +- (void)beginMonitor; + +- (void)endMonitor; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.m b/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.m new file mode 100644 index 0000000..f3b30d7 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Monitor/_RunloopMonitor.m @@ -0,0 +1,147 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_RunloopMonitor.h" +#import "_BacktraceLogger.h" + +// 定义延迟时间 毫秒 +static int64_t const OUT_TIME = 100 * NSEC_PER_MSEC; +// before wait 的超时时间 +static NSTimeInterval const WAIT_TIME = 0.5; + +@interface _RunloopMonitor () { + @public + CFRunLoopObserverRef observer; + CFRunLoopActivity currentActivity; + dispatch_semaphore_t semaphore; + BOOL isMonitoring; +} +@end + +static void runloopObserverCallback(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) { + //_RunloopMonitor * monitor = (__bridge _RunloopMonitor*)info; + [_RunloopMonitor shared]->currentActivity = activity; + +// switch (activity) { +// case kCFRunLoopEntry: +// NSLog(@"##### %@", @"kCFRunLoopEntry"); +// break; +// case kCFRunLoopBeforeTimers: +// NSLog(@"##### %@", @"kCFRunLoopBeforeTimers"); +// break; +// case kCFRunLoopBeforeSources: +// NSLog(@"##### %@", @"kCFRunLoopBeforeSources"); +// break; +// case kCFRunLoopBeforeWaiting: +// NSLog(@"##### %@", @"kCFRunLoopBeforeWaiting"); +// break; +// case kCFRunLoopAfterWaiting: +// NSLog(@"##### %@", @"kCFRunLoopAfterWaiting"); +// break; +// case kCFRunLoopExit: +// NSLog(@"##### %@", @"kCFRunLoopExit"); +// break; +// default: +// break; +// } + + dispatch_semaphore_t sema = [_RunloopMonitor shared]->semaphore; + dispatch_semaphore_signal(sema); +} + +@implementation _RunloopMonitor + ++ (instancetype)shared { + static id ins = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + ins = [[super allocWithZone:NSDefaultMallocZone()] init]; + }); + return ins; +} ++ (instancetype)allocWithZone:(struct _NSZone *)zone { + return [self shared]; +} + +- (void)dealloc { + [self endMonitor]; + [super dealloc]; +} + +- (void)beginMonitor { + + if ([_RunloopMonitor shared]->isMonitoring) return; + + [_RunloopMonitor shared]->isMonitoring = YES; + + // 创建观察者 + CFRunLoopObserverContext context = { + 0, + (__bridge void*)self, + &CFRetain, + &CFRelease, + NULL + }; + //static CFRunLoopObserverRef observer; + observer = CFRunLoopObserverCreate(kCFAllocatorDefault, kCFRunLoopAllActivities, YES, 0, &runloopObserverCallback, &context); + + // 观察主线程 + CFRunLoopAddObserver(CFRunLoopGetMain(), observer, kCFRunLoopCommonModes); + + // 在子线程中监控卡顿 + semaphore = dispatch_semaphore_create(0); //同步? + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + // 开启持续的loop来监控 + while ([_RunloopMonitor shared]->isMonitoring) { + if ([_RunloopMonitor shared]->currentActivity == kCFRunLoopBeforeWaiting) + { + // 处理休眠前事件观测 + __block BOOL timeOut = YES; + dispatch_async(dispatch_get_main_queue(), ^{ + timeOut = NO; // timeOut任务 + }); + [NSThread sleepForTimeInterval:WAIT_TIME]; + // WAIT_TIME 时间后,如果 timeOut任务 任未执行, 则认为主线程前面的任务执行时间过长导致卡顿 + if (timeOut) { + [_BacktraceLogger cocoadebug_logMain]; + } + } + else + { + // 处理 Timer,Source,唤醒后事件 + // 同步等待时间内,接收到信号result=0, 超时则继续往下执行并且result!=0 + long result = dispatch_semaphore_wait([_RunloopMonitor shared]->semaphore, dispatch_time(DISPATCH_TIME_NOW, OUT_TIME)); + if (result != 0) { // 超时 + if (![_RunloopMonitor shared]->observer) { + [[_RunloopMonitor shared] endMonitor]; + continue; + } + if ([_RunloopMonitor shared]->currentActivity == kCFRunLoopBeforeSources || + [_RunloopMonitor shared]->currentActivity == kCFRunLoopAfterWaiting || + [_RunloopMonitor shared]->currentActivity == kCFRunLoopBeforeTimers) { + + [_BacktraceLogger cocoadebug_logMain]; + } + } + } + } + }); + +} + +- (void)endMonitor { + if (!observer) return; + if (!isMonitoring) return; + isMonitoring = NO; + + CFRunLoopRemoveObserver(CFRunLoopGetMain(), observer, kCFRunLoopCommonModes); + CFRelease(observer); + observer = nil; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Network/JsonViewController.swift b/Pods/CocoaDebug/Sources/Network/JsonViewController.swift new file mode 100644 index 0000000..7f4dfca --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/JsonViewController.swift @@ -0,0 +1,154 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +enum EditType { + case unknown + case requestHeader + case responseHeader + case log +} + +import Foundation +import UIKit + +class JsonViewController: UIViewController { + + @IBOutlet weak var textView: CustomTextView! + @IBOutlet weak var imageView: UIImageView! + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + var editType: EditType = .unknown + var httpModel: _HttpModel? + var detailModel: NetworkDetailModel? + + //Edited url + var editedURLString: String? + //Edited content + var editedContent: String? + + //log + var logTitleString: String? + var logModels: [_OCLogModel]? + var logModel: _OCLogModel? + var justCancelCallback:(() -> Void)? + + static func instanceFromStoryBoard() -> JsonViewController { + let storyboard = UIStoryboard(name: "Network", bundle: Bundle(for: CocoaDebug.self)) + return storyboard.instantiateViewController(withIdentifier: "JsonViewController") as! JsonViewController + } + + //MARK: - tool + + //detect format (JSON/Form) + func detectSerializer() { + guard let content = detailModel?.content else { + detailModel?.requestSerializer = RequestSerializer.JSON//default JSON format + return + } + + if let _ = content.stringToDictionary() { + //JSON format + detailModel?.requestSerializer = RequestSerializer.JSON + } else { + //Form format + detailModel?.requestSerializer = RequestSerializer.form + + if let jsonString = detailModel?.content?.formStringToJsonString() { + textView.text = jsonString + detailModel?.requestSerializer = RequestSerializer.JSON + detailModel?.content = textView.text + } + } + } + + + //MARK: - init + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + // navigationController?.hidesBarsOnSwipe = true + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + // navigationController?.hidesBarsOnSwipe = false + + if let index = logModels?.firstIndex(where: { (model) -> Bool in + return model.isSelected == true + }) { + logModels?[index].isSelected = false + } + + logModel?.isSelected = true + + if let justCancelCallback = justCancelCallback { + justCancelCallback() + } + } + + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = detailModel?.title + naviItem.titleView = naviItemTitleLabel + + textView.textContainer.lineFragmentPadding = 15 + // textView.textContainerInset = .zero + + //detect type (default type URL) + if detailModel?.title == "REQUEST HEADER" { + editType = .requestHeader + } + if detailModel?.title == "RESPONSE HEADER" { + editType = .responseHeader + } + + //setup UI + if editType == .requestHeader + { + imageView.isHidden = true + textView.isHidden = false + textView.text = String(detailModel?.requestHeaderFields?.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"") + } + else if editType == .responseHeader + { + imageView.isHidden = true + textView.isHidden = false + textView.text = String(detailModel?.responseHeaderFields?.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"") + } + else if editType == .log + { + imageView.isHidden = true + textView.isHidden = false + naviItemTitleLabel?.text = logTitleString + + if let data = logModel?.contentData { + textView.text = data.dataToString() + } + } + else + { + if let content = detailModel?.content { + imageView.isHidden = true + textView.isHidden = false + textView.text = content + detectSerializer()//detect format (JSON/Form) + } + if let image = detailModel?.image { + textView.isHidden = true + imageView.isHidden = false + imageView.image = image + } + } + } +} diff --git a/Pods/CocoaDebug/Sources/Network/NetworkCell.swift b/Pods/CocoaDebug/Sources/Network/NetworkCell.swift new file mode 100644 index 0000000..76a31f4 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/NetworkCell.swift @@ -0,0 +1,157 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit + +class NetworkCell: UITableViewCell { + + @IBOutlet weak var leftAlignLine: UILabel! + @IBOutlet weak var statusCodeLabel: UILabel! + @IBOutlet weak var methodLabel: UILabel! + @IBOutlet weak var requestTimeTextView: CustomTextView! + @IBOutlet weak var requestUrlTextView: CustomTextView! + @IBOutlet weak var imageLabel: UILabel! + @IBOutlet weak var statusCodeView: UIView! + + var index: NSInteger = 0 + + var httpModel: _HttpModel? { + didSet { + + guard let serverURL = CocoaDebugSettings.shared.serverURL else {return} + + //domain name + requestUrlTextView.text = httpModel?.url.absoluteString + if requestUrlTextView.text?.contains(serverURL) == true { + if #available(iOS 8.2, *) { + requestUrlTextView.font = UIFont.systemFont(ofSize: 13, weight: .heavy) + } else { + // Fallback on earlier versions + requestUrlTextView.font = UIFont.boldSystemFont(ofSize: 13) + } + } else { + if #available(iOS 8.2, *) { + requestUrlTextView.font = UIFont.systemFont(ofSize: 13, weight: .regular) + } else { + // Fallback on earlier versions + requestUrlTextView.font = UIFont.systemFont(ofSize: 13) + } + } + + //Request method + if let method = httpModel?.method { + methodLabel.text = "[" + method + "]" + } + + //Request time + if let startTime = httpModel?.startTime { + if (startTime as NSString).doubleValue == 0 { + requestTimeTextView.text = _OCLoggerFormat.formatDate(Date()) + } else { + requestTimeTextView.text = _OCLoggerFormat.formatDate(NSDate(timeIntervalSince1970: (startTime as NSString).doubleValue) as Date) + } + } + + //https://httpcodes.co/status/ + let successStatusCodes = ["200","201","202","203","204","205","206","207","208","226"] + let informationalStatusCodes = ["100","101","102","103","122"] + let redirectionStatusCodes = ["300","301","302","303","304","305","306","307","308"] + + //status code + statusCodeLabel.text = httpModel?.statusCode + + if successStatusCodes.contains(statusCodeLabel.text ?? "") { + statusCodeLabel.textColor = "#42d459".hexColor + } + else if informationalStatusCodes.contains(statusCodeLabel.text ?? "") { + statusCodeLabel.textColor = "#4b8af7".hexColor + } + else if redirectionStatusCodes.contains(statusCodeLabel.text ?? "") { + statusCodeLabel.textColor = "#ff9800".hexColor + } + else { + statusCodeLabel.textColor = "#ff0000".hexColor + } + + if statusCodeLabel.text == "0" { //"0" means network unavailable + statusCodeLabel.text = "❌" + } + + //Whether to display the image label + if httpModel?.isImage == true + { + imageLabel.isHidden = false + imageLabel.text = "Image" + } + else + { + //js css + if let urlString = httpModel?.url.absoluteString { + if urlString.suffix(3) == ".js" { + imageLabel.isHidden = false + imageLabel.text = "JavaScript" + } else if urlString.suffix(4) == ".css" { + imageLabel.isHidden = false + imageLabel.text = "CSS" + } else { + imageLabel.isHidden = true + } + } else { + imageLabel.isHidden = true + } + } + + //tag + if httpModel?.isTag == true { + self.contentView.backgroundColor = "#007aff".hexColor + } else { + self.contentView.backgroundColor = .black + } + + //isSelected + if httpModel?.isSelected == true { + statusCodeView.backgroundColor = "#222222".hexColor + } else { + statusCodeView.backgroundColor = "#333333".hexColor + } + } + } + + //MARK: - awakeFromNib + override func awakeFromNib() { + super.awakeFromNib() + + imageLabel.backgroundColor = Color.mainGreen + requestTimeTextView.textColor = Color.mainGreen + + requestTimeTextView.textContainer.lineFragmentPadding = 0 + requestTimeTextView.textContainerInset = .zero + requestTimeTextView.isSelectable = false + + requestUrlTextView.textContainer.lineFragmentPadding = 0 + requestUrlTextView.textContainerInset = .zero + requestUrlTextView.isSelectable = true + + leftAlignLine.textAlignment = .center + leftAlignLine.textColor = .white + leftAlignLine.adjustsFontSizeToFitWidth = true + if #available(iOS 8.2, *) { + leftAlignLine.font = UIFont.systemFont(ofSize: 20, weight: .bold) + } else { + leftAlignLine.font = UIFont.boldSystemFont(ofSize: 20) + } + } + + //MARK: - layoutSubviews + override func layoutSubviews() { + superview?.layoutSubviews() + + leftAlignLine.text = String(index + 1) + } +} diff --git a/Pods/CocoaDebug/Sources/Network/NetworkDetailCell.swift b/Pods/CocoaDebug/Sources/Network/NetworkDetailCell.swift new file mode 100644 index 0000000..d4d9a52 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/NetworkDetailCell.swift @@ -0,0 +1,83 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit + +class NetworkDetailCell: UITableViewCell { + + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var contentTextView: CustomTextView! + @IBOutlet weak var imgView: UIImageView! + @IBOutlet weak var titleView: UIView! + @IBOutlet weak var topLine: UIView! + @IBOutlet weak var middleLine: UIView! + @IBOutlet weak var bottomLine: UIView! + @IBOutlet weak var editView: UIView! + + @IBOutlet weak var titleViewBottomSpaceToMiddleLine: NSLayoutConstraint! + //-12.5 + + + var tapEditViewCallback:((NetworkDetailModel?) -> Void)? + + var detailModel: NetworkDetailModel? { + didSet { + + titleLabel.text = detailModel?.title + contentTextView.text = detailModel?.content + + //image + if detailModel?.image == nil { + imgView.isHidden = true + } else { + imgView.isHidden = false + imgView.image = detailModel?.image + } + + //Hide content automatically + if detailModel?.blankContent == "..." { + middleLine.isHidden = true + imgView.isHidden = true + titleViewBottomSpaceToMiddleLine.constant = -12.5 + 2 + } else { + middleLine.isHidden = false + if detailModel?.image != nil { + imgView.isHidden = false + } + titleViewBottomSpaceToMiddleLine.constant = 0 + } + + //Bottom dividing line + if detailModel?.isLast == true { + bottomLine.isHidden = false + } else { + bottomLine.isHidden = true + } + } + } + + //MARK: - awakeFromNib + override func awakeFromNib() { + super.awakeFromNib() + + editView.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(tapEditView))) + + contentTextView.textContainer.lineFragmentPadding = 0 + contentTextView.textContainerInset = .zero + } + + + //MARK: - target action + //edit + @objc func tapEditView() { + if let tapEditViewCallback = tapEditViewCallback { + tapEditViewCallback(detailModel) + } + } +} diff --git a/Pods/CocoaDebug/Sources/Network/NetworkDetailModel.swift b/Pods/CocoaDebug/Sources/Network/NetworkDetailModel.swift new file mode 100644 index 0000000..9de7699 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/NetworkDetailModel.swift @@ -0,0 +1,104 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation + +struct NetworkDetailModel { + var title: String? + var content: String? + var url: String? + var image: UIImage? + var blankContent: String? + var isLast: Bool = false + var requestSerializer: RequestSerializer = RequestSerializer.JSON//default JSON format + var requestHeaderFields: [String: Any]? + var responseHeaderFields: [String: Any]? + var requestData: Data? + var responseData: Data? + var httpModel: _HttpModel? + + + init(title: String? = nil, content: String? = "", url: String? = "", image: UIImage? = nil, httpModel: _HttpModel? = nil) { + self.title = title?.replacingOccurrences(of: "\\/", with: "/") + self.content = content?.replacingOccurrences(of: "\\/", with: "/") + self.url = url?.replacingOccurrences(of: "\\/", with: "/") + self.image = image + self.httpModel = httpModel + + + + +// if title == "REQUEST" { +// self.requestData = httpModel?.requestData +// +// guard let content = content, let url = url, let data = self.requestData, let keys = CocoaDebugSettings.shared.protobufTransferMap?.keys else {return} +// if !content.contains("GPBMessage") {return} +// self.title = "REQUEST (Protobuf)" +// +// for key in keys { +// if url.contains(key) { +// //1. +// guard let arr : Array = CocoaDebugSettings.shared.protobufTransferMap?[key] else {return} +// if arr.count == 2 { +// //2. +// let clsNameString = arr[0] +// guard let cls : AnyObject.Type = NSClassFromString(clsNameString) else {return} +// //protobuf +// guard let obj = try? cls.parse(from: data) else {return} +// //HuiCao +// let jsonString = obj._JSONString(withIgnoreFields: nil) +// //pretty print +// if let prettyJsonString = jsonString?.jsonStringToPrettyJsonString() { +// self.content = prettyJsonString +// } else { +// self.content = jsonString +// } +// +// self.content = self.content?.replacingOccurrences(of: "\\/", with: "/") +// return +// } +// } +// } +// } + + + +// else if title == "RESPONSE" { +// self.responseData = httpModel?.responseData +// +// guard let content = content, let url = url, let data = self.responseData, let keys = CocoaDebugSettings.shared.protobufTransferMap?.keys else {return} +// if !content.contains("GPBMessage") {return} +// self.title = "RESPONSE (Protobuf)" +// +// for key in keys { +// if url.contains(key) { +// //1. +// guard let arr : Array = CocoaDebugSettings.shared.protobufTransferMap?[key] else {return} +// if arr.count == 2 { +// //2. +// let clsNameString = arr[1] +// guard let cls : AnyObject.Type = NSClassFromString(clsNameString) else {return} +// //protobuf +// guard let obj = try? cls.parse(from: data) else {return} +// //HuiCao +// let jsonString = obj._JSONString(withIgnoreFields: nil) +// //pretty print +// if let prettyJsonString = jsonString?.jsonStringToPrettyJsonString() { +// self.content = prettyJsonString +// } else { +// self.content = jsonString +// } +// +// self.content = self.content?.replacingOccurrences(of: "\\/", with: "/") +// return +// } +// } +// } +// } + } +} diff --git a/Pods/CocoaDebug/Sources/Network/NetworkDetailViewController.swift b/Pods/CocoaDebug/Sources/Network/NetworkDetailViewController.swift new file mode 100644 index 0000000..1fb4579 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/NetworkDetailViewController.swift @@ -0,0 +1,523 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import Foundation +import UIKit +import MessageUI + +class NetworkDetailViewController: UITableViewController, MFMailComposeViewControllerDelegate { + + @IBOutlet weak var closeItem: UIBarButtonItem! + @IBOutlet weak var naviItem: UINavigationItem! + + var naviItemTitleLabel: UILabel? + + var httpModel: _HttpModel? + var httpModels: [_HttpModel]? + + var detailModels: [NetworkDetailModel] = [NetworkDetailModel]() + + var requestDictionary: [String: Any]? = Dictionary() + + var headerCell: NetworkCell? + + var messageBody: String = "" + + var justCancelCallback:(() -> Void)? + + static func instanceFromStoryBoard() -> NetworkDetailViewController { + let storyboard = UIStoryboard(name: "Network", bundle: Bundle(for: CocoaDebug.self)) + return storyboard.instantiateViewController(withIdentifier: "NetworkDetailViewController") as! NetworkDetailViewController + } + + + //MARK: - tool + func setupModels() + { + guard let requestSerializer = httpModel?.requestSerializer else {return} + var requestContent: String? = nil + + //otherwise it will crash when it is nil + if httpModel?.requestData == nil { + httpModel?.requestData = Data.init() + } + if httpModel?.responseData == nil { + httpModel?.responseData = Data.init() + } + + //detect the request parameter format (JSON/Form) + if requestSerializer == RequestSerializer.JSON { + //JSON + requestContent = httpModel?.requestData.dataToPrettyPrintString() + } + else if requestSerializer == RequestSerializer.form { + if let data = httpModel?.requestData { + //1.protobuf +// if let message = try? GPBMessage.parse(from: data) { +// if message.serializedSize() > 0 { +// requestContent = message.description +// } else { + //2.Form + requestContent = data.dataToString() +// } +// } + if requestContent == nil || requestContent == "" || requestContent == "\u{8}\u{1e}" { + //3.utf-8 string + requestContent = String(data: data, encoding: .utf8) + } + if requestContent == "" || requestContent == "\u{8}\u{1e}" { + requestContent = nil + } + } + } + + if httpModel?.isImage == true { + //image: + //1. + let model_1 = NetworkDetailModel.init(title: "URL", content: "https://github.com/CocoaDebug/CocoaDebug", url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_3 = NetworkDetailModel.init(title: "REQUEST", content: requestContent, url: httpModel?.url.absoluteString, httpModel: httpModel) + var model_5 = NetworkDetailModel.init(title: "RESPONSE", content: nil, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_6 = NetworkDetailModel.init(title: "ERROR", content: httpModel?.errorLocalizedDescription, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_7 = NetworkDetailModel.init(title: "ERROR DESCRIPTION", content: httpModel?.errorDescription, url: httpModel?.url.absoluteString, httpModel: httpModel) + if let responseData = httpModel?.responseData { + model_5 = NetworkDetailModel.init(title: "RESPONSE", content: nil, url: httpModel?.url.absoluteString, image: UIImage.init(gifData: responseData), httpModel: httpModel) + } + //2. + let model_8 = NetworkDetailModel.init(title: "TOTAL TIME", content: httpModel?.totalDuration, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_9 = NetworkDetailModel.init(title: "MIME TYPE", content: httpModel?.mineType, url: httpModel?.url.absoluteString, httpModel: httpModel) + var model_2 = NetworkDetailModel.init(title: "REQUEST HEADER", content: nil, url: httpModel?.url.absoluteString, httpModel: httpModel) + if let requestHeaderFields = httpModel?.requestHeaderFields { + if !requestHeaderFields.isEmpty { + model_2 = NetworkDetailModel.init(title: "REQUEST HEADER", content: requestHeaderFields.description, url: httpModel?.url.absoluteString, httpModel: httpModel) + model_2.requestHeaderFields = requestHeaderFields + model_2.content = String(requestHeaderFields.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"").replacingOccurrences(of: "\\/", with: "/") + } + } + var model_4 = NetworkDetailModel.init(title: "RESPONSE HEADER", content: nil, url: httpModel?.url.absoluteString, httpModel: httpModel) + if let responseHeaderFields = httpModel?.responseHeaderFields { + if !responseHeaderFields.isEmpty { + model_4 = NetworkDetailModel.init(title: "RESPONSE HEADER", content: responseHeaderFields.description, url: httpModel?.url.absoluteString, httpModel: httpModel) + model_4.responseHeaderFields = responseHeaderFields + model_4.content = String(responseHeaderFields.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"").replacingOccurrences(of: "\\/", with: "/") + } + } + let model_0 = NetworkDetailModel.init(title: "RESPONSE SIZE", content: httpModel?.size, url: httpModel?.url.absoluteString, httpModel: httpModel) + //3. + detailModels.append(model_1) + detailModels.append(model_2) + detailModels.append(model_3) + detailModels.append(model_4) + detailModels.append(model_5) + detailModels.append(model_6) + detailModels.append(model_7) + detailModels.append(model_0) + detailModels.append(model_8) + detailModels.append(model_9) + } + else { + //not image: + //1. + let model_1 = NetworkDetailModel.init(title: "URL", content: "https://github.com/CocoaDebug/CocoaDebug", url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_3 = NetworkDetailModel.init(title: "REQUEST", content: requestContent, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_5 = NetworkDetailModel.init(title: "RESPONSE", content: httpModel?.responseData.dataToPrettyPrintString(), url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_6 = NetworkDetailModel.init(title: "ERROR", content: httpModel?.errorLocalizedDescription, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_7 = NetworkDetailModel.init(title: "ERROR DESCRIPTION", content: httpModel?.errorDescription, url: httpModel?.url.absoluteString, httpModel: httpModel) + //2. + let model_8 = NetworkDetailModel.init(title: "TOTAL TIME", content: httpModel?.totalDuration, url: httpModel?.url.absoluteString, httpModel: httpModel) + let model_9 = NetworkDetailModel.init(title: "MIME TYPE", content: httpModel?.mineType, url: httpModel?.url.absoluteString, httpModel: httpModel) + var model_2 = NetworkDetailModel.init(title: "REQUEST HEADER", content: nil, url: httpModel?.url.absoluteString, httpModel: httpModel) + if let requestHeaderFields = httpModel?.requestHeaderFields { + if !requestHeaderFields.isEmpty { + model_2 = NetworkDetailModel.init(title: "REQUEST HEADER", content: requestHeaderFields.description, url: httpModel?.url.absoluteString, httpModel: httpModel) + model_2.requestHeaderFields = requestHeaderFields + model_2.content = String(requestHeaderFields.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"").replacingOccurrences(of: "\\/", with: "/") + } + } + var model_4 = NetworkDetailModel.init(title: "RESPONSE HEADER", content: nil, url: httpModel?.url.absoluteString, httpModel: httpModel) + if let responseHeaderFields = httpModel?.responseHeaderFields { + if !responseHeaderFields.isEmpty { + model_4 = NetworkDetailModel.init(title: "RESPONSE HEADER", content: responseHeaderFields.description, url: httpModel?.url.absoluteString, httpModel: httpModel) + model_4.responseHeaderFields = responseHeaderFields + model_4.content = String(responseHeaderFields.dictionaryToString()?.dropFirst().dropLast().dropFirst().dropLast().dropFirst().dropFirst() ?? "").replacingOccurrences(of: "\",\n \"", with: "\",\n\"").replacingOccurrences(of: "\\/", with: "/") + } + } + let model_0 = NetworkDetailModel.init(title: "RESPONSE SIZE", content: httpModel?.size, url: httpModel?.url.absoluteString, httpModel: httpModel) + //3. + detailModels.append(model_1) + detailModels.append(model_2) + detailModels.append(model_3) + detailModels.append(model_4) + detailModels.append(model_5) + detailModels.append(model_6) + detailModels.append(model_7) + detailModels.append(model_0) + detailModels.append(model_8) + detailModels.append(model_9) + } + } + + //detetc request format (JSON/Form) + func detectRequestSerializer() { + guard let requestData = httpModel?.requestData else { + httpModel?.requestSerializer = RequestSerializer.JSON//default JSON format + return + } + + if let _ = requestData.dataToDictionary() { + //JSON format + httpModel?.requestSerializer = RequestSerializer.JSON + } else { + //Form format + httpModel?.requestSerializer = RequestSerializer.form + } + } + + + //email configure + func configureMailComposer(_ copy: Bool = false) -> MFMailComposeViewController? { + + //1.image + var img: UIImage? = nil + var isImage: Bool = false + if let httpModel = httpModel { + isImage = httpModel.isImage + } + + //2.body message ------------------ start ------------------ + var string: String = "" + messageBody = "" + + for model in detailModels { + if let title = model.title, let content = model.content { + if content != "" { + string = "\n\n" + "------- " + title + " -------" + "\n" + content + } + } + if !messageBody.contains(string) { + messageBody.append(string) + } + //image + if isImage == true { + if let image = model.image { + img = image + } + } + } + + //2.1.url + var url: String = "" + if let httpModel = httpModel { + url = httpModel.url.absoluteString + } + + //2.2.method + var method: String = "" + if let httpModel = httpModel { + method = "[" + httpModel.method + "]" + } + + //2.3.time + var time: String = "" + if let httpModel = httpModel { + if let startTime = httpModel.startTime { + if (startTime as NSString).doubleValue == 0 { + time = _OCLoggerFormat.formatDate(Date()) + } else { + time = _OCLoggerFormat.formatDate(NSDate(timeIntervalSince1970: (startTime as NSString).doubleValue) as Date) + } + } + } + + //2.4.statusCode + var statusCode: String = "" + if let httpModel = httpModel { + statusCode = httpModel.statusCode + if statusCode == "0" { //"0" means network unavailable + statusCode = "❌" + } + } + + //body message ------------------ end ------------------ + var subString = method + " " + time + " " + "(" + statusCode + ")" + if subString.contains("❌") { + subString = subString.replacingOccurrences(of: "(", with: "").replacingOccurrences(of: ")", with: "") + } + + messageBody = messageBody.replacingOccurrences(of: "https://github.com/CocoaDebug/CocoaDebug", with: url) + messageBody = subString + messageBody + + ////////////////////////////////////////////////////////////////////////////////// + + if !MFMailComposeViewController.canSendMail() { + if copy == false { + //share via email + let alert = UIAlertController.init(title: "No Mail Accounts", message: "Please set up a Mail account in order to send email.", preferredStyle: .alert) + let action = UIAlertAction.init(title: "OK", style: .cancel) { _ in + } + alert.addAction(action) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } else { + //copy to clipboard + } + + return nil + } + + if copy == true { + //copy to clipboard + return nil + } + + //3.email recipients + let mailComposeVC = MFMailComposeViewController() + mailComposeVC.mailComposeDelegate = self + mailComposeVC.setToRecipients(CocoaDebugSettings.shared.emailToRecipients) + mailComposeVC.setCcRecipients(CocoaDebugSettings.shared.emailCcRecipients) + + //4.image + if let img = img { + if let imageData = img.pngData() { + mailComposeVC.addAttachmentData(imageData, mimeType: "image/png", fileName: "image") + } + } + + //5.body + mailComposeVC.setMessageBody(messageBody, isHTML: false) + + //6.subject + mailComposeVC.setSubject(url) + + return mailComposeVC + } + + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItemTitleLabel?.text = "Details" + naviItem.titleView = naviItemTitleLabel + + closeItem.tintColor = Color.mainGreen + + //detect the request format (JSON/Form) + detectRequestSerializer() + + setupModels() + + if var lastModel = detailModels.last { + lastModel.isLast = true + detailModels.removeLast() + detailModels.append(lastModel) + } + + //Use a separate xib-cell file, must be registered, otherwise it will crash + let bundle = Bundle(for: type(of: self)) + let nib = UINib(nibName: "NetworkCell", bundle: bundle) + tableView.register(nib, forCellReuseIdentifier: "NetworkCell") + + //header + headerCell = bundle.loadNibNamed(String(describing: NetworkCell.self), owner: nil, options: nil)?.first as? NetworkCell + headerCell?.httpModel = httpModel + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + + if let index = httpModels?.firstIndex(where: { (model) -> Bool in + return model.isSelected == true + }) { + httpModels?[index].isSelected = false + } + + httpModel?.isSelected = true + + if let justCancelCallback = justCancelCallback { + justCancelCallback() + } + } + + //MARK: - target action + @IBAction func close(_ sender: UIBarButtonItem) { + (self.navigationController as! CocoaDebugNavigationController).exit() + } + + @IBAction func didTapMail(_ sender: UIBarButtonItem) { + + // create an actionSheet + let alert: UIAlertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) + + // create an action + let firstAction: UIAlertAction = UIAlertAction(title: "share via email", style: .default) { [weak self] action -> Void in + if let mailComposeViewController = self?.configureMailComposer() { + self?.present(mailComposeViewController, animated: true, completion: nil) + } + } + + let secondAction: UIAlertAction = UIAlertAction(title: "copy to clipboard", style: .default) { [weak self] action -> Void in + _ = self?.configureMailComposer(true) + UIPasteboard.general.string = self?.messageBody + } + + let moreAction: UIAlertAction = UIAlertAction(title: "more", style: .default) { [weak self] action -> Void in + _ = self?.configureMailComposer(true) + let items: [Any] = [self?.messageBody ?? ""] + let action = UIActivityViewController(activityItems: items, applicationActivities: nil) + if UI_USER_INTERFACE_IDIOM() == .phone { + self?.present(action, animated: true, completion: nil) + } else { + action.popoverPresentationController?.sourceRect = .init(x: self?.view.bounds.midX ?? 0, y: self?.view.bounds.midY ?? 0, width: 0, height: 0) + action.popoverPresentationController?.sourceView = self?.view + self?.present(action, animated: true, completion: nil) + } + + } + + let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .cancel) { action -> Void in + } + + // add actions + alert.addAction(secondAction) + alert.addAction(firstAction) + alert.addAction(moreAction) + alert.addAction(cancelAction) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + // present an actionSheet... + present(alert, animated: true, completion: nil) + } +} + +//MARK: - UITableViewDataSource +extension NetworkDetailViewController { + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return detailModels.count + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "NetworkDetailCell", for: indexPath) + as! NetworkDetailCell + cell.detailModel = detailModels[indexPath.row] + + //2.click edit view + cell.tapEditViewCallback = { [weak self] detailModel in + let vc = JsonViewController.instanceFromStoryBoard() + vc.detailModel = detailModel + self?.navigationController?.pushViewController(vc, animated: true) + } + + return cell + } +} + +//MARK: - UITableViewDelegate +extension NetworkDetailViewController { + + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + + let detailModel = detailModels[indexPath.row] + + if detailModel.blankContent == "..." { + if detailModel.isLast == true { + return 50.5 + } + return 50 + } + + if indexPath.row == 0 { + return 0 + } + + if detailModel.image == nil { + if let content = detailModel.content { + if content == "" { + return 0 + } + //Calculate NSString height + let height = content.height(with: UIFont.systemFont(ofSize: 13), constraintToWidth: (UIScreen.main.bounds.size.width - 30)) + return height + 70 + } + return 0 + } + + return UIScreen.main.bounds.size.width + 50 + } + + + override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + return headerCell?.contentView + } + + + override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + guard let serverURL = CocoaDebugSettings.shared.serverURL else {return 0} + + var height: CGFloat = 0.0 + + if let cString = httpModel?.url.absoluteString.cString(using: String.Encoding.utf8) { + if let content_ = NSString(cString: cString, encoding: String.Encoding.utf8.rawValue) { + + if httpModel?.url.absoluteString.contains(serverURL) == true { + //Calculate NSString height + if #available(iOS 8.2, *) { + height = content_.height(with: UIFont.systemFont(ofSize: 13, weight: .heavy), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } else { + // Fallback on earlier versions + height = content_.height(with: UIFont.boldSystemFont(ofSize: 13), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } + } else { + //Calculate NSString height + if #available(iOS 8.2, *) { + height = content_.height(with: UIFont.systemFont(ofSize: 13, weight: .regular), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } else { + // Fallback on earlier versions + height = content_.height(with: UIFont.systemFont(ofSize: 13), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } + } + return height + 57 + } + } + + return 0 + } +} + +//MARK: - MFMailComposeViewControllerDelegate +extension NetworkDetailViewController { + + func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { + + controller.dismiss(animated: true) { + if error != nil { + let alert = UIAlertController.init(title: error?.localizedDescription, message: nil, preferredStyle: .alert) + let action = UIAlertAction.init(title: "OK", style: .cancel, handler: { _ in + }) + alert.addAction(action) + + alert.popoverPresentationController?.permittedArrowDirections = .init(rawValue: 0) + alert.popoverPresentationController?.sourceView = self.view + alert.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + + self.present(alert, animated: true, completion: nil) + } + } + } +} diff --git a/Pods/CocoaDebug/Sources/Network/NetworkViewController.swift b/Pods/CocoaDebug/Sources/Network/NetworkViewController.swift new file mode 100644 index 0000000..0091289 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/NetworkViewController.swift @@ -0,0 +1,298 @@ +// +// CocoaDebug +// liman +// +// Created by liman 02/02/2023. +// Copyright © 2023 liman. All rights reserved. +// + +import UIKit + +class NetworkViewController: UIViewController { + + var reachEnd: Bool = true + var firstIn: Bool = true + var reloadDataFinish: Bool = true + + var models: Array<_HttpModel>? + var cacheModels: Array<_HttpModel>? + var searchModels: Array<_HttpModel>? + + var naviItemTitleLabel: UILabel? + + @IBOutlet weak var tableView: UITableView! + @IBOutlet weak var searchBar: UISearchBar! + @IBOutlet weak var deleteItem: UIBarButtonItem! + @IBOutlet weak var naviItem: UINavigationItem! + + //MARK: - tool + //搜索逻辑 + func searchLogic(_ searchText: String = "") { + guard let cacheModels = cacheModels else {return} + searchModels = cacheModels + + if searchText == "" { + models = cacheModels + } else { + guard let searchModels = searchModels else {return} + + for _ in searchModels { + if let index = self.searchModels?.firstIndex(where: { (model) -> Bool in + return !model.url.absoluteString.lowercased().contains(searchText.lowercased())//忽略大小写 + }) { + self.searchModels?.remove(at: index) + } + } + models = self.searchModels + } + } + + //MARK: - private + func reloadHttp(needScrollToEnd: Bool = false) { + + if reloadDataFinish == false {return} + + if searchBar.isHidden != false { + searchBar.isHidden = false + } + + self.models = (_HttpDatasource.shared().httpModels as NSArray as? [_HttpModel]) + self.cacheModels = self.models + + self.searchLogic(CocoaDebugSettings.shared.networkSearchWord ?? "") + + // dispatch_main_async_safe { [weak self] in + self.reloadDataFinish = false + self.tableView.reloadData { + self.reloadDataFinish = true + } + + if needScrollToEnd == false {return} + + //table下滑到底部 + if let count = self.models?.count { + if count > 0 { + // guard let firstIn = self.firstIn else {return} + self.tableView.tableViewScrollToBottom(animated: !firstIn) + self.firstIn = false + } + } + // } + } + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + let tap = UITapGestureRecognizer.init(target: self, action: #selector(didTapView)) + tap.cancelsTouchesInView = false + view.addGestureRecognizer(tap) + + naviItemTitleLabel = UILabel.init(frame: CGRect(x: 0, y: 0, width: 80, height: 40)) + naviItemTitleLabel?.textAlignment = .center + naviItemTitleLabel?.textColor = Color.mainGreen + naviItemTitleLabel?.font = .boldSystemFont(ofSize: 20) + naviItem.titleView = naviItemTitleLabel + + naviItemTitleLabel?.text = "🚀[0]" + deleteItem.tintColor = Color.mainGreen + + //notification + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "reloadHttp_CocoaDebug"), object: nil, queue: OperationQueue.main) { [weak self] _ in + self?.reloadHttp(needScrollToEnd: self?.reachEnd ?? true) + } + + + tableView.tableFooterView = UIView() + tableView.dataSource = self + tableView.delegate = self + + //抖动bug + tableView.estimatedRowHeight = 0 + tableView.estimatedSectionHeaderHeight = 0 + tableView.estimatedSectionFooterHeight = 0 + + searchBar.delegate = self + searchBar.text = CocoaDebugSettings.shared.networkSearchWord + searchBar.isHidden = true + + //hide searchBar icon + let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as! UITextField + textFieldInsideSearchBar.leftViewMode = .never + textFieldInsideSearchBar.leftView = nil + textFieldInsideSearchBar.backgroundColor = .white + textFieldInsideSearchBar.returnKeyType = .default + + reloadHttp(needScrollToEnd: true) + + if models?.count ?? 0 > CocoaDebugSettings.shared.networkLastIndex && CocoaDebugSettings.shared.networkLastIndex > 0 { + tableView.tableViewScrollToIndex(index: CocoaDebugSettings.shared.networkLastIndex, animated: false) + } + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + searchBar.resignFirstResponder() + } + + deinit { + //notification + NotificationCenter.default.removeObserver(self) + } + + //MARK: - target action + @IBAction func didTapDown(_ sender: Any) { + tableView.tableViewScrollToBottom(animated: true) + searchBar.resignFirstResponder() + reachEnd = true + CocoaDebugSettings.shared.networkLastIndex = 0 + } + + @IBAction func didTapUp(_ sender: Any) { + tableView.tableViewScrollToHeader(animated: true) + searchBar.resignFirstResponder() + reachEnd = false + CocoaDebugSettings.shared.networkLastIndex = 0 + } + + + @IBAction func tapTrashButton(_ sender: UIBarButtonItem) { + _HttpDatasource.shared().reset() + models = [] + cacheModels = [] + // searchBar.text = nil + searchBar.resignFirstResponder() + // CocoaDebugSettings.shared.networkSearchWord = nil + CocoaDebugSettings.shared.networkLastIndex = 0 + + // dispatch_main_async_safe { [weak self] in + self.tableView.reloadData() + self.naviItemTitleLabel?.text = "🚀[0]" + // } + + NotificationCenter.default.post(name: NSNotification.Name("deleteAllLogs_CocoaDebug"), object: nil, userInfo: nil) + } + + @objc func didTapView() { + searchBar.resignFirstResponder() + } +} + +//MARK: - UITableViewDataSource +extension NetworkViewController: UITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + if let count = models?.count { + naviItemTitleLabel?.text = "🚀[" + String(count) + "]" + return count + } + return 0 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "NetworkCell", for: indexPath) + as! NetworkCell + + cell.httpModel = models?[indexPath.row] + cell.index = indexPath.row + return cell + } +} + +//MARK: - UITableViewDelegate +extension NetworkViewController: UITableViewDelegate { + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + + guard let serverURL = CocoaDebugSettings.shared.serverURL else {return 0} + let model = models?[indexPath.row] + var height: CGFloat = 0.0 + + if let cString = model?.url.absoluteString.cString(using: String.Encoding.utf8) { + if let content_ = NSString(cString: cString, encoding: String.Encoding.utf8.rawValue) { + + if model?.url.absoluteString.contains(serverURL) == true { + //计算NSString高度 + if #available(iOS 8.2, *) { + height = content_.height(with: UIFont.systemFont(ofSize: 13, weight: .heavy), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } else { + // Fallback on earlier versions + height = content_.height(with: UIFont.boldSystemFont(ofSize: 13), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } + } else { + //计算NSString高度 + if #available(iOS 8.2, *) { + height = content_.height(with: UIFont.systemFont(ofSize: 13, weight: .regular), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } else { + // Fallback on earlier versions + height = content_.height(with: UIFont.systemFont(ofSize: 13), constraintToWidth: (UIScreen.main.bounds.size.width - 92)) + } + } + + return height + 57 + } + } + + return 0 + } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) + { + tableView.deselectRow(at: indexPath, animated: true) + searchBar.resignFirstResponder() + reachEnd = false + + guard let models = models else {return} + + let vc: NetworkDetailViewController = NetworkDetailViewController.instanceFromStoryBoard() + vc.httpModels = models + vc.httpModel = models[indexPath.row] + self.navigationController?.pushViewController(vc, animated: true) + + vc.justCancelCallback = { [weak self] in + self?.tableView.reloadData() + } + + CocoaDebugSettings.shared.networkLastIndex = indexPath.row + } +} + +//MARK: - UIScrollViewDelegate +extension NetworkViewController: UIScrollViewDelegate { + + func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + searchBar.resignFirstResponder() + reachEnd = false + } + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + if (scrollView.contentOffset.y + 1) >= (scrollView.contentSize.height - scrollView.frame.size.height) { + //bottom reached + reachEnd = true + } + } +} + +//MARK: - UISearchBarDelegate +extension NetworkViewController: UISearchBarDelegate { + + func searchBarSearchButtonClicked(_ searchBar: UISearchBar) + { + searchBar.resignFirstResponder() + } + + func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) + { + CocoaDebugSettings.shared.networkSearchWord = searchText + searchLogic(searchText) + + // dispatch_main_async_safe { [weak self] in + self.tableView.reloadData() + // } + } +} + diff --git a/Pods/CocoaDebug/Sources/Network/_HttpDatasource.h b/Pods/CocoaDebug/Sources/Network/_HttpDatasource.h new file mode 100755 index 0000000..2b29af7 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_HttpDatasource.h @@ -0,0 +1,27 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import "_HttpModel.h" + +@interface _HttpDatasource : NSObject + +@property (nonatomic, strong) NSMutableArray<_HttpModel *> *httpModels; + ++ (instancetype)shared; + +///记录 +- (BOOL)addHttpRequset:(_HttpModel*)model; + +///清空 +- (void)reset; + +///删除 +- (void)remove:(_HttpModel *)model; + +@end diff --git a/Pods/CocoaDebug/Sources/Network/_HttpDatasource.m b/Pods/CocoaDebug/Sources/Network/_HttpDatasource.m new file mode 100755 index 0000000..86dd8d3 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_HttpDatasource.m @@ -0,0 +1,86 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_HttpDatasource.h" +#import "_NetworkHelper.h" + +@implementation _HttpDatasource + ++ (instancetype)shared +{ + static id sharedInstance = nil; + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; + }); + + return sharedInstance; +} + +- (id)init +{ + self = [super init]; + if (self) { + self.httpModels = [NSMutableArray arrayWithCapacity:1000 + 100]; + } + return self; +} + +- (BOOL)addHttpRequset:(_HttpModel*)model +{ + if ([model.url.absoluteString isEqualToString:@""]) { + return NO; + } + + + //url Filter, ignore case + for (NSString *urlString in [[_NetworkHelper shared] ignoredURLs]) { + if ([[model.url.absoluteString lowercaseString] containsString:[urlString lowercaseString]]) { + return NO; + } + } + + //Maximum number limit + if (self.httpModels.count >= 1000) { + if ([self.httpModels count] > 0) { + [self.httpModels removeObjectAtIndex:0]; + } + } + + //detect repeated + __block BOOL isExist = NO; + [self.httpModels enumerateObjectsUsingBlock:^(_HttpModel *obj, NSUInteger index, BOOL *stop) { + if ([obj.requestId isEqualToString:model.requestId]) { + isExist = YES; + } + }]; + if (!isExist) { + [self.httpModels addObject:model]; + } else { + return NO; + } + + return YES; +} + +- (void)reset +{ + [self.httpModels removeAllObjects]; +} + +- (void)remove:(_HttpModel *)model +{ + [self.httpModels enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(_HttpModel *obj, NSUInteger index, BOOL *stop) { + if ([obj.requestId isEqualToString:model.requestId]) { + [self.httpModels removeObjectAtIndex:index]; + } + }]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Network/_HttpModel.h b/Pods/CocoaDebug/Sources/Network/_HttpModel.h new file mode 100644 index 0000000..07d4671 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_HttpModel.h @@ -0,0 +1,41 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +typedef NS_ENUM(NSUInteger, RequestSerializer) { + RequestSerializerJSON = 0, //JSON format + RequestSerializerForm //Form format +}; + +@interface _HttpModel : NSObject + +@property (nonatomic,strong)NSURL *url; +@property (nonatomic,copy)NSData *requestData; +@property (nonatomic,copy)NSData *responseData; +@property (nonatomic,copy)NSString *requestId; +@property (nonatomic,copy)NSString *method; +@property (nonatomic,copy)NSString *statusCode; +@property (nonatomic,copy)NSString *mineType; +@property (nonatomic,copy)NSString *startTime; +@property (nonatomic,copy)NSString *endTime; +@property (nonatomic,copy)NSString *totalDuration; +@property (nonatomic,assign)BOOL isImage; + + +@property (nonatomic,copy)NSDictionary *requestHeaderFields; +@property (nonatomic,copy)NSDictionary *responseHeaderFields; +@property (nonatomic,assign)BOOL isTag; +@property (nonatomic,assign)BOOL isSelected; +@property (nonatomic,assign)RequestSerializer requestSerializer;//default JSON format +@property (nonatomic,copy)NSString *errorDescription; +@property (nonatomic,copy)NSString *errorLocalizedDescription; +@property (nonatomic,copy)NSString *size; + +@end diff --git a/Pods/CocoaDebug/Sources/Network/_HttpModel.m b/Pods/CocoaDebug/Sources/Network/_HttpModel.m new file mode 100644 index 0000000..6766abe --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_HttpModel.m @@ -0,0 +1,25 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_HttpModel.h" + +@implementation _HttpModel + +//default value for @property +- (id)init { + if (self = [super init]) { + self.statusCode = @"0"; + self.url = [[NSURL alloc] initWithString:@""]; + } + return self; +} + +@end + + + diff --git a/Pods/CocoaDebug/Sources/Network/_NetworkHelper.h b/Pods/CocoaDebug/Sources/Network/_NetworkHelper.h new file mode 100755 index 0000000..19d9298 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_NetworkHelper.h @@ -0,0 +1,41 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +@interface _NetworkHelper : NSObject + +//color for objc +@property (nonatomic, strong) UIColor *mainColor; + +//Set domain names not to be crawled, ignore case, and crawl all by default +@property (nonatomic, copy) NSArray *ignoredURLs; + +//Set only the domain name to be crawled, ignore case, and crawl all by default +@property (nonatomic, copy) NSArray *onlyURLs; + +//Set the log prefix not to be crawled, ignore case, and crawl all by default +@property (nonatomic, copy) NSArray *ignoredPrefixLogs; + +//Set the log prefix to be crawled, ignore case, and crawl all by default +@property (nonatomic, copy) NSArray *onlyPrefixLogs; + +//protobuf +@property (nonatomic, copy) NSDictionary *> *protobufTransferMap; + +// +@property (nonatomic, assign) BOOL isNetworkEnable; + +// +- (void)enable; +- (void)disable; + ++ (instancetype)shared; + +@end diff --git a/Pods/CocoaDebug/Sources/Network/_NetworkHelper.m b/Pods/CocoaDebug/Sources/Network/_NetworkHelper.m new file mode 100755 index 0000000..ffeaea0 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Network/_NetworkHelper.m @@ -0,0 +1,56 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_NetworkHelper.h" +#import "_CustomHTTPProtocol.h" +#import "NSObject+CocoaDebug.h" + +@interface _NetworkHelper() + +@end + +@implementation _NetworkHelper + ++ (instancetype)shared +{ + static id sharedInstance = nil; + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; + }); + + return sharedInstance; +} + +//default value for @property +- (id)init { + if (self = [super init]) { + self.mainColor = [UIColor colorFromHexString:@"#42d459"]; + self.isNetworkEnable = YES; + } + return self; +} + +- (void)enable { + if (self.isNetworkEnable) { + return; + } + self.isNetworkEnable = YES; + [_CustomHTTPProtocol start]; +} + +- (void)disable { + if (!self.isNetworkEnable) { + return; + } + self.isNetworkEnable = NO; + [_CustomHTTPProtocol stop]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Resources/App.storyboard b/Pods/CocoaDebug/Sources/Resources/App.storyboard new file mode 100644 index 0000000..cc474bf --- /dev/null +++ b/Pods/CocoaDebug/Sources/Resources/App.storyboard @@ -0,0 +1,987 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png new file mode 100644 index 0000000..34e307b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png new file mode 100644 index 0000000..8e95c91 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png new file mode 100644 index 0000000..c82b81c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png new file mode 100644 index 0000000..8a4078d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png new file mode 100644 index 0000000..5c3cba2 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png new file mode 100644 index 0000000..74e51c3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png new file mode 100644 index 0000000..0cd2102 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png new file mode 100644 index 0000000..5011076 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png new file mode 100644 index 0000000..54f7857 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png new file mode 100644 index 0000000..2129398 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png new file mode 100644 index 0000000..91886ab Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png new file mode 100644 index 0000000..d3d4a3a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png new file mode 100644 index 0000000..a331fbd Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png new file mode 100644 index 0000000..bddf55a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png new file mode 100644 index 0000000..f788604 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png new file mode 100644 index 0000000..ffdc86b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png new file mode 100644 index 0000000..1cfbf49 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png new file mode 100644 index 0000000..7ecd19e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png new file mode 100644 index 0000000..5ea07a2 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png new file mode 100644 index 0000000..fe2a0ac Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png new file mode 100644 index 0000000..b6d0ac4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png new file mode 100644 index 0000000..606cf44 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png new file mode 100644 index 0000000..bcbf653 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png new file mode 100644 index 0000000..4b11582 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png new file mode 100644 index 0000000..869baea Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png new file mode 100644 index 0000000..b52aeb0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png new file mode 100644 index 0000000..284474a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png new file mode 100644 index 0000000..cf7623d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png new file mode 100644 index 0000000..6ab8cd0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png new file mode 100644 index 0000000..3ce0fc4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png new file mode 100644 index 0000000..834ba30 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png new file mode 100644 index 0000000..68c374d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png new file mode 100644 index 0000000..c24bee3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png new file mode 100644 index 0000000..6118128 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png new file mode 100644 index 0000000..c1890f5 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png new file mode 100644 index 0000000..b1fb70d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png new file mode 100644 index 0000000..a2b5907 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png new file mode 100644 index 0000000..cdd94ce Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png new file mode 100644 index 0000000..b1d6f24 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png new file mode 100644 index 0000000..78c1f4b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png new file mode 100644 index 0000000..471480b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png new file mode 100644 index 0000000..1dcb48b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png new file mode 100644 index 0000000..ef8a61b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png new file mode 100644 index 0000000..3b5dd47 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png new file mode 100644 index 0000000..469f0b0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png new file mode 100644 index 0000000..6507e82 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png new file mode 100644 index 0000000..90849fa Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png new file mode 100644 index 0000000..473cbe3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png new file mode 100644 index 0000000..2885eab Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png new file mode 100644 index 0000000..af6b8a1 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png new file mode 100644 index 0000000..bbee889 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png new file mode 100644 index 0000000..89273d0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png new file mode 100644 index 0000000..bfa3a57 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png new file mode 100644 index 0000000..54cc48b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png new file mode 100644 index 0000000..58602cf Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png new file mode 100644 index 0000000..70cdaca Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png new file mode 100644 index 0000000..3412cbd Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png new file mode 100644 index 0000000..5ec10b0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png new file mode 100644 index 0000000..58133c6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png new file mode 100644 index 0000000..ffa2643 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png new file mode 100644 index 0000000..6ea9338 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png new file mode 100644 index 0000000..cbe3d45 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png new file mode 100644 index 0000000..7cfcdff Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png new file mode 100644 index 0000000..5630501 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png new file mode 100644 index 0000000..69dacbc Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png new file mode 100644 index 0000000..316d6f6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png new file mode 100644 index 0000000..467b424 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png new file mode 100644 index 0000000..6a02dd4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png new file mode 100644 index 0000000..962d325 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png new file mode 100644 index 0000000..80f9a4e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png new file mode 100644 index 0000000..9c96afc Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png new file mode 100644 index 0000000..b4c3fd7 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png new file mode 100644 index 0000000..cbbc56d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png new file mode 100644 index 0000000..d2a1bc6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png new file mode 100644 index 0000000..ce6d5ca Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png new file mode 100644 index 0000000..4ab79a7 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png new file mode 100644 index 0000000..4fd3a10 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png new file mode 100644 index 0000000..98e4d99 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png new file mode 100644 index 0000000..13ac311 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png new file mode 100644 index 0000000..be78bc1 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png new file mode 100644 index 0000000..4957ff8 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png new file mode 100644 index 0000000..51d0e1c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png new file mode 100644 index 0000000..3314572 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png new file mode 100644 index 0000000..1e31e02 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png new file mode 100644 index 0000000..e2badf2 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png new file mode 100644 index 0000000..fd98b37 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png new file mode 100644 index 0000000..ddcb632 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png new file mode 100644 index 0000000..05491d0 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png new file mode 100644 index 0000000..017a04b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png new file mode 100644 index 0000000..789dd2c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png new file mode 100644 index 0000000..8cf2e9b Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png new file mode 100644 index 0000000..0f11998 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png new file mode 100644 index 0000000..ceee321 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png new file mode 100644 index 0000000..6cfcd47 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png new file mode 100644 index 0000000..0221be6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png new file mode 100644 index 0000000..dbc7352 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png new file mode 100644 index 0000000..9257249 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png new file mode 100644 index 0000000..9897310 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png new file mode 100644 index 0000000..6bd8df2 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png new file mode 100644 index 0000000..268130a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png new file mode 100644 index 0000000..b35687c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png new file mode 100644 index 0000000..940e000 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png new file mode 100644 index 0000000..ff2a052 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png new file mode 100644 index 0000000..efaec66 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png new file mode 100644 index 0000000..7f7532d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png new file mode 100644 index 0000000..9b9b43f Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png new file mode 100644 index 0000000..cfcbce7 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png new file mode 100644 index 0000000..2809da4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png new file mode 100644 index 0000000..e438061 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png new file mode 100644 index 0000000..766dd1a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png new file mode 100644 index 0000000..51ec549 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png new file mode 100644 index 0000000..04d20af Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png new file mode 100644 index 0000000..69ad856 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png new file mode 100644 index 0000000..a38eee9 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png new file mode 100644 index 0000000..13b5ded Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png new file mode 100644 index 0000000..18fe562 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png new file mode 100644 index 0000000..7ea2428 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png new file mode 100644 index 0000000..df3886c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png new file mode 100644 index 0000000..3005b0a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png new file mode 100644 index 0000000..179b40d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png new file mode 100644 index 0000000..b22af91 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png new file mode 100644 index 0000000..68269f2 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png new file mode 100644 index 0000000..5c4d60c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png new file mode 100644 index 0000000..6da0763 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png new file mode 100644 index 0000000..461debc Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png new file mode 100644 index 0000000..f8e99f6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png new file mode 100644 index 0000000..1e91ef4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png new file mode 100644 index 0000000..0196ec8 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png new file mode 100644 index 0000000..fca57f6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png new file mode 100644 index 0000000..d0ef765 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png new file mode 100644 index 0000000..2b69c1e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png new file mode 100644 index 0000000..762feb5 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png new file mode 100644 index 0000000..66546f8 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png new file mode 100644 index 0000000..995f421 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png new file mode 100644 index 0000000..e40d7a7 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png new file mode 100644 index 0000000..7bd067c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png new file mode 100644 index 0000000..58f1b92 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png new file mode 100644 index 0000000..4bce4c6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png new file mode 100644 index 0000000..88af527 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png new file mode 100644 index 0000000..887864e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png new file mode 100644 index 0000000..88be174 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png new file mode 100644 index 0000000..7eef026 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png new file mode 100644 index 0000000..2a26d2d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png new file mode 100644 index 0000000..0f09009 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png new file mode 100644 index 0000000..3120097 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png new file mode 100644 index 0000000..5a9395a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png new file mode 100644 index 0000000..4dde71e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png new file mode 100644 index 0000000..0ea2b27 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png new file mode 100644 index 0000000..f039c93 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png new file mode 100644 index 0000000..552b284 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png new file mode 100644 index 0000000..973b694 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png new file mode 100644 index 0000000..a502a93 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png new file mode 100644 index 0000000..08459c4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png new file mode 100644 index 0000000..f58d8d3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png new file mode 100644 index 0000000..44ac3d4 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png new file mode 100644 index 0000000..d9df17d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png new file mode 100644 index 0000000..2a55e9e Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png new file mode 100644 index 0000000..4b57d9c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png new file mode 100644 index 0000000..f0687c6 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png new file mode 100644 index 0000000..d911fc3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png new file mode 100644 index 0000000..b144d2a Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png new file mode 100644 index 0000000..9da7370 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/Logs.storyboard b/Pods/CocoaDebug/Sources/Resources/Logs.storyboard new file mode 100644 index 0000000..1ae0abd --- /dev/null +++ b/Pods/CocoaDebug/Sources/Resources/Logs.storyboard @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/CocoaDebug/Sources/Resources/Manager.storyboard b/Pods/CocoaDebug/Sources/Resources/Manager.storyboard new file mode 100644 index 0000000..f45a73e --- /dev/null +++ b/Pods/CocoaDebug/Sources/Resources/Manager.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/CocoaDebug/Sources/Resources/Network.storyboard b/Pods/CocoaDebug/Sources/Resources/Network.storyboard new file mode 100644 index 0000000..79cd96c --- /dev/null +++ b/Pods/CocoaDebug/Sources/Resources/Network.storyboard @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/CocoaDebug/Sources/Resources/NetworkCell.xib b/Pods/CocoaDebug/Sources/Resources/NetworkCell.xib new file mode 100644 index 0000000..4d70cae --- /dev/null +++ b/Pods/CocoaDebug/Sources/Resources/NetworkCell.xib @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png new file mode 100644 index 0000000..9da8c40 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png new file mode 100644 index 0000000..21b67e5 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png new file mode 100644 index 0000000..9ef157d Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png new file mode 100644 index 0000000..fc0e7ea Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png new file mode 100644 index 0000000..b4f9639 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png new file mode 100644 index 0000000..d433245 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png new file mode 100644 index 0000000..885c605 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png new file mode 100644 index 0000000..d3edd8c Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png new file mode 100644 index 0000000..57feab3 Binary files /dev/null and b/Pods/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png differ diff --git a/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.h b/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.h new file mode 100755 index 0000000..27ea8bd --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.h @@ -0,0 +1,17 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import "_FileInfo.h" + +@interface _DirectoryContentsTableViewController : UIViewController + +@property (nonatomic, assign, getter=isHomeDirectory) BOOL homeDirectory; +@property (nonatomic, strong) _FileInfo *fileInfo; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.m b/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.m new file mode 100755 index 0000000..3b0207f --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.m @@ -0,0 +1,741 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_DirectoryContentsTableViewController.h" +#import "_FilePreviewController.h" +#import "_FileTableViewCell.h" +#import "_ImageResources.h" +#import "_Sandboxer.h" +#import +#import "_Sandboxer-Header.h" +#import "_NetworkHelper.h" +#import "_ImageController.h" +#import "_SandboxerHelper.h" +#import "NSObject+CocoaDebug.h" + +@interface _DirectoryContentsTableViewController () + +@property (nonatomic, strong) NSMutableArray<_FileInfo *> *dataSource; +@property (nonatomic, strong) NSMutableArray<_FileInfo *> *dataSource_cache; +@property (nonatomic, strong) NSMutableArray<_FileInfo *> *dataSource_search; + +@property (nonatomic, strong) _FileInfo *previewingFileInfo; +@property (nonatomic, strong) _FileInfo *deletingFileInfo; + +@property (nonatomic, strong) UIBarButtonItem *refreshItem; +@property (nonatomic, strong) UIBarButtonItem *editItem; +@property (nonatomic, strong) UIBarButtonItem *closeItem; +@property (nonatomic, strong) UIBarButtonItem *deleteAllItem; +@property (nonatomic, strong) UIBarButtonItem *deleteItem; + +@property (nonatomic, strong) UITableView *tableView; +@property (nonatomic, strong) UISearchBar *searchBar; + +@property (nonatomic, copy) NSString *randomId; +@property (nonatomic, copy) NSString *searchText; + +@end + +@implementation _DirectoryContentsTableViewController + +//liman +- (void)customNavigationBar +{ + //****** copy codes from LogNavigationViewController.swift ****** + self.navigationController.navigationBar.translucent = NO; + + self.navigationController.navigationBar.tintColor = [_NetworkHelper shared].mainColor; + self.navigationController.navigationBar.titleTextAttributes = @{ + NSFontAttributeName:[UIFont boldSystemFontOfSize:20], + NSForegroundColorAttributeName: [_NetworkHelper shared].mainColor + }; + + //bugfix #issues-158 + if (@available(iOS 13.0, *)) { + UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; + [appearance configureWithOpaqueBackground]; + appearance.shadowColor = [UIColor clearColor]; + self.navigationController.navigationBar.standardAppearance = appearance; + self.navigationController.navigationBar.scrollEdgeAppearance = appearance; + } + + + //swift: + + //bugfix #issues-158 +// if #available(iOS 13, *) { +// let appearance = UINavigationBarAppearance() +// appearance.configureWithOpaqueBackground() +// // self.navigationController?.navigationBar.isTranslucent = true // pass "true" for fixing iOS 15.0 black bg issue +// // self.navigationController?.navigationBar.tintColor = UIColor.white // We need to set tintcolor for iOS 15.0 +// appearance.shadowColor = .clear //removing navigationbar 1 px bottom border. +//// UINavigationBar.appearance().standardAppearance = appearance +//// UINavigationBar.appearance().scrollEdgeAppearance = appearance +// self.navigationBar.standardAppearance = appearance +// self.navigationBar.scrollEdgeAppearance = appearance +// } + +} + +- (void)exit { + [self.navigationController dismissViewControllerAnimated:YES completion:nil]; +} + +#pragma mark - View Lifecycle +- (void)dealloc { + [[_SandboxerHelper sharedInstance].searchTextDictionary removeObjectForKey:self.randomId]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.randomId = [_SandboxerHelper generateRandomId]; + + if (![_SandboxerHelper sharedInstance].searchTextDictionary) { + [_SandboxerHelper sharedInstance].searchTextDictionary = [NSMutableDictionary dictionary]; + } + + // + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapView)]; + tap.cancelsTouchesInView = NO; + [self.view addGestureRecognizer:tap]; + + //liman + self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:31/255.0 green:33/255.0 blue:36/255.0 alpha:1.0]; + self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; + + //liman + if (_IsStringEmpty(self.title)) { + if (self.isHomeDirectory) { + [self customNavigationBar];//liman + self.title = @"Sandbox"; + } else { + self.title = self.fileInfo.displayName; + } + } + + // + [self setupViews]; + [self registerForPreviewing]; +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + + self.searchText = [[_SandboxerHelper sharedInstance].searchTextDictionary objectForKey:self.randomId]; + + [self loadDirectoryContents]; + [self endEditing]; +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + + if (self.tableView.isEditing) { + [self.navigationController setToolbarHidden:YES animated:YES]; + } + [self.searchBar resignFirstResponder]; +} + +#pragma mark - Private Methods +- (void)setupViews { + //not needed for now + self.editItem = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(editAction)]; + self.editItem.possibleTitles = [NSSet setWithObjects:@"Edit", @"Cancel", nil]; + + // + self.refreshItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(loadDirectoryContents)]; + self.closeItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"_icon_file_type_close" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil] style:UIBarButtonItemStyleDone target:self action:@selector(exit)]; + + if (self.homeDirectory) { + self.navigationItem.leftBarButtonItems = @[self.closeItem]; + self.navigationItem.rightBarButtonItems = @[self.refreshItem]; + } else { + self.navigationItem.rightBarButtonItems = @[self.closeItem, self.refreshItem]; + } + + + // + self.view.backgroundColor = [UIColor blackColor]; + self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - 44 - [UIApplication sharedApplication].statusBarFrame.size.height - 50) style:UITableViewStylePlain]; + + + BOOL iPhoneX = NO; + if (@available(iOS 11.0, *)) { + UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow]; + if (mainWindow.safeAreaInsets.top > 24.0) { + iPhoneX = YES; + } + } + + if (iPhoneX) { + self.tableView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - 44 - [UIApplication sharedApplication].statusBarFrame.size.height - 50 - 34); + } + + + self.tableView.dataSource = self; + self.tableView.delegate = self; + self.tableView.allowsMultipleSelectionDuringEditing = YES; + self.tableView.rowHeight = 60.0; + self.tableView.backgroundColor = [UIColor blackColor]; + self.tableView.tableFooterView = [[UIView alloc] init]; + self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [self.tableView registerClass:[_FileTableViewCell class] forCellReuseIdentifier:_FileTableViewCellReuseIdentifier]; + [self.view addSubview:self.tableView]; + + self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)]; + self.searchBar.delegate = self; + self.searchBar.barTintColor = [UIColor blackColor]; + self.searchBar.enablesReturnKeyAutomatically = NO; + [self.view addSubview:self.searchBar]; + + //hide searchBar icon + UITextField *textFieldInsideSearchBar = [self.searchBar valueForKey:@"searchField"]; + textFieldInsideSearchBar.leftViewMode = UITextFieldViewModeNever; + textFieldInsideSearchBar.leftView = nil; + textFieldInsideSearchBar.backgroundColor = [UIColor whiteColor]; + textFieldInsideSearchBar.returnKeyType = UIReturnKeyDefault; +} + +- (void)registerForPreviewing { + if (_SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) { + if (@available(iOS 9.0, *)) { + if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) { + [self registerForPreviewingWithDelegate:self sourceView:self.view]; + } + } else { + // Fallback on earlier versions + } + } +} + +- (void)loadDirectoryContents { + self.refreshItem.enabled = NO; + + __weak _DirectoryContentsTableViewController *weakSelf = self; + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ + + NSMutableArray<_FileInfo *> *dataSource_ = [_FileInfo contentsOfDirectoryAtURL:weakSelf.fileInfo.URL]; + if ([dataSource_ count] > 0) { + weakSelf.dataSource = dataSource_; + weakSelf.dataSource_cache = dataSource_; + } + + dispatch_async(dispatch_get_main_queue(), ^{ + + weakSelf.refreshItem.enabled = YES; + [weakSelf updateToolbarItems]; + [weakSelf searchBar:weakSelf.searchBar textDidChange:weakSelf.searchBar.text]; + }); + }); + + [self.searchBar resignFirstResponder]; +} + +- (_FileInfo *)fileInfoAtIndexPath:(NSIndexPath *)indexPath { + return self.dataSource[indexPath.row]; +} + +- (UIViewController *)viewControllerWithFileInfo:(_FileInfo *)fileInfo { + if (fileInfo.isDirectory) { + _DirectoryContentsTableViewController *directoryContentsTableViewController = [[_DirectoryContentsTableViewController alloc] init]; + directoryContentsTableViewController.fileInfo = fileInfo; +// directoryContentsTableViewController.hidesBottomBarWhenPushed = YES;//liman + return directoryContentsTableViewController; + } else { + if ([_Sandboxer shared].isShareable && fileInfo.isCanPreviewInQuickLook) { + //NSLog(@"Quick Look can preview this file"); + self.previewingFileInfo = fileInfo; + QLPreviewController *previewController = [[QLPreviewController alloc] init]; + previewController.dataSource = self; + previewController.hidesBottomBarWhenPushed = YES;//liman + return previewController; + } else { + //liman + if (fileInfo.URL) { + NSData *data = [NSData dataWithContentsOfURL:fileInfo.URL]; + if (data) { + UIImage *image = [UIImage imageWithGIFData:data]; + if (image) { + _ImageController *vc = [[_ImageController alloc] initWithImage:image fileInfo:fileInfo]; + vc.hidesBottomBarWhenPushed = YES;//liman + return vc; + } + } + } + + //NSLog(@"Quick Look can not preview this file"); + _FilePreviewController *filePreviewController = [[_FilePreviewController alloc] init]; + filePreviewController.fileInfo = fileInfo; + filePreviewController.hidesBottomBarWhenPushed = YES;//liman + return filePreviewController; + } + } +} + +- (BOOL)isCanDeleteAll { + if ((![_Sandboxer shared].isFileDeletable && ![_Sandboxer shared].isDirectoryDeletable) || self.dataSource.count == 0) { + return NO; + } + + NSInteger fileCount = 0; + NSInteger directoryCount = 0; + [self getDeletableFileCount:&fileCount directoryCount:&directoryCount]; + + if (([_Sandboxer shared].isFileDeletable && ![_Sandboxer shared].isDirectoryDeletable && fileCount == 0) || // Can only delete files, but the number of files is 0 + (![_Sandboxer shared].isFileDeletable && [_Sandboxer shared].isDirectoryDeletable && directoryCount == 0)) { // Can only delete folders, but the number of folders is 0 + return NO; + } + + return YES; +} + +- (void)getDeletableFileCount:(NSInteger *)fileCount directoryCount:(NSInteger *)directoryCount { + NSInteger fc = 0; + NSInteger dc = 0; + for (_FileInfo *fileInfo in self.dataSource) { + if (fileInfo.isDirectory && [_Sandboxer shared].isDirectoryDeletable) { + dc++; + } else if (!fileInfo.isDirectory && [_Sandboxer shared].isFileDeletable) { + fc++; + } + } + + *fileCount = fc; + *directoryCount = dc; +} + +- (void)updateToolbarItems { + [self updateToolbarDeleteAllItem]; + [self updateToolbarDeleteItem]; +} + +- (void)updateToolbarDeleteAllItem { + if (self.deleteAllItem) { + self.deleteAllItem.enabled = [self isCanDeleteAll]; + } +} + +- (void)updateToolbarDeleteItem { + if (self.deleteItem) { + self.deleteItem.enabled = self.tableView.indexPathsForSelectedRows.count > 0; + } +} + +- (NSString *)messageForDeleteWithFileCount:(NSInteger)fileCount directoryCount:(NSInteger)directoryCount { + NSMutableString *message = [NSMutableString stringWithString:@"Are you sure to delete"]; + if ([_Sandboxer shared].isFileDeletable && fileCount > 0) { + [message appendFormat:@"%ld files", (long)fileCount]; + } + + if ([_Sandboxer shared].isDirectoryDeletable && directoryCount > 0) { + if ([_Sandboxer shared].isFileDeletable && fileCount > 0) { + [message appendString:@","]; + } + + [message appendFormat:@"%ld directories", (long)directoryCount]; + } + + [message appendString:@"?"]; + + return message.copy; +} + +#pragma mark - alert +- (UIAlertController *)alertControllerForDeleteWithMessage:(NSString *)message deleteHandler:(void (^ __nullable)(UIAlertAction *action))handler { + UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert]; + [alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; + [alert addAction:[UIAlertAction actionWithTitle:@"Delete" style:UIAlertActionStyleDestructive handler:handler]]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + return alert; +} + +- (void)showAlert { + UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Not supported" message:nil preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil]; + [alert addAction:cancelAction]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + [self presentViewController:alert animated:YES completion:nil]; +} + +#pragma mark - target action +- (void)didTapView { + [self.searchBar resignFirstResponder]; +} + +- (void)editAction { + if (![_Sandboxer shared].isFileDeletable && ![_Sandboxer shared].isDirectoryDeletable) { + [self showAlert]; + return; + } + + if (!self.tableView.isEditing) { + [self beginEditing]; + } else { + [self endEditing]; + } + + [self.searchBar resignFirstResponder]; +} + +- (void)beginEditing { + if (self.tableView.isEditing) { return; } + self.tableView.editing = YES; + self.editItem.title = @"Cancel"; + self.editItem.style = UIBarButtonItemStyleDone; + + [self.navigationController setToolbarHidden:NO animated:YES]; + + if (nil == self.deleteAllItem) { + self.deleteAllItem = [[UIBarButtonItem alloc] initWithTitle:@"Delete All" style:UIBarButtonItemStylePlain target:self action:@selector(deleteAllAction)]; + self.deleteItem = [[UIBarButtonItem alloc] initWithTitle:@"Delete" style:UIBarButtonItemStylePlain target:self action:@selector(deleteSelectedFilesAction)]; + + //liman + [self.deleteAllItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateNormal]; + [self.deleteItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateNormal]; + [self.deleteAllItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:209/255.0 green:157/255.0 blue:157/255.0 alpha:1.0]} forState:UIControlStateHighlighted]; + [self.deleteItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:209/255.0 green:157/255.0 blue:157/255.0 alpha:1.0]} forState:UIControlStateHighlighted]; + + + [self setToolbarItems:@[self.deleteAllItem, + [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], + self.deleteItem] animated:YES]; + } + + [self updateToolbarItems]; +} + +- (void)endEditing { + if (!self.tableView.isEditing) { return; } + self.tableView.editing = NO; + self.editItem.title = @"Edit"; + self.editItem.style = UIBarButtonItemStylePlain; + + [self.navigationController setToolbarHidden:YES animated:YES]; +} + +- (void)deleteAllAction { + if (![self isCanDeleteAll]) { + return; + } + + NSInteger fileCount = 0; + NSInteger directoryCount = 0; + [self getDeletableFileCount:&fileCount directoryCount:&directoryCount]; + NSString *message = [self messageForDeleteWithFileCount:fileCount directoryCount:directoryCount]; + + UIAlertController *alert = [self alertControllerForDeleteWithMessage:message deleteHandler:^(UIAlertAction *action) { + [self deleteAllFiles]; + }]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + [self presentViewController:alert animated:YES completion:nil]; +} + +- (void)deleteSelectedFilesAction { + ////NSLog(@"mlb - %@, title = %@", NSStringFromSelector(_cmd), self.title); + NSInteger fileCount = 0; + NSInteger directoryCount = 0; + for (NSIndexPath *indexPath in self.tableView.indexPathsForSelectedRows) { + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + ////NSLog(@"mlb - Delete file: %@", fileInfo.displayName); + if (fileInfo.isDirectory) { + directoryCount++; + } else { + fileCount++; + } + } + + NSString *message = [self messageForDeleteWithFileCount:fileCount directoryCount:directoryCount]; + + UIAlertController *alert = [self alertControllerForDeleteWithMessage:message deleteHandler:^(UIAlertAction *action) { + [self deleteSelectedFiles]; + }]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + [self presentViewController:alert animated:YES completion:nil]; +} + +- (void)deleteAllFiles { + ////NSLog(@"mlb - %@, title = %@", NSStringFromSelector(_cmd), self.title); + NSMutableArray<_FileInfo *> *deletedFileInfos = [NSMutableArray arrayWithCapacity:self.dataSource.count]; + NSMutableArray *deletedIndexPaths = [NSMutableArray arrayWithCapacity:self.dataSource.count]; + [self.dataSource enumerateObjectsWithOptions:NSEnumerationReverse | NSEnumerationConcurrent usingBlock:^(_FileInfo * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if ([self deleteFile:obj]) { + ////NSLog(@"mlb - %@, idx = %lu, obj = %@", NSStringFromSelector(_cmd), (unsigned long)idx, obj.displayName); + [deletedIndexPaths addObject:[NSIndexPath indexPathForRow:idx inSection:0]]; + [deletedFileInfos addObject:obj]; + } + }]; + + [self.dataSource removeObjectsInArray:deletedFileInfos]; + + //TODO... cache search + + [self.tableView deleteRowsAtIndexPaths:deletedIndexPaths withRowAnimation:UITableViewRowAnimationAutomatic]; + + [self endEditing]; +} + +- (void)deleteSelectedFiles { + ////NSLog(@"mlb - %@, title = %@", NSStringFromSelector(_cmd), self.title); + NSMutableArray<_FileInfo *> *deletedFileInfos = [NSMutableArray arrayWithCapacity:self.tableView.indexPathsForSelectedRows.count]; + for (NSIndexPath *indexPath in self.tableView.indexPathsForSelectedRows) { + _FileInfo *fileInfo = self.dataSource[indexPath.row]; + if ([self deleteFile:fileInfo]) { + [deletedFileInfos addObject:fileInfo]; + } + } + + [self.dataSource removeObjectsInArray:deletedFileInfos]; + + //TODO... cache search + + [self.tableView deleteRowsAtIndexPaths:self.tableView.indexPathsForSelectedRows withRowAnimation:UITableViewRowAnimationAutomatic]; + + [self endEditing]; +} + +- (void)deleteSelectedFile { + if ([self deleteFile:self.deletingFileInfo]) { + NSInteger index = -1; + index = [self.dataSource indexOfObject:self.deletingFileInfo]; + + [self.dataSource removeObject:self.deletingFileInfo]; + + if ([self.dataSource_cache count] > 0 && [self.dataSource_cache containsObject:self.deletingFileInfo]) { + [self.dataSource_cache removeObject:self.deletingFileInfo]; + } + if ([self.dataSource_search count] > 0 && [self.dataSource_search containsObject:self.deletingFileInfo]) { + [self.dataSource_search removeObject:self.deletingFileInfo]; + } + + if (index >= 0) { + [self.tableView deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]] withRowAnimation:UITableViewRowAnimationFade]; + } + + self.deletingFileInfo = nil; + } +} + +- (BOOL)deleteFile:(_FileInfo *)fileInfo { + if (![_Sandboxer shared].isFileDeletable || + (![_Sandboxer shared].isDirectoryDeletable && fileInfo.isDirectory)) { + return NO; + } + + if ([[NSFileManager defaultManager] fileExistsAtPath:fileInfo.URL.path]) { + NSError *error; + [[NSFileManager defaultManager] removeItemAtURL:fileInfo.URL error:&error]; + if (error) { + return NO; + } + } + + return YES; +} + +#pragma mark - UITableViewDataSource + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.dataSource.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + _FileTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:_FileTableViewCellReuseIdentifier forIndexPath:indexPath]; + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + cell.imageView.image = [_ImageResources fileTypeImageNamed:fileInfo.typeImageName]; + cell.textLabel.text = [_Sandboxer shared].isExtensionHidden ? fileInfo.displayName.stringByDeletingPathExtension : fileInfo.displayName; +// cell.accessoryType = fileInfo.isDirectory ? UITableViewCellAccessoryDisclosureIndicator : UITableViewCellAccessoryNone; + cell.accessoryType = UITableViewCellAccessoryNone; //liman + + //liman + NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:fileInfo.modificationDateText]; + if ([attributedString length] >= 25) { + [attributedString setAttributes:@{NSForegroundColorAttributeName: [_NetworkHelper shared].mainColor, NSFontAttributeName: [UIFont boldSystemFontOfSize:12]} range:NSMakeRange(0, 25)]; + } + cell.detailTextLabel.attributedText = [attributedString copy]; +// cell.detailTextLabel.text = fileInfo.modificationDateText; + + return cell; +} + +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + if ([self fileInfoAtIndexPath:indexPath].isDirectory) { + return [_Sandboxer shared].isDirectoryDeletable; + } else { + return [_Sandboxer shared].isFileDeletable; + } +} + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + if (editingStyle == UITableViewCellEditingStyleDelete) { + ////NSLog(@"Clicked delete editing style"); + self.deletingFileInfo = fileInfo; + NSMutableString *message = [NSMutableString string]; + if (fileInfo.isDirectory) { + [message appendFormat:@"Are you sure to delete this directory(including %lu files(or directories) inside)?", (unsigned long)fileInfo.filesCount]; + } else { + [message appendString:@"Are you sure to delete this file?"]; + } + + UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert]; + [alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; + [alert addAction:[UIAlertAction actionWithTitle:@"Delete" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { + [self deleteSelectedFile]; + }]]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + [self presentViewController:alert animated:YES completion:nil]; + } +} + +#pragma mark - UITableViewDelegate + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + return self.searchBar; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + return 44; +} + +- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { + return UITableViewCellEditingStyleDelete; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + if (tableView.isEditing) { + if ((fileInfo.isDirectory && ![_Sandboxer shared].isDirectoryDeletable) || (!fileInfo.isDirectory && ![_Sandboxer shared].isFileDeletable)) { + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + } else { + [self updateToolbarDeleteItem]; + } + } else { + [self.navigationController pushViewController:[self viewControllerWithFileInfo:fileInfo] animated:YES]; + } + + [self.searchBar resignFirstResponder]; +} + +- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + if (tableView.isEditing) { + if ((fileInfo.isDirectory && ![_Sandboxer shared].isDirectoryDeletable) || (!fileInfo.isDirectory && ![_Sandboxer shared].isFileDeletable)) { + + } else { + [self updateToolbarDeleteItem]; + } + } +} + + +#pragma mark - QLPreviewControllerDataSource + +- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller { + return self.previewingFileInfo ? 1 : 0; +} + +- (id)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { + return self.previewingFileInfo.URL; +} + +#pragma mark - UIViewControllerPreviewingDelegate + +/// Create a previewing view controller to be shown at "Peek". +- (UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location { + // Obtain the index path and the cell that was pressed. + NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location]; + _FileTableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; + if (!cell) { return nil; } + + _FileInfo *fileInfo = [self fileInfoAtIndexPath:indexPath]; + // Create a detail view controller and set its properties. + UIViewController *detailViewController = [self viewControllerWithFileInfo:fileInfo]; + + /* + Set the height of the preview by setting the preferred content size of the detail view controller. + Width should be zero, because it's not used in portrait. + */ + detailViewController.preferredContentSize = CGSizeZero; + + // Set the source rect to the cell frame, so surrounding elements are blurred. + if (_SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) { + if (@available(iOS 9.0, *)) { + previewingContext.sourceRect = cell.frame; + } else { + // Fallback on earlier versions + } + } + + return detailViewController; +} + +- (void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit { + [self showViewController:viewControllerToCommit sender:self]; +} + +#pragma mark - UIScrollViewDelegate +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + [self.searchBar resignFirstResponder]; +} + +#pragma mark - UISearchBarDelegate +- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { + [self.searchBar resignFirstResponder]; +} + +- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { + if (searchText && ![self.searchText isEqualToString:searchText]) { + [[_SandboxerHelper sharedInstance].searchTextDictionary setObject:searchText forKey:self.randomId]; + } + + if (!searchText || [searchText isEqualToString:@""]) { + self.dataSource = self.dataSource_cache; + [self.tableView reloadData]; + return; + } + + if (!self.dataSource_search) { + self.dataSource_search = [NSMutableArray array]; + } else { + [self.dataSource_search removeAllObjects]; + } + + for (_FileInfo *obj in self.dataSource_cache) { + if ([[obj.displayName lowercaseString] containsString:[searchText lowercaseString]]) { + [self.dataSource_search addObject:obj]; + } + } + + self.dataSource = self.dataSource_search; + [self.tableView reloadData]; +} + +@end + diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.h b/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.h new file mode 100755 index 0000000..afa79fb --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.h @@ -0,0 +1,60 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +typedef NS_ENUM(NSUInteger, _FileType) { + _FileTypeUnknown, + _FileTypeDirectory, + // Image + _FileTypeJPG, _FileTypePNG, _FileTypeGIF, _FileTypeSVG, _FileTypeBMP, _FileTypeTIF, + // Audio + _FileTypeMP3, _FileTypeAAC, _FileTypeWAV, _FileTypeOGG, + // Video + _FileTypeMP4, _FileTypeAVI, _FileTypeFLV, _FileTypeMIDI, _FileTypeMOV, _FileTypeMPG, _FileTypeWMV, + // Apple + _FileTypeDMG, _FileTypeIPA, _FileTypeNumbers, _FileTypePages, _FileTypeKeynote, + // Google + _FileTypeAPK, + // Microsoft + _FileTypeWord, _FileTypeExcel, _FileTypePPT, _FileTypeEXE, _FileTypeDLL, + // Document + _FileTypeTXT, _FileTypeRTF, _FileTypePDF, _FileTypeZIP, _FileType7z, _FileTypeCVS, _FileTypeMD, + // Programming + _FileTypeSwift, _FileTypeJava, _FileTypeC, _FileTypeCPP, _FileTypePHP, + _FileTypeJSON, _FileTypePList, _FileTypeXML, _FileTypeDatabase, + _FileTypeJS, _FileTypeHTML, _FileTypeCSS, + _FileTypeBIN, _FileTypeDat, _FileTypeSQL, _FileTypeJAR, + // Adobe + _FileTypeFlash, _FileTypePSD, _FileTypeEPS, + // Other + _FileTypeTTF, _FileTypeTorrent, +}; + +@interface _FileInfo : NSObject + +@property (nonatomic, strong) NSURL *URL; +@property (nonatomic, strong) NSString *displayName; +@property (nonatomic, strong) NSString *extension; +@property (nonatomic, strong) NSString *modificationDateText; +@property (nonatomic, strong) NSDictionary *attributes; + +@property (nonatomic, assign) _FileType type; +@property (nonatomic, assign, readonly) BOOL isDirectory; +@property (nonatomic, assign) NSUInteger filesCount; // File always 0 + +@property (nonatomic, strong, readonly) NSString *typeImageName; +@property (nonatomic, assign, readonly) BOOL isCanPreviewInQuickLook; +@property (nonatomic, assign, readonly) BOOL isCanPreviewInWebView; + +- (instancetype)initWithFileURL:(NSURL *)URL; + ++ (NSDictionary *)attributesWithFileURL:(NSURL *)URL; ++ (NSMutableArray<_FileInfo *> *)contentsOfDirectoryAtURL:(NSURL *)URL; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.m b/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.m new file mode 100755 index 0000000..3543a02 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FileInfo.m @@ -0,0 +1,365 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_FileInfo.h" +#import "_Sandboxer.h" +#import "_SandboxerHelper.h" +#import "_Sandboxer-Header.h" +#import + +@interface _FileInfo () + +@property (nonatomic, strong, readwrite) NSString *typeImageName; + +@end + +@implementation _FileInfo + +- (instancetype)initWithFileURL:(NSURL *)URL { + if (self = [super init]) { + self.URL = URL; + self.displayName = URL.lastPathComponent; + self.attributes = [_FileInfo attributesWithFileURL:URL]; + + if ([self.attributes.fileType isEqualToString:NSFileTypeDirectory]) { + self.type = _FileTypeDirectory; + self.filesCount = [_FileInfo contentCountOfDirectoryAtURL:URL]; + //liman + if ([URL isFileURL]) { + self.modificationDateText = [NSString stringWithFormat:@"[%@] %@", [_SandboxerHelper fileModificationDateTextWithDate:self.attributes.fileModificationDate], [_SandboxerHelper sizeOfFolder:URL.path]]; + } + } else { + self.extension = URL.pathExtension; + self.type = [_FileInfo fileTypeWithExtension:self.extension]; + self.filesCount = 0; + //liman + if ([URL isFileURL]) { + self.modificationDateText = [NSString stringWithFormat:@"[%@] %@", [_SandboxerHelper fileModificationDateTextWithDate:self.attributes.fileModificationDate], [_SandboxerHelper sizeOfFile:URL.path]]; + } + } + + //liman + if ([self.modificationDateText containsString:@"[] "]) { + self.modificationDateText = [[self.modificationDateText mutableCopy] stringByReplacingOccurrencesOfString:@"[] " withString:@""]; + } + } + + return self; +} + +#pragma mark - Getters + +- (BOOL)isDirectory { + return self.type == _FileTypeDirectory; +} + +- (NSString *)typeImageName { + if (!_typeImageName) { + + switch (self.type) { + case _FileTypeUnknown: _typeImageName = @"icon_file_type_default"; break; + case _FileTypeDirectory: _typeImageName = self.filesCount == 0 ? @"icon_file_type_folder_empty" : @"icon_file_type_folder_not_empty"; break; + // Image + case _FileTypeJPG: _typeImageName = @"icon_file_type_jpg"; break; + case _FileTypePNG: _typeImageName = @"icon_file_type_png"; break; + case _FileTypeGIF: _typeImageName = @"icon_file_type_gif"; break; + case _FileTypeSVG: _typeImageName = @"icon_file_type_svg"; break; + case _FileTypeBMP: _typeImageName = @"icon_file_type_bmp"; break; + case _FileTypeTIF: _typeImageName = @"icon_file_type_tif"; break; + // Audio + case _FileTypeMP3: _typeImageName = @"icon_file_type_mp3"; break; + case _FileTypeAAC: _typeImageName = @"icon_file_type_aac"; break; + case _FileTypeWAV: _typeImageName = @"icon_file_type_wav"; break; + case _FileTypeOGG: _typeImageName = @"icon_file_type_ogg"; break; + // Video + case _FileTypeMP4: _typeImageName = @"icon_file_type_mp4"; break; + case _FileTypeAVI: _typeImageName = @"icon_file_type_avi"; break; + case _FileTypeFLV: _typeImageName = @"icon_file_type_flv"; break; + case _FileTypeMIDI: _typeImageName = @"icon_file_type_midi"; break; + case _FileTypeMOV: _typeImageName = @"icon_file_type_mov"; break; + case _FileTypeMPG: _typeImageName = @"icon_file_type_mpg"; break; + case _FileTypeWMV: _typeImageName = @"icon_file_type_wmv"; break; + // Apple + case _FileTypeDMG: _typeImageName = @"icon_file_type_dmg"; break; + case _FileTypeIPA: _typeImageName = @"icon_file_type_ipa"; break; + case _FileTypeNumbers: _typeImageName = @"icon_file_type_numbers"; break; + case _FileTypePages: _typeImageName = @"icon_file_type_pages"; break; + case _FileTypeKeynote: _typeImageName = @"icon_file_type_keynote"; break; + // Google + case _FileTypeAPK: _typeImageName = @"icon_file_type_apk"; break; + // Microsoft + case _FileTypeWord: _typeImageName = @"icon_file_type_doc"; break; + case _FileTypeExcel: _typeImageName = @"icon_file_type_xls"; break; + case _FileTypePPT: _typeImageName = @"icon_file_type_ppt"; break; + case _FileTypeEXE: _typeImageName = @"icon_file_type_exe"; break; + case _FileTypeDLL: _typeImageName = @"icon_file_type_dll"; break; + // Document + case _FileTypeTXT: _typeImageName = @"icon_file_type_txt"; break; + case _FileTypeRTF: _typeImageName = @"icon_file_type_rtf"; break; + case _FileTypePDF: _typeImageName = @"icon_file_type_pdf"; break; + case _FileTypeZIP: _typeImageName = @"icon_file_type_zip"; break; + case _FileType7z: _typeImageName = @"icon_file_type_7z"; break; + case _FileTypeCVS: _typeImageName = @"icon_file_type_cvs"; break; + case _FileTypeMD: _typeImageName = @"icon_file_type_md"; break; + // Programming + case _FileTypeSwift: _typeImageName = @"icon_file_type_swift"; break; + case _FileTypeJava: _typeImageName = @"icon_file_type_java"; break; + case _FileTypeC: _typeImageName = @"icon_file_type_c"; break; + case _FileTypeCPP: _typeImageName = @"icon_file_type_cpp"; break; + case _FileTypePHP: _typeImageName = @"icon_file_type_php"; break; + case _FileTypeJSON: _typeImageName = @"icon_file_type_json"; break; + case _FileTypePList: _typeImageName = @"icon_file_type_plist"; break; + case _FileTypeXML: _typeImageName = @"icon_file_type_xml"; break; + case _FileTypeDatabase: _typeImageName = @"icon_file_type_db"; break; + case _FileTypeJS: _typeImageName = @"icon_file_type_js"; break; + case _FileTypeHTML: _typeImageName = @"icon_file_type_html"; break; + case _FileTypeCSS: _typeImageName = @"icon_file_type_css"; break; + case _FileTypeBIN: _typeImageName = @"icon_file_type_bin"; break; + case _FileTypeDat: _typeImageName = @"icon_file_type_dat"; break; + case _FileTypeSQL: _typeImageName = @"icon_file_type_sql"; break; + case _FileTypeJAR: _typeImageName = @"icon_file_type_jar"; break; + // Adobe + case _FileTypeFlash: _typeImageName = @"icon_file_type_fla"; break; + case _FileTypePSD: _typeImageName = @"icon_file_type_psd"; break; + case _FileTypeEPS: _typeImageName = @"icon_file_type_eps"; break; + // Other + case _FileTypeTTF: _typeImageName = @"icon_file_type_ttf"; break; + case _FileTypeTorrent: _typeImageName = @"icon_file_type_torrent"; break; + } + } + + return _typeImageName; +} + +- (BOOL)isCanPreviewInQuickLook { + return [QLPreviewController canPreviewItem:self.URL]; +} + +- (BOOL)isCanPreviewInWebView { + if (// Image + self.type == _FileTypePNG || + self.type == _FileTypeJPG || + self.type == _FileTypeGIF || + self.type == _FileTypeSVG || + self.type == _FileTypeBMP || + // Audio + self.type == _FileTypeWAV || + // Apple + self.type == _FileTypeNumbers || + self.type == _FileTypePages || + self.type == _FileTypeKeynote || + // Microsoft + self.type == _FileTypeWord || + self.type == _FileTypeExcel || + // Document + self.type == _FileTypeTXT || + self.type == _FileTypePDF || + self.type == _FileTypeMD || + // Programming + self.type == _FileTypeJava || + self.type == _FileTypeSwift || + self.type == _FileTypeCSS || + // Adobe + self.type == _FileTypePSD) { + return YES; + } + + return NO; +} + +#pragma mark - Public Methods + ++ (NSDictionary *)attributesWithFileURL:(NSURL *)URL { + NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL.path error:nil]; + + return attributes; +} + ++ (NSMutableArray<_FileInfo *> *)contentsOfDirectoryAtURL:(NSURL *)URL { +// ////NSLog(@"%@, url = %@", NSStringFromSelector(_cmd), URL.path); + NSMutableArray *fileInfos = [NSMutableArray array]; + BOOL isDir = NO; + BOOL isExists = [[NSFileManager defaultManager] fileExistsAtPath:URL.path isDirectory:&isDir]; + if (isExists && isDir) { + NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:URL.path error:nil]; + if ([contents count] > 0) { + for (NSString *name in contents) { + if (_Sandboxer.shared.isSystemFilesHidden && [name hasPrefix:@"."]) { continue; } + _FileInfo *fileInfo = [[_FileInfo alloc] initWithFileURL:[URL URLByAppendingPathComponent:name]]; + [fileInfos addObject:fileInfo]; + } + } + } + + return fileInfos; +} + ++ (NSUInteger)contentCountOfDirectoryAtURL:(NSURL *)URL { +// ////NSLog(@"%@, url = %@", NSStringFromSelector(_cmd), URL.path); + NSUInteger count = 0; + BOOL isDir = NO; + BOOL isExists = [[NSFileManager defaultManager] fileExistsAtPath:URL.path isDirectory:&isDir]; + if (isExists && isDir) { + NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:URL.path error:nil]; + if ([contents count] > 0) { + for (NSString *name in contents) { + if (_Sandboxer.shared.isSystemFilesHidden && [name hasPrefix:@"."]) { continue; } + count++; + } + } + } + + return count; +} + ++ (_FileType)fileTypeWithExtension:(NSString *)extension { + _FileType type = _FileTypeUnknown; + + if (_IsStringEmpty(extension)) { + return type; + } + + // Image + if ([extension compare:@"jpg" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeJPG; + } else if ([extension compare:@"png" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePNG; + } else if ([extension compare:@"gif" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeGIF; + } else if ([extension compare:@"svg" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeSVG; + } else if ([extension compare:@"bmp" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeBMP; + } else if ([extension compare:@"tif" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeTIF; + } + // Audio + else if ([extension compare:@"mp3" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMP3; + } else if ([extension compare:@"aac" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeAAC; + } else if ([extension compare:@"wav" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeWAV; + } else if ([extension compare:@"ogg" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeOGG; + } + // Video + else if ([extension compare:@"mp4" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMP4; + } else if ([extension compare:@"avi" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeAVI; + } else if ([extension compare:@"flv" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeFLV; + } else if ([extension compare:@"midi" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMIDI; + } else if ([extension compare:@"mov" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMOV; + } else if ([extension compare:@"mpg" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMPG; + } else if ([extension compare:@"wmv" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeWMV; + } + // Apple + else if ([extension compare:@"dmg" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeDMG; + } else if ([extension compare:@"ipa" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeIPA; + } else if ([extension compare:@"numbers" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeNumbers; + } else if ([extension compare:@"pages" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePages; + } else if ([extension compare:@"key" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeKeynote; + } + // Google + else if ([extension compare:@"apk" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeAPK; + } + // Microsoft + else if ([extension compare:@"doc" options:NSCaseInsensitiveSearch] == NSOrderedSame || + [extension compare:@"docx" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeWord; + } else if ([extension compare:@"xls" options:NSCaseInsensitiveSearch] == NSOrderedSame || + [extension compare:@"xlsx" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeExcel; + } else if ([extension compare:@"ppt" options:NSCaseInsensitiveSearch] == NSOrderedSame || + [extension compare:@"pptx" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePPT; + } else if ([extension compare:@"exe" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeEXE; + } else if ([extension compare:@"dll" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeDLL; + } + // Document + else if ([extension compare:@"txt" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeTXT; + } else if ([extension compare:@"rtf" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeRTF; + } else if ([extension compare:@"pdf" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePDF; + } else if ([extension compare:@"zip" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeZIP; + } else if ([extension compare:@"7z" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileType7z; + } else if ([extension compare:@"cvs" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeCVS; + } else if ([extension compare:@"md" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeMD; + } + // Programming + else if ([extension compare:@"swift" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeSwift; + } else if ([extension compare:@"java" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeJava; + } else if ([extension compare:@"c" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeC; + } else if ([extension compare:@"cpp" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeCPP; + } else if ([extension compare:@"php" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePHP; + } else if ([extension compare:@"json" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeJSON; + } else if ([extension compare:@"plist" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePList; + } else if ([extension compare:@"xml" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeXML; + } else if ([extension compare:@"db" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeDatabase; + } else if ([extension compare:@"js" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeJS; + } else if ([extension compare:@"html" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeHTML; + } else if ([extension compare:@"css" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeCSS; + } else if ([extension compare:@"bin" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeBIN; + } else if ([extension compare:@"dat" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeDat; + } else if ([extension compare:@"sql" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeSQL; + } else if ([extension compare:@"jar" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeJAR; + } + // Adobe + else if ([extension compare:@"psd" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypePSD; + } + else if ([extension compare:@"eps" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeEPS; + } + // Other + else if ([extension compare:@"ttf" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeTTF; + } else if ([extension compare:@"torrent" options:NSCaseInsensitiveSearch] == NSOrderedSame) { + type = _FileTypeTorrent; + } + + return type; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.h b/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.h new file mode 100755 index 0000000..09bf62a --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.h @@ -0,0 +1,17 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +@class _FileInfo; + +@interface _FilePreviewController : UIViewController + +@property (nonatomic, strong) _FileInfo *fileInfo; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.m b/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.m new file mode 100755 index 0000000..b36b7d6 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FilePreviewController.m @@ -0,0 +1,225 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_FilePreviewController.h" +#import "_FileInfo.h" +#import +#import +#import "_Sandboxer-Header.h" +#import "_Sandboxer.h" + +@interface _FilePreviewController () + +@property (nonatomic, strong) WKWebView *wkWebView; + +@property (nonatomic, strong) UITextView *textView; + +@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; + +@property (nonatomic, strong) UIDocumentInteractionController *documentInteractionController; + +@end + +@implementation _FilePreviewController + +#pragma mark - View Lifecycle + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = self.fileInfo.displayName.stringByDeletingPathExtension; + self.view.backgroundColor = [UIColor whiteColor]; + + [self init_documentInteractionController]; + [self initDatas]; + [self setupViews]; + [self loadFile]; +} + +- (void)viewDidLayoutSubviews { + [super viewDidLayoutSubviews]; + + if (self.wkWebView) { + self.wkWebView.frame = self.view.bounds; + } + +// if (self.webView) { +// self.webView.frame = self.view.bounds; +// } + + if (self.textView) { + self.textView.frame = self.view.bounds; + } + + self.activityIndicatorView.center = self.view.center; +} + +#pragma mark - Private Methods + +- (void)init_documentInteractionController { + if (!self.documentInteractionController) { + self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:self.fileInfo.URL]; + self.documentInteractionController.delegate = self; + self.documentInteractionController.name = self.fileInfo.displayName; + } +} + +- (void)initDatas { + +} + +- (void)setupViews { + + if ([_Sandboxer shared].isShareable) { + UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(sharingAction)]; + self.navigationItem.rightBarButtonItem = shareItem; + } + + if (self.fileInfo.isCanPreviewInWebView) { + self.wkWebView = [[WKWebView alloc] initWithFrame:self.view.bounds]; + self.wkWebView.backgroundColor = [UIColor whiteColor]; + self.wkWebView.navigationDelegate = self; + [self.view addSubview:self.wkWebView]; + } else { + switch (self.fileInfo.type) { + case _FileTypePList: { + self.textView = [[UITextView alloc] initWithFrame:self.view.bounds]; + self.textView.editable = NO; + self.textView.alwaysBounceVertical = YES; + [self.view addSubview:self.textView]; + break; + } + default: + break; + } + } + + [self.view addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showOrHideNavigationBar)]]; + + self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + [self.view addSubview:self.activityIndicatorView]; +} + +- (void)loadFile { + if (self.fileInfo.isCanPreviewInWebView) { + if (@available(iOS 9.0, *)) { + [self.wkWebView loadFileURL:self.fileInfo.URL allowingReadAccessToURL:self.fileInfo.URL]; + } else { + // Fallback on earlier versions + } + } else { + switch (self.fileInfo.type) { + case _FileTypePList: { + [self.activityIndicatorView startAnimating]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSData *data = [NSData dataWithContentsOfFile:self.fileInfo.URL.path]; + if (data) { + NSString *content = [[NSPropertyListSerialization propertyListWithData:data options:kNilOptions format:nil error:nil] description]; + dispatch_async(dispatch_get_main_queue(), ^{ + [self.activityIndicatorView stopAnimating]; + self.textView.text = content; + }); + } else { + dispatch_async(dispatch_get_main_queue(), ^{ + [self.activityIndicatorView stopAnimating]; + [self showAlert]; + }); + } + }); + break; + } + default: { + [self showAlert]; + } + break; + } + } +} + +#pragma mark - alert +- (void)showAlert { + UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Not supported" message:nil preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil]; + [alert addAction:cancelAction]; + + alert.popoverPresentationController.permittedArrowDirections = 0; + alert.popoverPresentationController.sourceView = self.view; + alert.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 0, 0); + + [self presentViewController:alert animated:YES completion:nil]; +} + +#pragma mark - Action + +- (void)showOrHideNavigationBar { + [self.navigationController setNavigationBarHidden:!self.navigationController.isNavigationBarHidden animated:YES]; +} + +- (void)sharingAction { + if (![_Sandboxer shared].isShareable) { return; } + + [self init_documentInteractionController]; + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) { + [self.documentInteractionController presentOptionsMenuFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES]; + } else { + [self.documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES]; + } +} + +#pragma mark - UIDocumentInteractionControllerDelegate + +- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller { + return self.navigationController; +} + +- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller { + return self.view.bounds; +} + +- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller { + return self.view; +} + +#pragma mark - QLPreviewControllerDataSource + +- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller { + return 1; +} + +- (id)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { + return self.fileInfo.URL; +} + +#pragma mark - WKNavigationDelegate + +- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation { + ////NSLog(@"%@", NSStringFromSelector(_cmd)); + [self.activityIndicatorView startAnimating]; +} + +- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation { + ////NSLog(@"%@", NSStringFromSelector(_cmd)); + [self.activityIndicatorView stopAnimating]; +} + +- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { + ////NSLog(@"%@", NSStringFromSelector(_cmd)); + [self.activityIndicatorView stopAnimating]; +} + +- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error { + ////NSLog(@"%@, error = %@", NSStringFromSelector(_cmd), error); + [self.activityIndicatorView stopAnimating]; +} + +#pragma mark - WKUIDelegate + + + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.h b/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.h new file mode 100755 index 0000000..f01a375 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.h @@ -0,0 +1,15 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +UIKIT_EXTERN NSString *const _FileTableViewCellReuseIdentifier; + +@interface _FileTableViewCell : UITableViewCell + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.m b/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.m new file mode 100755 index 0000000..9d4fce3 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_FileTableViewCell.m @@ -0,0 +1,52 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_FileTableViewCell.h" + +NSString *const _FileTableViewCellReuseIdentifier = @"_FileCell"; + +@implementation _FileTableViewCell + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier]; + + if (self) { + [self setupViews]; + } + + return self; +} + +- (void)setupViews { + + //liman + self.backgroundColor = [UIColor blackColor]; + self.contentView.backgroundColor = [UIColor blackColor]; + + self.textLabel.textColor = [UIColor whiteColor]; + self.textLabel.adjustsFontSizeToFitWidth = YES; + + self.detailTextLabel.textColor = [UIColor systemGrayColor]; + self.detailTextLabel.adjustsFontSizeToFitWidth = YES; + self.detailTextLabel.font = [UIFont boldSystemFontOfSize:12]; + // self.selectionStyle = UITableViewCellSelectionStyleNone; + + UIView *selectedView = [[UIView alloc] init]; + selectedView.backgroundColor = [UIColor clearColor]; + self.selectedBackgroundView = selectedView; +} + +#pragma mark - Action + + + +#pragma mark - Public Methods + + + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_ImageController.h b/Pods/CocoaDebug/Sources/Sandbox/_ImageController.h new file mode 100644 index 0000000..eb07ffc --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_ImageController.h @@ -0,0 +1,16 @@ +// +// _ImageController.h +// Example_Objc +// +// Created by man 7/25/19. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import "_FileInfo.h" + +@interface _ImageController : UIViewController + +- (instancetype)initWithImage:(UIImage *)image fileInfo:(_FileInfo *)fileInfo; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_ImageController.m b/Pods/CocoaDebug/Sources/Sandbox/_ImageController.m new file mode 100644 index 0000000..4437be7 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_ImageController.m @@ -0,0 +1,126 @@ +// +// _ImageController.m +// Example_Objc +// +// Created by man 7/25/19. +// Copyright © 2020 man. All rights reserved. +// + +#import "_ImageController.h" +#import "_Sandboxer.h" + +@interface _ImageController () + +@property (nonatomic, strong) UIImageView *imageView; +@property (nonatomic, strong) UIImage *image; +@property (nonatomic, strong) _FileInfo *fileInfo; +@property (nonatomic, strong) UIDocumentInteractionController *documentInteractionController; +@property (nonatomic, assign) BOOL flag; + +@end + +@implementation _ImageController + +#pragma mark - Getters +- (UIDocumentInteractionController *)documentInteractionController { + if (!_documentInteractionController) { + _documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:self.fileInfo.URL]; + _documentInteractionController.delegate = self; + _documentInteractionController.name = self.fileInfo.displayName; + } + + return _documentInteractionController; +} + +#pragma mark - init +- (instancetype)initWithImage:(UIImage *)image fileInfo:(_FileInfo *)fileInfo { + if (self = [super init]) { + self.image = image; + self.fileInfo = fileInfo; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + if ([_Sandboxer shared].isShareable) { + UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(sharingAction)]; + self.navigationItem.rightBarButtonItem = shareItem; + } + + self.view.backgroundColor = [UIColor whiteColor]; + self.title = self.fileInfo.displayName; + + self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.image.size.width, self.image.size.height)]; + self.imageView.center = CGPointMake(self.view.center.x, self.view.center.y - self.navigationController.navigationBar.frame.size.height - [[UIApplication sharedApplication] statusBarFrame].size.height); + self.imageView.contentMode = UIViewContentModeScaleAspectFit; + self.imageView.image = self.image; + [self.view addSubview:self.imageView]; +} + +#pragma mark - touchesBegan +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + self.flag = !self.flag; + + if (self.flag) + { + [self.navigationController setNavigationBarHidden:YES animated:YES]; + [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{ + self.imageView.center = CGPointMake(self.view.center.x, self.view.center.y); + self.view.backgroundColor = [UIColor blackColor]; + }]; + } + else + { + [self.navigationController setNavigationBarHidden:NO animated:YES]; + + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) + { + [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{ + self.imageView.center = CGPointMake(self.view.center.x, self.view.center.y - 111); + self.view.backgroundColor = [UIColor whiteColor]; + }]; + } + else + { + BOOL iPhoneX = NO; + if (@available(iOS 11.0, *)) { + UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow]; + if (mainWindow.safeAreaInsets.top > 24.0) { + iPhoneX = YES; + } + } + + [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{ + self.imageView.center = CGPointMake(self.view.center.x, self.view.center.y - (iPhoneX ? 132 : 96)); + self.view.backgroundColor = [UIColor whiteColor]; + }]; + } + } +} + +#pragma mark - UIDocumentInteractionControllerDelegate +- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller { + return self.navigationController; +} + +- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller { + return self.view.bounds; +} + +- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller { + return self.view; +} + +#pragma mark - target action +- (void)sharingAction { + if (![_Sandboxer shared].isShareable) { return; } + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) { + [self.documentInteractionController presentOptionsMenuFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES]; + } else { + [self.documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES]; + } +} + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.h b/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.h new file mode 100755 index 0000000..dd363d8 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.h @@ -0,0 +1,17 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +@interface _ImageResources : NSObject + ++ (UIImage * _Nullable)imageNamed:(NSString * _Nonnull)imageName; + ++ (UIImage * _Nullable)fileTypeImageNamed:(NSString * _Nonnull)imageName; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.m b/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.m new file mode 100755 index 0000000..05d2866 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_ImageResources.m @@ -0,0 +1,85 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_ImageResources.h" + +@implementation _ImageResources + ++ (UIImage * _Nullable)imageNamed:(NSString * _Nonnull)imageName { + return [self imageNamed:imageName fileType:@"png" inDirectory:nil]; +} + ++ (UIImage * _Nullable)fileTypeImageNamed:(NSString * _Nonnull)imageName { + return [self imageNamed:imageName fileType:@"png" inDirectory:nil]; +} + ++ (UIImage * _Nullable)imageNamed:(NSString * _Nonnull)imageName fileType:(NSString * _Nonnull)fileType inDirectory:(NSString * _Nullable)directory { + NSBundle *bundle = [NSBundle bundleForClass:self.class]; + + NSString *x1ImagePath = [bundle pathForResource:[self imageName:imageName appendingScale:1] ofType:fileType inDirectory:directory]; + NSString *x2ImagePath = [bundle pathForResource:[self imageName:imageName appendingScale:2] ofType:fileType inDirectory:directory]; + NSString *x3ImagePath = [bundle pathForResource:[self imageName:imageName appendingScale:3] ofType:fileType inDirectory:directory]; + + NSInteger scale = (NSInteger)[UIScreen mainScreen].scale; + NSString *imagePath; + switch (scale) { + case 1: + imagePath = x1ImagePath; + if (!imagePath) { + imagePath = x2ImagePath; + } + + if (!imagePath) { + imagePath = x3ImagePath; + } + break; + case 2: + imagePath = x2ImagePath; + if (!imagePath) { + imagePath = x3ImagePath; + } + + if (!imagePath) { + imagePath = x1ImagePath; + } + break; + case 3: + imagePath = x3ImagePath; + if (!imagePath) { + imagePath = x2ImagePath; + } + + if (!imagePath) { + imagePath = x1ImagePath; + } + break; + default: + // default @1x + imagePath = x1ImagePath; + break; + } + + UIImage *image = [UIImage imageWithContentsOfFile:imagePath]; + + return image; +} + +#pragma mark - Private Methods + ++ (NSString *)imageName:(NSString *)imageName appendingScale:(NSInteger)scale { + NSString *name; + if (scale == 1) { + name = imageName; + } else { + name = [NSString stringWithFormat:@"%@@%ldx", imageName, (long)scale]; + } + + return name; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer-Header.h b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer-Header.h new file mode 100755 index 0000000..51ba326 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer-Header.h @@ -0,0 +1,26 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#ifndef _Sandboxer_Header_h +#define _Sandboxer_Header_h + +/* + * System Versioning Preprocessor Macros + */ + +#define _SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) +#define _SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) +#define _SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) +#define _SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending) +#define _SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending) + +#define _IsStringEmpty(string) (nil == string || (NSNull *)string == [NSNull null] || [@"" isEqualToString:string]) +#define _IsStringNotEmpty(string) (string && (NSNull *)string != [NSNull null] && ![@"" isEqualToString:string]) + + +#endif /* _Sandboxer_Header_h */ diff --git a/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.h b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.h new file mode 100755 index 0000000..9255dca --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.h @@ -0,0 +1,32 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import + +@interface _Sandboxer : NSObject + +@property (class, nonatomic, readonly, strong) _Sandboxer *shared; + +@property (nonatomic, assign, getter=isSystemFilesHidden) BOOL systemFilesHidden; // Default is YES +@property (nonatomic, copy) NSURL *homeFileURL; // Default is Home Directory +@property (nonatomic, copy) NSString *homeTitle; // Default is `Home` + +@property (nonatomic, assign, getter=isExtensionHidden) BOOL extensionHidden; // Default is NO + +@property (nonatomic, assign, getter=isShareable) BOOL shareable; // Default is YES + +@property (nonatomic, assign, getter=isFileDeletable) BOOL fileDeletable; // Default is NO +@property (nonatomic, assign, getter=isDirectoryDeletable) BOOL directoryDeletable; // Default is NO + +- (instancetype)init __attribute__((unavailable("Use [_Sandboxer shared] or _Sandboxer.shared instead."))); + +//liman +- (UINavigationController *)homeDirectoryNavigationController; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.m b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.m new file mode 100755 index 0000000..b643acb --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_Sandboxer.m @@ -0,0 +1,80 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_Sandboxer.h" +#import "_DirectoryContentsTableViewController.h" + +@interface _Sandboxer () + +@property (nonatomic, strong) UINavigationController *homeDirectoryNavigationController; + +@end + +@implementation _Sandboxer + +@synthesize homeTitle = _homeTitle; + ++ (_Sandboxer *)shared { + static _Sandboxer *_sharedInstance = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _sharedInstance = [[_Sandboxer alloc] _init]; + }); + + return _sharedInstance; +} + +- (instancetype)_init { + if (self = [super init]) { + [self _config]; + } + + return self; +} + +#pragma mark - Private Methods + +- (void)_config { + _systemFilesHidden = YES; + _homeFileURL = [NSURL fileURLWithPath:NSHomeDirectory() isDirectory:YES]; + _extensionHidden = NO; + _shareable = YES; +} + +#pragma mark - Setters + +- (void)setHomeTitle:(NSString *)title { + if (![_homeTitle isEqualToString:title]) { + _homeTitle = [title copy]; + [[self.homeDirectoryNavigationController.viewControllers firstObject] setTitle:_homeTitle]; + } +} + +#pragma mark - Getters + +- (NSString *)homeTitle { + if (nil == _homeTitle) { + _homeTitle = @"Sandbox"; + } + + return _homeTitle; +} + +- (UINavigationController *)homeDirectoryNavigationController { + if (!_homeDirectoryNavigationController) { + _DirectoryContentsTableViewController *directoryContentsTableViewController = [[_DirectoryContentsTableViewController alloc] init]; + directoryContentsTableViewController.homeDirectory = YES; + directoryContentsTableViewController.fileInfo = [[_FileInfo alloc] initWithFileURL:self.homeFileURL]; + directoryContentsTableViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; + _homeDirectoryNavigationController = [[UINavigationController alloc] initWithRootViewController:directoryContentsTableViewController]; + } + + return _homeDirectoryNavigationController; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.h b/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.h new file mode 100755 index 0000000..0ec1d73 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.h @@ -0,0 +1,28 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +@interface _SandboxerHelper : NSObject + ++ (NSString *)fileModificationDateTextWithDate:(NSDate *)date; + +//liman + +//Get Folder Size ++ (NSString *)sizeOfFolder:(NSString *)folderPath; +//Get File Size ++ (NSString *)sizeOfFile:(NSString *)filePath; + ++ (instancetype)sharedInstance; + ++ (NSString *)generateRandomId; + +@property (nonatomic, strong) NSMutableDictionary *searchTextDictionary; + +@end diff --git a/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.m b/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.m new file mode 100755 index 0000000..8603a3b --- /dev/null +++ b/Pods/CocoaDebug/Sources/Sandbox/_SandboxerHelper.m @@ -0,0 +1,81 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_SandboxerHelper.h" + +@implementation _SandboxerHelper + ++ (NSDateFormatter *)fileModificationDateFormatter { + static NSDateFormatter *_fileModificationDateFormatter; + if (!_fileModificationDateFormatter) { + _fileModificationDateFormatter = [[NSDateFormatter alloc] init]; + _fileModificationDateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.SSS"; + } + + return _fileModificationDateFormatter; +} + +#pragma mark - Public Methods + ++ (instancetype)sharedInstance { + static id sharedInstance = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; + }); + return sharedInstance; +} + ++ (NSString *)fileModificationDateTextWithDate:(NSDate *)date { + if (!date) { return @""; } + return [[_SandboxerHelper fileModificationDateFormatter] stringFromDate:date]; +} + +//liman + +//Get Folder Size ++ (NSString *)sizeOfFolder:(NSString *)folderPath { + //Calculate Folder Size with only files + // NSArray *folderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderPath error:nil]; + + //Calculate Folder Size with other sub directories in the folder + NSArray *folderContents = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil]; + + __block unsigned long long int folderSize = 0; + + [folderContents enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[folderPath stringByAppendingPathComponent:obj] error:nil]; + folderSize += [[fileAttributes objectForKey:NSFileSize] intValue]; + }]; + NSString *folderSizeStr = [NSByteCountFormatter stringFromByteCount:folderSize countStyle:NSByteCountFormatterCountStyleFile]; + return folderSizeStr; +} + +//Get File Size ++ (NSString *)sizeOfFile:(NSString *)filePath { + NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil]; + NSInteger fileSize = [[fileAttributes objectForKey:NSFileSize] integerValue]; + NSString *fileSizeString = [NSByteCountFormatter stringFromByteCount:fileSize countStyle:NSByteCountFormatterCountStyleFile]; + return fileSizeString; +} + +#pragma mark - tool ++ (NSString *)generateRandomId { + UInt64 time = [[NSDate date] timeIntervalSince1970] * 1000; + return [NSString stringWithFormat:@"%llu_%@", time, [self generateRandomString]]; +} + ++ (NSString *)generateRandomString { + char data[10]; + for (int x = 0; x < 10; ++x) { + data[x] = (char)('A' + (arc4random_uniform(26))); + } + return [[NSString alloc] initWithBytes:data length:10 encoding:NSUTF8StringEncoding]; +} + +@end diff --git a/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.h b/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.h new file mode 100755 index 0000000..a060dc3 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.h @@ -0,0 +1,30 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import + +/** + * Replaces the selector's associated method implementation with the + * given implementation (or adds it, if there was no existing one). + * + * @param selector The selector entry in the dispatch table. + * @param newImpl The implementation that will be associated with + * the given selector. + * @param affectedClass The class whose dispatch table will be altered. + * @param isClassMethod Set to YES if the selector denotes a class + * method, or NO if it is an instance method. + * @return The previous implementation associated with + * the swizzled selector. You should store the + * implementation and call it when overwriting + * the selector. + */ +__attribute__((warn_unused_result)) IMP replaceMethod(SEL selector, IMP newImpl, Class affectedClass, BOOL isClassMethod); + + + + diff --git a/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.m b/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.m new file mode 100755 index 0000000..6f8f17f --- /dev/null +++ b/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.m @@ -0,0 +1,20 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +#import "_Swizzling.h" + +IMP replaceMethod(SEL selector, IMP newImpl, Class affectedClass, BOOL isClassMethod) { + Method origMethod = isClassMethod ? class_getClassMethod(affectedClass, selector) : class_getInstanceMethod(affectedClass, selector); + IMP origImpl = method_getImplementation(origMethod); + + if (!class_addMethod(isClassMethod ? object_getClass(affectedClass) : affectedClass, selector, newImpl, method_getTypeEncoding(origMethod))) { + method_setImplementation(origMethod, newImpl); + } + + return origImpl; +} diff --git a/Pods/CocoaDebug/Sources/Swizzling/_WKWebView+Swizzling.m b/Pods/CocoaDebug/Sources/Swizzling/_WKWebView+Swizzling.m new file mode 100644 index 0000000..ed33e47 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Swizzling/_WKWebView+Swizzling.m @@ -0,0 +1,171 @@ +// +// WKWebView+Swizzling.m +// 1233213 +// +// Created by man 2019/1/8. +// Copyright © 2020 man. All rights reserved. +// + +#import +#import +#import "_ObjcLog.h" +#import "_NetworkHelper.h" + +@interface WKWebView () + +@end + +@implementation WKWebView (_Swizzling) + +#pragma mark - life ++ (void)load { + + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"enableWKWebViewMonitoring_CocoaDebug"]) { + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + + SEL original_sel = @selector(initWithFrame:configuration:); + SEL replaced_sel = @selector(replaced_initWithFrame:configuration:); + Method original_method = class_getInstanceMethod([self class], original_sel); + Method replaced_method = class_getInstanceMethod([self class], replaced_sel); + if (!class_addMethod([self class], original_sel, method_getImplementation(replaced_method), method_getTypeEncoding(replaced_method))) { + method_exchangeImplementations(original_method, replaced_method); + } + + /*********************************************************************************************************************************/ + + SEL original_sel2 = NSSelectorFromString(@"dealloc"); + SEL replaced_sel2 = @selector(replaced_dealloc); + Method original_method2 = class_getInstanceMethod([self class], original_sel2); + Method replaced_method2 = class_getInstanceMethod([self class], replaced_sel2); + if (!class_addMethod([self class], original_sel2, method_getImplementation(replaced_method2), method_getTypeEncoding(replaced_method2))) { + method_exchangeImplementations(original_method2, replaced_method2); + } + + SEL original_sel3 = NSSelectorFromString(@"willDealloc"); + SEL replaced_sel3 = @selector(replaced_willDealloc); + Method replaced_method3 = class_getInstanceMethod([self class], replaced_sel3); + class_addMethod([self class], original_sel3, method_getImplementation(replaced_method3), method_getTypeEncoding(replaced_method3)); + }); + } +} + +#pragma mark - replaced method + +- (BOOL)replaced_willDealloc { + // removeScriptMessageHandlerForName + [self.configuration.userContentController removeScriptMessageHandlerForName:@"log"]; + [self.configuration.userContentController removeScriptMessageHandlerForName:@"error"]; + [self.configuration.userContentController removeScriptMessageHandlerForName:@"warn"]; + [self.configuration.userContentController removeScriptMessageHandlerForName:@"debug"]; + [self.configuration.userContentController removeScriptMessageHandlerForName:@"info"]; + + return true; +} + +- (void)replaced_dealloc { + //WKWebView + [_ObjcLog logWithFile:"[WKWebView]" function:"" line:0 color:[UIColor redColor] message:@"-------------------------------- dealloc --------------------------------"]; +} + +- (instancetype)replaced_initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration { + //WKWebView + [_ObjcLog logWithFile:"[WKWebView]" function:"" line:0 color:[_NetworkHelper shared].mainColor message:@"----------------------------------- init -----------------------------------"]; + + [self log:configuration]; + [self error:configuration]; + [self warn:configuration]; + [self debug:configuration]; + [self info:configuration]; + + return [self replaced_initWithFrame:frame configuration:configuration]; +} + +#pragma mark - private +- (void)log:(WKWebViewConfiguration *)configuration { + [configuration.userContentController removeScriptMessageHandlerForName:@"log"]; + [configuration.userContentController addScriptMessageHandler:self name:@"log"]; + //rewrite the method of console.log + NSString *jsCode = @"console.log = (function(oriLogFunc){\ + return function(str)\ + {\ + window.webkit.messageHandlers.log.postMessage(str);\ + oriLogFunc.call(console,str);\ + }\ + })(console.log);"; + //injected the method when H5 starts to create the DOM tree + [configuration.userContentController addUserScript:[[WKUserScript alloc] initWithSource:jsCode injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]]; +} + +- (void)error:(WKWebViewConfiguration *)configuration { + [configuration.userContentController removeScriptMessageHandlerForName:@"error"]; + [configuration.userContentController addScriptMessageHandler:self name:@"error"]; + //rewrite the method of console.error + NSString *jsCode = @"console.error = (function(oriLogFunc){\ + return function(str)\ + {\ + window.webkit.messageHandlers.error.postMessage(str);\ + oriLogFunc.call(console,str);\ + }\ + })(console.error);"; + //injected the method when H5 starts to create the DOM tree + [configuration.userContentController addUserScript:[[WKUserScript alloc] initWithSource:jsCode injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]]; +} + +- (void)warn:(WKWebViewConfiguration *)configuration { + [configuration.userContentController removeScriptMessageHandlerForName:@"warn"]; + [configuration.userContentController addScriptMessageHandler:self name:@"warn"]; + //rewrite the method of console.warn + NSString *jsCode = @"console.warn = (function(oriLogFunc){\ + return function(str)\ + {\ + window.webkit.messageHandlers.warn.postMessage(str);\ + oriLogFunc.call(console,str);\ + }\ + })(console.warn);"; + //injected the method when H5 starts to create the DOM tree + [configuration.userContentController addUserScript:[[WKUserScript alloc] initWithSource:jsCode injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]]; +} + +- (void)debug:(WKWebViewConfiguration *)configuration { + [configuration.userContentController removeScriptMessageHandlerForName:@"debug"]; + [configuration.userContentController addScriptMessageHandler:self name:@"debug"]; + //rewrite the method of console.debug + NSString *jsCode = @"console.debug = (function(oriLogFunc){\ + return function(str)\ + {\ + window.webkit.messageHandlers.debug.postMessage(str);\ + oriLogFunc.call(console,str);\ + }\ + })(console.debug);"; + //injected the method when H5 starts to create the DOM tree + [configuration.userContentController addUserScript:[[WKUserScript alloc] initWithSource:jsCode injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]]; +} + +- (void)info:(WKWebViewConfiguration *)configuration { + [configuration.userContentController removeScriptMessageHandlerForName:@"info"]; + [configuration.userContentController addScriptMessageHandler:self name:@"info"]; + //rewrite the method of console.info + NSString *jsCode = @"console.info = (function(oriLogFunc){\ + return function(str)\ + {\ + window.webkit.messageHandlers.info.postMessage(str);\ + oriLogFunc.call(console,str);\ + }\ + })(console.info);"; + //injected the method when H5 starts to create the DOM tree + [configuration.userContentController addUserScript:[[WKUserScript alloc] initWithSource:jsCode injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES]]; +} + + + +#pragma mark - WKScriptMessageHandler +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" +- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message { + [_ObjcLog logWithFile:"[WKWebView]" function:[message.name UTF8String] line:0 color:[UIColor whiteColor] message:message.body]; +} +#pragma clang diagnostic pop + +@end diff --git a/Pods/CocoaDebug/Sources/Window/Bubble.swift b/Pods/CocoaDebug/Sources/Window/Bubble.swift new file mode 100644 index 0000000..e1d1610 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/Bubble.swift @@ -0,0 +1,327 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit +import UIKit.UIGestureRecognizerSubclass + +protocol BubbleDelegate: AnyObject { + func didTapBubble() +} + +//https://httpcodes.co/status/ +private var _successStatusCodes = ["200","201","202","203","204","205","206","207","208","226"] +private var _informationalStatusCodes = ["100","101","102","103","122"] +private var _redirectionStatusCodes = ["300","301","302","303","304","305","306","307","308"] + +private var _width: CGFloat = 25 +private var _height: CGFloat = 25 + +class Bubble: UIView { + + weak var delegate: BubbleDelegate? + + public var width: CGFloat = _width + public var height: CGFloat = _height + + private var numberLabel: UILabel? = { + return UILabel.init() + }() + private var networkNumber: Int = 0 + + + static var originalPosition: CGPoint { + if CocoaDebugSettings.shared.bubbleFrameX != 0 && CocoaDebugSettings.shared.bubbleFrameY != 0 { + return CGPoint(x: CGFloat(CocoaDebugSettings.shared.bubbleFrameX), y: CGFloat(CocoaDebugSettings.shared.bubbleFrameY)) + } + + var h = 0 + if #available(iOS 11.0, *) { + if UIApplication.shared.keyWindow?.safeAreaInsets.top ?? 0 > 24.0 { + h = 16; + } + } + return CGPoint(x: 1.875 + _width/2, y: UIScreen.main.bounds.size.height/2 - _height - CGFloat(h)) + } + + static var size: CGSize {return CGSize(width: _width, height: _height)} + + + //MARK: - tool + fileprivate func initLabelEvent(_ content: String, _ foo: Bool) { + if content == "🚀" || content == "❌" + { + //step 0 + let WH: CGFloat = 20 + //step 1 + let label = UILabel() + label.text = content + label.font = UIFont.boldSystemFont(ofSize: 14) + + //step 2 + if foo == true { + label.frame = CGRect(x: self.frame.size.width/2 - WH/2, y: self.frame.size.height/2 - WH/2, width: WH, height: WH) + self.addSubview(label) + } else { + label.frame = CGRect(x: self.center.x - WH/2, y: self.center.y - WH/2, width: WH, height: WH) + self.superview?.addSubview(label) + } + //step 3 + UIView.animate(withDuration: 0.8, animations: { + label.frame.origin.y = foo ? -100 : (self.center.y - 100) + label.alpha = 0 + }, completion: { _ in + label.removeFromSuperview() + }) + } + else + { + //step 0 + let WH: CGFloat = 35 + //step 1 + let label = UILabel() + label.text = content + label.textAlignment = .center + label.adjustsFontSizeToFitWidth = true + label.font = UIFont.boldSystemFont(ofSize: 14) + + if _informationalStatusCodes.contains(content) { + label.textColor = "#4b8af7".hexColor + } + else if _redirectionStatusCodes.contains(content) { + label.textColor = "#ff9800".hexColor + } + else { + label.textColor = .red + } + + //step 3 + if foo == true { + label.frame = CGRect(x: self.frame.size.width/2 - WH/2, y: self.frame.size.height/2 - WH/2, width: WH, height: WH) + self.addSubview(label) + } else { + label.frame = CGRect(x: self.center.x - WH/2, y: self.center.y - WH/2, width: WH, height: WH) + self.superview?.addSubview(label) + } + //step 4 + UIView.animate(withDuration: 0.8, animations: { + label.frame.origin.y = foo ? -100 : (self.center.y - 100) + label.alpha = 0 + }, completion: { _ in + label.removeFromSuperview() + }) + } + } + + + fileprivate func initLayer() { + self.backgroundColor = .black + self.layer.cornerRadius = _width/2 + self.sizeToFit() + + if let numberLabel = numberLabel { + numberLabel.text = String(networkNumber) + numberLabel.textColor = .white + numberLabel.textAlignment = .center + numberLabel.adjustsFontSizeToFitWidth = true + numberLabel.isHidden = true + numberLabel.frame = CGRect(x:0, y:0, width:_width, height:_height) + self.addSubview(numberLabel) + } + + let tapGesture = UITapGestureRecognizer(target: self, action: #selector(Bubble.tap)) + self.addGestureRecognizer(tapGesture) + + let longTap = UILongPressGestureRecognizer.init(target: self, action: #selector(Bubble.longTap)) + self.addGestureRecognizer(longTap) + } + + func changeSideDisplay() { + UIView.animate(withDuration: 0.5, delay: 0.1, usingSpringWithDamping: 0.5, + initialSpringVelocity: 5, options: .curveEaseInOut, animations: { + }, completion: nil) + } + + func updateOrientation(newSize: CGSize) { + let oldSize = CGSize(width: newSize.height, height: newSize.width) + let percent = center.y / oldSize.height * 100 + let newOrigin = newSize.height * percent / 100 + let originX = frame.origin.x < newSize.height / 2 ? _width/8*4.25 : newSize.width - _width/8*4.25 + self.center = CGPoint(x: originX, y: newOrigin) + } + + //MARK: - init + override init(frame: CGRect) { + super.init(frame: frame) + initLayer() + + //添加手势 + let selector = #selector(Bubble.panDidFire(panner:)) + let panGesture = UIPanGestureRecognizer(target: self, action: selector) + self.addGestureRecognizer(panGesture) + + //notification + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "reloadHttp_CocoaDebug"), object: nil, queue: OperationQueue.main) { [weak self] notification in + self?.reloadHttp_notification(notification) + } + + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "deleteAllLogs_CocoaDebug"), object: nil, queue: OperationQueue.main) { [weak self] _ in + self?.deleteAllLogs_notification() + } + + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "SHOW_COCOADEBUG_FORCE"), object: nil, queue: OperationQueue.main) { [weak self] _ in + self?.show_cocoadebug_force() + } + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + deinit { + //notification + NotificationCenter.default.removeObserver(self) + } + + //MARK: - notification + //网络通知 + @objc func reloadHttp_notification(_ notification: Notification) { + + guard let userInfo = notification.userInfo else {return} + let statusCode = userInfo["statusCode"] as? String + + if _successStatusCodes.contains(statusCode ?? "") { + self.initLabelEvent("🚀", true) + } + else if statusCode == "0" { //"0" means network unavailable + self.initLabelEvent("❌", true) + } + else { + guard let statusCode = statusCode else {return} + self.initLabelEvent(statusCode, true) + } + + + self.networkNumber = (self.networkNumber ) + 1 + self.numberLabel?.text = String(networkNumber) + + + if self.networkNumber == 0 { + self.numberLabel?.isHidden = true + } else { + self.numberLabel?.isHidden = false + } + + if networkNumber >= 0 && networkNumber < 10 { + self.numberLabel?.font = UIFont.boldSystemFont(ofSize: 11) + } else if networkNumber >= 10 && networkNumber < 100 { + self.numberLabel?.font = UIFont.boldSystemFont(ofSize: 11) + } else if networkNumber >= 100 && networkNumber < 1000 { + self.numberLabel?.font = UIFont.boldSystemFont(ofSize: 9) + } else if networkNumber >= 1000 && networkNumber < 10000 { + self.numberLabel?.font = UIFont.boldSystemFont(ofSize: 7.5) + } else { + self.numberLabel?.font = UIFont.boldSystemFont(ofSize: 7) + } + } + + + @objc func deleteAllLogs_notification() { + self.networkNumber = 0 + + self.numberLabel?.text = String(networkNumber) + + if self.networkNumber == 0 { + self.numberLabel?.isHidden = true + } else { + self.numberLabel?.isHidden = false + } + } + + @objc func show_cocoadebug_force() { + CocoaDebugSettings.shared.showBubbleAndWindow = !CocoaDebugSettings.shared.showBubbleAndWindow + CocoaDebugSettings.shared.showBubbleAndWindow = !CocoaDebugSettings.shared.showBubbleAndWindow + } + + + //MARK: - target action + @objc func tap() { + delegate?.didTapBubble() + } + + @objc func longTap() { + _HttpDatasource.shared().reset() + CocoaDebugSettings.shared.networkLastIndex = 0 + NotificationCenter.default.post(name: NSNotification.Name("deleteAllLogs_CocoaDebug"), object: nil, userInfo: nil) + } + + @objc func panDidFire(panner: UIPanGestureRecognizer) { + if panner.state == .began { + UIView.animate(withDuration: 0.5, delay: 0, options: .curveLinear, animations: { [weak self] in + self?.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) + }, completion: nil) + } + + let offset = panner.translation(in: self.superview) + panner.setTranslation(CGPoint.zero, in: self.superview) + var center = self.center + center.x += offset.x + center.y += offset.y + self.center = center + + if panner.state == .ended || panner.state == .cancelled { + + var frameInset: UIEdgeInsets + + if #available(iOS 11.0, *) { + frameInset = UIApplication.shared.keyWindow?.safeAreaInsets ?? UIEdgeInsets(top: UIApplication.shared.statusBarFrame.height, left: 0, bottom: 0, right: 0) + } else { + frameInset = UIDevice.current.orientation.isPortrait ? UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0) : .zero + } + + let location = panner.location(in: self.superview) + let velocity = panner.velocity(in: self.superview) + + var finalX: Double = Double(self.width/8*4.25) + var finalY: Double = Double(location.y) + + if location.x > UIScreen.main.bounds.size.width / 2 { + finalX = Double(UIScreen.main.bounds.size.width) - Double(self.width/8*4.25) + } + + self.changeSideDisplay() + + let horizentalVelocity = abs(velocity.x) + let positionX = abs(finalX - Double(location.x)) + + let velocityForce = sqrt(pow(velocity.x, 2) * pow(velocity.y, 2)) + + let durationAnimation = (velocityForce > 1000.0) ? min(0.3, positionX / Double(horizentalVelocity)) : 0.3 + + if velocityForce > 1000.0 { + finalY += Double(velocity.y) * durationAnimation + } + + if finalY > Double(UIScreen.main.bounds.size.height) - Double(self.height/8*4.25) { + finalY = Double(UIScreen.main.bounds.size.height) - Double(frameInset.bottom) - Double(self.height/8*4.25) + } else if finalY < Double(self.height/8*4.25) + Double(frameInset.top) { + finalY = Double(self.height/8*4.25) + Double(frameInset.top) + } + + // + CocoaDebugSettings.shared.bubbleFrameX = Float(finalX) + CocoaDebugSettings.shared.bubbleFrameY = Float(finalY) + + // + UIView.animate(withDuration: durationAnimation * 5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 6, options: .allowUserInteraction, animations: { [weak self] in + self?.center = CGPoint(x: finalX, y: finalY) + self?.transform = CGAffineTransform.identity + }, completion:nil) + } + } +} + diff --git a/Pods/CocoaDebug/Sources/Window/CocoaDebugNavigationController.swift b/Pods/CocoaDebug/Sources/Window/CocoaDebugNavigationController.swift new file mode 100644 index 0000000..df41dbf --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/CocoaDebugNavigationController.swift @@ -0,0 +1,48 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CocoaDebugNavigationController: UINavigationController { + + override func viewDidLoad() { + super.viewDidLoad() + + navigationBar.isTranslucent = false //liman + + navigationBar.tintColor = Color.mainGreen + navigationBar.titleTextAttributes = [.font: UIFont.boldSystemFont(ofSize: 20), + .foregroundColor: Color.mainGreen] + + let selector = #selector(CocoaDebugNavigationController.exit) + + let image = UIImage(named: "_icon_file_type_close", in: Bundle(for: CocoaDebugNavigationController.self), compatibleWith: nil) + let leftItem = UIBarButtonItem(image: image, + style: .done, target: self, action: selector) + leftItem.tintColor = Color.mainGreen + topViewController?.navigationItem.leftBarButtonItem = leftItem + + //bugfix #issues-158 + if #available(iOS 13, *) { + let appearance = UINavigationBarAppearance() + appearance.configureWithOpaqueBackground() + // self.navigationController?.navigationBar.isTranslucent = true // pass "true" for fixing iOS 15.0 black bg issue + // self.navigationController?.navigationBar.tintColor = UIColor.white // We need to set tintcolor for iOS 15.0 + appearance.shadowColor = .clear //removing navigationbar 1 px bottom border. +// UINavigationBar.appearance().standardAppearance = appearance +// UINavigationBar.appearance().scrollEdgeAppearance = appearance + self.navigationBar.standardAppearance = appearance + self.navigationBar.scrollEdgeAppearance = appearance + } + } + + + @objc func exit() { + dismiss(animated: true, completion: nil) + } +} diff --git a/Pods/CocoaDebug/Sources/Window/CocoaDebugTabBarController.swift b/Pods/CocoaDebug/Sources/Window/CocoaDebugTabBarController.swift new file mode 100644 index 0000000..cb386a7 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/CocoaDebugTabBarController.swift @@ -0,0 +1,131 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CocoaDebugTabBarController: UITabBarController { + + //MARK: - init + override func viewDidLoad() { + super.viewDidLoad() + + UIApplication.shared.keyWindow?.endEditing(true) + + setChildControllers() + + self.selectedIndex = CocoaDebugSettings.shared.tabBarSelectItem + self.tabBar.tintColor = Color.mainGreen + + //bugfix #issues-158 + if #available(iOS 13, *) { + let appearance = UITabBarAppearance() + appearance.configureWithOpaqueBackground() + appearance.shadowColor = .clear //removing navigationbar 1 px bottom border. +// self.tabBar.appearance().standardAppearance = appearance +// self.tabBar.appearance().scrollEdgeAppearance = appearance + self.tabBar.standardAppearance = appearance + if #available(iOS 15.0, *) { + self.tabBar.scrollEdgeAppearance = appearance + } + } + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + + CocoaDebugSettings.shared.visible = true + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + CocoaDebugSettings.shared.visible = false + } + override func viewDidDisappear(_ animated: Bool) { + super.viewDidDisappear(animated) + WindowHelper.shared.displayedList = false + } + + //MARK: - private + func setChildControllers() { + + //1. + let logs = UIStoryboard(name: "Logs", bundle: Bundle(for: CocoaDebug.self)).instantiateViewController(withIdentifier: "Logs") + let network = UIStoryboard(name: "Network", bundle: Bundle(for: CocoaDebug.self)).instantiateViewController(withIdentifier: "Network") + let app = UIStoryboard(name: "App", bundle: Bundle(for: CocoaDebug.self)).instantiateViewController(withIdentifier: "App") + + //2. + _Sandboxer.shared.isSystemFilesHidden = false + _Sandboxer.shared.isExtensionHidden = false + _Sandboxer.shared.isShareable = true + _Sandboxer.shared.isFileDeletable = true + _Sandboxer.shared.isDirectoryDeletable = true + guard let sandbox = _Sandboxer.shared.homeDirectoryNavigationController() else {return} + sandbox.tabBarItem.title = "Sandbox" + sandbox.tabBarItem.image = UIImage.init(named: "_icon_file_type_sandbox", in: Bundle.init(for: CocoaDebug.self), compatibleWith: nil) + + //3. + guard let additionalViewController = CocoaDebugSettings.shared.additionalViewController else { + self.viewControllers = [network, logs, sandbox, app] + return + } + + //4.Add additional controller + var temp = [network, logs, sandbox, app] + + let nav = UINavigationController.init(rootViewController: additionalViewController) + nav.navigationBar.barTintColor = "#1f2124".hexColor + nav.tabBarItem = UITabBarItem.init(tabBarSystemItem: .more, tag: 4) + + //****** copy codes from LogNavigationViewController.swift ****** + nav.navigationBar.isTranslucent = false + + nav.navigationBar.tintColor = Color.mainGreen + nav.navigationBar.titleTextAttributes = [.font: UIFont.boldSystemFont(ofSize: 20), + .foregroundColor: Color.mainGreen] + + let selector = #selector(CocoaDebugNavigationController.exit) + + + let image = UIImage(named: "_icon_file_type_close", in: Bundle(for: CocoaDebugNavigationController.self), compatibleWith: nil) + let leftItem = UIBarButtonItem(image: image, + style: .done, target: self, action: selector) + leftItem.tintColor = Color.mainGreen + nav.topViewController?.navigationItem.leftBarButtonItem = leftItem + //****** copy codes from LogNavigationViewController.swift ****** + + temp.append(nav) + + self.viewControllers = temp + } + + //MARK: - target action + @objc func exit() { + dismiss(animated: true, completion: nil) + } + + //MARK: - show more than 5 tabs by CocoaDebug + // override var traitCollection: UITraitCollection { + // var realTraits = super.traitCollection + // var lieTrait = UITraitCollection.init(horizontalSizeClass: .regular) + // return UITraitCollection(traitsFrom: [realTraits, lieTrait]) + // } +} + +//MARK: - UITabBarDelegate +extension CocoaDebugTabBarController { + + override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { + guard let items = self.tabBar.items else {return} + + for index in 0...items.count-1 { + if item == items[index] { + CocoaDebugSettings.shared.tabBarSelectItem = index + } + } + } +} diff --git a/Pods/CocoaDebug/Sources/Window/CocoaDebugViewController.swift b/Pods/CocoaDebug/Sources/Window/CocoaDebugViewController.swift new file mode 100644 index 0000000..97e8058 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/CocoaDebugViewController.swift @@ -0,0 +1,70 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class CocoaDebugViewController: UIViewController { + + var bubble = Bubble(frame: CGRect(origin: .zero, size: Bubble.size)) + var uiBlockingBubble = UIBlockingBubble(frame: CGRect(origin: .zero, size: UIBlockingBubble.size)) + + override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { + bubble.updateOrientation(newSize: size) + } + + override func viewDidLoad() { + super.viewDidLoad() + self.view.backgroundColor = .clear + + bubble.center = Bubble.originalPosition + bubble.delegate = self + view.addSubview(bubble) + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + WindowHelper.shared.displayedList = false + if CocoaDebugSettings.shared.enableUIBlockingMonitoring { + view.addSubview(uiBlockingBubble) + } + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + if CocoaDebugSettings.shared.enableUIBlockingMonitoring { + uiBlockingBubble.updateFrame() + } + } + + override func viewDidDisappear(_ animated: Bool) { + super.viewDidDisappear(animated) + if CocoaDebugSettings.shared.enableUIBlockingMonitoring { + uiBlockingBubble.removeFromSuperview() + } + } + + func shouldReceive(point: CGPoint) -> Bool { + if WindowHelper.shared.displayedList { + return true + } + return bubble.frame.contains(point) + } +} + +//MARK: - BubbleDelegate +extension CocoaDebugViewController: BubbleDelegate { + + func didTapBubble() { + WindowHelper.shared.displayedList = true + let storyboard = UIStoryboard(name: "Manager", bundle: Bundle(for: CocoaDebug.self)) + guard let vc = storyboard.instantiateInitialViewController() else {return} + vc.view.backgroundColor = .white + vc.modalPresentationStyle = .fullScreen + self.present(vc, animated: true, completion: nil) + } +} diff --git a/Pods/CocoaDebug/Sources/Window/CocoaDebugWindow.swift b/Pods/CocoaDebug/Sources/Window/CocoaDebugWindow.swift new file mode 100644 index 0000000..3bad476 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/CocoaDebugWindow.swift @@ -0,0 +1,39 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +protocol WindowDelegate: AnyObject { + func isPointEvent(point: CGPoint) -> Bool +} + +class CocoaDebugWindow: UIWindow { + + weak var delegate: WindowDelegate? + + override init(frame: CGRect) { + super.init(frame: frame) + + self.backgroundColor = .clear + self.windowLevel = UIWindow.Level(rawValue: UIWindow.Level.alert.rawValue - 1) + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { + return self.delegate?.isPointEvent(point: point) ?? false + } +} + +extension WindowHelper: WindowDelegate { + func isPointEvent(point: CGPoint) -> Bool { + return self.vc.shouldReceive(point: point) + } +} diff --git a/Pods/CocoaDebug/Sources/Window/Color.swift b/Pods/CocoaDebug/Sources/Window/Color.swift new file mode 100644 index 0000000..eebc7e8 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/Color.swift @@ -0,0 +1,21 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +struct Color { + + static var colorGradientHead: [CGColor] { + return [UIColor(red:0.25, green:0.25, blue:0.25, alpha:1.00).cgColor, + UIColor(red:0.15, green:0.15, blue:0.15, alpha:1.00).cgColor] + } + + static var mainGreen: UIColor { + return CocoaDebug.mainColor.hexColor + } +} diff --git a/Pods/CocoaDebug/Sources/Window/UIBlockingBubble.swift b/Pods/CocoaDebug/Sources/Window/UIBlockingBubble.swift new file mode 100644 index 0000000..216f040 --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/UIBlockingBubble.swift @@ -0,0 +1,86 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +class UIBlockingBubble: UIView { + + static var size: CGSize {return CGSize(width: 70, height: 20)} + + private var uiBlockingLabel: UILabel? = { + return UILabel(frame: CGRect(x:0, y:0, width:size.width, height:size.height)) + }() + + fileprivate func initLayer() { + self.backgroundColor = .black + self.layer.cornerRadius = 4 + self.sizeToFit() + + if let uiBlockingLabel = uiBlockingLabel { + self.addSubview(uiBlockingLabel) + } + } + + //MARK: - init + override init(frame: CGRect) { + super.init(frame: CGRect(x: UIScreen.main.bounds.width/4.0, y:1, width: frame.width, height: frame.height)) + + initLayer() + +// uiBlockingLabel?.attributedText = uiBlockingLabel?.uiBlockingAttributedString(with: 60) + +// WindowHelper.shared.uiBlockingCallback = { [weak self] value in +// self?.uiBlockingLabel?.update(withValue: Float(value)) +// } + + uiBlockingLabel?.textAlignment = .center + uiBlockingLabel?.adjustsFontSizeToFitWidth = true + uiBlockingLabel?.text = "Normal" + uiBlockingLabel?.textColor = .white + + NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "CocoaDebug_Detected_UI_Blocking"), object: nil, queue: OperationQueue.main) { [weak self] _ in + self?.uiBlockingLabel?.text = "Blocking" + self?.uiBlockingLabel?.textColor = .red + + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {[weak self] in + self?.uiBlockingLabel?.text = "Normal" + self?.uiBlockingLabel?.textColor = .white + } + } + } + + func updateFrame() { + if #available(iOS 11.0, *) { + let safeAreaInsetsTop = UIApplication.shared.keyWindow?.safeAreaInsets.top ?? 0 + if safeAreaInsetsTop > 24 { //iPhoneX + center.x = UIScreen.main.bounds.width/2.0 + center.y = 39 + + let string = CocoaDebugDeviceInfo.sharedInstance().getPlatformString + if string == "iPhone 12 mini" { + center.y = 43 + } else if string == "iPhone 12" { + center.y = 41 + } else if string == "iPhone 12 Pro" { + center.y = 41 + } else if string == "iPhone 12 Pro Max" { + center.y = 41 + } + } + } + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + deinit { + //notification + NotificationCenter.default.removeObserver(self) + } +} diff --git a/Pods/CocoaDebug/Sources/Window/WindowHelper.swift b/Pods/CocoaDebug/Sources/Window/WindowHelper.swift new file mode 100644 index 0000000..734db4f --- /dev/null +++ b/Pods/CocoaDebug/Sources/Window/WindowHelper.swift @@ -0,0 +1,96 @@ +// +// Example +// man +// +// Created by man 11/11/2018. +// Copyright © 2020 man. All rights reserved. +// + +import UIKit + +public class WindowHelper: NSObject { + public static let shared = WindowHelper() + + var window: CocoaDebugWindow + var displayedList = false + lazy var vc = CocoaDebugViewController() //must lazy init, otherwise crash + + //UIBlocking +// fileprivate var uiBlockingCounter = UIBlockingCounter() +// var uiBlockingCallback:((Int) -> Void)? + + + private override init() { + window = CocoaDebugWindow(frame: UIScreen.main.bounds) + // This is for making the window not to effect the StatusBarStyle + window.bounds.size.height = UIScreen.main.bounds.height.nextDown + super.init() + +// uiBlockingCounter.delegate = self + } + + + public func enable() { + if window.rootViewController == vc { + return + } + + window.rootViewController = vc + window.delegate = self + window.isHidden = false + + if CocoaDebugSettings.shared.enableUIBlockingMonitoring == true { + startUIBlockingMonitoring() + } + + + if #available(iOS 13.0, *) { + var success: Bool = false + + for i in 0...10 { + DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + (0.1 * Double(i))) {[weak self] in + if success == true {return} + + for scene in UIApplication.shared.connectedScenes { + if let windowScene = scene as? UIWindowScene { + self?.window.windowScene = windowScene + success = true + } + } + } + } + } + } + + + public func disable() { + if window.rootViewController == nil { + return + } + window.rootViewController = nil + window.delegate = nil + window.isHidden = true + stopUIBlockingMonitoring() + } + + public func startUIBlockingMonitoring() { +// uiBlockingCounter.startMonitoring() + _RunloopMonitor.shared().begin() + } + + public func stopUIBlockingMonitoring() { +// uiBlockingCounter.stopMonitoring() + _RunloopMonitor.shared().end() + } +} + + +// MARK: - UIBlockingCounterDelegate +//extension WindowHelper: UIBlockingCounterDelegate { +// @objc public func uiBlockingCounter(_ counter: UIBlockingCounter, didUpdateFramesPerSecond uiBlocking: Int) { +// if let uiBlockingCallback = uiBlockingCallback { +// uiBlockingCallback(uiBlocking) +// } +// } +//} + diff --git a/Pods/CocoaDebug/Sources/fishhook/_fishhook.c b/Pods/CocoaDebug/Sources/fishhook/_fishhook.c new file mode 100644 index 0000000..3ccc75c --- /dev/null +++ b/Pods/CocoaDebug/Sources/fishhook/_fishhook.c @@ -0,0 +1,264 @@ +// Copyright (c) 2013, Facebook, Inc. +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name Facebook nor the names of its contributors may be used to +// endorse or promote products derived from this software without specific +// prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "_fishhook.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __LP64__ +typedef struct mach_header_64 mach_header_t; +typedef struct segment_command_64 segment_command_t; +typedef struct section_64 section_t; +typedef struct nlist_64 nlist_t; +#define LC_SEGMENT_ARCH_DEPENDENT LC_SEGMENT_64 +#else +typedef struct mach_header mach_header_t; +typedef struct segment_command segment_command_t; +typedef struct section section_t; +typedef struct nlist nlist_t; +#define LC_SEGMENT_ARCH_DEPENDENT LC_SEGMENT +#endif + +#ifndef SEG_DATA_CONST +#define SEG_DATA_CONST "__DATA_CONST" +#endif + +struct rebindings_entry { + struct rebinding *rebindings; + size_t rebindings_nel; + struct rebindings_entry *next; +}; + +static struct rebindings_entry *_rebindings_head; + +static int prepend_rebindings(struct rebindings_entry **rebindings_head, + struct rebinding rebindings[], + size_t nel) { + struct rebindings_entry *new_entry = (struct rebindings_entry *) malloc(sizeof(struct rebindings_entry)); + if (!new_entry) { + return -1; + } + new_entry->rebindings = (struct rebinding *) malloc(sizeof(struct rebinding) * nel); + if (!new_entry->rebindings) { + free(new_entry); + return -1; + } + memcpy(new_entry->rebindings, rebindings, sizeof(struct rebinding) * nel); + new_entry->rebindings_nel = nel; + new_entry->next = *rebindings_head; + *rebindings_head = new_entry; + return 0; +} + +#if 0 +static int get_protection(void *addr, vm_prot_t *prot, vm_prot_t *max_prot) { + mach_port_t task = mach_task_self(); + vm_size_t size = 0; + vm_address_t address = (vm_address_t)addr; + memory_object_name_t object; +#ifdef __LP64__ + mach_msg_type_number_t count = VM_REGION_BASIC_INFO_COUNT_64; + vm_region_basic_info_data_64_t info; + kern_return_t info_ret = vm_region_64( + task, &address, &size, VM_REGION_BASIC_INFO_64, (vm_region_info_64_t)&info, &count, &object); +#else + mach_msg_type_number_t count = VM_REGION_BASIC_INFO_COUNT; + vm_region_basic_info_data_t info; + kern_return_t info_ret = vm_region(task, &address, &size, VM_REGION_BASIC_INFO, (vm_region_info_t)&info, &count, &object); +#endif + if (info_ret == KERN_SUCCESS) { + if (prot != NULL) + *prot = info.protection; + + if (max_prot != NULL) + *max_prot = info.max_protection; + + return 0; + } + + return -1; +} +#endif + +static void perform_rebinding_with_section(struct rebindings_entry *rebindings, + section_t *section, + intptr_t slide, + nlist_t *symtab, + char *strtab, + uint32_t *indirect_symtab) { + uint32_t *indirect_symbol_indices = indirect_symtab + section->reserved1; + void **indirect_symbol_bindings = (void **)((uintptr_t)slide + section->addr); + + for (uint i = 0; i < section->size / sizeof(void *); i++) { + uint32_t symtab_index = indirect_symbol_indices[i]; + if (symtab_index == INDIRECT_SYMBOL_ABS || symtab_index == INDIRECT_SYMBOL_LOCAL || + symtab_index == (INDIRECT_SYMBOL_LOCAL | INDIRECT_SYMBOL_ABS)) { + continue; + } + uint32_t strtab_offset = symtab[symtab_index].n_un.n_strx; + char *symbol_name = strtab + strtab_offset; + bool symbol_name_longer_than_1 = symbol_name[0] && symbol_name[1]; + struct rebindings_entry *cur = rebindings; + while (cur) { + for (uint j = 0; j < cur->rebindings_nel; j++) { + if (symbol_name_longer_than_1 && strcmp(&symbol_name[1], cur->rebindings[j].name) == 0) { + kern_return_t err; + + if (cur->rebindings[j].replaced != NULL && indirect_symbol_bindings[i] != cur->rebindings[j].replacement) + *(cur->rebindings[j].replaced) = indirect_symbol_bindings[i]; + + /** + * 1. Moved the vm protection modifying codes to here to reduce the + * changing scope. + * 2. Adding VM_PROT_WRITE mode unconditionally because vm_region + * API on some iOS/Mac reports mismatch vm protection attributes. + * -- Lianfu Hao Jun 16th, 2021 + **/ + err = vm_protect (mach_task_self (), (uintptr_t)indirect_symbol_bindings, section->size, 0, VM_PROT_READ | VM_PROT_WRITE | VM_PROT_COPY); + if (err == KERN_SUCCESS) { + /** + * Once we failed to change the vm protection, we + * MUST NOT continue the following write actions! + * iOS 15 has corrected the const segments prot. + * -- Lionfore Hao Jun 11th, 2021 + **/ + indirect_symbol_bindings[i] = cur->rebindings[j].replacement; + } + goto symbol_loop; + } + } + cur = cur->next; + } + symbol_loop:; + } +} + +static void rebind_symbols_for_image(struct rebindings_entry *rebindings, + const struct mach_header *header, + intptr_t slide) { + Dl_info info; + if (dladdr(header, &info) == 0) { + return; + } + + segment_command_t *cur_seg_cmd; + segment_command_t *linkedit_segment = NULL; + struct symtab_command* symtab_cmd = NULL; + struct dysymtab_command* dysymtab_cmd = NULL; + + uintptr_t cur = (uintptr_t)header + sizeof(mach_header_t); + for (uint i = 0; i < header->ncmds; i++, cur += cur_seg_cmd->cmdsize) { + cur_seg_cmd = (segment_command_t *)cur; + if (cur_seg_cmd->cmd == LC_SEGMENT_ARCH_DEPENDENT) { + if (strcmp(cur_seg_cmd->segname, SEG_LINKEDIT) == 0) { + linkedit_segment = cur_seg_cmd; + } + } else if (cur_seg_cmd->cmd == LC_SYMTAB) { + symtab_cmd = (struct symtab_command*)cur_seg_cmd; + } else if (cur_seg_cmd->cmd == LC_DYSYMTAB) { + dysymtab_cmd = (struct dysymtab_command*)cur_seg_cmd; + } + } + + if (!symtab_cmd || !dysymtab_cmd || !linkedit_segment || + !dysymtab_cmd->nindirectsyms) { + return; + } + + // Find base symbol/string table addresses + uintptr_t linkedit_base = (uintptr_t)slide + linkedit_segment->vmaddr - linkedit_segment->fileoff; + nlist_t *symtab = (nlist_t *)(linkedit_base + symtab_cmd->symoff); + char *strtab = (char *)(linkedit_base + symtab_cmd->stroff); + + // Get indirect symbol table (array of uint32_t indices into symbol table) + uint32_t *indirect_symtab = (uint32_t *)(linkedit_base + dysymtab_cmd->indirectsymoff); + + cur = (uintptr_t)header + sizeof(mach_header_t); + for (uint i = 0; i < header->ncmds; i++, cur += cur_seg_cmd->cmdsize) { + cur_seg_cmd = (segment_command_t *)cur; + if (cur_seg_cmd->cmd == LC_SEGMENT_ARCH_DEPENDENT) { + if (strcmp(cur_seg_cmd->segname, SEG_DATA) != 0 && + strcmp(cur_seg_cmd->segname, SEG_DATA_CONST) != 0) { + continue; + } + for (uint j = 0; j < cur_seg_cmd->nsects; j++) { + section_t *sect = + (section_t *)(cur + sizeof(segment_command_t)) + j; + if ((sect->flags & SECTION_TYPE) == S_LAZY_SYMBOL_POINTERS) { + perform_rebinding_with_section(rebindings, sect, slide, symtab, strtab, indirect_symtab); + } + if ((sect->flags & SECTION_TYPE) == S_NON_LAZY_SYMBOL_POINTERS) { + perform_rebinding_with_section(rebindings, sect, slide, symtab, strtab, indirect_symtab); + } + } + } + } +} + +static void _rebind_symbols_for_image(const struct mach_header *header, + intptr_t slide) { + rebind_symbols_for_image(_rebindings_head, header, slide); +} + +int rebind_symbols_image(void *header, + intptr_t slide, + struct rebinding rebindings[], + size_t rebindings_nel) { + struct rebindings_entry *rebindings_head = NULL; + int retval = prepend_rebindings(&rebindings_head, rebindings, rebindings_nel); + rebind_symbols_for_image(rebindings_head, (const struct mach_header *) header, slide); + if (rebindings_head) { + free(rebindings_head->rebindings); + } + free(rebindings_head); + return retval; +} + +int rebind_symbols(struct rebinding rebindings[], size_t rebindings_nel) { + int retval = prepend_rebindings(&_rebindings_head, rebindings, rebindings_nel); + if (retval < 0) { + return retval; + } + // If this was the first call, register callback for image additions (which is also invoked for + // existing images, otherwise, just run on existing images + if (!_rebindings_head->next) { + _dyld_register_func_for_add_image(_rebind_symbols_for_image); + } else { + uint32_t c = _dyld_image_count(); + for (uint32_t i = 0; i < c; i++) { + _rebind_symbols_for_image(_dyld_get_image_header(i), _dyld_get_image_vmaddr_slide(i)); + } + } + return retval; +} diff --git a/Pods/CocoaDebug/Sources/fishhook/_fishhook.h b/Pods/CocoaDebug/Sources/fishhook/_fishhook.h new file mode 100644 index 0000000..0d8e36a --- /dev/null +++ b/Pods/CocoaDebug/Sources/fishhook/_fishhook.h @@ -0,0 +1,76 @@ +// Copyright (c) 2013, Facebook, Inc. +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name Facebook nor the names of its contributors may be used to +// endorse or promote products derived from this software without specific +// prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef fishhook_h +#define fishhook_h + +#include +#include + +#if !defined(FISHHOOK_EXPORT) +#define FISHHOOK_VISIBILITY __attribute__((visibility("hidden"))) +#else +#define FISHHOOK_VISIBILITY __attribute__((visibility("default"))) +#endif + +#ifdef __cplusplus +extern "C" { +#endif //__cplusplus + +/* + * A structure representing a particular intended rebinding from a symbol + * name to its replacement + */ +struct rebinding { + const char *name; + void *replacement; + void **replaced; +}; + +/* + * For each rebinding in rebindings, rebinds references to external, indirect + * symbols with the specified name to instead point at replacement for each + * image in the calling process as well as for all future images that are loaded + * by the process. If rebind_functions is called more than once, the symbols to + * rebind are added to the existing list of rebindings, and if a given symbol + * is rebound more than once, the later rebinding will take precedence. + */ +FISHHOOK_VISIBILITY +int rebind_symbols(struct rebinding rebindings[], size_t rebindings_nel); + +/* + * Rebinds as above, but only in the specified image. The header should point + * to the mach-o header, the slide should be the slide offset. Others as above. + */ +FISHHOOK_VISIBILITY +int rebind_symbols_image(void *header, + intptr_t slide, + struct rebinding rebindings[], + size_t rebindings_nel); + +#ifdef __cplusplus +} +#endif //__cplusplus + +#endif //fishhook_h + diff --git a/Pods/Headers/Private/CocoaDebug/CocoaDebug.h b/Pods/Headers/Private/CocoaDebug/CocoaDebug.h new file mode 120000 index 0000000..5ac0597 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/CocoaDebugDeviceInfo.h b/Pods/Headers/Private/CocoaDebug/CocoaDebugDeviceInfo.h new file mode 120000 index 0000000..bab7eb6 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/CocoaDebugDeviceInfo.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/CocoaDebugTool.h b/Pods/Headers/Private/CocoaDebug/CocoaDebugTool.h new file mode 120000 index 0000000..7115a0d --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/CocoaDebugTool.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/CocoaDebugTool.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/GPBMessage+CocoaDebug.h b/Pods/Headers/Private/CocoaDebug/GPBMessage+CocoaDebug.h new file mode 120000 index 0000000..793cc55 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/GPBMessage+CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/NSObject+CocoaDebug.h b/Pods/Headers/Private/CocoaDebug/NSObject+CocoaDebug.h new file mode 120000 index 0000000..0d89824 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/NSObject+CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Categories/NSObject+CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_BacktraceLogger.h b/Pods/Headers/Private/CocoaDebug/_BacktraceLogger.h new file mode 120000 index 0000000..7c7e269 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_BacktraceLogger.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_BacktraceLogger.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_CacheStoragePolicy.h b/Pods/Headers/Private/CocoaDebug/_CacheStoragePolicy.h new file mode 120000 index 0000000..646f69d --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_CacheStoragePolicy.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_CanonicalRequest.h b/Pods/Headers/Private/CocoaDebug/_CanonicalRequest.h new file mode 120000 index 0000000..eacd92c --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_CanonicalRequest.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_CustomHTTPProtocol.h b/Pods/Headers/Private/CocoaDebug/_CustomHTTPProtocol.h new file mode 120000 index 0000000..2cca0e8 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_CustomHTTPProtocol.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_DebugConsoleLabel.h b/Pods/Headers/Private/CocoaDebug/_DebugConsoleLabel.h new file mode 120000 index 0000000..e439b3c --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_DebugConsoleLabel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_DebugConsoleLabel.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_DeviceUtil+Constant.h b/Pods/Headers/Private/CocoaDebug/_DeviceUtil+Constant.h new file mode 120000 index 0000000..8fc3368 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_DeviceUtil+Constant.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/_DeviceUtil+Constant.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_DeviceUtil.h b/Pods/Headers/Private/CocoaDebug/_DeviceUtil.h new file mode 120000 index 0000000..a0260cb --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_DeviceUtil.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/_DeviceUtil.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_DirectoryContentsTableViewController.h b/Pods/Headers/Private/CocoaDebug/_DirectoryContentsTableViewController.h new file mode 120000 index 0000000..2c8f610 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_DirectoryContentsTableViewController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_FileInfo.h b/Pods/Headers/Private/CocoaDebug/_FileInfo.h new file mode 120000 index 0000000..b99eafd --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_FileInfo.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FileInfo.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_FilePreviewController.h b/Pods/Headers/Private/CocoaDebug/_FilePreviewController.h new file mode 120000 index 0000000..674a549 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_FilePreviewController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FilePreviewController.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_FileTableViewCell.h b/Pods/Headers/Private/CocoaDebug/_FileTableViewCell.h new file mode 120000 index 0000000..d22fcd2 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_FileTableViewCell.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FileTableViewCell.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_HttpDatasource.h b/Pods/Headers/Private/CocoaDebug/_HttpDatasource.h new file mode 120000 index 0000000..38ffcb2 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_HttpDatasource.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_HttpDatasource.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_HttpModel.h b/Pods/Headers/Private/CocoaDebug/_HttpModel.h new file mode 120000 index 0000000..4c240f8 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_HttpModel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_HttpModel.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_ImageController.h b/Pods/Headers/Private/CocoaDebug/_ImageController.h new file mode 120000 index 0000000..a29cf24 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_ImageController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_ImageController.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_ImageResources.h b/Pods/Headers/Private/CocoaDebug/_ImageResources.h new file mode 120000 index 0000000..8321d30 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_ImageResources.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_ImageResources.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_NetworkHelper.h b/Pods/Headers/Private/CocoaDebug/_NetworkHelper.h new file mode 120000 index 0000000..bb47310 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_NetworkHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_NetworkHelper.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_OCLogHelper.h b/Pods/Headers/Private/CocoaDebug/_OCLogHelper.h new file mode 120000 index 0000000..8367f1f --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_OCLogHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogHelper.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_OCLogModel.h b/Pods/Headers/Private/CocoaDebug/_OCLogModel.h new file mode 120000 index 0000000..53a16c7 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_OCLogModel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogModel.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_OCLogStoreManager.h b/Pods/Headers/Private/CocoaDebug/_OCLogStoreManager.h new file mode 120000 index 0000000..faf9ae9 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_OCLogStoreManager.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogStoreManager.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_OCLoggerFormat.h b/Pods/Headers/Private/CocoaDebug/_OCLoggerFormat.h new file mode 120000 index 0000000..844f958 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_OCLoggerFormat.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLoggerFormat.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_ObjcLog.h b/Pods/Headers/Private/CocoaDebug/_ObjcLog.h new file mode 120000 index 0000000..25a54b3 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_ObjcLog.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_ObjcLog.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_QNSURLSessionDemux.h b/Pods/Headers/Private/CocoaDebug/_QNSURLSessionDemux.h new file mode 120000 index 0000000..0bf13ca --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_QNSURLSessionDemux.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_RunloopMonitor.h b/Pods/Headers/Private/CocoaDebug/_RunloopMonitor.h new file mode 120000 index 0000000..1d1168e --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_RunloopMonitor.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_RunloopMonitor.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_Sandboxer-Header.h b/Pods/Headers/Private/CocoaDebug/_Sandboxer-Header.h new file mode 120000 index 0000000..e4c6039 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_Sandboxer-Header.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_Sandboxer-Header.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_Sandboxer.h b/Pods/Headers/Private/CocoaDebug/_Sandboxer.h new file mode 120000 index 0000000..fdffabb --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_Sandboxer.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_Sandboxer.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_SandboxerHelper.h b/Pods/Headers/Private/CocoaDebug/_SandboxerHelper.h new file mode 120000 index 0000000..abd7014 --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_SandboxerHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_SandboxerHelper.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_Swizzling.h b/Pods/Headers/Private/CocoaDebug/_Swizzling.h new file mode 120000 index 0000000..da9769e --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_Swizzling.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Swizzling/_Swizzling.h \ No newline at end of file diff --git a/Pods/Headers/Private/CocoaDebug/_fishhook.h b/Pods/Headers/Private/CocoaDebug/_fishhook.h new file mode 120000 index 0000000..f81709d --- /dev/null +++ b/Pods/Headers/Private/CocoaDebug/_fishhook.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/fishhook/_fishhook.h \ No newline at end of file diff --git a/Pods/Headers/Private/DDProgressHUDKit_Private/MBProgressHUD.h b/Pods/Headers/Private/DDProgressHUDKit_Private/MBProgressHUD.h index 2161d9c..7835258 120000 --- a/Pods/Headers/Private/DDProgressHUDKit_Private/MBProgressHUD.h +++ b/Pods/Headers/Private/DDProgressHUDKit_Private/MBProgressHUD.h @@ -1 +1 @@ -../../../DDProgressHUDKit_Private/DDProgressHUDKit_Private/Classes/MBProgressHUD.h \ No newline at end of file +../../../../../../PodRepository/DDProgressHUDKit_Private/DDProgressHUDKit_Private/Classes/MBProgressHUD.h \ No newline at end of file diff --git a/Pods/Headers/Private/YYImage/YYAnimatedImageView.h b/Pods/Headers/Private/YYImage/YYAnimatedImageView.h new file mode 120000 index 0000000..d90694f --- /dev/null +++ b/Pods/Headers/Private/YYImage/YYAnimatedImageView.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYAnimatedImageView.h \ No newline at end of file diff --git a/Pods/Headers/Private/YYImage/YYFrameImage.h b/Pods/Headers/Private/YYImage/YYFrameImage.h new file mode 120000 index 0000000..173675c --- /dev/null +++ b/Pods/Headers/Private/YYImage/YYFrameImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYFrameImage.h \ No newline at end of file diff --git a/Pods/Headers/Private/YYImage/YYImage.h b/Pods/Headers/Private/YYImage/YYImage.h new file mode 120000 index 0000000..4abef6c --- /dev/null +++ b/Pods/Headers/Private/YYImage/YYImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImage.h \ No newline at end of file diff --git a/Pods/Headers/Private/YYImage/YYImageCoder.h b/Pods/Headers/Private/YYImage/YYImageCoder.h new file mode 120000 index 0000000..dc4425f --- /dev/null +++ b/Pods/Headers/Private/YYImage/YYImageCoder.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImageCoder.h \ No newline at end of file diff --git a/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h b/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h new file mode 120000 index 0000000..ee6cef7 --- /dev/null +++ b/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYSpriteSheetImage.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/CocoaDebug-umbrella.h b/Pods/Headers/Public/CocoaDebug/CocoaDebug-umbrella.h new file mode 120000 index 0000000..343fcd6 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/CocoaDebug-umbrella.h @@ -0,0 +1 @@ +../../../Target Support Files/CocoaDebug/CocoaDebug-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/CocoaDebug.h b/Pods/Headers/Public/CocoaDebug/CocoaDebug.h new file mode 120000 index 0000000..5ac0597 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/CocoaDebug.modulemap b/Pods/Headers/Public/CocoaDebug/CocoaDebug.modulemap new file mode 120000 index 0000000..c604471 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/CocoaDebug.modulemap @@ -0,0 +1 @@ +../../../Target Support Files/CocoaDebug/CocoaDebug.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/CocoaDebugDeviceInfo.h b/Pods/Headers/Public/CocoaDebug/CocoaDebugDeviceInfo.h new file mode 120000 index 0000000..bab7eb6 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/CocoaDebugDeviceInfo.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/CocoaDebugDeviceInfo.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/CocoaDebugTool.h b/Pods/Headers/Public/CocoaDebug/CocoaDebugTool.h new file mode 120000 index 0000000..7115a0d --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/CocoaDebugTool.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/CocoaDebugTool.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/GPBMessage+CocoaDebug.h b/Pods/Headers/Public/CocoaDebug/GPBMessage+CocoaDebug.h new file mode 120000 index 0000000..793cc55 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/GPBMessage+CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Categories/GPBMessage+CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/NSObject+CocoaDebug.h b/Pods/Headers/Public/CocoaDebug/NSObject+CocoaDebug.h new file mode 120000 index 0000000..0d89824 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/NSObject+CocoaDebug.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Categories/NSObject+CocoaDebug.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_BacktraceLogger.h b/Pods/Headers/Public/CocoaDebug/_BacktraceLogger.h new file mode 120000 index 0000000..7c7e269 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_BacktraceLogger.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_BacktraceLogger.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_CacheStoragePolicy.h b/Pods/Headers/Public/CocoaDebug/_CacheStoragePolicy.h new file mode 120000 index 0000000..646f69d --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_CacheStoragePolicy.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CacheStoragePolicy.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_CanonicalRequest.h b/Pods/Headers/Public/CocoaDebug/_CanonicalRequest.h new file mode 120000 index 0000000..eacd92c --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_CanonicalRequest.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CanonicalRequest.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_CustomHTTPProtocol.h b/Pods/Headers/Public/CocoaDebug/_CustomHTTPProtocol.h new file mode 120000 index 0000000..2cca0e8 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_CustomHTTPProtocol.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_DebugConsoleLabel.h b/Pods/Headers/Public/CocoaDebug/_DebugConsoleLabel.h new file mode 120000 index 0000000..e439b3c --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_DebugConsoleLabel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_DebugConsoleLabel.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_DeviceUtil+Constant.h b/Pods/Headers/Public/CocoaDebug/_DeviceUtil+Constant.h new file mode 120000 index 0000000..8fc3368 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_DeviceUtil+Constant.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/_DeviceUtil+Constant.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_DeviceUtil.h b/Pods/Headers/Public/CocoaDebug/_DeviceUtil.h new file mode 120000 index 0000000..a0260cb --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_DeviceUtil.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Core/_DeviceUtil.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_DirectoryContentsTableViewController.h b/Pods/Headers/Public/CocoaDebug/_DirectoryContentsTableViewController.h new file mode 120000 index 0000000..2c8f610 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_DirectoryContentsTableViewController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_DirectoryContentsTableViewController.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_FileInfo.h b/Pods/Headers/Public/CocoaDebug/_FileInfo.h new file mode 120000 index 0000000..b99eafd --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_FileInfo.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FileInfo.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_FilePreviewController.h b/Pods/Headers/Public/CocoaDebug/_FilePreviewController.h new file mode 120000 index 0000000..674a549 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_FilePreviewController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FilePreviewController.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_FileTableViewCell.h b/Pods/Headers/Public/CocoaDebug/_FileTableViewCell.h new file mode 120000 index 0000000..d22fcd2 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_FileTableViewCell.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_FileTableViewCell.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_HttpDatasource.h b/Pods/Headers/Public/CocoaDebug/_HttpDatasource.h new file mode 120000 index 0000000..38ffcb2 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_HttpDatasource.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_HttpDatasource.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_HttpModel.h b/Pods/Headers/Public/CocoaDebug/_HttpModel.h new file mode 120000 index 0000000..4c240f8 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_HttpModel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_HttpModel.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_ImageController.h b/Pods/Headers/Public/CocoaDebug/_ImageController.h new file mode 120000 index 0000000..a29cf24 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_ImageController.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_ImageController.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_ImageResources.h b/Pods/Headers/Public/CocoaDebug/_ImageResources.h new file mode 120000 index 0000000..8321d30 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_ImageResources.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_ImageResources.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_NetworkHelper.h b/Pods/Headers/Public/CocoaDebug/_NetworkHelper.h new file mode 120000 index 0000000..bb47310 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_NetworkHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Network/_NetworkHelper.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_OCLogHelper.h b/Pods/Headers/Public/CocoaDebug/_OCLogHelper.h new file mode 120000 index 0000000..8367f1f --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_OCLogHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogHelper.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_OCLogModel.h b/Pods/Headers/Public/CocoaDebug/_OCLogModel.h new file mode 120000 index 0000000..53a16c7 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_OCLogModel.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogModel.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_OCLogStoreManager.h b/Pods/Headers/Public/CocoaDebug/_OCLogStoreManager.h new file mode 120000 index 0000000..faf9ae9 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_OCLogStoreManager.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLogStoreManager.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_OCLoggerFormat.h b/Pods/Headers/Public/CocoaDebug/_OCLoggerFormat.h new file mode 120000 index 0000000..844f958 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_OCLoggerFormat.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_OCLoggerFormat.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_ObjcLog.h b/Pods/Headers/Public/CocoaDebug/_ObjcLog.h new file mode 120000 index 0000000..25a54b3 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_ObjcLog.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Logs/_ObjcLog.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_QNSURLSessionDemux.h b/Pods/Headers/Public/CocoaDebug/_QNSURLSessionDemux.h new file mode 120000 index 0000000..0bf13ca --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_QNSURLSessionDemux.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_RunloopMonitor.h b/Pods/Headers/Public/CocoaDebug/_RunloopMonitor.h new file mode 120000 index 0000000..1d1168e --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_RunloopMonitor.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Monitor/_RunloopMonitor.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_Sandboxer-Header.h b/Pods/Headers/Public/CocoaDebug/_Sandboxer-Header.h new file mode 120000 index 0000000..e4c6039 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_Sandboxer-Header.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_Sandboxer-Header.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_Sandboxer.h b/Pods/Headers/Public/CocoaDebug/_Sandboxer.h new file mode 120000 index 0000000..fdffabb --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_Sandboxer.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_Sandboxer.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_SandboxerHelper.h b/Pods/Headers/Public/CocoaDebug/_SandboxerHelper.h new file mode 120000 index 0000000..abd7014 --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_SandboxerHelper.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Sandbox/_SandboxerHelper.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_Swizzling.h b/Pods/Headers/Public/CocoaDebug/_Swizzling.h new file mode 120000 index 0000000..da9769e --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_Swizzling.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/Swizzling/_Swizzling.h \ No newline at end of file diff --git a/Pods/Headers/Public/CocoaDebug/_fishhook.h b/Pods/Headers/Public/CocoaDebug/_fishhook.h new file mode 120000 index 0000000..f81709d --- /dev/null +++ b/Pods/Headers/Public/CocoaDebug/_fishhook.h @@ -0,0 +1 @@ +../../../CocoaDebug/Sources/fishhook/_fishhook.h \ No newline at end of file diff --git a/Pods/Headers/Public/DDProgressHUDKit_Private/MBProgressHUD.h b/Pods/Headers/Public/DDProgressHUDKit_Private/MBProgressHUD.h index 2161d9c..7835258 120000 --- a/Pods/Headers/Public/DDProgressHUDKit_Private/MBProgressHUD.h +++ b/Pods/Headers/Public/DDProgressHUDKit_Private/MBProgressHUD.h @@ -1 +1 @@ -../../../DDProgressHUDKit_Private/DDProgressHUDKit_Private/Classes/MBProgressHUD.h \ No newline at end of file +../../../../../../PodRepository/DDProgressHUDKit_Private/DDProgressHUDKit_Private/Classes/MBProgressHUD.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYAnimatedImageView.h b/Pods/Headers/Public/YYImage/YYAnimatedImageView.h new file mode 120000 index 0000000..d90694f --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYAnimatedImageView.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYAnimatedImageView.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYFrameImage.h b/Pods/Headers/Public/YYImage/YYFrameImage.h new file mode 120000 index 0000000..173675c --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYFrameImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYFrameImage.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYImage-umbrella.h b/Pods/Headers/Public/YYImage/YYImage-umbrella.h new file mode 120000 index 0000000..bd1ea41 --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYImage-umbrella.h @@ -0,0 +1 @@ +../../../Target Support Files/YYImage/YYImage-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYImage.h b/Pods/Headers/Public/YYImage/YYImage.h new file mode 120000 index 0000000..4abef6c --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImage.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYImage.modulemap b/Pods/Headers/Public/YYImage/YYImage.modulemap new file mode 120000 index 0000000..3e85ff2 --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYImage.modulemap @@ -0,0 +1 @@ +../../../Target Support Files/YYImage/YYImage.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYImageCoder.h b/Pods/Headers/Public/YYImage/YYImageCoder.h new file mode 120000 index 0000000..dc4425f --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYImageCoder.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImageCoder.h \ No newline at end of file diff --git a/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h b/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h new file mode 120000 index 0000000..ee6cef7 --- /dev/null +++ b/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYSpriteSheetImage.h \ No newline at end of file diff --git a/Pods/JCore/jcore-ios-4.2.1.xcframework/Info.plist b/Pods/JCore/jcore-ios-4.2.1.xcframework/Info.plist new file mode 100644 index 0000000..228a43b --- /dev/null +++ b/Pods/JCore/jcore-ios-4.2.1.xcframework/Info.plist @@ -0,0 +1,44 @@ + + + + + AvailableLibraries + + + HeadersPath + Headers + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + libJCore.a + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + HeadersPath + Headers + LibraryIdentifier + ios-arm64 + LibraryPath + libJCore.a + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/Headers/JGInforCollectionAuth.h b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/Headers/JGInforCollectionAuth.h new file mode 100644 index 0000000..1a378b8 --- /dev/null +++ b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/Headers/JGInforCollectionAuth.h @@ -0,0 +1,27 @@ +// +// JGInforCollectionAuth.h +// JCore +// +// Created by 豆瓣 on 2021/10/27. +// Copyright © 2021 jiguang. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// 合规接口,是否授权极光采集一定的设备信息 +@interface JGInforCollectionAuthItems : NSObject +/// 是否授权,默认YES +@property(nonatomic,assign)BOOL isAuth; +@end + +@interface JGInforCollectionAuth : NSObject + +/// 设备信息采集授权接口(合规接口) +/// 请务必在调用初始化、功能性接口前调用此接口进行合规授权 +/// @param authBlock auth:YES 则极光认为您同意极光采集一定的设备信息 ++(void)JCollectionAuth:(void(^_Nullable)(JGInforCollectionAuthItems *authInfo))authBlock; +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/libJCore.a b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/libJCore.a new file mode 100644 index 0000000..936ae15 Binary files /dev/null and b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64/libJCore.a differ diff --git a/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/Headers/JGInforCollectionAuth.h b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/Headers/JGInforCollectionAuth.h new file mode 100644 index 0000000..1a378b8 --- /dev/null +++ b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/Headers/JGInforCollectionAuth.h @@ -0,0 +1,27 @@ +// +// JGInforCollectionAuth.h +// JCore +// +// Created by 豆瓣 on 2021/10/27. +// Copyright © 2021 jiguang. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// 合规接口,是否授权极光采集一定的设备信息 +@interface JGInforCollectionAuthItems : NSObject +/// 是否授权,默认YES +@property(nonatomic,assign)BOOL isAuth; +@end + +@interface JGInforCollectionAuth : NSObject + +/// 设备信息采集授权接口(合规接口) +/// 请务必在调用初始化、功能性接口前调用此接口进行合规授权 +/// @param authBlock auth:YES 则极光认为您同意极光采集一定的设备信息 ++(void)JCollectionAuth:(void(^_Nullable)(JGInforCollectionAuthItems *authInfo))authBlock; +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/libJCore.a b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/libJCore.a new file mode 100644 index 0000000..cbd8a3d Binary files /dev/null and b/Pods/JCore/jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator/libJCore.a differ diff --git a/Pods/JPush/jpush-ios-5.0.1.xcframework/Info.plist b/Pods/JPush/jpush-ios-5.0.1.xcframework/Info.plist new file mode 100644 index 0000000..531cf95 --- /dev/null +++ b/Pods/JPush/jpush-ios-5.0.1.xcframework/Info.plist @@ -0,0 +1,44 @@ + + + + + AvailableLibraries + + + HeadersPath + Headers + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + libJPush.a + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + HeadersPath + Headers + LibraryIdentifier + ios-arm64 + LibraryPath + libJPush.a + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/Headers/JPUSHService.h b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/Headers/JPUSHService.h new file mode 100644 index 0000000..35e3d1f --- /dev/null +++ b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/Headers/JPUSHService.h @@ -0,0 +1,942 @@ +/* + * | | | | \ \ / / | | | | / _______| + * | |____| | \ \/ / | |____| | / / + * | |____| | \ / | |____| | | | _____ + * | | | | / \ | | | | | | |____ | + * | | | | / /\ \ | | | | \ \______| | + * | | | | /_/ \_\ | | | | \_________| + * + * Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved. + */ + +#define JPUSH_VERSION_NUMBER 5.0.1 + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class CLRegion; +@class UILocalNotification; +@class CLLocation; +@class UNNotificationCategory; +@class UNNotificationSettings; +@class UNNotificationRequest; +@class UNNotification; +@class UIView; +@protocol JPUSHRegisterDelegate; +@protocol JPUSHGeofenceDelegate; +@protocol JPUSHNotiInMessageDelegate; +@protocol JPUSHInAppMessageDelegate; + +typedef void (^JPUSHTagsOperationCompletion)(NSInteger iResCode, NSSet *_Nullable iTags, NSInteger seq); +typedef void (^JPUSHTagValidOperationCompletion)(NSInteger iResCode, NSSet *_Nullable iTags, NSInteger seq, BOOL isBind); +typedef void (^JPUSHAliasOperationCompletion)(NSInteger iResCode, NSString *_Nullable iAlias, NSInteger seq); +typedef void (^JPUSHPropertiesOperationCompletion)(NSInteger iResCode, NSDictionary *_Nullable properties, NSInteger seq); +typedef void (^JPUSHLiveActivityTokenCompletion)(NSInteger iResCode, NSString *_Nullable iLiveActivityId, NSData * _Nullable pushToken, NSInteger seq); + +extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中 +extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接 +extern NSString *const kJPFNetworkDidCloseNotification; // 关闭连接 +extern NSString *const kJPFNetworkDidRegisterNotification; // 注册成功 +extern NSString *const kJPFNetworkFailedRegisterNotification; //注册失败 +extern NSString *const kJPFNetworkDidLoginNotification; // 登录成功 +extern NSString *const kJPFNetworkDidReceiveMessageNotification; // 收到消息(非APNS) +extern NSString *const kJPFServiceErrorNotification; // 错误提示 + +typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) { + JPAuthorizationOptionNone = 0, // the application may not present any UI upon a notification being received + JPAuthorizationOptionBadge = (1 << 0), // the application may badge its icon upon a notification being received + JPAuthorizationOptionSound = (1 << 1), // the application may play a sound upon a notification being received + JPAuthorizationOptionAlert = (1 << 2), // the application may display an alert upon a notification being received + JPAuthorizationOptionCarPlay = (1 << 3), // The ability to display notifications in a CarPlay environment. + JPAuthorizationOptionCriticalAlert NS_AVAILABLE_IOS(12.0) = (1 << 4) , //The ability to play sounds for critical alerts. + JPAuthorizationOptionProvidesAppNotificationSettings NS_AVAILABLE_IOS(12.0) = (1 << 5) , //An option indicating the system should display a button for in-app notification settings. + JPAuthorizationOptionProvisional NS_AVAILABLE_IOS(12.0) = (1 << 6) , //The ability to post noninterrupting notifications provisionally to the Notification Center. + JPAuthorizationOptionAnnouncement NS_AVAILABLE_IOS(13.0) = (1 << 7) , //The ability for Siri to automatically read out messages over AirPods. +}; + +typedef NS_ENUM(NSUInteger, JPAuthorizationStatus) { + JPAuthorizationNotDetermined = 0, // The user has not yet made a choice regarding whether the application may post user notifications. + JPAuthorizationStatusDenied, // The application is not authorized to post user notifications. + JPAuthorizationStatusAuthorized, // The application is authorized to post user notifications. + JPAuthorizationStatusProvisional NS_AVAILABLE_IOS(12.0), // The application is authorized to post non-interruptive user notifications. +}; + +/*! + * 通知注册实体类 + */ +@interface JPUSHRegisterEntity : NSObject + +/*! + * 支持的类型 + * badge,sound,alert + */ +@property (nonatomic, assign) NSInteger types; +/*! + * 注入的类别 + * iOS10 UNNotificationCategory + * iOS8-iOS9 UIUserNotificationCategory + */ +@property (nonatomic, strong, nullable) NSSet *categories; +@end + +/*! + * 进行删除、查找推送实体类 + */ +@interface JPushNotificationIdentifier : NSObject + +@property (nonatomic, copy, nullable) NSArray * identifiers; // 推送的标识数组 +@property (nonatomic, copy, nullable) UILocalNotification * notificationObj NS_DEPRECATED_IOS(4_0, 10_0); // iOS10以下可以传UILocalNotification对象数据,iOS10以上无效 +@property (nonatomic, assign) BOOL delivered NS_AVAILABLE_IOS(10_0); // 在通知中心显示的或待推送的标志,默认为NO,YES表示在通知中心显示的,NO表示待推送的 +@property (nonatomic, copy, nullable) void (^findCompletionHandler)(NSArray * _Nullable results); // 用于查询回调,调用[findNotification:]方法前必须设置,results为返回相应对象数组,iOS10以下返回UILocalNotification对象数组;iOS10以上根据delivered传入值返回UNNotification或UNNotificationRequest对象数组(delivered传入YES,则返回UNNotification对象数组,否则返回UNNotificationRequest对象数组) + +@end + +/*! + * 推送通知声音实体类 + * iOS10以上有效 + */ +@interface JPushNotificationSound : NSObject +@property (nonatomic, copy, nullable) NSString *soundName; //普通通知铃声 +@property (nonatomic, copy, nullable) NSString *criticalSoundName NS_AVAILABLE_IOS(12.0); //警告通知铃声 +@property (nonatomic, assign) float criticalSoundVolume NS_AVAILABLE_IOS(12.0); //警告通知铃声音量,有效值在0~1之间,默认为1 +@end + + +/*! + * 推送内容实体类 + */ +@interface JPushNotificationContent : NSObject + +@property (nonatomic, copy) NSString *title; // 推送标题 +@property (nonatomic, copy) NSString *subtitle; // 推送副标题 +@property (nonatomic, copy) NSString *body; // 推送内容 +@property (nonatomic, copy, nullable) NSNumber *badge; // 角标的数字。如果不需要改变角标传@(-1) +@property (nonatomic, copy) NSString *action NS_DEPRECATED_IOS(8_0, 10_0); // 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动",iOS10以上无效) +@property (nonatomic, copy) NSString *categoryIdentifier; // 行为分类标识 +@property (nonatomic, copy) NSDictionary *userInfo; // 本地推送时可以设置userInfo来增加附加信息,远程推送时设置的payload推送内容作为此userInfo +@property (nonatomic, copy, nullable) NSString *sound; // 声音名称,不设置则为默认声音 +@property (nonatomic, copy, nullable) JPushNotificationSound *soundSetting NS_AVAILABLE_IOS(10.0); //推送声音实体 +@property (nonatomic, copy) NSArray *attachments NS_AVAILABLE_IOS(10_0); // 附件,iOS10以上有效,需要传入UNNotificationAttachment对象数组类型 +@property (nonatomic, copy) NSString *threadIdentifier NS_AVAILABLE_IOS(10_0); // 线程或与推送请求相关对话的标识,iOS10以上有效,可用来对推送进行分组 +@property (nonatomic, copy) NSString *launchImageName NS_AVAILABLE_IOS(10_0); // 启动图片名,iOS10以上有效,从推送启动时将会用到 +@property (nonatomic, copy) NSString *summaryArgument NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的部分参数。iOS12以上有效。 +@property (nonatomic, assign) NSUInteger summaryArgumentCount NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的项目数。iOS12以上有效。 +@property (nonatomic, copy, nullable) NSString *targetContentIdentifier NS_AVAILABLE_IOS(13.0); // An identifier for the content of the notification used by the system to customize the scene to be activated when tapping on a notification. +//iOS15以上的新增属性 interruptionLevel为枚举UNNotificationInterruptionLevel +// The interruption level determines the degree of interruption associated with the notification +@property (nonatomic, assign) NSUInteger interruptionLevel NS_AVAILABLE_IOS(15.0); +// Relevance score determines the sorting for the notification across app notifications. The expected range is between 0.0f and 1.0f. +@property (nonatomic, assign) double relevanceScore NS_AVAILABLE_IOS(15.0); +// iOS16以上的新增属性 +@property (nonatomic, copy, nullable) NSString * filterCriteria NS_AVAILABLE_IOS(16.0); // default nil + +@end + + +/*! + * 推送触发方式实体类 + * 注:dateComponents、timeInterval、region在iOS10以上可选择其中一个参数传入有效值,如果同时传入值会根据优先级I、II、III使其中一种触发方式生效,fireDate为iOS10以下根据时间触发时须传入的参数 + */ +@interface JPushNotificationTrigger : NSObject + +@property (nonatomic, assign) BOOL repeat; // 设置是否重复,默认为NO +@property (nonatomic, copy) NSDate *fireDate NS_DEPRECATED_IOS(2_0, 10_0); // 用来设置触发推送的时间,iOS10以上无效 +@property (nonatomic, copy) CLRegion *region NS_AVAILABLE_IOS(8_0); // 用来设置触发推送的位置,iOS8以上有效,iOS10以上优先级为I,应用需要有允许使用定位的授权 +@property (nonatomic, copy) NSDateComponents *dateComponents NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的日期时间,iOS10以上有效,优先级为II +@property (nonatomic, assign) NSTimeInterval timeInterval NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的时间,iOS10以上有效,优先级为III + +@end + +/*! + * 注册或更新推送实体类 + */ +@interface JPushNotificationRequest : NSObject + +@property (nonatomic, copy) NSString *requestIdentifier; // 推送请求标识 +@property (nonatomic, copy) JPushNotificationContent *content; // 设置推送的具体内容 +@property (nonatomic, copy) JPushNotificationTrigger *trigger; // 设置推送的触发方式 +@property (nonatomic, copy, nullable) void (^completionHandler)(id result); // 注册或更新推送成功回调,iOS10以上成功则result为UNNotificationRequest对象,失败则result为nil;iOS10以下成功result为UILocalNotification对象,失败则result为nil + +@end + + +/*! + * 应用内消息内容实体 + */ +@interface JPushInAppMessage : NSObject + +@property (nonatomic, copy) NSString *mesageId; // 消息id +@property (nonatomic, copy) NSString *title; // 标题 +@property (nonatomic, copy) NSString *content; // 内容 +@property (nonatomic, strong) NSArray *target; // 目标页面 +@property (nonatomic, copy) NSString *clickAction; // 跳转地址 +@property (nonatomic, strong) NSDictionary *extras; // 附加字段 + +@end + +/*! + * JPush 核心头文件 + */ +@interface JPUSHService : NSObject + + +///---------------------------------------------------- +/// @name Setup 启动相关 +///---------------------------------------------------- + + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(nullable NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(nullable NSString *)channel + apsForProduction:(BOOL)isProduction; + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * @param advertisingId 广告标识符(IDFA) 如果不需要使用IDFA,传nil. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(nullable NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(nullable NSString *)channel + apsForProduction:(BOOL)isProduction + advertisingIdentifier:(nullable NSString *)advertisingId; + + +///---------------------------------------------------- +/// @name APNs about 通知相关 +///---------------------------------------------------- + +/*! + * @abstract 注册要处理的远程通知类型 + * + * @param types 通知类型 + * @param categories 类别组 + * + */ ++ (void)registerForRemoteNotificationTypes:(NSUInteger)types + categories:(nullable NSSet *)categories; +/*! + * @abstract 新版本的注册方法(兼容iOS10) + * + * @param config 注册通知配置 + * @param delegate 代理 + * + */ ++ (void)registerForRemoteNotificationConfig:(JPUSHRegisterEntity *)config delegate:(nullable id)delegate; + + ++ (void)registerDeviceToken:(NSData *)deviceToken; + +/*! + * @abstract 注册liveActivity并上报其pushToken + * 在pushToken有变化的时候同步调用该接口。 + * 在liveActivity结束的时候,请同步调用该接口,pushToken传nil + * + * @param liveActivityId 标识某一个liveActivity + * @param pushToken 对应该liveActivity的pushToken,如有更新,请及时调用该方法更新pushToken + * @param completion 响应回调 + * @param seq 请求序列号 + */ ++ (void)registerLiveActivity:(NSString *)liveActivityId + pushToken:(nullable NSData *)pushToken + completion:(nullable JPUSHLiveActivityTokenCompletion)completion + seq:(NSInteger)seq; + +/*! + * @abstract 处理收到的 APNs 消息 + */ ++ (void)handleRemoteNotification:(NSDictionary *)remoteInfo; + +/*! + * @abstract 向极光服务器提交Token + * + * @param voipToken 推送使用的Voip Token + */ ++ (void)registerVoipToken:(NSData *)voipToken; + + +/*! + * @abstract 处理收到的 Voip 消息 + * + * @param remoteInfo 下发的 Voip 内容 + */ ++ (void)handleVoipNotification:(NSDictionary *)remoteInfo; + + +/*! +* @abstract 检测通知授权状态 +* @param completion 授权结果通过status值返回,详见JPAuthorizationStatus +*/ ++ (void)requestNotificationAuthorization:(nullable void (^)(JPAuthorizationStatus status))completion; + +/*! +* @abstract 跳转至系统设置页面,iOS8及以上有效 +*/ ++ (void)openSettingsForNotification:(nullable void (^)(BOOL success))completionHandler NS_AVAILABLE_IOS(8_0); + +/*! + * Tags操作接口 + * 支持增加/覆盖/删除/清空/查询操作 + * 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + */ + +/** + 增加tags + + @param tags 需要增加的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)addTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 覆盖tags + 调用该接口会覆盖用户所有的tags + + @param tags 需要设置的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除指定tags + + @param tags 需要删除的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 清空所有tags + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)cleanTags:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询全部tags + + @param completion 响应回调,请在回调中获取查询结果 + @param seq 请求序列号 + */ ++ (void)getAllTags:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 验证tag是否绑定 + + @param completion 响应回调,回调中查看是否绑定 + @param seq 请求序列号 + */ ++ (void)validTag:(NSString *)tag + completion:(nullable JPUSHTagValidOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 设置Alias + + @param alias 需要设置的alias + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setAlias:(NSString *)alias + completion:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteAlias:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询当前alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)getAlias:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + + +/*! + * @abstract 过滤掉无效的 tags + * + * @discussion 如果 tags 数量超过限制数量, 则返回靠前的有效的 tags. + * 建议设置 tags 前用此接口校验. SDK 内部也会基于此接口来做过滤. + */ ++ (NSSet *)filterValidTags:(NSSet *)tags; + + +/*! + * Property操作接口 + * 支持增加/删除/清空操作 + * 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + */ + +/** + 新增/更新用户属性 + + 如果某个用户属性之前已经存在了,则会更新;不存在,则会新增 + + @param properties 需要新增或者更新的的用户属性内容,类型为NSDictionary; + Key 为用户属性名称,类型必须是 NSString 类型;Value为用户属性值,只支持 NSString、NSNumber、NSDate类型,如果属性为BOOL类型,传值时请转成NSNumber类型 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setProperties:(NSDictionary *)properties + completion:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/** + 删除指定属性 + + @param keys 需要删除的属性名称集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteProperties:(NSSet *)keys + completion:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/** + 清空所有属性 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)cleanProperties:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/*! + * 应用内消息接口 + * 使用应用内消息需要配置以下两个接口。请在进入页面和离开页面的时候相应地配置。以下两个接口请配套调用。 + */ + +/** + 进入页面 + + 请与 + (void)pageLeave:(NSString *)pageName; 方法配套使用 + + @param pageName 页面名 + @discussion 使用应用内消息功能,需要配置pageEnterTo:和pageLeave:函数。 + */ ++ (void)pageEnterTo:(NSString *)pageName; + + +/** + 离开页面 + + 请与 + (void)pageEnterTo:(NSString *)pageName;方法配套使用 + + @param pageName 页面名 + @discussion 使用应用内消息功能,需要配置pageEnterTo:和pageLeave:函数。 + */ ++ (void)pageLeave:(NSString *)pageName; + + +/*! +* @abstract 设置应用内消息的代理 +* +* @discussion 遵守JPUSHInAppMessageDelegate的代理对象 +* +*/ ++ (void)setInAppMessageDelegate:(id)inAppMessageDelegate; + + +///---------------------------------------------------- +/// @name Stats 统计功能 +///---------------------------------------------------- + +/*! + * @abstract 开始记录页面停留 + * + * @param pageName 页面名称 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)startLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 停止记录页面停留 + * + * @param pageName 页面 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)stopLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 直接上报在页面的停留时间 + * + * @param pageName 页面 + * @param seconds 停留的秒数 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)beginLogPageView:(NSString *)pageName duration:(int)seconds __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 开启Crash日志收集 + * + * @discussion 默认是关闭状态. + */ ++ (void)crashLogON; + +/*! + * @abstract 地理位置上报 + * + * @param latitude 纬度. + * @param longitude 经度. + * + */ ++ (void)setLatitude:(double)latitude longitude:(double)longitude; + +/*! + * @abstract 地理位置上报 + * + * @param location 直接传递 CLLocation * 型的地理信息 + * + * @discussion 需要链接 CoreLocation.framework 并且 #import + */ ++ (void)setLocation:(CLLocation *)location; + +/** + 设置地理围栏的最大个数 + 默认值为 10 ,iOS系统默认地理围栏最大个数为20 + @param count 个数 count + */ ++ (void)setGeofeneceMaxCount:(NSInteger)count; + +/** + 设置地理围栏'圈内'类型的检测周期 + 默认15分钟检测一次 + */ ++ (void)setGeofenecePeriodForInside:(NSInteger)seconds; + +/** + 注册地理围栏的代理 + + @param delegate 代理 + @param launchOptions app启动完成是收到的字段参数 + */ ++ (void)registerLbsGeofenceDelegate:(id)delegate withLaunchOptions:(nullable NSDictionary *)launchOptions; + +/** + 删除地理围栏 + + @param geofenceId 地理围栏id + */ ++ (void)removeGeofenceWithIdentifier:(NSString *)geofenceId; + +///---------------------------------------------------- +/// @name Local Notification 本地通知 +///---------------------------------------------------- +/*! + * @abstract 注册或更新推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param request JPushNotificationRequest类型,设置推送的属性,设置已有推送的request.requestIdentifier即更新已有的推送,否则为注册新推送,更新推送仅仅在iOS10以上有效,结果通过request.completionHandler返回 + * @discussion 旧的注册本地推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)addNotification:(JPushNotificationRequest *)request; + +/*! + * @abstract 移除推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上identifier设置为nil,则移除所有在通知中心显示推送和待推送请求,也可以通过设置identifier.delivered和identifier.identifiers来移除相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则移除相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier设置为nil,则移除所有推送,identifier.delivered属性无效,另外可以通过identifier.notificationObj传入特定推送对象来移除此推送。 + * @discussion 旧的所有删除推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)removeNotification:(nullable JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 查找推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上可以通过设置identifier.delivered和identifier.identifiers来查找相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则返回相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier.delivered属性无效,identifier.identifiers如果设置nil或空数组则返回所有未触发的推送。须要设置identifier.findCompletionHandler回调才能得到查找结果,通过(NSArray *results)返回相应对象数组。 + * @discussion 旧的查找推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)findNotification:(JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 本地推送,最多支持64个 + * + * @param fireDate 本地推送触发的时间 + * @param alertBody 本地推送需要显示的内容 + * @param badge 角标的数字。如果不需要改变角标传-1 + * @param alertAction 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动") + * @param notificationKey 本地推送标示符 + * @param userInfo 自定义参数,可以用来标识推送和增加附加信息 + * @param soundName 自定义通知声音,设置为nil为默认声音 + * + * @discussion 最多支持 64 个定义,此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 本地推送 (支持 iOS8 新参数) + * + * IOS8新参数 + * @param region 自定义参数 + * @param regionTriggersOnce 自定义参数 + * @param category 自定义参数 + * @discussion 此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName + region:(CLRegion *)region + regionTriggersOnce:(BOOL)regionTriggersOnce + category:(NSString *)category NS_AVAILABLE_IOS(8_0) __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 前台展示本地推送 + * + * @param notification 本地推送对象 + * @param notificationKey 需要前台显示的本地推送通知的标示符 + * + * @discussion 默认App在前台运行时不会进行弹窗,在程序接收通知调用此接口可实现指定的推送弹窗。--iOS10以下还可继续使用,iOS10以上在[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:]方法中调用completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);即可 + */ ++ (void)showLocalNotificationAtFront:(UILocalNotification *)notification + identifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); +/*! + * @abstract 删除本地推送定义 + * + * @param notificationKey 本地推送标示符 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotificationWithIdentifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 删除本地推送定义 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotification:(UILocalNotification *)localNotification __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 获取指定通知 + * + * @param notificationKey 本地推送标示符 + * @return 本地推送对象数组, [array count]为0时表示没找到 + * @discussion 此方法被[findNotification:]方法取代 + */ ++ (NSArray *)findLocalNotificationWithIdentifier:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 清除所有本地推送对象 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)clearAllLocalNotifications __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + + +///---------------------------------------------------- +/// @name Server badge 服务器端 badge 功能 +///---------------------------------------------------- + +/*! + * @abstract 设置角标(到服务器) + * + * @param value 新的值. 会覆盖服务器上保存的值(这个用户) + * + * @discussion 本接口不会改变应用本地的角标值. + * 本地仍须调用 UIApplication:setApplicationIconBadgeNumber 函数来设置脚标. + * + * 本接口用于配合 JPush 提供的服务器端角标功能. + * 该功能解决的问题是, 服务器端推送 APNs 时, 并不知道客户端原来已经存在的角标是多少, 指定一个固定的数字不太合理. + * + * JPush 服务器端脚标功能提供: + * + * - 通过本 API 把当前客户端(当前这个用户的) 的实际 badge 设置到服务器端保存起来; + * - 调用服务器端 API 发 APNs 时(通常这个调用是批量针对大量用户), + * 使用 "+1" 的语义, 来表达需要基于目标用户实际的 badge 值(保存的) +1 来下发通知时带上新的 badge 值; + */ ++ (BOOL)setBadge:(NSInteger)value; + +/*! + * @abstract 重置脚标(为0) + * + * @discussion 相当于 [setBadge:0] 的效果. + * 参考 [JPUSHService setBadge:] 说明来理解其作用. + */ ++ (void)resetBadge; + +///---------------------------------------------------- +/// @name Other Feature 其他功能 +///---------------------------------------------------- + +/*! + * @abstract 设置手机号码(到服务器) + * + * @param mobileNumber 手机号码. 会与用户信息一一对应。可为空,为空则清除号码 + * @param completion 响应回调。成功则error为空,失败则error带有错误码及错误信息 + * + * @discussion 设置手机号码后,可实现“推送不到短信到”的通知方式,提高推送达到率。结果信息通过completion异步返回,也可将completion设置为nil不处理结果信息。 + * + */ ++ (void)setMobileNumber:(NSString *)mobileNumber completion:(nullable void (^)(NSError *error))completion; + +///---------------------------------------------------- +/// @name Logs and others 日志与其他 +///---------------------------------------------------- + +/*! + * @abstract JPush标识此设备的 registrationID + * + * @discussion SDK注册成功后, 调用此接口获取到 registrationID 才能够获取到. + * + * JPush 支持根据 registrationID 来进行推送. + * 如果你需要此功能, 应该通过此接口获取到 registrationID 后, 上报到你自己的服务器端, 并保存下来. + * registrationIDCompletionHandler:是新增的获取registrationID的方法,需要在block中获取registrationID,resCode为返回码,模拟器调用此接口resCode返回1011,registrationID返回nil. + * 更多的理解请参考 JPush 的文档网站. + */ ++ (NSString *)registrationID; + ++ (void)registrationIDCompletionHandler:(void(^)(int resCode,NSString * _Nullable registrationID))completionHandler; + +/*! + * @abstract 打开日志级别到 Debug + * + * @discussion JMessage iOS 的日志系统参考 Android 设计了级别. + * 从低到高是: Verbose, Debug, Info, Warning, Error. + * 对日志级别的进一步理解, 请参考 Android 相关的说明. + * + * SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志. + * + * 请在SDK启动后调用本接口,调用本接口可打开日志级别为: Debug, 打印调试日志. + */ ++ (void)setDebugMode; + +/*! + * @abstract 关闭日志 + * + * @discussion 关于日志级别的说明, 参考 [JPUSHService setDebugMode] + * + * 虽说是关闭日志, 但还是会打印 Warning, Error 日志. 这二种日志级别, 在程序运行正常时, 不应有打印输出. + * + * 建议在发布的版本里, 调用此接口, 关闭掉日志打印. + */ ++ (void)setLogOFF; + +/*! + * @abstract 设置SDK地理位置权限开关 + * + * @discussion 关闭地理位置之后,SDK地理围栏的相关功能将受到影响,默认是开启。 + * + */ ++ (void)setLocationEanable:(BOOL)isEanble; + +/*! + * @abstract 设置PUSH开关 + * + * @discussion 关闭PUSH之后,将接收不到极光通知推送、自定义消息推送、liveActivity消息推送,默认是开启。 + * + */ ++ (void)setPushEnable:(BOOL)isEnable completion:(nullable void (^)(NSInteger iResCode))completion; + + +/*! +* @abstract 设置应用内提醒消息的代理 +* +* @discussion 遵守JPushNotiInMessageDelegate的代理对象 +* +*/ ++ (void)setNotiInMessageDelegate:(id)notiInMessageDelegate; + + + +///---------------------------------------------------- +///********************下列方法已过期******************** +///**************请使用新版tag/alias操作接口************** +///---------------------------------------------------- +/// @name Tag alias setting 设置别名与标签 +///---------------------------------------------------- + +/*! + * 下面的接口是可选的 + * 设置标签和(或)别名(若参数为nil,则忽略;若是空对象,则清空;详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + * setTags:alias:fetchCompletionHandle:是新的设置标签别名的方法,不再需要显示声明回调函数,只需要在block里面处理设置结果即可. + * WARN: 使用block时需要注意循环引用问题 + */ ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期"))); ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setTags:(NSSet *)tags + alias:(NSString *)alias +fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +aliasInbackground:(NSString *)alias __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setAlias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); + +@end + +@class UNUserNotificationCenter; +@class UNNotificationResponse; + +@protocol JPUSHRegisterDelegate + +/* + * @brief handle UserNotifications.framework [willPresentNotification:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 前台得到的的通知对象 + * @param completionHandler 该callback中的options 请使用UNNotificationPresentationOptions + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger options))completionHandler; +/* + * @brief handle UserNotifications.framework [didReceiveNotificationResponse:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param response 通知响应对象 + * @param completionHandler + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler; + +/* + * @brief handle UserNotifications.framework [openSettingsForNotification:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 当前管理的通知对象 + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification NS_AVAILABLE_IOS(12.0); + +/** + * 监测通知授权状态返回的结果 + * @param status 授权通知状态,详见JPAuthorizationStatus + * @param info 更多信息,预留参数 + */ +- (void)jpushNotificationAuthorization:(JPAuthorizationStatus)status withInfo:(nullable NSDictionary *)info; + +@end + +@protocol JPUSHGeofenceDelegate +/** + 触发地理围栏 + @param geofence 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceRegion:(nullable NSDictionary *)geofence + error:(nullable NSError *)error; + +/** + 拉取地理围栏列表的回调 + + @param geofenceList 地理围栏列表 + */ +- (void)jpushCallbackGeofenceReceived:(nullable NSArray *)geofenceList; + +/** + 进入地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didEnterRegion:(NSDictionary *_Nullable)userInfo error:(NSError *_Nullable)error __attribute__((deprecated("JPush 3.6.0 版本已过期"))); + +/** + 离开地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didExitRegion:(NSDictionary *_Nullable)userInfo error:(NSError *_Nullable)error __attribute__((deprecated("JPush 3.6.0 版本已过期"))); + +@end + + +@protocol JPUSHNotiInMessageDelegate + +/** + 应用内提醒消息展示的回调 + + @param content 应用内提醒消息的内容 + + */ +- (void)jPushNotiInMessageDidShowWithContent:(NSDictionary *)content; + +/** + 应用内提醒消息点击的回调 + + @param content 应用内提醒消息的内容 + + */ +- (void)jPushNotiInMessageDidClickWithContent:(NSDictionary *)content; + +@end + + +@protocol JPUSHInAppMessageDelegate + +/** + 应用内消息展示的回调 + + @param inAppMessage 应用内消息的内容 + + */ +- (void)jPushInAppMessageDidShow:(JPushInAppMessage *)inAppMessage; + +/** + 应用内消息点击的回调 + + @param inAppMessage 应用内消息的内容 + + */ +- (void)jPushInAppMessageDidClick:(JPushInAppMessage *)inAppMessage; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/libJPush.a b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/libJPush.a new file mode 100644 index 0000000..168df62 Binary files /dev/null and b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64/libJPush.a differ diff --git a/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/Headers/JPUSHService.h b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/Headers/JPUSHService.h new file mode 100644 index 0000000..35e3d1f --- /dev/null +++ b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/Headers/JPUSHService.h @@ -0,0 +1,942 @@ +/* + * | | | | \ \ / / | | | | / _______| + * | |____| | \ \/ / | |____| | / / + * | |____| | \ / | |____| | | | _____ + * | | | | / \ | | | | | | |____ | + * | | | | / /\ \ | | | | \ \______| | + * | | | | /_/ \_\ | | | | \_________| + * + * Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved. + */ + +#define JPUSH_VERSION_NUMBER 5.0.1 + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class CLRegion; +@class UILocalNotification; +@class CLLocation; +@class UNNotificationCategory; +@class UNNotificationSettings; +@class UNNotificationRequest; +@class UNNotification; +@class UIView; +@protocol JPUSHRegisterDelegate; +@protocol JPUSHGeofenceDelegate; +@protocol JPUSHNotiInMessageDelegate; +@protocol JPUSHInAppMessageDelegate; + +typedef void (^JPUSHTagsOperationCompletion)(NSInteger iResCode, NSSet *_Nullable iTags, NSInteger seq); +typedef void (^JPUSHTagValidOperationCompletion)(NSInteger iResCode, NSSet *_Nullable iTags, NSInteger seq, BOOL isBind); +typedef void (^JPUSHAliasOperationCompletion)(NSInteger iResCode, NSString *_Nullable iAlias, NSInteger seq); +typedef void (^JPUSHPropertiesOperationCompletion)(NSInteger iResCode, NSDictionary *_Nullable properties, NSInteger seq); +typedef void (^JPUSHLiveActivityTokenCompletion)(NSInteger iResCode, NSString *_Nullable iLiveActivityId, NSData * _Nullable pushToken, NSInteger seq); + +extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中 +extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接 +extern NSString *const kJPFNetworkDidCloseNotification; // 关闭连接 +extern NSString *const kJPFNetworkDidRegisterNotification; // 注册成功 +extern NSString *const kJPFNetworkFailedRegisterNotification; //注册失败 +extern NSString *const kJPFNetworkDidLoginNotification; // 登录成功 +extern NSString *const kJPFNetworkDidReceiveMessageNotification; // 收到消息(非APNS) +extern NSString *const kJPFServiceErrorNotification; // 错误提示 + +typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) { + JPAuthorizationOptionNone = 0, // the application may not present any UI upon a notification being received + JPAuthorizationOptionBadge = (1 << 0), // the application may badge its icon upon a notification being received + JPAuthorizationOptionSound = (1 << 1), // the application may play a sound upon a notification being received + JPAuthorizationOptionAlert = (1 << 2), // the application may display an alert upon a notification being received + JPAuthorizationOptionCarPlay = (1 << 3), // The ability to display notifications in a CarPlay environment. + JPAuthorizationOptionCriticalAlert NS_AVAILABLE_IOS(12.0) = (1 << 4) , //The ability to play sounds for critical alerts. + JPAuthorizationOptionProvidesAppNotificationSettings NS_AVAILABLE_IOS(12.0) = (1 << 5) , //An option indicating the system should display a button for in-app notification settings. + JPAuthorizationOptionProvisional NS_AVAILABLE_IOS(12.0) = (1 << 6) , //The ability to post noninterrupting notifications provisionally to the Notification Center. + JPAuthorizationOptionAnnouncement NS_AVAILABLE_IOS(13.0) = (1 << 7) , //The ability for Siri to automatically read out messages over AirPods. +}; + +typedef NS_ENUM(NSUInteger, JPAuthorizationStatus) { + JPAuthorizationNotDetermined = 0, // The user has not yet made a choice regarding whether the application may post user notifications. + JPAuthorizationStatusDenied, // The application is not authorized to post user notifications. + JPAuthorizationStatusAuthorized, // The application is authorized to post user notifications. + JPAuthorizationStatusProvisional NS_AVAILABLE_IOS(12.0), // The application is authorized to post non-interruptive user notifications. +}; + +/*! + * 通知注册实体类 + */ +@interface JPUSHRegisterEntity : NSObject + +/*! + * 支持的类型 + * badge,sound,alert + */ +@property (nonatomic, assign) NSInteger types; +/*! + * 注入的类别 + * iOS10 UNNotificationCategory + * iOS8-iOS9 UIUserNotificationCategory + */ +@property (nonatomic, strong, nullable) NSSet *categories; +@end + +/*! + * 进行删除、查找推送实体类 + */ +@interface JPushNotificationIdentifier : NSObject + +@property (nonatomic, copy, nullable) NSArray * identifiers; // 推送的标识数组 +@property (nonatomic, copy, nullable) UILocalNotification * notificationObj NS_DEPRECATED_IOS(4_0, 10_0); // iOS10以下可以传UILocalNotification对象数据,iOS10以上无效 +@property (nonatomic, assign) BOOL delivered NS_AVAILABLE_IOS(10_0); // 在通知中心显示的或待推送的标志,默认为NO,YES表示在通知中心显示的,NO表示待推送的 +@property (nonatomic, copy, nullable) void (^findCompletionHandler)(NSArray * _Nullable results); // 用于查询回调,调用[findNotification:]方法前必须设置,results为返回相应对象数组,iOS10以下返回UILocalNotification对象数组;iOS10以上根据delivered传入值返回UNNotification或UNNotificationRequest对象数组(delivered传入YES,则返回UNNotification对象数组,否则返回UNNotificationRequest对象数组) + +@end + +/*! + * 推送通知声音实体类 + * iOS10以上有效 + */ +@interface JPushNotificationSound : NSObject +@property (nonatomic, copy, nullable) NSString *soundName; //普通通知铃声 +@property (nonatomic, copy, nullable) NSString *criticalSoundName NS_AVAILABLE_IOS(12.0); //警告通知铃声 +@property (nonatomic, assign) float criticalSoundVolume NS_AVAILABLE_IOS(12.0); //警告通知铃声音量,有效值在0~1之间,默认为1 +@end + + +/*! + * 推送内容实体类 + */ +@interface JPushNotificationContent : NSObject + +@property (nonatomic, copy) NSString *title; // 推送标题 +@property (nonatomic, copy) NSString *subtitle; // 推送副标题 +@property (nonatomic, copy) NSString *body; // 推送内容 +@property (nonatomic, copy, nullable) NSNumber *badge; // 角标的数字。如果不需要改变角标传@(-1) +@property (nonatomic, copy) NSString *action NS_DEPRECATED_IOS(8_0, 10_0); // 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动",iOS10以上无效) +@property (nonatomic, copy) NSString *categoryIdentifier; // 行为分类标识 +@property (nonatomic, copy) NSDictionary *userInfo; // 本地推送时可以设置userInfo来增加附加信息,远程推送时设置的payload推送内容作为此userInfo +@property (nonatomic, copy, nullable) NSString *sound; // 声音名称,不设置则为默认声音 +@property (nonatomic, copy, nullable) JPushNotificationSound *soundSetting NS_AVAILABLE_IOS(10.0); //推送声音实体 +@property (nonatomic, copy) NSArray *attachments NS_AVAILABLE_IOS(10_0); // 附件,iOS10以上有效,需要传入UNNotificationAttachment对象数组类型 +@property (nonatomic, copy) NSString *threadIdentifier NS_AVAILABLE_IOS(10_0); // 线程或与推送请求相关对话的标识,iOS10以上有效,可用来对推送进行分组 +@property (nonatomic, copy) NSString *launchImageName NS_AVAILABLE_IOS(10_0); // 启动图片名,iOS10以上有效,从推送启动时将会用到 +@property (nonatomic, copy) NSString *summaryArgument NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的部分参数。iOS12以上有效。 +@property (nonatomic, assign) NSUInteger summaryArgumentCount NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的项目数。iOS12以上有效。 +@property (nonatomic, copy, nullable) NSString *targetContentIdentifier NS_AVAILABLE_IOS(13.0); // An identifier for the content of the notification used by the system to customize the scene to be activated when tapping on a notification. +//iOS15以上的新增属性 interruptionLevel为枚举UNNotificationInterruptionLevel +// The interruption level determines the degree of interruption associated with the notification +@property (nonatomic, assign) NSUInteger interruptionLevel NS_AVAILABLE_IOS(15.0); +// Relevance score determines the sorting for the notification across app notifications. The expected range is between 0.0f and 1.0f. +@property (nonatomic, assign) double relevanceScore NS_AVAILABLE_IOS(15.0); +// iOS16以上的新增属性 +@property (nonatomic, copy, nullable) NSString * filterCriteria NS_AVAILABLE_IOS(16.0); // default nil + +@end + + +/*! + * 推送触发方式实体类 + * 注:dateComponents、timeInterval、region在iOS10以上可选择其中一个参数传入有效值,如果同时传入值会根据优先级I、II、III使其中一种触发方式生效,fireDate为iOS10以下根据时间触发时须传入的参数 + */ +@interface JPushNotificationTrigger : NSObject + +@property (nonatomic, assign) BOOL repeat; // 设置是否重复,默认为NO +@property (nonatomic, copy) NSDate *fireDate NS_DEPRECATED_IOS(2_0, 10_0); // 用来设置触发推送的时间,iOS10以上无效 +@property (nonatomic, copy) CLRegion *region NS_AVAILABLE_IOS(8_0); // 用来设置触发推送的位置,iOS8以上有效,iOS10以上优先级为I,应用需要有允许使用定位的授权 +@property (nonatomic, copy) NSDateComponents *dateComponents NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的日期时间,iOS10以上有效,优先级为II +@property (nonatomic, assign) NSTimeInterval timeInterval NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的时间,iOS10以上有效,优先级为III + +@end + +/*! + * 注册或更新推送实体类 + */ +@interface JPushNotificationRequest : NSObject + +@property (nonatomic, copy) NSString *requestIdentifier; // 推送请求标识 +@property (nonatomic, copy) JPushNotificationContent *content; // 设置推送的具体内容 +@property (nonatomic, copy) JPushNotificationTrigger *trigger; // 设置推送的触发方式 +@property (nonatomic, copy, nullable) void (^completionHandler)(id result); // 注册或更新推送成功回调,iOS10以上成功则result为UNNotificationRequest对象,失败则result为nil;iOS10以下成功result为UILocalNotification对象,失败则result为nil + +@end + + +/*! + * 应用内消息内容实体 + */ +@interface JPushInAppMessage : NSObject + +@property (nonatomic, copy) NSString *mesageId; // 消息id +@property (nonatomic, copy) NSString *title; // 标题 +@property (nonatomic, copy) NSString *content; // 内容 +@property (nonatomic, strong) NSArray *target; // 目标页面 +@property (nonatomic, copy) NSString *clickAction; // 跳转地址 +@property (nonatomic, strong) NSDictionary *extras; // 附加字段 + +@end + +/*! + * JPush 核心头文件 + */ +@interface JPUSHService : NSObject + + +///---------------------------------------------------- +/// @name Setup 启动相关 +///---------------------------------------------------- + + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(nullable NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(nullable NSString *)channel + apsForProduction:(BOOL)isProduction; + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * @param advertisingId 广告标识符(IDFA) 如果不需要使用IDFA,传nil. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(nullable NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(nullable NSString *)channel + apsForProduction:(BOOL)isProduction + advertisingIdentifier:(nullable NSString *)advertisingId; + + +///---------------------------------------------------- +/// @name APNs about 通知相关 +///---------------------------------------------------- + +/*! + * @abstract 注册要处理的远程通知类型 + * + * @param types 通知类型 + * @param categories 类别组 + * + */ ++ (void)registerForRemoteNotificationTypes:(NSUInteger)types + categories:(nullable NSSet *)categories; +/*! + * @abstract 新版本的注册方法(兼容iOS10) + * + * @param config 注册通知配置 + * @param delegate 代理 + * + */ ++ (void)registerForRemoteNotificationConfig:(JPUSHRegisterEntity *)config delegate:(nullable id)delegate; + + ++ (void)registerDeviceToken:(NSData *)deviceToken; + +/*! + * @abstract 注册liveActivity并上报其pushToken + * 在pushToken有变化的时候同步调用该接口。 + * 在liveActivity结束的时候,请同步调用该接口,pushToken传nil + * + * @param liveActivityId 标识某一个liveActivity + * @param pushToken 对应该liveActivity的pushToken,如有更新,请及时调用该方法更新pushToken + * @param completion 响应回调 + * @param seq 请求序列号 + */ ++ (void)registerLiveActivity:(NSString *)liveActivityId + pushToken:(nullable NSData *)pushToken + completion:(nullable JPUSHLiveActivityTokenCompletion)completion + seq:(NSInteger)seq; + +/*! + * @abstract 处理收到的 APNs 消息 + */ ++ (void)handleRemoteNotification:(NSDictionary *)remoteInfo; + +/*! + * @abstract 向极光服务器提交Token + * + * @param voipToken 推送使用的Voip Token + */ ++ (void)registerVoipToken:(NSData *)voipToken; + + +/*! + * @abstract 处理收到的 Voip 消息 + * + * @param remoteInfo 下发的 Voip 内容 + */ ++ (void)handleVoipNotification:(NSDictionary *)remoteInfo; + + +/*! +* @abstract 检测通知授权状态 +* @param completion 授权结果通过status值返回,详见JPAuthorizationStatus +*/ ++ (void)requestNotificationAuthorization:(nullable void (^)(JPAuthorizationStatus status))completion; + +/*! +* @abstract 跳转至系统设置页面,iOS8及以上有效 +*/ ++ (void)openSettingsForNotification:(nullable void (^)(BOOL success))completionHandler NS_AVAILABLE_IOS(8_0); + +/*! + * Tags操作接口 + * 支持增加/覆盖/删除/清空/查询操作 + * 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + */ + +/** + 增加tags + + @param tags 需要增加的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)addTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 覆盖tags + 调用该接口会覆盖用户所有的tags + + @param tags 需要设置的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除指定tags + + @param tags 需要删除的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteTags:(NSSet *)tags + completion:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 清空所有tags + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)cleanTags:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询全部tags + + @param completion 响应回调,请在回调中获取查询结果 + @param seq 请求序列号 + */ ++ (void)getAllTags:(nullable JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 验证tag是否绑定 + + @param completion 响应回调,回调中查看是否绑定 + @param seq 请求序列号 + */ ++ (void)validTag:(NSString *)tag + completion:(nullable JPUSHTagValidOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 设置Alias + + @param alias 需要设置的alias + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setAlias:(NSString *)alias + completion:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteAlias:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询当前alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)getAlias:(nullable JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + + +/*! + * @abstract 过滤掉无效的 tags + * + * @discussion 如果 tags 数量超过限制数量, 则返回靠前的有效的 tags. + * 建议设置 tags 前用此接口校验. SDK 内部也会基于此接口来做过滤. + */ ++ (NSSet *)filterValidTags:(NSSet *)tags; + + +/*! + * Property操作接口 + * 支持增加/删除/清空操作 + * 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + */ + +/** + 新增/更新用户属性 + + 如果某个用户属性之前已经存在了,则会更新;不存在,则会新增 + + @param properties 需要新增或者更新的的用户属性内容,类型为NSDictionary; + Key 为用户属性名称,类型必须是 NSString 类型;Value为用户属性值,只支持 NSString、NSNumber、NSDate类型,如果属性为BOOL类型,传值时请转成NSNumber类型 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setProperties:(NSDictionary *)properties + completion:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/** + 删除指定属性 + + @param keys 需要删除的属性名称集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteProperties:(NSSet *)keys + completion:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/** + 清空所有属性 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)cleanProperties:(nullable JPUSHPropertiesOperationCompletion)completion + seq:(NSInteger)seq; + + +/*! + * 应用内消息接口 + * 使用应用内消息需要配置以下两个接口。请在进入页面和离开页面的时候相应地配置。以下两个接口请配套调用。 + */ + +/** + 进入页面 + + 请与 + (void)pageLeave:(NSString *)pageName; 方法配套使用 + + @param pageName 页面名 + @discussion 使用应用内消息功能,需要配置pageEnterTo:和pageLeave:函数。 + */ ++ (void)pageEnterTo:(NSString *)pageName; + + +/** + 离开页面 + + 请与 + (void)pageEnterTo:(NSString *)pageName;方法配套使用 + + @param pageName 页面名 + @discussion 使用应用内消息功能,需要配置pageEnterTo:和pageLeave:函数。 + */ ++ (void)pageLeave:(NSString *)pageName; + + +/*! +* @abstract 设置应用内消息的代理 +* +* @discussion 遵守JPUSHInAppMessageDelegate的代理对象 +* +*/ ++ (void)setInAppMessageDelegate:(id)inAppMessageDelegate; + + +///---------------------------------------------------- +/// @name Stats 统计功能 +///---------------------------------------------------- + +/*! + * @abstract 开始记录页面停留 + * + * @param pageName 页面名称 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)startLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 停止记录页面停留 + * + * @param pageName 页面 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)stopLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 直接上报在页面的停留时间 + * + * @param pageName 页面 + * @param seconds 停留的秒数 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)beginLogPageView:(NSString *)pageName duration:(int)seconds __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 开启Crash日志收集 + * + * @discussion 默认是关闭状态. + */ ++ (void)crashLogON; + +/*! + * @abstract 地理位置上报 + * + * @param latitude 纬度. + * @param longitude 经度. + * + */ ++ (void)setLatitude:(double)latitude longitude:(double)longitude; + +/*! + * @abstract 地理位置上报 + * + * @param location 直接传递 CLLocation * 型的地理信息 + * + * @discussion 需要链接 CoreLocation.framework 并且 #import + */ ++ (void)setLocation:(CLLocation *)location; + +/** + 设置地理围栏的最大个数 + 默认值为 10 ,iOS系统默认地理围栏最大个数为20 + @param count 个数 count + */ ++ (void)setGeofeneceMaxCount:(NSInteger)count; + +/** + 设置地理围栏'圈内'类型的检测周期 + 默认15分钟检测一次 + */ ++ (void)setGeofenecePeriodForInside:(NSInteger)seconds; + +/** + 注册地理围栏的代理 + + @param delegate 代理 + @param launchOptions app启动完成是收到的字段参数 + */ ++ (void)registerLbsGeofenceDelegate:(id)delegate withLaunchOptions:(nullable NSDictionary *)launchOptions; + +/** + 删除地理围栏 + + @param geofenceId 地理围栏id + */ ++ (void)removeGeofenceWithIdentifier:(NSString *)geofenceId; + +///---------------------------------------------------- +/// @name Local Notification 本地通知 +///---------------------------------------------------- +/*! + * @abstract 注册或更新推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param request JPushNotificationRequest类型,设置推送的属性,设置已有推送的request.requestIdentifier即更新已有的推送,否则为注册新推送,更新推送仅仅在iOS10以上有效,结果通过request.completionHandler返回 + * @discussion 旧的注册本地推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)addNotification:(JPushNotificationRequest *)request; + +/*! + * @abstract 移除推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上identifier设置为nil,则移除所有在通知中心显示推送和待推送请求,也可以通过设置identifier.delivered和identifier.identifiers来移除相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则移除相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier设置为nil,则移除所有推送,identifier.delivered属性无效,另外可以通过identifier.notificationObj传入特定推送对象来移除此推送。 + * @discussion 旧的所有删除推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)removeNotification:(nullable JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 查找推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上可以通过设置identifier.delivered和identifier.identifiers来查找相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则返回相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier.delivered属性无效,identifier.identifiers如果设置nil或空数组则返回所有未触发的推送。须要设置identifier.findCompletionHandler回调才能得到查找结果,通过(NSArray *results)返回相应对象数组。 + * @discussion 旧的查找推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)findNotification:(JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 本地推送,最多支持64个 + * + * @param fireDate 本地推送触发的时间 + * @param alertBody 本地推送需要显示的内容 + * @param badge 角标的数字。如果不需要改变角标传-1 + * @param alertAction 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动") + * @param notificationKey 本地推送标示符 + * @param userInfo 自定义参数,可以用来标识推送和增加附加信息 + * @param soundName 自定义通知声音,设置为nil为默认声音 + * + * @discussion 最多支持 64 个定义,此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 本地推送 (支持 iOS8 新参数) + * + * IOS8新参数 + * @param region 自定义参数 + * @param regionTriggersOnce 自定义参数 + * @param category 自定义参数 + * @discussion 此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName + region:(CLRegion *)region + regionTriggersOnce:(BOOL)regionTriggersOnce + category:(NSString *)category NS_AVAILABLE_IOS(8_0) __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 前台展示本地推送 + * + * @param notification 本地推送对象 + * @param notificationKey 需要前台显示的本地推送通知的标示符 + * + * @discussion 默认App在前台运行时不会进行弹窗,在程序接收通知调用此接口可实现指定的推送弹窗。--iOS10以下还可继续使用,iOS10以上在[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:]方法中调用completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);即可 + */ ++ (void)showLocalNotificationAtFront:(UILocalNotification *)notification + identifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); +/*! + * @abstract 删除本地推送定义 + * + * @param notificationKey 本地推送标示符 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotificationWithIdentifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 删除本地推送定义 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotification:(UILocalNotification *)localNotification __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 获取指定通知 + * + * @param notificationKey 本地推送标示符 + * @return 本地推送对象数组, [array count]为0时表示没找到 + * @discussion 此方法被[findNotification:]方法取代 + */ ++ (NSArray *)findLocalNotificationWithIdentifier:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 清除所有本地推送对象 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)clearAllLocalNotifications __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + + +///---------------------------------------------------- +/// @name Server badge 服务器端 badge 功能 +///---------------------------------------------------- + +/*! + * @abstract 设置角标(到服务器) + * + * @param value 新的值. 会覆盖服务器上保存的值(这个用户) + * + * @discussion 本接口不会改变应用本地的角标值. + * 本地仍须调用 UIApplication:setApplicationIconBadgeNumber 函数来设置脚标. + * + * 本接口用于配合 JPush 提供的服务器端角标功能. + * 该功能解决的问题是, 服务器端推送 APNs 时, 并不知道客户端原来已经存在的角标是多少, 指定一个固定的数字不太合理. + * + * JPush 服务器端脚标功能提供: + * + * - 通过本 API 把当前客户端(当前这个用户的) 的实际 badge 设置到服务器端保存起来; + * - 调用服务器端 API 发 APNs 时(通常这个调用是批量针对大量用户), + * 使用 "+1" 的语义, 来表达需要基于目标用户实际的 badge 值(保存的) +1 来下发通知时带上新的 badge 值; + */ ++ (BOOL)setBadge:(NSInteger)value; + +/*! + * @abstract 重置脚标(为0) + * + * @discussion 相当于 [setBadge:0] 的效果. + * 参考 [JPUSHService setBadge:] 说明来理解其作用. + */ ++ (void)resetBadge; + +///---------------------------------------------------- +/// @name Other Feature 其他功能 +///---------------------------------------------------- + +/*! + * @abstract 设置手机号码(到服务器) + * + * @param mobileNumber 手机号码. 会与用户信息一一对应。可为空,为空则清除号码 + * @param completion 响应回调。成功则error为空,失败则error带有错误码及错误信息 + * + * @discussion 设置手机号码后,可实现“推送不到短信到”的通知方式,提高推送达到率。结果信息通过completion异步返回,也可将completion设置为nil不处理结果信息。 + * + */ ++ (void)setMobileNumber:(NSString *)mobileNumber completion:(nullable void (^)(NSError *error))completion; + +///---------------------------------------------------- +/// @name Logs and others 日志与其他 +///---------------------------------------------------- + +/*! + * @abstract JPush标识此设备的 registrationID + * + * @discussion SDK注册成功后, 调用此接口获取到 registrationID 才能够获取到. + * + * JPush 支持根据 registrationID 来进行推送. + * 如果你需要此功能, 应该通过此接口获取到 registrationID 后, 上报到你自己的服务器端, 并保存下来. + * registrationIDCompletionHandler:是新增的获取registrationID的方法,需要在block中获取registrationID,resCode为返回码,模拟器调用此接口resCode返回1011,registrationID返回nil. + * 更多的理解请参考 JPush 的文档网站. + */ ++ (NSString *)registrationID; + ++ (void)registrationIDCompletionHandler:(void(^)(int resCode,NSString * _Nullable registrationID))completionHandler; + +/*! + * @abstract 打开日志级别到 Debug + * + * @discussion JMessage iOS 的日志系统参考 Android 设计了级别. + * 从低到高是: Verbose, Debug, Info, Warning, Error. + * 对日志级别的进一步理解, 请参考 Android 相关的说明. + * + * SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志. + * + * 请在SDK启动后调用本接口,调用本接口可打开日志级别为: Debug, 打印调试日志. + */ ++ (void)setDebugMode; + +/*! + * @abstract 关闭日志 + * + * @discussion 关于日志级别的说明, 参考 [JPUSHService setDebugMode] + * + * 虽说是关闭日志, 但还是会打印 Warning, Error 日志. 这二种日志级别, 在程序运行正常时, 不应有打印输出. + * + * 建议在发布的版本里, 调用此接口, 关闭掉日志打印. + */ ++ (void)setLogOFF; + +/*! + * @abstract 设置SDK地理位置权限开关 + * + * @discussion 关闭地理位置之后,SDK地理围栏的相关功能将受到影响,默认是开启。 + * + */ ++ (void)setLocationEanable:(BOOL)isEanble; + +/*! + * @abstract 设置PUSH开关 + * + * @discussion 关闭PUSH之后,将接收不到极光通知推送、自定义消息推送、liveActivity消息推送,默认是开启。 + * + */ ++ (void)setPushEnable:(BOOL)isEnable completion:(nullable void (^)(NSInteger iResCode))completion; + + +/*! +* @abstract 设置应用内提醒消息的代理 +* +* @discussion 遵守JPushNotiInMessageDelegate的代理对象 +* +*/ ++ (void)setNotiInMessageDelegate:(id)notiInMessageDelegate; + + + +///---------------------------------------------------- +///********************下列方法已过期******************** +///**************请使用新版tag/alias操作接口************** +///---------------------------------------------------- +/// @name Tag alias setting 设置别名与标签 +///---------------------------------------------------- + +/*! + * 下面的接口是可选的 + * 设置标签和(或)别名(若参数为nil,则忽略;若是空对象,则清空;详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + * setTags:alias:fetchCompletionHandle:是新的设置标签别名的方法,不再需要显示声明回调函数,只需要在block里面处理设置结果即可. + * WARN: 使用block时需要注意循环引用问题 + */ ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期"))); ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setTags:(NSSet *)tags + alias:(NSString *)alias +fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +aliasInbackground:(NSString *)alias __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setAlias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); + +@end + +@class UNUserNotificationCenter; +@class UNNotificationResponse; + +@protocol JPUSHRegisterDelegate + +/* + * @brief handle UserNotifications.framework [willPresentNotification:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 前台得到的的通知对象 + * @param completionHandler 该callback中的options 请使用UNNotificationPresentationOptions + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger options))completionHandler; +/* + * @brief handle UserNotifications.framework [didReceiveNotificationResponse:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param response 通知响应对象 + * @param completionHandler + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler; + +/* + * @brief handle UserNotifications.framework [openSettingsForNotification:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 当前管理的通知对象 + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification NS_AVAILABLE_IOS(12.0); + +/** + * 监测通知授权状态返回的结果 + * @param status 授权通知状态,详见JPAuthorizationStatus + * @param info 更多信息,预留参数 + */ +- (void)jpushNotificationAuthorization:(JPAuthorizationStatus)status withInfo:(nullable NSDictionary *)info; + +@end + +@protocol JPUSHGeofenceDelegate +/** + 触发地理围栏 + @param geofence 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceRegion:(nullable NSDictionary *)geofence + error:(nullable NSError *)error; + +/** + 拉取地理围栏列表的回调 + + @param geofenceList 地理围栏列表 + */ +- (void)jpushCallbackGeofenceReceived:(nullable NSArray *)geofenceList; + +/** + 进入地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didEnterRegion:(NSDictionary *_Nullable)userInfo error:(NSError *_Nullable)error __attribute__((deprecated("JPush 3.6.0 版本已过期"))); + +/** + 离开地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didExitRegion:(NSDictionary *_Nullable)userInfo error:(NSError *_Nullable)error __attribute__((deprecated("JPush 3.6.0 版本已过期"))); + +@end + + +@protocol JPUSHNotiInMessageDelegate + +/** + 应用内提醒消息展示的回调 + + @param content 应用内提醒消息的内容 + + */ +- (void)jPushNotiInMessageDidShowWithContent:(NSDictionary *)content; + +/** + 应用内提醒消息点击的回调 + + @param content 应用内提醒消息的内容 + + */ +- (void)jPushNotiInMessageDidClickWithContent:(NSDictionary *)content; + +@end + + +@protocol JPUSHInAppMessageDelegate + +/** + 应用内消息展示的回调 + + @param inAppMessage 应用内消息的内容 + + */ +- (void)jPushInAppMessageDidShow:(JPushInAppMessage *)inAppMessage; + +/** + 应用内消息点击的回调 + + @param inAppMessage 应用内消息的内容 + + */ +- (void)jPushInAppMessageDidClick:(JPushInAppMessage *)inAppMessage; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/libJPush.a b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/libJPush.a new file mode 100644 index 0000000..5afdf0e Binary files /dev/null and b/Pods/JPush/jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/libJPush.a differ diff --git a/Pods/Local Podspecs/DDProgressHUDKit_Private.podspec.json b/Pods/Local Podspecs/DDProgressHUDKit_Private.podspec.json new file mode 100644 index 0000000..717a580 --- /dev/null +++ b/Pods/Local Podspecs/DDProgressHUDKit_Private.podspec.json @@ -0,0 +1,43 @@ +{ + "name": "DDProgressHUDKit_Private", + "version": "0.1.1", + "summary": "A short description of DDProgressHUDKit_Private.", + "description": "TODO: Add long description of the pod here.", + "homepage": "https://github.com/DDIsFriend/DDProgressHUDKit_Private", + "license": { + "type": "MIT", + "file": "LICENSE" + }, + "authors": { + "DDIsFriend": "DDIsFriend@163.com" + }, + "source": { + "git": "git@github.com:DDIsFriend/DDProgressHUDKit_Private.git", + "tag": "0.1.1" + }, + "platforms": { + "ios": "11.0" + }, + "source_files": "DDProgressHUDKit_Private/Classes/**/*", + "dependencies": { + "DDCategoryKit_Private/UIImage+DDCategory": [ + + ], + "YYImage": [ + + ], + "SnapKit": [ + + ] + }, + "resource_bundles": { + "ProgressHud": [ + "DDProgressHUDKit_Private/Assets/**/*" + ] + }, + "pod_target_xcconfig": { + "VALID_ARCHS": "x86_64 armv7 arm64", + "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64", + "OTHER_LINKER_FLAGS": "$(inherited)" + } +} diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index e398ae6..b9674a5 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -10,6 +10,7 @@ PODS: - AMapTrack-NO-IDFA (1.4.2): - AMapFoundation-NO-IDFA (>= 1.6.4) - AMapLocation-NO-IDFA (>= 2.6.7) + - CocoaDebug (1.7.7) - DDAutoUIKit_Private (0.1.2) - DDBasicControlsKit_Private (0.3.1): - DDBasicControlsKit_Private/DDBaseAnimation (= 0.3.1) @@ -254,7 +255,10 @@ PODS: - Alamofire - DDLogKit_Private - RxSwift - - DDProgressHUDKit_Private (0.1.1) + - DDProgressHUDKit_Private (0.1.1): + - "DDCategoryKit_Private/UIImage+DDCategory" + - SnapKit + - YYImage - DDTimerKit_Private (0.1.0): - DDTimerKit_Private/GCDTimer (= 0.1.0) - DDTimerKit_Private/GCDTimer (0.1.0) @@ -272,6 +276,9 @@ PODS: - DDWebImageKit_Private/SDWebImage/Core - ESTabBarController-swift (2.8.0) - IQKeyboardManagerSwift (6.5.12) + - JCore (4.2.1) + - JPush (5.0.1): + - JCore (>= 2.0.0) - JXCategoryView (1.6.1) - MJRefresh (3.7.5) - RxCocoa (6.5.0): @@ -282,6 +289,9 @@ PODS: - RxSwift (6.5.0) - SnapKit (5.6.0) - SwiftEntryKit (2.0.0) + - YYImage (1.0.4): + - YYImage/Core (= 1.0.4) + - YYImage/Core (1.0.4) - ZFPlayer (4.0.5): - ZFPlayer/Core (= 4.0.5) - ZFPlayer/ControlView (4.0.5): @@ -294,6 +304,7 @@ PODS: - ZLPhotoBrowser/Core (4.4.3.2) DEPENDENCIES: + - CocoaDebug - DDAutoUIKit_Private - DDBasicControlsKit_Private - DDCategoryKit_Private @@ -302,12 +313,13 @@ DEPENDENCIES: - DDFontKit_Private - DDMAMapKit_Private - DDNetworkingOfAlamofireKit_Private - - DDProgressHUDKit_Private + - DDProgressHUDKit_Private (from `/Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private`) - DDTimerKit_Private - DDToastKit_Private - DDWebImageKit_Private - ESTabBarController-swift - IQKeyboardManagerSwift + - JPush - JXCategoryView - MJRefresh - RxCocoa @@ -331,7 +343,6 @@ SPEC REPOS: - DDLogKit_Private - DDMAMapKit_Private - DDNetworkingOfAlamofireKit_Private - - DDProgressHUDKit_Private - DDTimerKit_Private - DDToastKit_Private - DDWebImageKit_Private @@ -342,8 +353,11 @@ SPEC REPOS: - AMapNavi-NO-IDFA - AMapSearch-NO-IDFA - AMapTrack-NO-IDFA + - CocoaDebug - ESTabBarController-swift - IQKeyboardManagerSwift + - JCore + - JPush - JXCategoryView - MJRefresh - RxCocoa @@ -351,9 +365,12 @@ SPEC REPOS: - RxSwift - SnapKit - SwiftEntryKit + - YYImage - ZLPhotoBrowser EXTERNAL SOURCES: + DDProgressHUDKit_Private: + :path: "/Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private" ZFPlayer: :path: "/Users/zd/Downloads/iOS相关/ZFPlayer-master" @@ -364,6 +381,7 @@ SPEC CHECKSUMS: AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6 AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918 AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e + CocoaDebug: b38d31464b91a9775928f8667d114db07b136565 DDAutoUIKit_Private: 4d031662fdd86c46b1dc4b88271f2303661225fd DDBasicControlsKit_Private: 04e64a24551a24e76555835fc14002415db80f94 DDCategoryKit_Private: db12e3f6923e2309dd1894fc36c967d6bce94605 @@ -373,12 +391,14 @@ SPEC CHECKSUMS: DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0 DDMAMapKit_Private: 8e70d3f58cb70ce30705a2f10d696e42878ce52d DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea - DDProgressHUDKit_Private: 2046b3cc10a6fe4c7bd454b7431fe80efdd58923 + DDProgressHUDKit_Private: 2523d52ac5566bfde304456abfe2aac3cbf75c59 DDTimerKit_Private: 3713d029a72710f42a5dd5a32083d6aad8f51eb0 DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256 DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76 ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136 IQKeyboardManagerSwift: 371b08cb39664fb56030f5345c815a4ffc74bbc0 + JCore: d994e32edb50add8a33135473acca799d882c5fa + JPush: bf8d6011eb80c776aa40a0c4f5c25fd10335af9c JXCategoryView: 7b1ee69ede4843c581688afe84d0f047723262f2 MJRefresh: fdf5e979eb406a0341468932d1dfc8b7f9fce961 RxCocoa: 94f817b71c07517321eb4f9ad299112ca8af743b @@ -386,9 +406,10 @@ SPEC CHECKSUMS: RxSwift: 5710a9e6b17f3c3d6e40d6e559b9fa1e813b2ef8 SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 SwiftEntryKit: 61b5fa36f34a97dd8013e48a7345bc4c4720be9a + YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 ZFPlayer: ba6410f1043fc8a3b7769749f860cf237016df09 ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b -PODFILE CHECKSUM: 35f200a29520ee2712b22639b1f230ab047e1457 +PODFILE CHECKSUM: bcbd7bb02cdf74bee6af46549ebabe072e53ecf7 COCOAPODS: 1.11.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index a7d81a1..da83149 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -13,8 +13,8 @@ buildPhases = ( ); dependencies = ( - F4AEEC07C28DA710528368A2C7AB8F9F /* PBXTargetDependency */, - 2CFCA00C3067210F125FBEDC0772E6C4 /* PBXTargetDependency */, + 4086C9F73A81626458FBB6AEE2FBE637 /* PBXTargetDependency */, + E4AD264747CC431E6168C66223685E7E /* PBXTargetDependency */, ); name = "AMapTrack-NO-IDFA"; }; @@ -24,7 +24,7 @@ buildPhases = ( ); dependencies = ( - 5FEAB20F8063493821D4E4BE5FD7D64E /* PBXTargetDependency */, + 9329F65FD2158A562B0A586940E4E19C /* PBXTargetDependency */, ); name = "AMapLocation-NO-IDFA"; }; @@ -34,10 +34,21 @@ buildPhases = ( ); dependencies = ( - CE66320A3ED83A785B5DB640AB1C8C37 /* PBXTargetDependency */, + 74E126F479F4C4474E5F6DBA7A843E94 /* PBXTargetDependency */, ); name = "AMapSearch-NO-IDFA"; }; + 5FB6AB0A09E7A2F2BE11AD6BAEFD9AED /* JPush */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 5ECD22263502AD53B06AF92E0353C0B7 /* Build configuration list for PBXAggregateTarget "JPush" */; + buildPhases = ( + D73EEB9F3069F731FAED740B7B5491BD /* [CP] Copy XCFrameworks */, + ); + dependencies = ( + 65AF176657AC2F6885B82ED09ACB509C /* PBXTargetDependency */, + ); + name = JPush; + }; 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */ = { isa = PBXAggregateTarget; buildConfigurationList = EDE179AD87A4BAE3C76CF5F64CD588AA /* Build configuration list for PBXAggregateTarget "AMapFoundation-NO-IDFA" */; @@ -47,2810 +58,3306 @@ ); name = "AMapFoundation-NO-IDFA"; }; + D504B99928659EA67A1C3A9E981EB8FF /* JCore */ = { + isa = PBXAggregateTarget; + buildConfigurationList = AD9CF0130E1F5EB7FF3CA5FA18DECE5F /* Build configuration list for PBXAggregateTarget "JCore" */; + buildPhases = ( + A74A577E80398ADFAEE6AC689315B07B /* [CP] Copy XCFrameworks */, + ); + dependencies = ( + ); + name = JCore; + }; E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */ = { isa = PBXAggregateTarget; buildConfigurationList = 6DA0FBA150627BA01E3E27C034DF4573 /* Build configuration list for PBXAggregateTarget "AMapNavi-NO-IDFA" */; buildPhases = ( ); dependencies = ( - A214683C824FCF787F5892E5AFCC4C46 /* PBXTargetDependency */, + EE29F68B336864FC68E03540D93D2FF3 /* PBXTargetDependency */, ); name = "AMapNavi-NO-IDFA"; }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 000018292532BCB591F7DFD95BD047E3 /* ZFFloatView.m in Sources */ = {isa = PBXBuildFile; fileRef = 53F7F7AB35EC8BFE034F730B003CA459 /* ZFFloatView.m */; }; - 001D1616C8940B8F237BAF4B3842CCF7 /* EKFormMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D9687C419B03846899E64FB9770E01E /* EKFormMessageView.swift */; }; - 0028AB23BD985EFD09ECA44A848AA90E /* EntryCachingHeuristic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8640D7EB45FCDF96BABAD093783B1878 /* EntryCachingHeuristic.swift */; }; - 0184836F68D559B44CF2305521C97B44 /* ZLTextStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6848716C370DF05851B5A601EDF8F1 /* ZLTextStickerView.swift */; }; - 0195B164DD9FA0DAA663F438EB8B0CA5 /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = D840E5834002FF5D7F31A65EA3DF14B3 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 01B1F679DB9C17B48EF0AEDA9DB1F6BC /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 315B39C073CAA6A425972C95E18E3C61 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 01E07D16FE7B8B5B61135434E43C3D3D /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 96F8530AF1A4CE4F14FB5BAB19C36369 /* SDWebImageCacheSerializer.m */; }; - 03AA89ABF65B2733EE984C0463E68546 /* ZFLandScapeControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = D0DD762BCFA4928914EFC99817077EC2 /* ZFLandScapeControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03F9201B022B6B8F4AECD14F7359FC32 /* ZLEnlargeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F50D16D806F61359147DC51BBC05EA3 /* ZLEnlargeButton.swift */; }; - 041C0B9F468DAB0FAAB76072B1F8281D /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA7C75F524799E96E906996C0CBF0E59 /* InfiniteSequence.swift */; }; - 04AE3CA3907CB4BC8B56B0CA13EB1203 /* DDWebImageKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D647536CAF6559787DFBE7388D30812 /* DDWebImageKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05AA761B3AEA607E904EFA7843437904 /* SDDeviceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = EC647B90CD6DE2CD31EFF74FAB6CBE8C /* SDDeviceHelper.m */; }; - 05BABBCAC0970F62A2945DF891C9DC9B /* ZLFetchImageOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B963F2D9036B685C58BA3B1C6BE5C43E /* ZLFetchImageOperation.swift */; }; - 05C2B58E151D34C34A250F7EBA718312 /* DDBaseButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 25E13C3EEFE446F4D5C60A9EDE560D57 /* DDBaseButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05D26D0469B15DF8F6AFB05EF8B22712 /* SDDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 544042E3DCBE5ED3D22D13E2865E761D /* SDDisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0622549C8F1CEEBFD98D48429B694770 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5722603773923F40AC88EE045FF00EAE /* ConstraintViewDSL.swift */; }; - 0627923D9D4E389A438542032987B77C /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = C9A4CFFEBF70754AA78C0EDC86BA84F4 /* SDWebImageDownloaderOperation.m */; }; - 06334A72423FA0F14828C90CA5B9B4A3 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67601A73F02EA2E8C5E06F248C60A20 /* ConstraintMultiplierTarget.swift */; }; - 064E3CA7E9E8B0FD689A44C694C0EA28 /* DDBaseTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = B9C3C9AB2B02E8A596AAE0DD34239125 /* DDBaseTextView.m */; }; - 075F0F890CBEB8B7E4233DBD00FE3280 /* UITextField+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = E1F129383AB15E9BBA4DBBCF29CA683B /* UITextField+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 075F7EF0396FFF6A88E97028D611822F /* MAPointAnnotation+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 5765507A19EFB05632E1A9F99AD581A0 /* MAPointAnnotation+DDCategory.m */; }; - 07842AE9C200E3450448D4CE5EC90B20 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20D1C02F57769A322F11D9AD1363424A /* KVORepresentable+CoreGraphics.swift */; }; - 07B5EB42C28C3BD1A0DD968E247B4C66 /* UIImageView+ZFCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F50475A4033EF3E9DCA18AE00A8300F3 /* UIImageView+ZFCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07C75CEEEBD4FAD75B68045458EC4A87 /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E446B9633C1F1437CB7D0E71FE366FE /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07E392F599611967F673A8BD40BAC44B /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44C65585B3723DAE2F092C843998FAF /* RxCollectionViewDataSourceType.swift */; }; - 07F352E4C1784215C5BACAE2069CE632 /* ZFPlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 69BC25304A9853A7B03ED8E48E32EB77 /* ZFPlayerController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07FB2928E22C59D69AEC76F3C4E108F6 /* PHAsset+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0742A09FF76AB5FA37ACEFCF54F601F4 /* PHAsset+ZLPhotoBrowser.swift */; }; - 08323A8552D869E49AD7E77ADD8CB62A /* DDImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38DEB0B043750586E18ADC9024266F10 /* DDImage.swift */; }; - 08419465E72B314FF49B4209ACDE8641 /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3737BD9BE217628AAFABB32EB97129 /* AtomicInt.swift */; }; - 08716982315B3A7E7683D5D9F69A2207 /* ZFReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BDE9FBD8BCEBE5C945C8F09730FE9072 /* ZFReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0872AD4C6D18972B6940A886F04C7476 /* DDControlsKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8337ED7199242369BE499CE1095D04E1 /* DDControlsKit_Private-dummy.m */; }; - 088325CC1469DFE80A063787278F37D9 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BDC9E26F11F599D8EB229E1B149FA82 /* InvocableType.swift */; }; - 0896B76AEBD6BF7C94932BDFE8354462 /* EKAttributes+DisplayMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDCB81702EAE525FF8DE7BDF5629BE00 /* EKAttributes+DisplayMode.swift */; }; - 089C3D3E873750F2D4BAED4D399FD9CF /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE3030C89C892A5956B746606ACDE67A /* Typealiases.swift */; }; - 08C4C48B5491DF1A9649D553D51AFDBC /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14079FBB082AEA0F36EF0AABC54FC20C /* NSObject+Rx+RawRepresentable.swift */; }; - 08F14B504BD90DD29DD65EEB5B6F862E /* UIFont+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78A5D9E4E3522499EF576035BF8644E8 /* UIFont+ZLPhotoBrowser.swift */; }; - 090E7514095D254262AAFDB556B2A092 /* SDFileAttributeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 356FACAC7B5F24F8514CA5DC7EB5A21E /* SDFileAttributeHelper.m */; }; - 094C2F4D9A6B9F76E5FF3F0006E437FC /* MJRefreshBackFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 124B8F2436BBB0C0AD7ED128EFD133DE /* MJRefreshBackFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 09B84A8323A9DF6D0A755F59CB54ADAB /* ZFPlayerGestureControl.m in Sources */ = {isa = PBXBuildFile; fileRef = A1711E90128068125A8C2B8F49751963 /* ZFPlayerGestureControl.m */; }; - 09F9F981334170713980DDF8809DB8D5 /* IQToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBAFBD781175E6C6398E0A44BE1F8B6D /* IQToolbar.swift */; }; - 09FDD7513B55D9A1F614BFEA21B37C45 /* JXCategoryImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 39B7431B7EF76FF0CE3887FCF17FD0B9 /* JXCategoryImageCell.m */; }; - 0A4A0321589784DB84A09558896BA148 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97FAC41216A15D7AD5D0C02514B8CA51 /* UILayoutSupport+Extensions.swift */; }; - 0B2A49C518D479849E68C0E188E9C6C5 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBBDD455178253285C1140F16938E2E8 /* AsSingle.swift */; }; - 0B3CB8B0F6A00EC008C0DF3CC323DD2D /* JXCategoryTitleCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A8C69FB90EE16E87E8806C322221EB /* JXCategoryTitleCellModel.m */; }; - 0B71B7A7EDC041A6A0BB7C127F9DC547 /* MJRefreshAutoGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BB5BB6118935C6D43A74C150F4350DE /* MJRefreshAutoGifFooter.m */; }; - 0B94E75FF2747C7288F1C62CFA5849D8 /* UIApplication+EKAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB233660682AF6860E76856471E5FB06 /* UIApplication+EKAppearance.swift */; }; - 0BE239C83EB39393C2217E5B2FF6B218 /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E730CD4494C3277AB8D25A51F6AC13FA /* SDAsyncBlockOperation.m */; }; - 0BE77299ADD3781F19DE8E8B6CD2C9F6 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24403712A5AB50CB9F317E4EB3B3BC89 /* PrimitiveSequence+Zip+arity.swift */; }; - 0C0D931655251C8565D2D26F6C786DD8 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A69A54D1197E7E6753BF749DA7D76E /* Platform.Linux.swift */; }; - 0C21914CAD223DB4EAB1015C4EB49BA5 /* UIImage+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C360458B9FCEAD5C1E961F63B6020C7C /* UIImage+ZLPhotoBrowser.swift */; }; - 0C8D70EE9C8FC7ECA49DCC35616D8A27 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F590CF1C5A6E49555234D4348AB6BA7 /* CompositeDisposable.swift */; }; - 0CC0D44E320A1730EFDDDCF7F06F46B8 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C26ECC2EAF058C1B394CFB72C92711 /* TailRecursiveSink.swift */; }; - 0CDBF40935FFCB10BFC284D33F7C5327 /* ZFSmallFloatControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 00CCA1156397CACC6B95796D41857CD9 /* ZFSmallFloatControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0DABF94CD1F51D2C9CE647F2208CBDD3 /* DDMASearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 655AB7FF6E44FB57461847F841BC5C8B /* DDMASearch.m */; }; - 0E0AA48C27E14A2A00DEA492873A599C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C8B21CD64E13F85AE4FDAF7C5C22535A /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E2DB7F0238399F871D828D7969754B1 /* EKRatingSymbolsContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77557C199EB3DF9A2B4F5C1D3C46E8BC /* EKRatingSymbolsContainerView.swift */; }; - 0E5283814E76BCC2EB0396EA6C818BAF /* Pods-OrderScheduling-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D85B8BF3698115B7F620042AE16B7874 /* Pods-OrderScheduling-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E56518E9F1C83990C68DB5F3473FA31 /* JXCategoryViewAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2912F2AD4810AF34402597A8AD3BBE52 /* JXCategoryViewAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0ECDD6D798948C3B247B306E22DF38B0 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79B8181D6BCDAB95A21B487E3C4FE3C5 /* Completable.swift */; }; - 0EDEDF4CA9DA8A5FEDFB15A7666D0A3C /* ZFPersentInteractiveTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = D1971CD9E21A78FEEF1B2019149A52E0 /* ZFPersentInteractiveTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F0C901337398FE4738DE95521DCEB56 /* JXCategoryImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 53B187DD06A307C5E93833AF12678D27 /* JXCategoryImageCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F3D0046C86EE9D561A825514D92565C /* UIColor+SDHexString.h in Headers */ = {isa = PBXBuildFile; fileRef = BDE74B6BBFDF53D1347232504DE7E367 /* UIColor+SDHexString.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F920FC3CBA6622C2B007441D6D1126D /* JXCategoryBaseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8927D86058320768A614A5562A2D2FB2 /* JXCategoryBaseCell.m */; }; - 10345D3B19E401C3F2822074041C0558 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F3E093732F9246792C0B6E687DD9D44 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 104C35DFFA5A1426FF8EFF6E63793213 /* JXCategoryNumberView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A72604213B03111C26B3A09CC5CE966 /* JXCategoryNumberView.m */; }; - 104EA22965200BF741890B104BF71879 /* DDTimerObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8AA99CAFA66EB05ADEE591537B032D /* DDTimerObject.m */; }; - 10DE5D64EDD01A2176294CC87737263E /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 088841D1E528D26990F79FB5C516AB57 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 110FF9ECABC7F20FEEC801793B897C94 /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F204E8DBFD0829BEA425A4B9098F9E0 /* RxPickerViewDelegateProxy.swift */; }; - 1128E2E73320605A26D05E7B01D3BD83 /* ZLAddPhotoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9F65D22857107DA6C30CFA83DEDBD16 /* ZLAddPhotoCell.swift */; }; - 116108DF1851A434DF1F782097754214 /* DDBaseTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = D34BB394EE803B4EFA3893617A33E8C8 /* DDBaseTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 116EC39A4E2AFB5052BB614D3C3886E7 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD674BF667C0E4B0D4D47580E28C8015 /* Event.swift */; }; - 11B7F9E7CEBF84F7DFF2C86A84D0DAF7 /* UICollectionView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 50155224DA38B46CA193134BCB257A49 /* UICollectionView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 134E12624CB4A231F06269C702E15835 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BC297E8E71331FFCC4C4B1B6A49729F /* Observable.swift */; }; - 13B3D8E84FAE23982F42AEAAE60A5EE0 /* UITextField+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C5B75F7D37B8D46A010288A3C3458DE /* UITextField+DDCategory.m */; }; - 1486E0592B40F546E20EB778F7718220 /* ZFOrientationObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E86E34E8835F13A9AC605275B4D705D /* ZFOrientationObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1487581E75DA119B0C81AB18B67F01DD /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C361B8A805D198E77C68F1CB6A9565D /* Timer.swift */; }; - 14BC856075DA12C985773806DA200B51 /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BB6A78FA3CA57E72A16D49037211694 /* UIScrollView+Rx.swift */; }; - 14F6030416457FACA2FE0FDE3D62BAE8 /* UINavigationController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BCE17C41A390A1A354DB860A8654FAE /* UINavigationController+DDCategory.m */; }; - 1511F0539EE313BF002EB0A462E30B65 /* QLCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049BB5D10534634952758F357C557B39 /* QLCompatibility.swift */; }; - 1561BF831B4EC3E3E879298DA74BD7F9 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 839D63C13C29D11E2F4CF2FA79B7C9AF /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 159496B27D352A38E9ACDE8A3DFAFE1F /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = F72DDCCD14BC901481CCAB57B43D784E /* PublishRelay+Signal.swift */; }; - 15D653A7E1AE2E452BB8CE50ECF09C9A /* DDAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F81E824DDC9651C992EAB2C3D61F3BC7 /* DDAlamofire.swift */; }; - 160B9AE178AB2DD44C98F37D2FC148EE /* ZFLandscapeViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3807C6FEBE7FFE10B504C8EE5EB0A37B /* ZFLandscapeViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 16112EEC023D1B530FECA29B613D07E0 /* DDOCLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 62AC6FC10F28F035D5A5C26EAAEDF26B /* DDOCLog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 16D50EE57DE6B9D65DF48B7D736BD626 /* UITextView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = AC69D4F61B89850BCFF0C31C1781888F /* UITextView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1719ADC81CA7D3C14E267ACBDBD7D16F /* JXCategoryNumberView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FFAA5EC3AB76FDB0DB14DDCDE1EC8F8 /* JXCategoryNumberView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17EB4DC815A2337C2344E7BBBC8D461F /* DDMutableAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5B14834441D138736577878040354FB /* DDMutableAttributedString.swift */; }; - 1852BF48A0664A571D3474A1421403E2 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDF31BEF1E0A59F38D8401940AF402FC /* SessionDelegate.swift */; }; - 18A97E86B886DAA53D8D79BB9AFD0E95 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 11657515EFDEE12F81F4B21EF2614B2E /* SDImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1951974553555FDD604E274748E45DD8 /* JXCategoryViewDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = F4F2ACE58A0E8F8EA045D1E4F2249FF1 /* JXCategoryViewDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19852C32598DF9170B3E4DEF382C3532 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 393126E20D6C9DD39A1E8C7B465B8C41 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19B8B3C0A7F50B29EAF2131411776D8A /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4293DAC3DE80A9D4A1CD783916B41DC /* Throttle.swift */; }; - 1A27EABDB2399A0ECC0F9259AE5A6065 /* MAPointAnnotation+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = ACC46CA284F43B04464EC0C31CAF25B9 /* MAPointAnnotation+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A47EBBCEC8DDE7E8EA1C71FEC2BE256 /* EKEntryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D33591D62AB244E9E0ADF969AFCC384 /* EKEntryView.swift */; }; - 1AD438429DD404040E78321648906FEB /* EKXStatusBarMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C27C6EE509E6F2B2333242F5AEF03E7 /* EKXStatusBarMessageView.swift */; }; - 1B17B814E1DCFC165E3F3DFE251ED3EC /* NSThread+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = E1D479A5AFC217595BD95682A2214CCE /* NSThread+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B1F0477E626D72E108F4E670DB7ED7C /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AFBB287432EE07870BD518798194174 /* SDWebImageTransition.m */; }; - 1B37B0C328E91D2AEC8417D8ED33E5A6 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C621C26F9638312ED4E639142BE383FA /* ScheduledItemType.swift */; }; - 1B641CAE5F13D776CBF39C4BEF9A70CC /* DDMANaviManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B471269D354A80FFCDFEAE4BC9CD92BC /* DDMANaviManager.m */; }; - 1B8EAE8BA25B592D86F134E511AD8BEF /* ZFKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B858E531AE6AE607619785C35746CD /* ZFKVOController.m */; }; - 1B9B8CB7EFF73C7A513D79EE43AEDED8 /* EKAttributes+BackgroundStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50716B9CB0FF04147D96C5C2FCBB59E6 /* EKAttributes+BackgroundStyle.swift */; }; - 1BE94E6045C39A801177EFCA0C3366CD /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABC71BC4AF6B30F4B08640F5D54C2855 /* SharedSequence+Operators+arity.swift */; }; - 1BF05039300C9F7EF2BC12788F1E6E33 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A587E2BFF90A250B19A4B4A6850DBD /* Scan.swift */; }; - 1C12A12F74638CE7B973AD497819A90F /* DDBaseTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = C617AD7CE439F65A7C5F58494BB5AC85 /* DDBaseTextField.m */; }; - 1C5F07B42EB43C301039536EDF55A7C8 /* DDMAMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 21D2CEAF8CF027C5BBAB3E891B1C1540 /* DDMAMapView.m */; }; - 1C8E6F4C2966C17FFDE1E393D2B2C52B /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CF080BC8B714F1AA3CF8D82370E13DFF /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CCB09733AEF482DDDF945ED7AFF871A /* ZFPlayerConst.h in Headers */ = {isa = PBXBuildFile; fileRef = C8C9A8FE32578BEC724D938BDCA55164 /* ZFPlayerConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CF914EE045065FC260282EACEB39A47 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = F30558338CD7A0BE16C2AE1871F22132 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D029DD0697E9DA5079F55DEE0C53D99 /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A4DF653BE2DF009743DF04E86F057AA2 /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D2CC767C27E09B7B3F5BA85A610D8CF /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D7F28B14988C5F94C04C7B51D0FE6B /* Cancelable.swift */; }; - 1D872C7E6CFFB616D9C2AE9A818CE105 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = AC6ABAB14579C0D4ADC5228470A170CD /* SDImageCacheConfig.m */; }; - 1DDD4B9BB2F771F4C8E14035972B95E0 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC98EB90DD6B5DD9F1BF265AA9B796C /* SynchronizedOnType.swift */; }; - 1E294C2D1457C305F2A8FC187C7CD7CE /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535B5FA00524A8D33FF056E2959E60DA /* Bag.swift */; }; - 1E6F507B7333AC0C2EF6B6308DD6292F /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 8014D5D304D99221B496DD34F80D230C /* SDWebImageCompat.m */; }; - 1EC020C895DBB3F41B8F38DC6B184DE2 /* SDGraphicsImageRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 643DF71A7E5871FC0C5809F2D6040241 /* SDGraphicsImageRenderer.m */; }; - 1FD4AB6350F7EFF4A0EE30D63EEDC575 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40AAC458A5DF678D006FD42DB1C7764A /* DisposeBag.swift */; }; - 203BB41711BFC940698557A5C2C2E4A7 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993B88C17EA39942EAF00D7DC1E7C038 /* ConstraintRelation.swift */; }; - 20624FD8D76D790F3E133497F0AB1815 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D0FE43A137D54060C4C59A9EA5AC65 /* TextInput.swift */; }; - 208C28BB20B74966180E09F143D05703 /* JXCategoryIndicatorLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = C7671CB315740AB79C657A5BBC061A40 /* JXCategoryIndicatorLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 20ED52A1672248DC7499F63F1D955326 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6FBC36BA6786187B2BF39273E4BD5C /* DistinctUntilChanged.swift */; }; - 21051F832E0E05F72A54AA91918B7854 /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C41ED0BB3D1C1CE92C96C281FF2B318 /* WithUnretained.swift */; }; - 21512C78C6B356E2C228D9BFC7481794 /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E26E70BCBF1109FB105618F23DD6BB6 /* IQTextView.swift */; }; - 218CD2971995C4270CE6C0FD6F7FD1D3 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1ADBE6DAED45D78118E49ACD4A099FC /* MultipartFormData.swift */; }; - 21A5C66F9EB0660DB7CCC1A75C5B1C50 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D502CA91F7DC91196D935D4D2D52D299 /* ConstraintInsetTarget.swift */; }; - 21BBCC480DCFFDA1A130CB3F1A89D5B0 /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A06B54A8457BDFAD948FE9A9045DC7D /* NSTextView+Rx.swift */; }; - 21F929B03EE5D3B72423B006AA51C78B /* DDBaseTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F999017AB61D034CC309E0366A428DF /* DDBaseTableView.m */; }; - 221A1EFA0518311976C4159DE2D719B8 /* EKWindowProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 903D9CDB7ED4DB9B376A88D2220F6EAC /* EKWindowProvider.swift */; }; - 22771FA1A3DDDEB53D064548BD45044F /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72F7F1963252E7C08B2C13F75EB0C4A1 /* Errors.swift */; }; - 229E22D4F27CBAFEDBD0ABD9C3C7AB8E /* UIViewController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = A8713D7E2B7B61CCBF4FB794340D2F13 /* UIViewController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 229EE323EFAB055C0AA55D37FCBC6A35 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10B02284E899C4E67DF3620B6136ECA2 /* DelaySubscription.swift */; }; - 22B2893540824DE4EAE73613630EEB7D /* EKRatingMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD00D29F12D980A3434AAA80BEF36D96 /* EKRatingMessage.swift */; }; - 22F708E957D1B5F9A5503FB63443DBCB /* UIColor+JXAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = F7077D80B6034CBC5A3CA926DCC3E799 /* UIColor+JXAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2379FED69B13031DD79751610087BB4A /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 567EAFB0A2437DAA61EB2930754AC866 /* InvocableScheduledItem.swift */; }; - 23C78C71A6FC138C8BCCB2DBCF07AE1B /* ZFPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA9D9F7B79109B3F127640D90AAF62B /* ZFPlayer-dummy.m */; }; - 23FAE3A4BDAD8268A45B1E0C39B158FC /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37B388A14BCD2F2D6914B57584ED1AC5 /* AsyncSubject.swift */; }; - 241267D3FC2E3F0CC7D5792AE2ADA8DD /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173D8B7976EEE82B73489608D4ECD938 /* Maybe.swift */; }; - 2446E15C2691076AE02AE7FB84E124BF /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 9854ADF8FEC2614C5F8273A696EAF7FA /* UIView+MJExtension.m */; }; - 244756812F4CB3B8B1D098225558268D /* DDView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 658D7971D018584C37E370513D3C8DB9 /* DDView.swift */; }; - 24CB04FF8F5A845609FBEA4C39D417D7 /* Array+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3470646136BC8BA56DEB5445F07DEE77 /* Array+ZLPhotoBrowser.swift */; }; - 2507014A26449C348CEC857B89FEE333 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5802F48A25FCB5A75DBCB1C4AA922F /* MJRefreshComponent.m */; }; - 250C4793B89B833F5D00A798F3722E5D /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F86DEF77DE08B1B8D64F3B9B2F81A745 /* RxSwift-dummy.m */; }; - 25367CA720FADB9E539AEE26697C07DB /* SDWebImageMapKit.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD388ECFBA70058193504DC32919672 /* SDWebImageMapKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 253CA347D625742BC0BA71F2E8B84278 /* DDBasicControlsKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3923BB5E36EC5C07DD3877E6F1939E /* DDBasicControlsKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 255D6DCAC2BD25E3D42581EA3D13373C /* ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E62954B5176FBEB5F64B748589079EE /* ZLPhotoBrowser.swift */; }; - 2594B81E012C40CF7C0996C3ECB30BAA /* MJRefreshNormalTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DAC19BC76A2A9E920FF049E5A75E2FE /* MJRefreshNormalTrailer.m */; }; - 25B9D312046078B515E9DE443B24ED35 /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70AC6387273B76F2447DA736EF05CE80 /* ServerTrustEvaluation.swift */; }; - 25CEE593E4ED0317A5BB9456436B0C67 /* EKButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D67B030548BC7A4FFBC4DB476395BC7 /* EKButtonView.swift */; }; - 25E2AF9118219BAB98BF0CD2F9D061CE /* DDProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CE60E12C0A9D0C204A6C13325B8DC39 /* DDProgressHUD.swift */; }; - 2643D625F432B05AAB245DAA5820F24C /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779F3A97073B497A65E751F00B699E6D /* Sequence.swift */; }; - 265FB60F6AB34B4FAFEFF416DA1F1F10 /* JXCategoryBaseCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F12B4F49F6C86C604E888D6F2E420E /* JXCategoryBaseCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2782178F820A14ECFAD608CF648BB26D /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E0157BD9804628CE27EC39DBAE623DF /* MJRefreshBackStateFooter.m */; }; - 27ADC2222714C29A0504BF7A6C1EE24D /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = CEB3538B65BEF242E7739D7C974EA62B /* SDImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 27C3CEF5A8C7BFB8275195F1380473CB /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87C35924A4EAB7B77383AE1BD363BDC7 /* UIApplication+Rx.swift */; }; - 27EDA91CC20195D694592CA50256BE67 /* EKAttributes+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 532465459BEE78E683CEF713BFA81415 /* EKAttributes+Position.swift */; }; - 2942F6AF76036094C48C5ADB32FE638B /* UIImageView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 130CED3B5857845A0F124D6F010F12BB /* UIImageView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A1CD08ADFFF90E753887549FE5426F5 /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 38EF432FE02378DD4289660DBA7C9EA4 /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2ADDEBCF302EE4644785955546FA0137 /* SDAssociatedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = CF6C85EA9F2E676E834578471FE46D9D /* SDAssociatedObject.m */; }; - 2B3EF5A06A1D104954F53234E8E0A873 /* JXCategoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = E46E183DB54302AA4E88F0424C621044 /* JXCategoryView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B4330E64369C3A829763C8924267005 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190378F400F36DAF67780AF67295E127 /* Deferred.swift */; }; - 2B5E99EE5EAD3704C933CEDD02D032DC /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB4E03CDA35D59A2CC8E483040A00E1F /* ConstraintLayoutSupport.swift */; }; - 2B839970ABBA6A8126A4793904C22C7B /* JXCategoryBaseCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B0E5F4256C81CCC180E52DAFEEC1BA6 /* JXCategoryBaseCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B91ADD3BBBFE7B74F53F4B4A59FA42A /* JXCategoryIndicatorImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 07386DE4DD5A4F79DA7930232866C82A /* JXCategoryIndicatorImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BD424446AB4BD2CE2BBA6B0ABC6FE96 /* DDNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E07E5EA3A22530E5FF4827AB31FF1388 /* DDNavigationController.swift */; }; - 2BE2B20F3E2B12381174FA11A0DE3644 /* ZFPortraitViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3ECD4F7AA4F16AAE4A1C9C185C0122 /* ZFPortraitViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BFE52F6E917ED3CE9A1057BCE39194E /* SwiftEntryKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D187095D15A35DAEB7BB6B89C1140F1 /* SwiftEntryKit.swift */; }; - 2C089711506854D42BA24F1C584DD660 /* ZLProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66AA1EB09594CB6D39637156E85AE376 /* ZLProgressView.swift */; }; - 2C74EC11B77042707C02D50D7397E771 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6945884E4439E18DE0C62B1DA2DCE8D /* RxCollectionViewDataSourceProxy.swift */; }; - 2C8CD89280A61E74F752C1B6D05BAE1B /* EKWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5E878503CF9093906C0EA0502070CF /* EKWrapperView.swift */; }; - 2C95F29F15F88E5D3BBC4BBF7A46114E /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF3AD1C4A2BCD31EE459373C4F300B4 /* Zip+Collection.swift */; }; - 2C96986F46DE40BC67A31891B540F314 /* ZLPhotoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2DDE6CC79F0085CD04BEEF2DCCFC9A4 /* ZLPhotoModel.swift */; }; - 2CBA99FEFAA12064682FC0DE2D2131A2 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A1AEC1E660AF085ABEBF2AAD768816C /* UIImageView+HighlightedWebCache.m */; }; - 2CBAD2261C2EE1772387DBE73BFE8081 /* SDWebImageDownloaderDecryptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E72BCF4378429B72E9D07935C03E46 /* SDWebImageDownloaderDecryptor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2CC32091848E70728F4BDA4FAF1C94F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F277C340A7A006E94FF23EE5D81E3F0 /* Alamofire.swift */; }; - 2D1045B2AA5083A9831A4BD3947FB759 /* ZFPlayerMediaPlayback.h in Headers */ = {isa = PBXBuildFile; fileRef = 3638708737B9B113A86B5B125252EDEA /* ZFPlayerMediaPlayback.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2D4388848D5C25AEF75B0B3C11DB10E3 /* DDBaseMutableAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = F2A3757E11798233F632E32FFD550392 /* DDBaseMutableAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2DBC013576400933CF98FA9EE617D652 /* UIScrollView+ZFPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 23497B67ACDC31BA3F0598347B9399BF /* UIScrollView+ZFPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2EE34B944526B0F180CB0A315435AA71 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50B9A36BEB291CF2AFC1CB63C7443DD /* ConstraintRelatableTarget.swift */; }; - 2F1B528CD4A6EBB69568E001A3E15E22 /* DDFontKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 30CE98C5D6023BE278175EF15E59EF33 /* DDFontKit_Private-dummy.m */; }; - 2F25B524BAE7F4A1010E66073952431F /* ZLAnimationUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7546BE56E3F369444941CDB3F9F6E1F /* ZLAnimationUtils.swift */; }; - 2F3E427ECAF72BA96507CD5A9CDE6B51 /* UITableViewCell+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = E29CBC9A74C4F1060E2B086ACDD82109 /* UITableViewCell+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2F6451763DC19FAEB6A8E2C3379FE51A /* DDBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C8486770A6B560214DDAFF13FAFDE /* DDBaseView.m */; }; - 2F92D77F0B6DB6F93469E29305BD0BE0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FEABAAF319552DABBFA1DFC3BCEA94D /* DispatchQueue+Alamofire.swift */; }; - 2FF0397F7EA7930400CDC081AA17B925 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA3D6A5E27C75ED67BEE680197D2F7FA /* LockOwnerType.swift */; }; - 2FF9AC4B7E77920284C4F3991C5E2857 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF53ADBE1FA0BC31AFD475D5DB00950 /* ConstraintDirectionalInsets.swift */; }; - 301D05913A848309EC9365368BBAB1BD /* UIImageView+ZFCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E4F3CD2FAC247BD349A40689ABE4678E /* UIImageView+ZFCache.m */; }; - 3044563E35DFC79133C3A16A267A4A3C /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A84D73311CCB4840D6EB8B25D6A8894D /* ConstraintDSL.swift */; }; - 306AAA0978204ABAEBE3A5D9CA64810B /* ZLThumbnailPhotoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04861F50E98C1996227ECF5A10CC6BF /* ZLThumbnailPhotoCell.swift */; }; - 309C49EF61D7D5C2E2DE8668D4B42688 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FF4EE0F844907B1BF4B6102C6722538 /* SharedSequence+Operators.swift */; }; - 30DB3BCA0CDD098175329A172F86F9C4 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ED7BA9FD4828987FE817B3C2971E6C3 /* ConstraintMaker.swift */; }; - 314632CB92B2398677AFB7D49B2FF7F7 /* DDLogKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1515F9CEFCDBE5B07BE31D67C92FF621 /* DDLogKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31C4D922B73C8DB5EB1F4EECE5B99577 /* IQUIViewController+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F07CCC741F0601D330E3B604E1CB74 /* IQUIViewController+Additions.swift */; }; - 31CA7B9E8EA236369E7DF755D46EF541 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A87474A73D15BE198DC44C93AC10FAB /* SDmetamacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31DF54E033EF144675A3610238452B1B /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D1141D41D37C9177AD39190835097C /* UITabBar+Rx.swift */; }; - 3208D2E1AC17249CDDF8D24BE0170987 /* String+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD762B63EAF569EBE6407A06D88B95A /* String+ZLPhotoBrowser.swift */; }; - 328650A2D927732D8D720F558A37AD36 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A18F6AE19F18B97B7F1FECE279EC3DB /* UIButton+WebCache.m */; }; - 32CA25222D6B2A9C52343DF57E4793B8 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C8F4D62748AF8F7FC5EFB3507824011 /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32F60407B401152F2C0FC9ADB064C913 /* MJRefreshAutoGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 39BBD3F935B2B11E444B325BDF8FB4E4 /* MJRefreshAutoGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 332189AD4AD25E48E7584583B70EA4A4 /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97C320858984FF07726BAEF115CF6F6 /* ControlTarget.swift */; }; - 3336117E54632698AE7BF69221C9BFBF /* EKAttributes+FrameStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B8C14CFBCDDDAFCA75A6A384CD76543 /* EKAttributes+FrameStyle.swift */; }; - 33616C996675BCEEACADC74135890BD6 /* JXCategoryDotView.m in Sources */ = {isa = PBXBuildFile; fileRef = A55E2D8DDA363B404C78CE9DE3C043BC /* JXCategoryDotView.m */; }; - 336439A67521DEE2DF0D4EA4E9D4EC03 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E4470E849FB996A5CB9E09D74B0CB43 /* SDWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 33F10CDA20B13FA6E25E9638ECF4B3AA /* ZFLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9339DC4713C9F7B26810C40B1FC88B24 /* ZFLoadingView.m */; }; - 34181F8B4DC74D75F6C73B967539E399 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE11C5436C284042CD04BC93ACF9E68 /* SkipUntil.swift */; }; - 34219E74B6FDF7C28D0D0ED21D17410F /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 390FECAACB630E47B5EF76D29F773B01 /* EventMonitor.swift */; }; - 349E933224A2196BE8CB8F20A386089E /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FB6B859A25DB4F5D6AAC46DE278752C /* UITabBarController+Rx.swift */; }; - 34D7B7F81DBB3A50D80E68BE076FB80C /* EKNotificationMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB26073C862A492E3947239850F61CF5 /* EKNotificationMessageView.swift */; }; - 35461BF27E4168792CB4AFFC7869C06A /* DDBaseModel.h in Headers */ = {isa = PBXBuildFile; fileRef = E1156D60638AF40D9BE94224511CE98F /* DDBaseModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 35566A4CEE196074A328F12B0F748B87 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF888BC940ECDC27897D8DE1D8A7E860 /* MJRefreshAutoFooter.m */; }; - 35BF909F60929C0222C40DA6D149AB28 /* ZLCustomAlertProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6966D76B5209FED98C73A83E9B3ACBB8 /* ZLCustomAlertProtocol.swift */; }; - 35EC4BDBF382831DEACEFB9CBEC7313E /* JXCategoryDotView.h in Headers */ = {isa = PBXBuildFile; fileRef = A0F2997BC7CE173A0C2626E2F2C0D1D4 /* JXCategoryDotView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3615678A2D40C0ABDDC178C56011AA3F /* DDNetworkingOfAlamofireKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10D89567E72F0F81A281DF6C5CA6119B /* DDNetworkingOfAlamofireKit_Private-dummy.m */; }; - 362DCE6C30193B4F265B6BCFFBC28186 /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7417192B4C1D7F1D8CFAF2AA1AC69F09 /* IQKeyboardManager+Debug.swift */; }; - 36595A460CC661136C4D89478C162867 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D0A1920F3720D0E27D9006898CCA800 /* RxMutableBox.swift */; }; - 3680C8FB205ADCF709DCFA5D5D44DC63 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8938634BB278CC0931339FDF9DBC0D2F /* SingleAssignmentDisposable.swift */; }; - 374123F38FF3BA6A3132D7F0463D3F87 /* UIViewController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 49636A4D9AAB73B4C3358AE69FE540B9 /* UIViewController+DDCategory.m */; }; - 3848E339FD18EE2E315E064031BACDE8 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 74E38760679F934E8A00EB1FA8ABD601 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 387104A590EDF685F92EAB2DD64E3CC2 /* UINavigationController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = F582067C0E2AEB4033BD733077584A58 /* UINavigationController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38802157351AAA28DBC3D215EB049363 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C459BF9C873EF2EB81A7909B9460B60 /* UIButton+Rx.swift */; }; - 3898931C3C0F294F4B7653D819AD5BC8 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC151782286E131785E4FDDF6766078 /* Sample.swift */; }; - 38ECCE8DD71FC839807DF4F6494A77C8 /* JXCategoryNumberCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6686189FFA11CE8679DF194908FA7304 /* JXCategoryNumberCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38F376E76E8CE887828C623D1369185C /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60AF47368B67D4F6E6EB9DD4C92B5F03 /* CombineLatest.swift */; }; - 3909A9DC00E78A63A4EF29018C46120E /* AutoUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 252055CE1DD2971E2E70122AF1255F2F /* AutoUI.swift */; }; - 396597297E3741A4C4C3030C594BB3CE /* UITextView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 397269411299DA946869109B9E51C13C /* UITextView+DDCategory.m */; }; - 396FD117EB0E216740DB35C9E2C00071 /* DDBaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6323E22682E823FB3CEE920AFC4B3B5C /* DDBaseModel.m */; }; - 39A1EED7EF20556DA57E00609DFD1645 /* ZLImagePreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AED76B4B938C0C7384ACF460FDB3AB16 /* ZLImagePreviewController.swift */; }; - 39A20A6292B535CB9F60D3A449682C56 /* ZLEditImageConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C6211C3F66BA00109F8CCD3F3BD8BCD /* ZLEditImageConfiguration.swift */; }; - 39A3EB396EC47B33F8538BBA9570E35A /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FFA9A27DA8200EE6A34BE8EF31865E /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; - 39D58D6790E6C9BAFB8689BAC91792D0 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 925B87A2FF60BB1C56BBA452A0F19630 /* IQKeyboardManager+UIKeyboardNotification.swift */; }; - 3A084D5C95E65D5177437CE8F0BD1A78 /* DDBaseCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 65CF9830C75A4FCA22355791EB5B9765 /* DDBaseCollectionViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A1BE3A790D32DACDC81F728B5AEF8CF /* EKAttributes+Presets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398E132E5A43118FB9EA9492E9455982 /* EKAttributes+Presets.swift */; }; - 3A2E7663A740448B1DA51DD85FC06E19 /* ZFKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B74D76532B29E618B6266AAD2C1B9E1 /* ZFKVOController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A3A24A27B2FCD56DF33E04F31B39C3A /* UIImage+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 5322839F97FCDCD8C82F1542E40857D1 /* UIImage+DDCategory.m */; }; - 3A5239200052646BB3581EC8BCE593AE /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D97AA4136D41CC3759887BAB465F8DA /* Response.swift */; }; - 3AD100D5121E6A2B4F8A49C8629411CB /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = E537B01FEC3FB9D921789FE6CE6A7650 /* Debounce.swift */; }; - 3AF311679057B088EF5705B8EDB22D2D /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4FDC4BA56692F2C1F78D7B88D63FB9 /* Just.swift */; }; - 3B3B929A609B79FF25A300BA1900810E /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 062263C3589D1729795C67E0AB851A15 /* ControlEvent+Driver.swift */; }; - 3B4FF7F8F315EB94AED04F0CF38C88A9 /* DDControlsKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 11F5917602EDEC27FDA925D7FF793496 /* DDControlsKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B6337DFDE8F243FC631468501ACA929 /* JXCategoryIndicatorImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = EB3B9EEE9C0A7A3C6FFDA598887FE415 /* JXCategoryIndicatorImageView.m */; }; - 3BEDCB1C1232746F8DBBF049CF861CA1 /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1B50617C5846885B799174C6EF62E18 /* Infallible+CombineLatest+arity.swift */; }; - 3C5BFAF868AD93AF92238CD4F5B0F44C /* ZFPlayerMediaControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 343F6F3830F7B1B5BEC510FC0FEBE7BB /* ZFPlayerMediaControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C9BBCB1963695908C5CABC26C4E2EC8 /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BB694E41312BE3CB879A74EF438E86 /* ConstraintMakerRelatable+Extensions.swift */; }; - 3CCBEF9D2D6AA129CCDE1310A9FC981A /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBCEF9CC7CBCEE33F7C0C4B249F80823 /* Utils.swift */; }; - 3CD9F65655D76EBEC391224B87A1CD5C /* EKRatingSymbolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EEEA9A5515EA80316E2B9FCE92DEF7 /* EKRatingSymbolView.swift */; }; - 3CEF2AB7E4E1004AFC4AF6982584D4B0 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F60E7F3A93AAA5FD7015855B4A90317D /* IQKeyboardManager+UITextFieldViewNotification.swift */; }; - 3D0239D05698C02D4CC302EC96DCCE75 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2652ABDB0AE856157EB24ACDE7F1C109 /* ConcurrentMainScheduler.swift */; }; - 3D7A90098F5DCC038358096817706824 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A638BF5751BE46B7DDB1F0276B2836E /* Window.swift */; }; - 3DF0B41E27A78AC25B9E44DB89DD5245 /* ZLEmbedAlbumListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0FB76280E18F322095A2C4A4D685973 /* ZLEmbedAlbumListView.swift */; }; - 3DF7E89F3A1E1F068D169F0322F408A8 /* DDBaseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C692F8F5F79CEA290005199366E27CD /* DDBaseViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E655FB3DB35E5115300CB47894632FE /* UICollectionViewLayout+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = E0079065AACBA77637F4E9377AD08133 /* UICollectionViewLayout+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E667CC1120F83729016853578E2B0EC /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4989F3C262104D3605709E7C55F833F /* ObserverType.swift */; }; - 3EAEF4B368F4EED0EAF7E008DA2A3DDF /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7C070830DB39B04D1426A1BFFC4AC5A /* OperationQueue+Alamofire.swift */; }; - 3ECD21C191F48DF934A14BFBEFCDEDA1 /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77599CAE925776771AE4A255E20182C8 /* RxWKNavigationDelegateProxy.swift */; }; - 3F0E0B0CF3FDB7A022D1D11F6D9337A2 /* EKSimpleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80DB2630784A3A152B901F46B59A2212 /* EKSimpleMessage.swift */; }; - 3F8C723EE7FB437DBE33A1722B154E1C /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 89B70F11A598B4BCB708755C942B19B3 /* MJRefreshBackGifFooter.m */; }; - 3FA9DD41FB19B38EFEE430E1314946E5 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50379E580ABE8786CE45B4666BFFAB49 /* RecursiveLock.swift */; }; - 3FB5352887796DD7047D239D88FFC330 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ABA9042B1D741E8BD83E29025EF925 /* Bag+Rx.swift */; }; - 40672E95E085994AE6C6433A1C920629 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 085B7B1FF4564A36CF8F94A08BEDF55B /* RxTableViewDelegateProxy.swift */; }; - 4106F92259A3E4CE42B5ECE0E28B4F39 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83E719F0D96701257685AE242836F9EB /* AsMaybe.swift */; }; - 4113E82A8478A123BD0B5700DCB583BD /* DDImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D29FBB6F7B90CE9AC9A5B7B3BD3A504 /* DDImageView.swift */; }; - 411E2BED97867A005970F9FEE88CF696 /* ZFPlayerNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CBE580BDBDD64676B6A7A80D71C96AE /* ZFPlayerNotification.m */; }; - 415F4ADCE48E3C6F1736ACFDB4C6E4D3 /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B1DFE91466158CB3760DA71B4800771 /* ReplaySubject.swift */; }; - 4189DC9D2E47F7BBAA2C6048B475C212 /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = F6772E0CFEE35EC2E79B96D1639DC02A /* UIScrollView+MJRefresh.m */; }; - 41EC1F448B125C2C002DB29C9AFD5289 /* UIViewController+ZFPlayerRotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F734BB4F86F6962F672D7EDF71F0E01 /* UIViewController+ZFPlayerRotation.m */; }; - 4217D562836222942A9E062A4930F281 /* DDTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4616707B7FE6FD330C217690452CBAE0 /* DDTextView.swift */; }; - 423ED25536DDD84D7DF9365B14F362D0 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1314F27EB60783A2BB6A8A3356381C0 /* ObserverBase.swift */; }; - 43666945E8F28D395CCF4104E6E0DA73 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FEEF2FBC582877E4F1C20642D5DC196 /* CombineLatest+Collection.swift */; }; - 44BE7CF753A124327188F4E7831C563E /* ZLImageStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD76A4AA2E16A6A815434A8FBEF48599 /* ZLImageStickerView.swift */; }; - 44BF5F969F34EA6E8AF24069A95C77E3 /* DDBaseTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = D82E638FA01F1B3E7E0C12854C89B1B3 /* DDBaseTabBarController.m */; }; - 44C62D555BE0DD6DF376157B88108AA6 /* UIWindow+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 974280124F141ACD4B94A27601F945AB /* UIWindow+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 44F427B8268C04DECB4E7DAB04506CA4 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DADE97F9F228D06F817F438D828548 /* LayoutConstraint.swift */; }; - 44F712870D9007120D6683833C9B2B9D /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E00E716CC69CC5E585205A405861E72E /* ObservableConvertibleType+Driver.swift */; }; - 456DD313CD572325238A20BD2286F328 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D02D85D9009C076DBC3EA97C242F441 /* Binder.swift */; }; - 45B9C8034DCB889E2A9684B1575C0302 /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F69157DC9ADD23A6763AFBD3FCB2D0A /* RequestTaskMap.swift */; }; - 45E6ABDE01C2FFC83583EE4796269D1A /* ZFPlayerLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5F2B41A5993D845A431D40A82DB9AC /* ZFPlayerLogManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45F9D728BAE9F638623421AAB12B8D40 /* JXCategoryView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B6AEFADC413840BC110C5CA69E6E9319 /* JXCategoryView-dummy.m */; }; - 460F8947297FC4397B1D875F02806E7C /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B05A83009C123E8C2BAC9CA401A9554B /* IQInvocation.swift */; }; - 465AC4C4CEE137C694249FF5E1AC1428 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 497BA4A8702676F2B7E91C882C273CC6 /* NetworkReachabilityManager.swift */; }; - 472F8FCDC5BC7F210FC411D907EA5B04 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B767986E2E048850DCB496A1B51358DC /* RxSearchControllerDelegateProxy.swift */; }; - 473DC3EDDA5D8D61693615EC038FC07E /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C18371D84390CEC73E7EE7FC86CE838 /* IQKeyboardManager+Position.swift */; }; - 4769FD52CFFFD7BC65324803AF92E251 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FB77BEE7BC93528CC532F4039DF95D /* UIImage+GIF.m */; }; - 47BEA6378E98FAA936CA74A1CF418638 /* DDMATrackManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC18F059ABF4841BB4CEEFBDCD84E37 /* DDMATrackManager.m */; }; - 47BF292BED32B4CB98575907A2835570 /* EKAttributes+WindowLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 758F1ADDC82F7BCCB943A59C8537B285 /* EKAttributes+WindowLevel.swift */; }; - 47DAE2836C45A5B08B4895539E604A86 /* EKAttributes+StatusBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247E41FBB44855E2C5BCAB8AD3B9765D /* EKAttributes+StatusBar.swift */; }; - 47E86D73AEFCECBD1B7CC80D731AEE4D /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51DCF5361619CF1F74D7D4DC2369764 /* Toast.swift */; }; - 4837AF95FFD6CA0856F8AD4F6DAE8654 /* EKAttributes+Animation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1AF437F2DB2A8574DFA7DC9F8FC0E55 /* EKAttributes+Animation.swift */; }; - 4894E4D5C6F065C87B6082AB282FBCD0 /* JXCategoryBaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 185F9BE2AA69C0B3459642BB61834039 /* JXCategoryBaseView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 48D3C7C062C27CFCEB622D40EDD76148 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1144203F1FA1BBB76BC972DF73475EB1 /* VirtualTimeScheduler.swift */; }; - 48E7DCB6E428A49B7F67718744D73D96 /* JXCategoryTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE28CB7E6B747514C3866B4F8FCA5E2 /* JXCategoryTitleCell.m */; }; - 492B6B0A047A031C08B940A6E8746A37 /* ZLAlbumListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D29945FD9C14C6F2842E96007B5B0EF /* ZLAlbumListController.swift */; }; - 4944814C2CFC6492C4FE1664F1556012 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1659D786134CC1922FD3204177DDC5B8 /* MJRefreshBackFooter.m */; }; - 4978E0D1068588E192054C53AEC53178 /* ZLProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE472A0AE712A303A9D5D79DF780BB34 /* ZLProgressHUD.swift */; }; - 49A13CA2C01B33D402D04B3A5D6C9868 /* JXCategoryListContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AB3796E5C58A658B4D38654593DC2C9 /* JXCategoryListContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 49FC51FBE1A0B635FCEA16835DA50665 /* ZLLanguageDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03376065D13F12FEC4F299412F952A70 /* ZLLanguageDefine.swift */; }; - 4A9952FE9361ABA5CE30F3C7D50C23DE /* JXCategoryTitleVerticalZoomCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CFA1E3DA2D32F49ED0C2F03D442A8D5 /* JXCategoryTitleVerticalZoomCell.m */; }; - 4A9C7C584CC3695F8714DACE78ACBFDC /* ZFLandscapeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93654571E7FDB26E786C36FE0C048ED0 /* ZFLandscapeViewController.m */; }; - 4AB0FE76C4041C57FFB6B4E74FA583E9 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC01802DF082B09A205D36EDB326D09B /* DispatchQueue+Extensions.swift */; }; - 4B4D666DF746D313FA6D34C257BA6F14 /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAFFF9D92EF1882071D8629529B44D4E /* SchedulerType+SharedSequence.swift */; }; - 4B5C6452A3F186A1CB523C87F86F70E3 /* DDMAMapKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D422B3889DE69E0B78C9FBDE82D2CEFF /* DDMAMapKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4B75784B81348DEA7FC71B0C6DAC5413 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7379C81FF7A9D1BE25D57FCBF037CC3 /* BehaviorSubject.swift */; }; - 4BCCD58088AF2F6B9D59835C49C465B3 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DE485127E572C133DAE639A0E1DF7D /* Skip.swift */; }; - 4BDE28396F6AE3DAA0162DC8B2219EC3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CC9385B5DE9C628C59CE36BF33EF7E3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C17BF734DA9B2178A5559DBA608A2BB /* EKRatingMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C291EB8711462A28B4CCFBD87683959F /* EKRatingMessageView.swift */; }; - 4C2639391DD5A48C68DC1760F913E007 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5EC94DD26BAC8B13328FE3EC11F63E2 /* RetryPolicy.swift */; }; - 4C5E0A7762C6E0E8295E1D7F4FD4F68D /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 75EB752D1459AC050F285FEEC9B46042 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C82AED59F383C3408C246EDDA1A4392 /* ZLPhotoPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A01E7E6BEC5F1E23232428A2B402761 /* ZLPhotoPreviewController.swift */; }; - 4CC51E277DCF7D480D5DA4C9C0BB0C37 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 472D0CAC5BE65093CB3FAB7F08CBFFFB /* HTTPMethod.swift */; }; - 4D2FE02184346B6011DA8B227AA2CD00 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B77AE0195A469E8CBAD7B4B8B557268 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4D8A94DF58E15F8FB36D139189A399ED /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = A0047834C78CA8E8DD5C0B6364E97A45 /* NSData+ImageContentType.m */; }; - 4D981AB9F0FB6AADA0A3BB5D61D1E0EE /* UIColor+Hue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91EC8EBED91E3A221F6BBB65215305 /* UIColor+Hue.swift */; }; - 4DBBAF563C9995081D90F7AD834E828D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = C4E146BB38E6AD6486630E8F9DF14F7B /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4DC4192E75B5FFB54CA793299C8C0388 /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AF92D3317BD34217929AE7AF04D4F07 /* RxPickerViewAdapter.swift */; }; - 4E4E6D9B4C2320B106A88E09D7FE17EA /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0714DAB610C493A714E9C237B500AB27 /* GroupedObservable.swift */; }; - 4EEE08623FC51DF62F0D6B2A635740BC /* NSThread+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = DD90C26F2E57B0573AD939AD15D56116 /* NSThread+DDCategory.m */; }; - 4F1525CECA0C94C49413C43841330C56 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 38A821F5526BB8E5FBA6333F5A388009 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4F30B92F6B745103E3E10B49BEBCD813 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4896508A94FFAD7C7F2D67778469114C /* HistoricalScheduler.swift */; }; - 4F5B2864DC6384E5B6AF98425B6F5CAB /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 97337246D62C0228D67F9B756A75C357 /* SDImageAssetManager.m */; }; - 4FB8B880680D9711B70C98FCE307824A /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 175E160B210F8918F24973167F06CF79 /* SDImageLoadersManager.m */; }; - 4FC9C59A1D764672B1999A285994152D /* DDScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 332AC59D916C977A7B455CE0861008EC /* DDScrollView.swift */; }; - 501077979036EDD2737102095418F08F /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5385C442FC256F4F6538B9E0B814CD37 /* SwiftSupport.swift */; }; - 506070DDB033AC1BC007DE71F42632A1 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779FF4F794EBD1E104C275C7801C5A4A /* ObserveOn.swift */; }; - 506680E7DA2EDF6F1137BB73C5454B88 /* MJRefresh-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB29478D24215B095F17948BDE075E9 /* MJRefresh-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 508FCBD8C3098E74B67A56A49B5FFDD4 /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F9FA993D60CD14B01156676A20C167 /* Infallible+Operators.swift */; }; - 50E5B5685106D613C42AF4823B04F21D /* ZLPhotoUIConfiguration+Chaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC005FCC0C60BD128CACB42A3B99D407 /* ZLPhotoUIConfiguration+Chaining.swift */; }; - 50F667C09FBFD4FF8D7988E91CB41620 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D95B408D442F1D74B1B939C0C40B90E /* Sink.swift */; }; - 5114F231D82CFA8BF22620F26EF6814B /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A580F905BE546DDCF74187A92C238E1 /* NSView+Rx.swift */; }; - 512BBF6968C616A5CB7A2C23D8B117E2 /* CALayer+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 501245C4E1EC2E396632EF831E649C9F /* CALayer+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 513FE85C9A497C2C8E648FDDE863176F /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B7B19EEAA0FFA17D0D0EBB0EF0BB6BF0 /* SDWebImageDownloaderRequestModifier.m */; }; - 514A60DD5A2A363D5DB970088D708CD2 /* JXCategoryImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 040E0D147A4BDF98BC3461819F8A7FA6 /* JXCategoryImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 515FD6046A15ADC8218F0694CE2ECBBB /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D72F7196D11384008CA1257A9B05370 /* Queue.swift */; }; - 517CC3C405F8FB3E69BC2019D081906E /* UIImage+ExtendedCacheData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1606E932D0F8D9310349DF42436B6328 /* UIImage+ExtendedCacheData.m */; }; - 51EBF9AF152F971146CE49A2FC4B4614 /* UILabel+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 77889065E57D4409FDDFAD10BD23CD8B /* UILabel+DDCategory.m */; }; - 51F894F27EA0894DC3D748F54E158651 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA94BCC9E1C1E290AB178D69009CC7B /* TakeLast.swift */; }; - 525A4D799D121B7005FD8E6C6467C09E /* DDBaseAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D1AC152DCA93396597586627D18E492 /* DDBaseAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 52811ECF6A4AECB259DCD6139A9C17C9 /* ZLPhotoPreviewSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 227AF9E6AD03AC9A3C955525A5398DA7 /* ZLPhotoPreviewSheet.swift */; }; - 52B6AD3595C3CADA5ACAA84C53EF2323 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 713B7D34CF9565F9866E27AEF91E554C /* UISegmentedControl+Rx.swift */; }; - 52B774D7072085206C19EC4A96BF8406 /* DriveRouteCustomAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = B2BFB733E764620323F8A3A3BF796DC2 /* DriveRouteCustomAnnotationView.m */; }; - 53DCCB791FFEBF8F9312817E41393771 /* Pods-OrderScheduling-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 484C4661DAB5EADAD81249F2FB129619 /* Pods-OrderScheduling-dummy.m */; }; - 5442DB01C93D4C933C1A8CBBFC13F690 /* JXCategoryTitleVerticalZoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 308E6FA61D35B8BECD5CF36E6BDC548E /* JXCategoryTitleVerticalZoomView.m */; }; - 549B1CF5542E8E21F2710BA821DC2899 /* JXCategoryTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = B15D8ACCEEAF853ED4FB1410663992FC /* JXCategoryTitleView.m */; }; - 554B4A9EB7B0115AA40713C45D0ABF3A /* IQPreviousNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6AF2382654755E74E92431384F211A0 /* IQPreviousNextView.swift */; }; - 555ADDD160E4DB9DCE0AABDD6978609F /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD1FA40D8217077DF5F77ACECAD9F05 /* _RX.m */; }; - 555D64D559041A2F1743073FBDA7F769 /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E789DAA341F3F6952B2547575114E6 /* MultipartUpload.swift */; }; - 55636BC3CE8BB99D3EAD8465225395FB /* DDBasicControls.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A152A69D2085D0B22F6FEF4C90593C3 /* DDBasicControls.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 55737CE468E09E45D9E5BE279A3100C8 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = CB26A46206C6831A68473FD7079779E1 /* SDWebImageIndicator.m */; }; - 56481A9B965BACF6381BB4F218365F05 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5338EB039DDDA1CEB0687DF578E85AF0 /* SkipWhile.swift */; }; - 565C69E3DA4452FAB0E052B93519A32A /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14477A461BBA1C258B971EC4DA30933F /* AnonymousObserver.swift */; }; - 5686B71FBE6F4625D83C3791387F85F7 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = A69D3E95D171D695738BDB897F99C037 /* SubscribeOn.swift */; }; - 56AA1FB915E6D167A106C0F9CF316EA6 /* ZLPhotoBrowser-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E46AF19AAB498E7202B93FD78FC57A8 /* ZLPhotoBrowser-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 56D08DCE4BFC873FBB9B1355F514D581 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E9F06E32F7D9FF514B903A5EFBF3C7C /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 570634531E216A7F7942CA187953A790 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42AD855323940AF0FA5852047AAC08F9 /* BooleanDisposable.swift */; }; - 570D150531BA02EEB383A3F40CEDB5A2 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = B528F577C6A4091B45ACD3A38668CAB2 /* ControlEvent.swift */; }; - 5735C2DF5BF2F771995766484D2061D1 /* ZFReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FA40E7819141FA2A6B27F428C1B99F8 /* ZFReachabilityManager.m */; }; - 5739B5F79D9CC33CE6A6E49CF08BE143 /* SDWebImageDownloaderDecryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 425A9BABB24C27BAAE7820163D1EAED4 /* SDWebImageDownloaderDecryptor.m */; }; - 57B1E3E04CB3083B1DBA69D1AA4D122A /* UICollectionViewCell+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E1FC0B3FDD2534E449C31E5030C4FEBD /* UICollectionViewCell+DDCategory.m */; }; - 57E8D5E0BFF775DCF361333A12294278 /* EKContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D265B9F4640EF6FE9B2ACFFCC52D3CE8 /* EKContentView.swift */; }; - 57E9A869151C3FAA40FF974E53521DE2 /* DDCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 441554C44216A89888333215AA012A51 /* DDCollectionView.swift */; }; - 58331B6BF8493E4C276191285440557E /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = C3F3447872C813DF528F030338891CE6 /* MJRefreshAutoStateFooter.m */; }; - 58D7197BF40F9B581885C8B66028CCA2 /* ZFPlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 478980E00140A7CE7382FB4325FEAD1E /* ZFPlayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 591C74189843C4755BD2E31E4F50431D /* MJRefreshAutoFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = B5CAE433DC066B69381954C853EF5020 /* MJRefreshAutoFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 595FA9CCDC2A709BD7F736107DA2C4D6 /* JXCategoryNumberCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D8C9277ED75483A7CE4839B89FC67FC /* JXCategoryNumberCell.m */; }; - 5991DD42571BBAB553AA167C3000AAE3 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA25FF9AC89F159653CCF3B7C1F92AE /* Concat.swift */; }; - 59AD90C47AA6A1B76832CD3C27A9B6A3 /* JXCategoryIndicatorRainbowLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A81E752F390FA2CFA808E4FD762DC67 /* JXCategoryIndicatorRainbowLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5AA2F6E5C7D736F0CCA9894A3E37C8D1 /* DDWebImageKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB0939F3CC0710468128B04E0D833900 /* DDWebImageKit_Private-dummy.m */; }; - 5AA6E372FD287BFF49666188CEE90926 /* DDMAMapKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FC97898A6DA63C7DF9B7C8198ADB37EA /* DDMAMapKit_Private-dummy.m */; }; - 5ADE1ADD5C89879BE23532A77F88DB88 /* EKAlertMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72FA0A01089199412FEA816868B7E00 /* EKAlertMessage.swift */; }; - 5AE8F724467F0E9ECAC1B50FAEC91D67 /* JXCategoryIndicatorBallView.h in Headers */ = {isa = PBXBuildFile; fileRef = 22F0F259BE2F7AB0C38E4735E873F1A2 /* JXCategoryIndicatorBallView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B033DDDC44B06AA233FF487E3C410DF /* EKStyleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D02251B3BFF0BEA261D2342EAEA473 /* EKStyleView.swift */; }; - 5B07C22BDAA7425C4CCC629868E0072A /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 09446C4DD5AE2BB2D04892AF7241A647 /* UIImage+Metadata.m */; }; - 5BBF2E718CCA06ABC22203877EA4EC3E /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = A529E541E350313960BF06504229E2FB /* HTTPHeaders.swift */; }; - 5BD01F6B16A2C9E69F756F4DE189E349 /* JXCategoryImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD58E7B9EAD0150D99F8E6D3461DB26 /* JXCategoryImageView.m */; }; - 5BD480DEE18371740D7AF036D85B8B90 /* DriveRouteCustomAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = A871485905A7B9D5085AB9063F7C2B6E /* DriveRouteCustomAnnotation.m */; }; - 5C01205CDF24EC69095FFC42B832727A /* UICollectionViewCell+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 63050318E24A30075008D921E1C4B748 /* UICollectionViewCell+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5C30F361915F5ECAC7CA86D55EE7E25A /* MJRefreshBackNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 831C0CFA95B7C57057FF308E5E5D244D /* MJRefreshBackNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CCD552354B88211EB9488550C4F4DB4 /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 02C7E49501104CF5A5852357313791F8 /* SDAnimatedImageView+WebCache.m */; }; - 5CED4364D767E1BE60CB69BBCFC5B51B /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D577522565702C2275ADE18C6DEFB9D /* Filter.swift */; }; - 5CEFB3AA45586F179D327023FB113412 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EBC522DF739FDB75DFE316CF30F9E7F /* RecursiveLock.swift */; }; - 5CF4670F6E41D06C52DCE2D441B5066F /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D9C48B591819713D8D984844B4EE13B /* ConstraintMakerFinalizable.swift */; }; - 5CFC8F3DFFA340EEFD415372644734C5 /* ZLCustomCamera.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B61F61B935C115A4208B5417986A35 /* ZLCustomCamera.swift */; }; - 5D048ECBE3D46ABC5B880F766ED23A21 /* JXCategoryBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 41D625B23707C5A6FD4FB96DB186C0FA /* JXCategoryBaseView.m */; }; - 5D0EEB77D1FE5B6445B93FFE286B925A /* JXCategoryIndicatorDotLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = 031FAE07041E743B33CD34530D22DFEA /* JXCategoryIndicatorDotLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5D56B3DA8AEE281BA8B4779878BBAC25 /* UIBarButtonItem+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E379FBC419ECAAA12AEA0091BE1CCE4E /* UIBarButtonItem+DDCategory.m */; }; - 5DA078BF9515B566F0C538010C15D611 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93428110C0FF0C16E99FDC636C6A91E3 /* URLSession+Rx.swift */; }; - 5DDC429EB21328DB5AA5FFBA20D4CEFA /* NSAttributedString+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 53B45E5B44F2A15C7607E4D777D7BF2F /* NSAttributedString+DDCategory.m */; }; - 5E5FBA91B19BE06A32FC0229D5D26FE5 /* ZFPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B1658EF88CA595AEA0831619F2E5916 /* ZFPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E6140C0CD3517DED7F81D9D8046F3D0 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 77EA6B0EF2745F7938084A803C51B8B6 /* SDWeakProxy.m */; }; - 5EA777A6657B7ECC8AFAF720B0B24B9F /* DDMANaviManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AC9A93005C646FFDA2725621E466EE8B /* DDMANaviManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5EB60C74FFA757B7BFF385DE7F855FB7 /* MJRefreshTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DAF90EB5E46CF4493F1246AFE6637F8 /* MJRefreshTrailer.m */; }; - 5ED1BBF5FAE17E6DA0C804DCDEA8901F /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5C653DE425DA77FF764E580694FBAC /* Materialize.swift */; }; - 5EDF3C540069C5612E579173FDA60AC7 /* DDBaseCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B160820EE1EEC3C027912046044CFF1 /* DDBaseCollectionViewCell.m */; }; - 5F172DCB05EC615065B7C37575150F22 /* ESTabBarItemContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E90252951EBCBD1D933899DAD856B9 /* ESTabBarItemContentView.swift */; }; - 5F33D74E97770B309BA74199F3C85463 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B0B366F617F88B519007C71635C00E /* Error.swift */; }; - 5F947C782C4BB4A5AD404E347D308478 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = A97E3CA24BAF967F0DD559FF3D3BA7B3 /* Queue.swift */; }; - 60DDEEB9DF2E9BF439AAAD617D7DFDCB /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C323D1A4EDA5CB599CBB04834016F189 /* RxPickerViewDataSourceType.swift */; }; - 61185B153F4FCD3160D48208289515FC /* JXCategoryCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 299701559FAB874E2652BA6F06552CBB /* JXCategoryCollectionView.m */; }; - 614BD4DBD5C1BCB13CE995085A38C096 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310DC8974BD185BD7CF87285C93A1993 /* Observable+Bind.swift */; }; - 619A84DBC854017C0A1A9BBE4D159E39 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = BF9498DF220C329425D87229BBC99A48 /* UIImage+ForceDecode.m */; }; - 61E0AF7F5C4EA70EAE5AD9C21EF35977 /* DDTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFFE264ACFC2E50E41713D39E3072D71 /* DDTextField.swift */; }; - 620AE31C19FA133027680B675F8B3701 /* ZFPresentTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D8796F8C274AA030685AAC3E8BC31BA /* ZFPresentTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 626CA8D4F0AD4970A4111E6653DB564D /* UIApplication+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B9FC22B0CD75BDF6C79E9303E692782B /* UIApplication+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 629C7157E20CDF4236A206BC470406D6 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508455EE35704123049704C9BB38DF20 /* RxTableViewDataSourcePrefetchingProxy.swift */; }; - 632FDD201CBD2BECFE77A054EF4BADB3 /* MATraceReplayOverlay+Addition.h in Headers */ = {isa = PBXBuildFile; fileRef = 7494706A6103037E9AE0BAB70B47791F /* MATraceReplayOverlay+Addition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6335E8323C2491C8A9C99CE9DB2BF83F /* Bool+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EECC4113B6D446184136B6B159D83B5 /* Bool+ZLPhotoBrowser.swift */; }; - 635B043F860CE53EFCA19CC564B47075 /* IQKeyboardManagerConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8CF610938030111A136AB5E11B31E91 /* IQKeyboardManagerConstants.swift */; }; - 63CB5CA7EA0C4ACE8EF0DEE5247EF225 /* UIButton+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 99659605CC6BDAA93B2723E365F27DCC /* UIButton+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63CFA7962D55E2ADE580BE8045A45E85 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E51ADE35CB1FF9A7FE7A091D7F77BAEF /* ImmediateSchedulerType.swift */; }; - 64565C8F3117ADC1A656B3ED6E4EA0D9 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D7C45B2B85F585912810F73875908E /* GroupBy.swift */; }; - 6456BE1D3735919BA27D3C44CA4A984D /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = D81B8A45D65A5DCD02CD4D06E70D9E78 /* SDWebImageDefine.m */; }; - 64D8805F7527163B0A4120C403D97AD2 /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B9C44A6CE1D11BF815E4C1C7333AF46 /* IQKeyboardManager.swift */; }; - 64F134656F206AEA36B251F574762046 /* JXCategoryIndicatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 395785F4A9D0B715647139740347B1FD /* JXCategoryIndicatorCell.m */; }; - 652F1768E71D55ED1C4D40E7ABCA11F8 /* IQUIView+IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 308266C5025283F1E98CAA23584FCA85 /* IQUIView+IQKeyboardToolbar.swift */; }; - 657B0B97DA9E63B9CFB50C28CE01C16E /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 058EB6B299B596AC17ED61A28FB6C464 /* HistoricalSchedulerTimeConverter.swift */; }; - 65A3E384961F6C904B1D329C2B1D1BDF /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB7EA7706502558EB5C7C27F3AAAC705 /* RxTableViewDataSourceProxy.swift */; }; - 65C3ED45AE68B9415127887E553B901C /* JXCategoryTitleVerticalZoomCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F15CF6E1AFD468546DAFF7506A8EBB /* JXCategoryTitleVerticalZoomCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6642D74E21029B29A5AAF0037FDA4BA6 /* DDBaseScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF674DC92F6594A8BCE55144406461C /* DDBaseScrollView.m */; }; - 6649A2058F4EA544384A888D95492A95 /* ZLCameraConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F82291D5FAF4348E043E63A57061AF5 /* ZLCameraConfiguration.swift */; }; - 66676CF223546A2ECE64ED1BEFD7E083 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6493A2D3F4534C74F900F18BCF78DA06 /* ConstraintLayoutSupportDSL.swift */; }; - 6674277C63A2F0AE5EA17A48C88759CB /* EKAttributes+LifecycleActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 642E84188A6B1C3D9511AFFB474BC49D /* EKAttributes+LifecycleActions.swift */; }; - 667E98CC3D54F70B73D6D31D5D94FE0A /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C558730A006A4D80DC49040CED2A09C /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6694E6D8A68A448BA619714C9F10A0FC /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B3A4F80AA6DA72A6016BA996872756F /* MJRefreshHeader.m */; }; - 66B43477DE0F24FDDE11B346D39BF863 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C575E483DBC943A3284018D332EFE4 /* RxTextViewDelegateProxy.swift */; }; - 6707707FAB88FB4AF9DAEB7CE0FA898B /* DDNavigationControllerDelegateReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C09C50C9838F729DC091AE4670FDF0 /* DDNavigationControllerDelegateReceiver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 67CF5305E9EBF23CB22B90CDE4CDBF91 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = C2370C89E7B136ECAA2D3D6DDCC46E00 /* SDImageLoader.m */; }; - 680C1F343B511530518196758E52F22B /* ZFLandscapeWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 732D127F9888E847605A93115B6FB2A5 /* ZFLandscapeWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 68A9E007AD5461A5DB79E5541E21BFF6 /* RTLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 47837799E96C7ABF8530E2D107A740D1 /* RTLManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 68AF63A82663683C1B07720476D8D20F /* ZFLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8475CE286E56A5E8C8499499FD93D8C0 /* ZFLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 68B7B161F88A8AD78F0E21B6DE4547CA /* ESTabBarItemMoreContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47936CCF8C062F9463A88F805DC55094 /* ESTabBarItemMoreContentView.swift */; }; - 68FB7A064EECBC2F82C9C8F27FCD8008 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BAB945E9A5E55C45B8B8311921A8E65 /* Disposable.swift */; }; - 690256DF05FE465E8948ED017110EE78 /* ZLEditToolCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E6D331CAFFB710AB082155D93DB06C /* ZLEditToolCells.swift */; }; - 6947D25CA62F4B84B0C798ED96485335 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A3254A0EE7344F763D13C10C98FF398 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 69A74CEB8546E46560B3D6658253BC61 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155E658252BFB49AE6BC481503E1E5D0 /* Combine.swift */; }; - 69CBDC82C1A8BAE7227588C16B025E99 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E5CF2AF75161BA15D45A8147CA4B06 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A00768664341176E3CCD3209A118D93 /* DDAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9FFDA8C8D18D25589844B9EBA43B949 /* DDAttributedString.swift */; }; - 6A73D8C90B3AB65EE530DBC09D72B0BD /* DDTimerKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 875DB0046FB6C0EC237887E08B7E17C5 /* DDTimerKit_Private-dummy.m */; }; - 6A81ABDBB4DC38B8AADC3DF2F53A888D /* ZLAlbumListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA5341CC5E3147C94AB1110A86D434A1 /* ZLAlbumListModel.swift */; }; - 6A90AB7810037EF09A1819D7B71E330E /* DDBaseViewModel.h in Headers */ = {isa = PBXBuildFile; fileRef = FCF57C1D146522E48A7EEA9AA297EF02 /* DDBaseViewModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A9EC3C99A882F88915BD329FD85D03A /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17F0B48EB7C62C9467E7D647E7E5C701 /* RxTableViewDataSourceType.swift */; }; - 6CB80E0E3A8AB7064405B2333D680001 /* JXCategoryFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = A84DE09CCC11F7CD9BA52AD791D74C9C /* JXCategoryFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6CC931646D2E1EBA9106EA0BC55D434E /* UIView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DEEB0A1E76125FB49FD5575003252EB /* UIView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6CDA21915F4586B1823FF8ACFC96747A /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C2DD96D94B33480141CD33D7564D0E1 /* ControlProperty+Driver.swift */; }; - 6CE153A8353153BEBD5941D99D0AA948 /* MJRefreshBackNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0637CE33914BC197AE69F612D152D488 /* MJRefreshBackNormalFooter.m */; }; - 6D492534BB9E2DB14B01257A33695CF5 /* ZFPortraitViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F2CF71799A5E230E34F7E1EE95EBE41 /* ZFPortraitViewController.m */; }; - 6D75852843B9BE87CC6EFA4F663A87D6 /* ZFSmallFloatControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B8710F9AC5232F5B7CC0354EDA54E8 /* ZFSmallFloatControlView.m */; }; - 6D8B1D4945DCEECA487075BEF2FC0DC7 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A17298BF441E0F25E58BD861854C2A6 /* Driver.swift */; }; - 6D8E6A17A45A4EA1D54A22F69B95AC7F /* ZLCameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6C9AC71396A13886768DAF49A2B40F /* ZLCameraCell.swift */; }; - 6E0056255590AF29EEA12A9719025309 /* UIColor+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57CB228E5D43D5F2D74740EEBECAAAC /* UIColor+ZLPhotoBrowser.swift */; }; - 6E285A3D314DE0DECF80546A5865EB34 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = C07DC7BB074239198CA2AA5E67CB54AB /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E571195DB6696DCD7A11A16D9DD765F /* ZLCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB5499479918C7AAE70099CFBB08D7C4 /* ZLCollectionViewFlowLayout.swift */; }; - 6E8267BF68A5C197D4EB8BC34C450987 /* ZLResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B11AD11EACED0833C99ABEB7FFAEBFA7 /* ZLResultModel.swift */; }; - 6F329291E9FB8EF90578801F87261E08 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8725FA1C93DACCF9BBF4A0683C2D440F /* NSButton+WebCache.m */; }; - 6F7F732D5CFA5F360B62BD76453979EE /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 518123CD2864BF9353C581D7DCFABE36 /* CombineLatest+arity.swift */; }; - 6F998A9AEDDD7366FE0EB30A42C2E32C /* DDBaseTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D59E6FB80756876AC41A8DB39AB7648 /* DDBaseTableViewCell.m */; }; - 6F99E2BF991F1F67BD38C6934B68DC07 /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = C9BB2B08343FC2F6E05DCCEB5D374A3E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6FDD9640CD571661B675B48F97B4BA23 /* UILabel+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = CDE2F5948EF5F76E4E5490C1BDEAE805 /* UILabel+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7011AA5DFE462C2CFC2743EABE527EBC /* ZFSpeedLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = C977ACA4AFB8B25147715F669A532B7A /* ZFSpeedLoadingView.m */; }; - 704561149DBBBDD2D481E242B79B1FB5 /* DDTimerObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A384DFFA8CDF0CD36E185BDDA873C37E /* DDTimerObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 70AE0363ACE9E14DDA1120DB60B5E0EC /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 67C3E3BA208F663F942C6C0A7758AE8E /* SDImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 70B6D81C3A8C102C1931501C523F263E /* ZFLandscapeWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 29127FC8D58201928F65FC47C03F110E /* ZFLandscapeWindow.m */; }; - 70B6FE4A37E2023C5833979592FE5EC7 /* JXCategoryIndicatorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0D5B3DA69B8A1EB3202E9916551AFB /* JXCategoryIndicatorCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 714040A06F1937DAF3E28B0AD5B74C21 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905308C5F0862D639CBDEEA2DEBA0F38 /* ObservableType+PrimitiveSequence.swift */; }; - 7168A587CF00336CC0C44FC8D27D6B66 /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71EE95AFC1A598411065F4380A2C617A /* UISearchBar+Rx.swift */; }; - 718B12AD3FD5F44645B82D7EB0724C52 /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5669AA45A9EEDDAF205EA5F5FC3709F /* UISearchController+Rx.swift */; }; - 718FEFD76EC61B72AE9C7DA2714A6334 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F03F4441D9C818900AE909D10AD49A /* Platform.Darwin.swift */; }; - 71AD4D21819BCF755B1D7B11F292D512 /* NSMutableParagraphStyle+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E7070515A83CC341D841996959072ACC /* NSMutableParagraphStyle+DDCategory.m */; }; - 71F16C75439B0599F907D5EAFEBADA4E /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1815691576E936229D71B170B61B51E /* Do.swift */; }; - 721E97A69F374CFAE329583AC28FFCF3 /* UIScrollView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = C7D379ADE76E8467A45DC74F01AF011B /* UIScrollView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7223B00496A695E25067CB5BD41B256C /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 208A326EA9C6B70C00A99CF4B4718698 /* Disposables.swift */; }; - 72262100C5916714144C2F6D27E40343 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61730E29F6F735A1BE072AEE87933D91 /* Rx.swift */; }; - 7248CD5CAAC5D0D6FF0F9D85CEF858BB /* ZLInputTextViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E6FE2B6B31B4400D2DECAD7E2C599E1 /* ZLInputTextViewController.swift */; }; - 725D740A38D5E761FCA71B67A4891E35 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 031837A6FE9FA6DB7DEBF6D26A766307 /* SDImageTransformer.m */; }; - 72AACF79D46DD4C0ED4D144B840E1F91 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69D5BBA437CFDB4295DC0C3950519A4D /* UIGestureRecognizer+Rx.swift */; }; - 7347E6690823F77C37B4DB85D84D22A8 /* ZFPlayerControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 00257CDC53E7411DD00B8B7D13C90DE7 /* ZFPlayerControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 73945F5394F485D66898305510756115 /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9781C797B43E5FC55BFF99EA95EB9E71 /* GradientView.swift */; }; - 73AB70D6B97E43420FB576C9D26039E6 /* JXCategoryIndicatorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = A615CB9A6B2205C360A689AEAAE96D54 /* JXCategoryIndicatorCellModel.m */; }; - 74972BEA7D6A0CE28CB3EFB11EF2DCAF /* FontUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4BF232B50ADCB60D50D62600432E7F /* FontUtil.swift */; }; - 74D9B8DD068330CF7E45798CBF98FA4A /* ZFIJKPlayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FCA8B66E83D344385EBF7FB29AC18EBA /* ZFIJKPlayerManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 74DD9CAE99A3118FCFF0E7BDF28DEB29 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C748222E930F63B48F2B93FDAEDCBCA /* RxCollectionViewDelegateProxy.swift */; }; - 756E1E9A85EDBD96D30C9BC8A7A3A090 /* ZLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71B3D71F408EDE136CBBFB3B205E76D9 /* ZLFilter.swift */; }; - 75A1DAD0A861EDBF654C93A2857D897E /* JXCategoryIndicatorDotLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 921F3E94E99466B3F2EEDFFAE9A18289 /* JXCategoryIndicatorDotLineView.m */; }; - 75A50A9B3FD4EF659C8E61546D270CF1 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 270215BAF27EE60E6F706702FB984C9E /* SDImageGIFCoder.m */; }; - 760760698F2B539B1A4A8C3FD74E607A /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 24410051C5E307C24C56C3335B418FF2 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76526FA48D1A6EA70431625F10C1361A /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE937EC2C51C0F57C368D998FA54A112 /* PublishRelay.swift */; }; - 765C8A7DB5223CDA8C6E5D333F2CDFC3 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 748BB1DB6EAECC67D4D73F077E64AAA6 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76CE02C1DDF73754EF809A4193D3495C /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DCE973E96BAB683283538BA4415167F /* AsyncLock.swift */; }; - 76E3A558AD358F70264733619F84737A /* SDFileAttributeHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D59B292C647A9948B4BC9990018AEC5 /* SDFileAttributeHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 777D599EE92E8693911A459685C7F332 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A15EE5A2B9983C9E4356CB92E183195A /* SectionedViewDataSourceType.swift */; }; - 78270987D9093E276EA12C698FC69D66 /* JXCategoryTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = A454A2C8FCB98799077B1E44521E8B3E /* JXCategoryTitleView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7847A704E618F99AC5564C938F124AA5 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2CD3FFA4345FF5CC3DF730CBD677B6B /* BinaryDisposable.swift */; }; - 785031B71ABACAC9C0BF541D7952E7D0 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = FC339C40C2F8ECB9DB3112F061D8CF40 /* SDImageCache.m */; }; - 7862592A925A99934E73D7B24F2895F7 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 37FFE786666F4F117875D90064508688 /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78804DF412F47FB525746D44F77F371D /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA01A6E20FF38EB89024711031BE74C /* SchedulerServices+Emulation.swift */; }; - 78B2931A79E21B1AF56F09DEFA4E42F9 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 30E8807653D14DD2266B0694899F4F4D /* UIView+WebCache.m */; }; - 78E8EB82B37C77E0CED7EB310ABDE236 /* ZFPlayerGestureControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E04C5ABF747A086D31BF630397DADF38 /* ZFPlayerGestureControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7928BF03967198F5CD7DAFD6D784F04F /* EKMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5446E77012E65A051C648874F3E2513 /* EKMessageContentView.swift */; }; - 79403C58DA1B5106F8104E1DEC5C2573 /* MABaseOverlay+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DDD1B2BB4DF04E5ECF2C7AF8C3EDF08 /* MABaseOverlay+DDCategory.m */; }; - 795FED16EEB4B05B3E37700009207E34 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD55BA9B48C8F8041A3826CB6F4D63F /* URLConvertible+URLRequestConvertible.swift */; }; - 79732A6532885C9A7DB87F999CE0BBDC /* MABaseOverlay+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 87FC369F276C543CB0E1A3A5AFF3A837 /* MABaseOverlay+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79902593EB590F1E0463213225F2E893 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF2512911715A0B3D628A1E3BB16CE5 /* Generate.swift */; }; - 79BBB0704A1D4B8AB66B87F6AF9BDDEC /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C6ED8AF5E90ED6478138B344B5D5E9 /* Debugging.swift */; }; - 79E028B32DC2E143BAC645CD4DE435D1 /* IQUIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D66381B5F339AA3F0FE373C9AD62CD51 /* IQUIView+Hierarchy.swift */; }; - 79FB13C8D3A4E1D1C297B963C574C0F5 /* ZLPhotoUIConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A50CEFDA0687C95EC61B27EEC31A9B /* ZLPhotoUIConfiguration.swift */; }; - 7A3B3E372DA33E8C48594BB13E7B308E /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 813F6C310E3587D8132D0082CD334FE5 /* UITableView+Rx.swift */; }; - 7A555437C6F5B1A9C728D7A8F2F3BE7C /* DDBaseCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D07B9FD87A751C8DF5DFEC1F7525E304 /* DDBaseCollectionView.m */; }; - 7A58B2D1083CC64F48605175B1B048C8 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 653BE9F1051FB0AC8D04F6F32313E836 /* ConstraintOffsetTarget.swift */; }; - 7A75A4AACF2EA2B8246DD37BC227E361 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198DC04144CBA6A32E8BA45889CF152E /* AnyObserver.swift */; }; - 7A77A3293538FFEBBB15FD88F7EECA93 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F5ACA2414AEE712D1ACA5C1EE3C366 /* ConnectableObservableType.swift */; }; - 7A8B0747E5A8A96ED66C1D708F66CFC4 /* ZLImageNavController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E085FC38F59BBE0A32DFC3BF1718F1A5 /* ZLImageNavController.swift */; }; - 7B1437FE5E98D55CD1607074C4AA29C6 /* JXCategoryIndicatorProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A8D8B1A42BD45891DB6179489AD828 /* JXCategoryIndicatorProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B1B85D4CBFA5F7BED145C1D5BCD0DE8 /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BD8DE8D0E7BE2117BAF4CD76536A4E /* ConstraintMakerRelatable.swift */; }; - 7B385A3BBFA5DF0F919ECC1525955E0C /* DDMALocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A09C312BB4DD540B0A8EF71B8ABA386F /* DDMALocationManager.m */; }; - 7B628D6BE786E7E212C05AF352E98232 /* NSURL+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = FEDD68B76874DFA5F819713CE810A383 /* NSURL+DDCategory.m */; }; - 7B708B9949DEE9168B4D10D22E04DEAE /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D1C4AA6F82692EFEA3FECF570F304C /* MJRefreshNormalHeader.m */; }; - 7B736FC0BBF3C32F32A585090944FC87 /* SwiftEntryKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E815F486354B346E94F8E60D67874BEB /* SwiftEntryKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7BAC5247AD928B776F8727F9FB4EE7AD /* ESTabBarItemBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1970F47DB11F1485D563BFD834DAF1B /* ESTabBarItemBadgeView.swift */; }; - 7C268EA30C39F532AC992D696FDF5024 /* DDNetworkingOfAlamofireKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E3D22B608945B6FF514CC37D8D650A58 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C3933F4EBA48B2234E0458328110B91 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8D5624F6905F46FBD5577A1FBC035 /* ConstraintMakerPrioritizable.swift */; }; - 7D079A25B5264F1227B452FCB3FC54D5 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 966E16A687DC93F02AAF387C056259B5 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7D7DC6BCB3ACB399640AA8217A254BA6 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AA8C0469D027698CEB004F38088B4B1 /* SerialDisposable.swift */; }; - 7D9B10E271DC6F5D5BC3F2D1E5BA7039 /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = C427D458815D2DACDAEF536EFCC26D10 /* Infallible+Create.swift */; }; - 7DF302A2DB5B660FE70888DA0EE0F286 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049546AE2D69246DA5C5838EC8A75EC2 /* SharedSequence.swift */; }; - 7E087F9A6D1B621A0EFB8764BBBD4B20 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DE271E9026637BAF39A3320647E88F2 /* ElementAt.swift */; }; - 7E5A43683952F26781D57C4CC12F4CCE /* MJRefreshConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF212570173475918737F0157DCD1F /* MJRefreshConfig.m */; }; - 7E7A9F47A061A7D46AB1F401E90429F2 /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = DF8703E15C5AACE119A44ADE5F2DCBF3 /* SDDiskCache.m */; }; - 7EA4D4DAB19F8B4A1BE641F9A803B3A4 /* JXCategoryNumberCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61050A2A3084F4E34A20F4D7D72AF6 /* JXCategoryNumberCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F60A19D3B83E8A56DD7778844101265 /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9211D1E5A9E9ADA94FA6F36EBBD6C69B /* WKWebView+Rx.swift */; }; - 7F72BC2B49C24422B90CDD5D9F8402F2 /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 419EF9BE4CB6783AF29FBF2DB73FBE58 /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F87DDA52B40F5252EB2DE162C33BAC0 /* MJRefreshGifHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D79775F2A42B4043C03F10F1752C5F7 /* MJRefreshGifHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7FCA7DF486BC1220F21964FCD6B1A3C3 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B2E4061F11E1EA28782ED15945358 /* RxPickerViewDataSourceProxy.swift */; }; - 80141B208065FE781FF8AB8F850FCE31 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0FD4C321960EEE6DD63AD6C27FFE00 /* Signal+Subscription.swift */; }; - 8018E5D0017B04D04B3E09473C0A24D8 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC65021380BDE610F542575C28002F9 /* PriorityQueue.swift */; }; - 807357E0D8B429C410617DCD42E83C73 /* JXCategoryTitleCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC23B2D54EECEB52CCE2F2CC7B3D36D /* JXCategoryTitleCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 80FC51129F0C4BDACF75723CAD51B1C1 /* ZFSpeedLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF5A4A690EBD2EFB0302229151A50E4 /* ZFSpeedLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 813B683458C65465624988D928272B44 /* ZLPhotoBrowser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95C00C565F380008DE13EE2EA336630A /* ZLPhotoBrowser-dummy.m */; }; - 819863FBD51B104B8D66432AC67C05C6 /* MJRefreshFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 73AF0ACD82FCD087067C42D8DACDAF22 /* MJRefreshFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 81A7AD8BFF0B7E6291B02D1AB2CF505A /* ZFPersentInteractiveTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 347C0076DEC0BB5A07137B78524E04C3 /* ZFPersentInteractiveTransition.m */; }; - 81B24717BFCD424C3874D855D9F4BF32 /* EKNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C6EA2E8F4430153FB0CBB07B761F1F /* EKNoteMessageView.swift */; }; - 81B7DA4E34BD7FDCFBE8B2CF16335996 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA5B6E0EEEB3D115ED16F5BE81F393D6 /* UICollectionView+Rx.swift */; }; - 81C2D503F2ECEB1331D541797699B6C1 /* ESTabBarItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A851FFDD2FC740B4366B48BAF8380EB /* ESTabBarItem.swift */; }; - 81DDF3AC3E4831357412BAF122E5456E /* EKAccessoryNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F2E7855DD23E12C990502A4702ED070 /* EKAccessoryNoteMessageView.swift */; }; - 8220B550020CCF8983DF5B8252C732F1 /* MJRefreshNormalTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = 79BE26D8EEF45461D2CD0155D6F836A2 /* MJRefreshNormalTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 82BBE2F159943E19A69BD99EBE48D100 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 78E4D5D9061137C3840627DC7A22F6E6 /* SDWebImageOptionsProcessor.m */; }; - 82D294963701E49B0022232C893F756C /* DDBaseTabBarController.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E61FF3E31D880F908200A0FAE04D3B /* DDBaseTabBarController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 83D0FF7A837ABA4E7B712358AF55AF52 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 99A62C47EA5F142B96247DD76F5FB2FA /* NSImage+Compatibility.m */; }; - 83EB9A550FC79DE42E3003E39DEFAEB8 /* DDLogKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E158078F914247606BD5C50D62DB6D /* DDLogKit_Private-dummy.m */; }; - 840B27BBD5508D3F123308CABDDFD524 /* MATraceReplayOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = FD8E4E2824EAB6B2BA3BF0799C9BF4FE /* MATraceReplayOverlay.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84BC5434F8367126E554E82ED3592547 /* DDTimerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4476265B1F808102F32AC298F2611C /* DDTimerManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8505471A71505E2BA003E64FC0D09DFE /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF49441432353AADD613A3619C9DB59 /* _RX.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85A96DED83E5FBF923823F46106F6836 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDAFDD618BF550A599E1A8A8F78E9301 /* RxCocoa.swift */; }; - 85E9A0412761EE97B0F14C8506738BF5 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE32D2ADA8C2E778E0CEA3C761119CC8 /* Session.swift */; }; - 8627501CCE7EF89EE53F8E891D6AE31C /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECAD1B1F70EF1AB26421154EF6FDCDB6 /* Buffer.swift */; }; - 862E9D10C50CBB0D339039294989DEF7 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BCED3633699245A942F59210469022C /* _RXObjCRuntime.m */; }; - 865ACC100F9BB256DA7C7F66FC85AF8B /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4DABC79EF73794D559D11226D74E985 /* ItemEvents.swift */; }; - 86BACE0D784445DFCD937FF106BD0C42 /* EKButtonBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41064A94194F7191F85D64A6943EC379 /* EKButtonBarView.swift */; }; - 86FDA11CE9FA4F78C10FF4EFD30E6A1F /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A611919ACFBC90E57197827857F43A /* NSControl+Rx.swift */; }; - 876F4BD3C63DD111FDC0C8A56D70B1AE /* ZFNetworkSpeedMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 313BA2413E18C186F215E2194646CB41 /* ZFNetworkSpeedMonitor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8776F9D9CDA443D35E473576EB3194C5 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67065C000F264388D70142FA26E93F82 /* UIBarButtonItem+Rx.swift */; }; - 878914063ACAA2126B18E1DE5285F827 /* EKBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F83784656FA2501DB6AE967A4B117DDC /* EKBackgroundView.swift */; }; - 8791DC308884A90A38BD939A3C382FA5 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 00662F4DA25B60EAA6A748E6347472E8 /* SDMemoryCache.m */; }; - 8807E35A0188E69A7B79476779342380 /* ZFVolumeBrightnessView.h in Headers */ = {isa = PBXBuildFile; fileRef = CFBAE3B953FAB8519A0D069E74F1AD95 /* ZFVolumeBrightnessView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 885031037B7CD4BEA92D1497F7781C76 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = 82667D5B8675B8C43444121CEFAF2C43 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88A50BF727099AC5CAC16CD4C99B4861 /* DriveRouteCustomAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84A7511A332C54E935D5AC0AB33FE5E5 /* DriveRouteCustomAnnotation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 892A2CDE39CD694BF836090D02AAAE4D /* ZLEditVideoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4807DC95FB8C4F8B7678DCBF9370900E /* ZLEditVideoViewController.swift */; }; - 89A74579487C25538D71E1B38643774B /* DDToastKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B8405C7EAB0498644B815AAC4D1B6FC3 /* DDToastKit_Private-dummy.m */; }; - 89AAAFB1FDC1EBA0E7962C53E5F6D34A /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41068E0465DBA0197798A284D433A385 /* Delay.swift */; }; - 8A2BB0C70E6AD03FAE785E11B8994109 /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = A86803CA59904D98C1BBF8F503A28D68 /* Date+Dispatch.swift */; }; - 8A2BC1D6114D08F03E5D6CBD66814AD4 /* JXCategoryIndicatorBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 663D9CC5B894B88B9FD06CC237A71651 /* JXCategoryIndicatorBallView.m */; }; - 8A36A9064A1796CBA330FEDBAD147348 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A7D80C1458EED48CE37A904B6E2A1C2 /* SDWebImageError.m */; }; - 8A3BCFF83EB0F7B76C09EC9169F2046C /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C91497524DD5BFEDC9EFAFD029D312 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8A9DFB8E2AB590F6A1C2E1628F854293 /* IQNSArray+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26F34E8B6ED13862BF710C2B32F82048 /* IQNSArray+Sort.swift */; }; - 8AB9F2CA2D3182D18A6C8AD9CAC6D372 /* DDSwiftLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB8CF011209213DE76C7F12D6097C11E /* DDSwiftLog.swift */; }; - 8ACB6150ABD5A4BE4CDA42F23E090C9F /* IQKeyboardManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4F334EC664074DAFA36EF236B3D3DC /* IQKeyboardManager+Toolbar.swift */; }; - 8AE15BE648BEEA0A98F2AC4AE497BB96 /* JXCategoryTitleImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 67788FE7FBDBC7140FED13AB7EE5AF18 /* JXCategoryTitleImageCell.m */; }; - 8B0B152593E3CCDD7456DD63125F38AB /* ESTabBarController-swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A96D44B80709B17AF6D5CD258437126 /* ESTabBarController-swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B614A2389A6A7A85568F9D28F3C3727 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EEBF0ED54521BD47B2D289ED339C55 /* AddRef.swift */; }; - 8B7996264A46C83B41BED84333C707D4 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15D6BA9EEFDEEF9CCCC8FC7E82D67804 /* ResponseSerialization.swift */; }; - 8B7D57E3FCE49F2518B7AE0E6B5D2B96 /* SharedSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6BC09B9E499C7B6740FA76E7A387E7C /* SharedSequence+Concurrency.swift */; }; - 8BAD04052E210723CC24D737216D8BDD /* DDFontKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D0CDF0E4E2F1C088723A932EF7287D12 /* DDFontKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BF55823101A3DABEBCC4DBB679D6D69 /* ESTabBarController-swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF18D6BA148903B65C6D1AAABCE41DE /* ESTabBarController-swift-dummy.m */; }; - 8C35B5BAA36F209375286B3C3D2F7103 /* SDAnimatedImagePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E75EA48C375542518B6FAAF7152FDA1 /* SDAnimatedImagePlayer.m */; }; - 8C410A2ED4C48AE8304CB81EBBE58725 /* UIView+Responder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2ADBDCE0E67450DA4405BA7567BA35D /* UIView+Responder.swift */; }; - 8CCEA9CC39354864D59E41672513B5D1 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DD45BA2A6EA209B7E418B11E5564A3A /* Result+Alamofire.swift */; }; - 8DE19A78CB22C3A938AA54381334F6B1 /* JXCategoryIndicatorLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6305D964E18FE87C797A5C2FD354860A /* JXCategoryIndicatorLineView.m */; }; - 8DED9DBAFF5E9CEDE74B3A1C3144633B /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3530D9C328D172A5E9E52705CE33873F /* SnapKit-dummy.m */; }; - 8E04134529985568DCFB8818BBBB7F5C /* UIEdgeInsets+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C5F51CBD07626BCBD5E758A70D036D /* UIEdgeInsets+Utils.swift */; }; - 8E5256AFC173BF710216F67AA68F5CDB /* DDAF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A70FD457784DA34D4D7D48DF315F2F4 /* DDAF.swift */; }; - 8E8F09AD96271039CB19EDAF7F40D5C2 /* MJRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = E241B71AB1CC506D419A7EC8FFB99ADB /* MJRefreshComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8E9422DF54BCC99CA32573ECA23B7DAC /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C7F27378D5F58EFED6939B2158F713E /* UISlider+Rx.swift */; }; - 8EE2005703426DFB542B34D09AF24A80 /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3609EE554BB3D89F33695B3AD6BCE0 /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F21AA61AEAEE275B82C922F4CFEFC13 /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CFD85E04C9F37619C4403DBC621FE41 /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F40C77612174BAE8C1E2F0D0900B179 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2013EAFEE01281A5A27141273E6254CA /* Dematerialize.swift */; }; - 8F5EE8A86580C3CBB943CFF31888FCBE /* DDBaseLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E20C3C871989346D8B72A4D649C1476D /* DDBaseLabel.m */; }; - 8FA98CB7E5B912CAB92BC78003150B48 /* ZLPhotoPreviewPopInteractiveTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5C7412A60E5D3158BF0ADABEF2215C /* ZLPhotoPreviewPopInteractiveTransition.swift */; }; - 8FDC5A87ADCE07FF3E3F1EFB7613CD1A /* NSObject+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C27622A58C8B6DF947096DB8C5F2C27 /* NSObject+DDCategory.m */; }; - 90247CFDC267CC8BFACC881FBC3C3233 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66843C6EAED70171F5724F6D55D583CE /* ObservableType.swift */; }; - 90A692D45F5F2537EB0856B3169C97C4 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F910859BD4B8C52A2D0186E96A47368D /* RedirectHandler.swift */; }; - 90B15A331091D1C228BFC5F60D4E45F8 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CB61CFEE5E63D926E49AC8024C6FDAB0 /* UIImageView+WebCache.m */; }; - 90B9AD190EA21E5F1178C6EECBBB4816 /* DDViewControllerAnimatedTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCB4438676C9443FDBD11D667940A30 /* DDViewControllerAnimatedTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90C6480C4262B9CC1A61A3B7E437CCC5 /* SDDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F5CABA123490D4070674BFB696C67E4 /* SDDisplayLink.m */; }; - 90D5A68E1EF23552D670E47D3B23AE4F /* JXCategoryIndicatorBackgroundView.h in Headers */ = {isa = PBXBuildFile; fileRef = C45D000702D216C20DC0A6C3F36FE23C /* JXCategoryIndicatorBackgroundView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 912730E60972BAAE7DA4D98C42DD1B2C /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = C187A19F7534C1425E776B316374DE8F /* ReplayRelay.swift */; }; - 918DCF83A321043687D0EC792EA9B873 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E4B0243FD34029F41616C0DC0078EA /* BehaviorRelay+Driver.swift */; }; - 9192B0E784D86E864323A0099D5DF9CD /* EKAttributes+PopBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A60422D889F7E1EBF46471F13714391 /* EKAttributes+PopBehavior.swift */; }; - 91E7BBF8F1A4202B3E4781E312E2B3A0 /* JXCategoryViewAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 76A32A87B597F8FEF9BFB976DCF1D24F /* JXCategoryViewAnimator.m */; }; - 92B93FFA25205F6728C871EC199C940F /* JXCategoryTitleImageCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C5DFA80FB0E14429FAE0675C4E90C70 /* JXCategoryTitleImageCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 92BAD4420B04D7F6A5243D5810D729BF /* EKPopUpMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FED3277627CB31B80D833E787B106378 /* EKPopUpMessage.swift */; }; - 92EFB720D893286C8BA11156EECEB7FA /* EKAttributes+Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEDB2515BA33F0F0816E4596638A245F /* EKAttributes+Duration.swift */; }; - 92F90BB8342AA192D7C08520F4CCF266 /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394570F9DDF81CD9B94EFE0886DBD34F /* CachedResponseHandler.swift */; }; - 9348C310A4D8EE0038C25AA32FF0B240 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = FC46BB03131E5E9E492F9CD7E63C7CB1 /* SDInternalMacros.m */; }; - 934A47F0CA3CE8D65B9C4547C263D0CF /* DDMAGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = E6076C4ED2EA481C1EB7A7618021A959 /* DDMAGeometry.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93721C8F9CF4BDA2AB57C3967D748173 /* NSBundle+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 01193E2DB086753DA5AA71A6D347511F /* NSBundle+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9382CEC3FAFA9B3E6F5C78B9663D9E48 /* RTLManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E639A11168F792B080B33FC449133FAB /* RTLManager.m */; }; - 93D18BDA44F77F52F4B54B750D8A6394 /* ZFVolumeBrightnessView.m in Sources */ = {isa = PBXBuildFile; fileRef = F0D7DE153DDDC520A02D60EC9314D9CE /* ZFVolumeBrightnessView.m */; }; - 9405386260D2B750EEE43A8686608E91 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DD2FD2E3BC2DB13C32E3C54B9D5C40 /* Zip.swift */; }; - 94320BBAFDD9941EB31F86FDE3E60B75 /* DDCategoryKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CBA498E8511AF29C34084CF8B84D3234 /* DDCategoryKit_Private-dummy.m */; }; - 945E9C3CC9AE13374B957C45F7ED6523 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37419015D2FB2786D8DEE83BB5EBDF64 /* ConstraintLayoutGuide+Extensions.swift */; }; - 94C181395A8BE03BBEFF0D774EEB1CA7 /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282D19080AF20F9B1BA46222C48E79C6 /* PrimitiveSequence.swift */; }; - 951371DF78512514FEF71B4F6FD34EFD /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F6AAFCEA85426C0BA2E6B812976B4495 /* UIView+WebCacheOperation.m */; }; - 957DAA54D070E5B18B4E63E09AB6F710 /* DDButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AFC80F41FA2D3BD5BBE590D190844EF /* DDButton.swift */; }; - 95A1DC6EF5C9745D9ADF846DF3CF369F /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE6A96882AC069BBD48F5F4CC3FC6CA /* MBProgressHUD.m */; }; - 95A2AC17D9936524C874ACAE4A6E4A1B /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2874484DB0A3A35CDC391EAFE70B3BFA /* RxNavigationControllerDelegateProxy.swift */; }; - 95A54FB0F3102527D116AF34B131A747 /* DDBaseImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = AB25F6E0D99E2BBFBA2B8783348F9B11 /* DDBaseImageView.m */; }; - 95BA5807492A4AF2BCCFBFAC531CA9D8 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AB783FF249674C2DCA72A637C95A09D /* DisposeBase.swift */; }; - 95D6B375856547576214D45BAFD14C34 /* SwiftToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A6B8A60505AAC4D33D7CC0A4311A195 /* SwiftToast.swift */; }; - 95F17E0FC83301E67165E1F90C5AA5A4 /* ESTabBarItemContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C32556B7118AF696249225F0A517348 /* ESTabBarItemContainer.swift */; }; - 9608E323C617DBB486D89685D7267DB4 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 33864E7FE4618F867F0D52B425BE2A89 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 963DE0F758F48FB19394E60E3D1BD7AB /* DDBaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 827D8783BB6345B7C7A5EA7BA9BE2D94 /* DDBaseView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 96E4B9E2601F91643C19484CB4FF061E /* MATraceReplayOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 6741C57460124218FAE6BFDF8A1F14FB /* MATraceReplayOverlay.m */; }; - 96E6C43C53A01AE1C7673BDFEC4DC76B /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76FAFA8931DDDC485CC2BF0225EEBE28 /* SynchronizedDisposeType.swift */; }; - 971245CD46BFE06B4FF838938725FE3D /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 181826E1D0ADF935A7E686C762462C7C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 972B1CCFF177404921ED4A3D12A33F00 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEEF4B8CA0969CE54C8317610E903939 /* First.swift */; }; - 973B2A5036AC6C657C3FF4F7B0225522 /* DDBaseNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5C56A9BFFAA90DED7DEC6B31223DE3D /* DDBaseNavigationController.m */; }; - 9773847629F2F105580593407D661685 /* JXCategoryIndicatorComponentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 803F891D2788EC97DE6ACB80C74B862C /* JXCategoryIndicatorComponentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 97BDF23C8E9038148496525214A838D6 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61791E227983B70E7D756E3872BF12C3 /* IQBarButtonItem.swift */; }; - 97CF24324EFE30D5AA2A345F03D49922 /* DDBaseTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 424F5813A5DD5E9D00807E1211C07D11 /* DDBaseTextField.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 982018F9943EA721B176DED187A3F4B4 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA388F6B7624A40ECFB8B0637F0324E8 /* Signal.swift */; }; - 983C31E06D6E4D7B9C87126A26D535E5 /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 37B6FC71CAEE8CABAE8792BA19335D56 /* SDAnimatedImage.m */; }; - 9842B2D9C892C0A9E6B69A2AC78AA5F1 /* JXCategoryCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 384994743AC9F75E27A3CDA4F1A47799 /* JXCategoryCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 98D1ACCBF6425DE78465EC9D323030B8 /* ZFLandScapeControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = CFE3C042721479245305B79C90CDE196 /* ZFLandScapeControlView.m */; }; - 99052A7FD46935C7F9A760467213583D /* EKRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D38EEAEF315A2DD27F9AAE8B9A3BC088 /* EKRootViewController.swift */; }; - 997DB62F7C251C04E2548F73C945E9EE /* SwiftEntryKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 27309093A7F1D490ACA8CA5F9A42F1AC /* SwiftEntryKit-dummy.m */; }; - 99EF30562A31AD676C542693E91F0EE7 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FBE818D0EFDEFE0E5A9C609A0CF7DF3 /* SDImageGraphics.m */; }; - 9A258A01E679FC91809CB0E4CEE2BEC4 /* UIColor+SDHexString.m in Sources */ = {isa = PBXBuildFile; fileRef = DCAAA1A68E2CC67F36E9382AFE2D861A /* UIColor+SDHexString.m */; }; - 9AAB305EEEDD5680F4A4A00456F138B3 /* DDBaseViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 33B95914A89EBCDBD86D04944B5B9EEA /* DDBaseViewModel.m */; }; - 9AC5FC3E6E1F1B05501E1D07E0BC28C9 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CD648B156D2E4123C2C343ADEAC20C0 /* Using.swift */; }; - 9ACCADABE04C5FBF041953A5CC27B8D5 /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 75290406963A318E803AF8EACD628DF4 /* SDImageHEICCoder.m */; }; - 9B06B23C0DD30320D27A0AFF3523DD08 /* UIViewArray+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD28906C87A46ED4F4524C51036B55EE /* UIViewArray+QuickLayout.swift */; }; - 9B09741472416487EE81F386B6C9355B /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 667969625420EC6DE948A4AB786C3AD2 /* UIImage+MultiFormat.m */; }; - 9B5100395827615651D86B4C60B15EE3 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DB43169300F19C3F024AC479DE04767 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9B56C88A1A26C2AF157005389DC79D89 /* UIColor+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7486AC6796E141A57182236E57AD54C /* UIColor+Utils.swift */; }; - 9C39E63E7EFAC9207F7ABCEEF02991B4 /* DDBaseViewController.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EFF157C9C98D26B2B75B85C92D8AE8C2 /* DDBaseViewController.xcassets */; }; - 9CF7F93C09CD223D8A4AEFDE6500448B /* IQKeyboardManagerConstantsInternal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59D3583760F4609DA9EAFFC1C7B1BE0B /* IQKeyboardManagerConstantsInternal.swift */; }; - 9D1793C55417A6E6F7B9FAE5D20E9117 /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 128C9E668234BBCE22D2853342DBC41E /* RxRelay-dummy.m */; }; - 9D3141A5F02E6E1D67CCD72A376113EC /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AE5362F4592E63A0E24BDE44E9B42ED /* RecursiveScheduler.swift */; }; - 9DC90F2EFC4727920E1553241B68DFF1 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 71AB1A031D043B30D99E49690ED3F80D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9DDBD070D8F28D3645E88F93FC7E98B6 /* MJRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F7D66775E00968277373F1820C28F35E /* MJRefresh-dummy.m */; }; - 9E1FF64ECBEF9CA8C3A2B1B584716C2C /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = E178C77CEFEDFA25846860B670FB30D2 /* SDImageAPNGCoder.m */; }; - 9E278CF7CCA7053B8B9F9599C33DC02B /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8664ED1B2E901F6B41B7265AB84506C5 /* SDImageCachesManagerOperation.m */; }; - 9EA9DCA38AE8140DAA4900C68F0EA575 /* SDGraphicsImageRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = EB964CF858EE225503EE17DEA69FA1A5 /* SDGraphicsImageRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9ECF42D1324F716832C4CB78502B7FF4 /* JXCategoryTitleVerticalZoomCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = BBA0FBA4BAA61EDFD82039DE96807D9A /* JXCategoryTitleVerticalZoomCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9EF1E4C365CA76114EBD310FACC88668 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = F228F5EA0C26FB01EF43F01DD9C0086C /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9F1A9C17629B0FED4F5BE452442F3B5E /* MATraceReplayOverlayRender.m in Sources */ = {isa = PBXBuildFile; fileRef = 53797366CA62EDC29999EEC6F78FEF98 /* MATraceReplayOverlayRender.m */; }; - 9F3385E2B8DCE658F07D586F04FB5CC9 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC5828DBF304CC18AFF4DB339965BF7 /* ControlEvent+Signal.swift */; }; - 9F4C05698CFCEEAABC6CCC3093CE942B /* UIFont+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 779DA9E9A107C88A96F5CD2E19933DE7 /* UIFont+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9F77F23C82AD7A280997AB8CE1026694 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA3A2761EDCB9294D6DF93CDFD4FEAF6 /* IQKeyboardManager+Internal.swift */; }; - 9F9210CD851E076E6C5C1963F3F7F0BD /* SDWebImageTransitionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D7547CC7CFB8C217BE9D1B03A5E89CF9 /* SDWebImageTransitionInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9FE3FCF5816BE354A387DA99CE64BB16 /* ZLAlbumListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7325F9F0795CB1412150D7C078F378CB /* ZLAlbumListCell.swift */; }; - 9FF5CE9C512F8C464978A1E3A0738850 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA65439CC45CC46BEEFC2F6AF289CAF /* ScheduledDisposable.swift */; }; - A07BA82EBAFD79669D9EF1118D658F0E /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB28E56457E9908A2BADBEEE7F587F80 /* UINavigationController+Rx.swift */; }; - A0C1B45DA29A58D0BFF28129F0965A3E /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC7BCD1812B821E5F06595D29FE590 /* DelegateProxy.swift */; }; - A0C26DE9980DFFF397D73B60047492E3 /* UIView+ZFFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = D17E7AD20B4509C25300DFCCFCAE2677 /* UIView+ZFFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A0D722F2C2E041757A96ABBE6EEF644A /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = F41D3E1FD86B1D7D1DCBEB3E6BAD7D30 /* SDWebImageDownloader.m */; }; - A0F05798AA7269C371264DFD7BDB1904 /* IQKeyboardReturnKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E7F440D1D3ABCFEECA0BF4F45C70C1 /* IQKeyboardReturnKeyHandler.swift */; }; - A1355E1BBE3731F83CB38B9055E2372B /* JXCategoryDotCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93B2C843A3BD08681E9C6D7B4A57BC9F /* JXCategoryDotCell.m */; }; - A1540B6250A565E9F4FA071822F86C70 /* EKAttributes+Precedence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A41E654289BAD1E62B7744A07C80983D /* EKAttributes+Precedence.swift */; }; - A1949F2B9289F7954C77D3E23621727C /* SDImageAWebPCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 716BF48456AAC3B160433F522407F42C /* SDImageAWebPCoder.m */; }; - A23BC3446525B05E6857BFB36D273FD9 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EA671FB9E889EDCE0789CA1CFA71F64 /* ConstraintPriority.swift */; }; - A252AF7657AE77B71C86CB9DD16C7ECD /* ZLBaseStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD3239F0BB80CD66E07CDFAA1F7C7665 /* ZLBaseStickerView.swift */; }; - A254EEEE1080168B974C7A51EE1720FE /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 729B4A35FE50FA2C52E97EFD6D71D8EF /* _RXDelegateProxy.m */; }; - A2594BB6D1B5A1C5F7652550BD4D5CFE /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 42F1F8A90648A57000C2E53206F0B6D9 /* SDImageFrame.m */; }; - A2EF4A22909B4F00632D584DFC1AF84E /* JXCategoryImageCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B85081E24B9B538EF7BF75AEE7CAD46A /* JXCategoryImageCellModel.m */; }; - A340546632D10905379CFF17E52381D8 /* UICollectionViewLayout+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = E48D32258894863E3A3C80BBD72250A9 /* UICollectionViewLayout+MJRefresh.m */; }; - A3614B7735695DD47BD1BC18CC9610ED /* EKAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F94E7C30AF4113D40F033CE1251D8D9C /* EKAttributes.swift */; }; - A387D29F3E92B11DBF691695607E204A /* DDBaseButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F9487F721F5E52BC459A280CD0CEE2F5 /* DDBaseButton.m */; }; - A3B1C5058E6D1A9BC138D3265F4914F6 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = D1C5B886154DDD4E0E621E5C00B65F89 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3C898BEB49E9B17FD3A824DE6FAC3F8 /* UITableViewCell+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DA22E9EAA33A9250A987DB225AE618E /* UITableViewCell+DDCategory.m */; }; - A424E963577F7FFAE5C6C112830241AE /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 94BDD6AB182AF707EE218C2F7956DBE2 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A47EB127A6E0739557B4802A87E11FE7 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0078DE8F9417033DDF8FE1BEB7B92C3C /* Map.swift */; }; - A4F5D88B59368643BEA04468893D1221 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E275EDBD1EBEA831F0CF651123E68DA /* Platform.Linux.swift */; }; - A5476425D3C5D6705F6FBD0E515FCD7A /* DriveRouteCustomAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9218AE1DDF28858CC993CF0588C28CCF /* DriveRouteCustomAnnotationView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5821D2212C003710A5C38D9664B78C3 /* DDAutoUIKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FD44EAAED1E671A7BCD36F1D66F6F343 /* DDAutoUIKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5ADCEB47AD35B2837432D89A38F1EB3 /* JXCategoryTitleImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE074B9498B78418C3AF7D78F32BDE0 /* JXCategoryTitleImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5D8C7BBD456F1AA14C0F68DECF8853F /* Infallible+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C1CA2F57A4346CBE7A18CFE5FB264B /* Infallible+Concurrency.swift */; }; - A5DF3BEAD02F2529DDA2F302CECD3AC5 /* MJRefreshConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B71D4B70FBFDFE5B3B5466E2B0A8B9E /* MJRefreshConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5F795CDE7E9E958CDA4F860E66A4036 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D442EFD74FBFE6317BA17E473F3D58B /* SerialDispatchQueueScheduler.swift */; }; - A5FBC4300B4ABFAD6D946894FFF20CE1 /* JXCategoryIndicatorTriangleView.m in Sources */ = {isa = PBXBuildFile; fileRef = DECDC9C087DB559C43AA1BB4BC070F11 /* JXCategoryIndicatorTriangleView.m */; }; - A633C2F82C4975DD22E150A795CD00DD /* IQUITextFieldView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BE385C4035EE2E56664FF35189A5E03 /* IQUITextFieldView+Additions.swift */; }; - A661A54FB0BE0E81281BDCD7009CA8B4 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95894F130F7AA2F134A3BD7CCF5ABF78 /* PriorityQueue.swift */; }; - A69BD642F651597A508BFFC52465D14F /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2FFC04BFBF0CBED9AA4E9BF57AE514A /* UIRefreshControl+Rx.swift */; }; - A6EAC1E0ACC363F33EE2B1D9A908EB9D /* UIColor+JXAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 530C188C2800BC141A0D3DA7E5DEFD70 /* UIColor+JXAdd.m */; }; - A71B9809FA82EE0CE142382FD6162BAB /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 80BF1F9CFB9B8752DE1B9089BA5AB4C6 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A767F6B2A7BD50B38673FDE64A2DC9E1 /* DDProgressHUDKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B6C883C3324294052FC3299E85375C4 /* DDProgressHUDKit_Private-dummy.m */; }; - A7B7885BEEF30EA7BDCDB2AFBB0FAD18 /* DDBaseCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D114F395E51127CF5ECDB366D2A4DEE /* DDBaseCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A7C1EC0054ECE0EF2F2CB1B561C23590 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 531FAEA37CD7FEE5EF55FA16C55B238B /* SDImageCoder.m */; }; - A800CDAB64BB49B835120199FDDF7EE9 /* ZLThumbnailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B6C9FC55421EC0891EEB77051191F0 /* ZLThumbnailViewController.swift */; }; - A8046890340F247D5EF036A8C232981C /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 385FE6D9FEA4E825C5CE500B4F2D5452 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A828254620582CC1AC5D705BC77294D2 /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 04AF73BC09A5F52479D3B555C12ABDE1 /* SDImageIOAnimatedCoder.m */; }; - A82F0D4FB1D81AFA125ED8972A4CC3A0 /* MJRefreshTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = EC0A77D615174ABF6E8E44E65032BD51 /* MJRefreshTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A83C6B27C33EC2032F63E67E76F85FB0 /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A894F8F6802090FDB5911EBF1C17689 /* WithLatestFrom.swift */; }; - A84134EBA63FFA7DD0298D52DF856CE2 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30839F4CA2C472A4EFC81A353C0EDCD0 /* CurrentThreadScheduler.swift */; }; - A86F0917C4049E9C60D06C8446F81E6A /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B749E3C431FC2E72C48A7D27EC67CEFC /* OperationQueueScheduler.swift */; }; - A8703F0CD0021F789AF4F30E639B24DD /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E224AD503FE144840909E9274EA5F9 /* Empty.swift */; }; - A9287B485E49EFFB8DE08945AECF14D8 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C0CEF207216535BC2D646F46790388 /* RxTarget.swift */; }; - A9C487E07228E6936986478C2613E24E /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22A98BB6EF454F042A642F277FE34C9F /* LayoutConstraintItem.swift */; }; - AA0B700D7499FDD27E65E53F8FD2DEBE /* QLUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD48561C5513231F3940349131F5CFD9 /* QLUtils.swift */; }; - AA2F5057A0230149F7E204ED7843F232 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 801CF86B61B8D3662503E065018435E6 /* Range.swift */; }; - AA624D3EE03B4A895DC1FFE446ABCC0D /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 730A0DDF48D4CDDB8BB1378A1DD6EAD4 /* RxTableViewReactiveArrayDataSource.swift */; }; - AA746263F9F91D7166646A793B566018 /* DDBaseTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 164E3E51174825E5EFCCA51D9A1EC788 /* DDBaseTextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA784C9DF28B59B430B80948F5DD0A84 /* UITableView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 36775DB63F8830B51329D407EC250ACA /* UITableView+DDCategory.m */; }; - AAA51B9D97A6385BFCD0BE040F9695E2 /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A4D674B291CADFF476B81EB524D1364 /* StringEncoding+Alamofire.swift */; }; - AAC304321AC76D2C680F473FA3A23C12 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BE84043D8B731BC3F9E751E80A4E6C64 /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AAE47673FBBFDAC8C28BC40A786F9B73 /* ZLPhotoPreviewAnimatedTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DEE2FAE47BF7AD86130215490E180B1 /* ZLPhotoPreviewAnimatedTransition.swift */; }; - AB0A7FC1637EC80FF292A7497915811D /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 561EC9FEB48CCE69B0E0E07CF2DD068C /* RequestInterceptor.swift */; }; - AB27097A5281026FFAD9A3330BBE0195 /* Sources_DDMAMap in Resources */ = {isa = PBXBuildFile; fileRef = 3B3AFF81F7F9BA120A787EAACA759CFC /* Sources_DDMAMap */; }; - AB66A717522F7B9068399120DDBC5025 /* DDBaseImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F204A4B7D209E2960CD8DB36DB9DAE5 /* DDBaseImage.m */; }; - ABF58857A9ED236CD5B387FF0C56FFC0 /* NSBundle+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 96CB71287DC47764EA3D00DFF00A504B /* NSBundle+MJRefresh.m */; }; - AC128BF52E4D00EFC523B3779B9B7FB6 /* MJRefreshStateTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69801524D244E6009A56696B3054FD7A /* MJRefreshStateTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC5D61774CD2638768862FD2934B6027 /* MATraceReplayOverlayRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 62C3A20ACC97D735DC973538555F83FD /* MATraceReplayOverlayRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ACE0BD363363C792B176AAFF495B0369 /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = A35899FB046A3FF6D8BB8E334801F016 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD15544BE46B5A08FD02FBD48D4A2520 /* ZFFloatView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CF0191F1FD51A0714A5FAB29D3E7BBA /* ZFFloatView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD2D8BB58CB2F0FF6423A016D14516F5 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = F695846CFE7F772C3CAE8CB10A598038 /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD428E45B5793B370BC9084A07D2BDB5 /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2872E11E1C1649690A1AE0E1D0289464 /* UIDatePicker+Rx.swift */; }; - ADA26D9BD8D714E1B3F6E424BB94E6B7 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E6D8DA4ADC3045CDA6A90C1B5F22E2 /* Bag.swift */; }; - ADE03FF6E18BB2ADBC95151FBE880DCD /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1290D06DEF5987EC4CF8AE8929764C9 /* ConstraintDescription.swift */; }; - AE5D5D296B70C254CFCEE85F12B94CED /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AF9FA40572C352E073A51DD58F5E03B /* Reactive.swift */; }; - AE9E7487CE1B8C674182E9E0C2F37FCB /* UIImage+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 32637B6BAFD95E5FAE84D0BC42233279 /* UIImage+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF02F5C6B6D6FA14A017F65611E3974A /* SDImageAWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A516D7E3E2523A33D4FA5B989ED0376 /* SDImageAWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF0A69D68F703D452FCE6F68B461A362 /* ZFPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = B5C4D96349F0B74A2EDEDF5D9C4FA813 /* ZFPlayerView.m */; }; - AF1850793335D7411B7CA119CCFDF776 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC5CD697767A0969E1B44888827C110 /* SDWebImagePrefetcher.m */; }; - AF5EEFE6005E0DE11ACE6DAF7C97A248 /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B52491A324A5299B334B290E6683CD /* UIPickerView+Rx.swift */; }; - AFE462A27C50428CA433CD3254C90863 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = F28A6484225A3970E35587291C2B5249 /* SDImageCoderHelper.m */; }; - AFF66CAFD7F5E229A8FB545495BAEE1A /* DDTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48904A2ACA54F39C73F57654E996D349 /* DDTableView.swift */; }; - B0002DD66A8569671F92DD848A8AE757 /* UIFont+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = D7DF8E3EEBB44B06A866AA809A02034E /* UIFont+DDCategory.m */; }; - B03BE19F0696EBF85FD6F489AF4D028A /* DDBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C8F519FF500E6B43223BD4C14E6E4D2D /* DDBaseViewController.m */; }; - B04B2B65E995F882AB75E0609D19306C /* UIView+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F08FF721312B8FA11B22A4E2A3C53A /* UIView+Shadow.swift */; }; - B0D0C080B9171511A9AB12AD86B7DBE1 /* ZFPlayerControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A6AF21223B24F018A05A4873B47C70C /* ZFPlayerControlView.m */; }; - B10E4F3871A53CAA6B9DE3D77091E718 /* EKAttributes+HapticFeedback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E023294987DB2AFF4A531BB11561CC /* EKAttributes+HapticFeedback.swift */; }; - B1104525F66A74BF581940CC8EBD4605 /* DDTimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C40F12DA8092A5DBAC674FC3717ECA8 /* DDTimerManager.m */; }; - B1466F2AF4C8C5D9668D912F5716064A /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = D5E4C9ABC7A7C0148C2F0A4F3343ABDF /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B189903A876872C745986F73D2F7DCD2 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F9DA43B175F92BCFEB6F2EE07B05992 /* Repeat.swift */; }; - B1A7FCCDF2F76FD799074AFEF13F2C43 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7E29BA3E4CFB600E80DD5B5478E6334 /* NSSlider+Rx.swift */; }; - B21EF964ACC6CBCD4E5D0D766A71E9DE /* DDColorKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E8A1AE7BA2A03C0A4D86F4BACB7A1AE7 /* DDColorKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2213A82C506010512D755EE811CE80E /* UIBarButtonItem+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B9D9979BF7BE755FC5EE72228AAF34BC /* UIBarButtonItem+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2F00FA6A845D79D514C907870345041 /* ZLAdjustSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3C3780A2B8AC416FE89CF4E0F6472 /* ZLAdjustSlider.swift */; }; - B315A21471DC78A45CA5249A9EF6EF85 /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E7FE97D98A6687D74971988BE5E1F63 /* AuthenticationInterceptor.swift */; }; - B3286AA363910FED381DB2A860887246 /* ZFPortraitControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A910660C0BC02E8C630FE027B3C1967 /* ZFPortraitControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3BCB6762F05E6CE8F5DF3A605730B6C /* SDWebImageDownloaderResponseModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EEC50449E91205E91CAE0AC48D213B8 /* SDWebImageDownloaderResponseModifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3BD944BFF9FBD5F1638D4FA684DFC9D /* DDColorKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19ED9AFA84256D06A364CFCCEB118D95 /* DDColorKit_Private-dummy.m */; }; - B3D357841FDA256DD78B84471E009F1D /* DDMATrackManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FACCD1C35E459F0074DF9B0C1D6EB580 /* DDMATrackManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4093EE96AA888E2B1609715B1CAE585 /* ZLGeneralDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = B29C8FD4F539CD32BEA4208A8E848454 /* ZLGeneralDefine.swift */; }; - B410A7FFCF6A4F1FC0160F22E919B009 /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 210482A0B5EA060C10B2891EE460AB48 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B450462CA20B3A8EE7F08F1575FBD714 /* MJRefreshAutoNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9CB1447FEB6029A8840B0C7857C97D7 /* MJRefreshAutoNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4527D6F585156B3603D05329436D4E0 /* SDWebImageOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 977940CC99E17343BB8F09D69A454385 /* SDWebImageOperation.m */; }; - B460A9A103E7954D19D481B77F87F83E /* JXCategoryIndicatorParamsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A5988DA008902FB9184C7A050349E5F /* JXCategoryIndicatorParamsModel.m */; }; - B4E540E0998D38BEA54DE098FDED09A4 /* DDMAMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3D16353BBDE4CA88918E2BD12CAB53 /* DDMAMapView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4FE3233189E681459E6FAFE1A656449 /* EntryAppearanceDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C462A9856B6AC698726C7E83C7D0CFD /* EntryAppearanceDescriptor.swift */; }; - B5269B62215B96500B9620B997F378F4 /* MJRefreshHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 25024DCCFA9AE75D9ABA8D5F2ACD21A8 /* MJRefreshHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B53F9C80DFE371236697EE4CF0CBB918 /* UIImageView+DDWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AD1E0CCFE8132D270AFDC99921A6B58 /* UIImageView+DDWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B558E79B197588FF0F9BEF38A83B6091 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3224D28CD890FD6D23C05B0B0373F9DE /* ConstraintView+Extensions.swift */; }; - B55D49CD10FA31F1E6F92E225D821BB2 /* JXCategoryImageCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = B84A8C33175F17CAC11C7792A0BACE7C /* JXCategoryImageCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B5910A2955A9D0E6E2D746323B465EFA /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D88C27F8761BCE9CD6369FAB4CA712 /* ConstraintLayoutGuideDSL.swift */; }; - B5FA1092BF1D816BB9A7BA06EB64BFA4 /* EKProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9A05A3D0785506C922906560F5667D7 /* EKProperty.swift */; }; - B611198D9692C8B6D4970591AED83362 /* MJRefreshBackStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = E8B76411525726A0FD8619E18F1B6CE4 /* MJRefreshBackStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B61A05B07D76CBBC87C664B2D964A5C3 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123EA8437196FBB5BBAAF553EE28125C /* Notifications.swift */; }; - B659FB406C404DBBAE4A648BAE9BC77D /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1EA033DA39BDA88EFC4D30EAA3442C1 /* ParameterEncoding.swift */; }; - B66389A11F64F80F5CBA50E6E8FEE348 /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6C08B1BEBDDE6AED4A18016E6475E99 /* ParameterEncoder.swift */; }; - B7551F7AE4DFD9D8BAF5DF408EE11783 /* SDAnimatedImagePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D6008F0896B2B85E119CF6E31C4F8B4 /* SDAnimatedImagePlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B7E402A4FD1FB5F8755ACA513AD9C2D5 /* ZFIJKPlayerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 03E7F513009F9EFEF39E8285EE92C1D9 /* ZFIJKPlayerManager.m */; }; - B7ED93C0661C6395D434C8728CA57665 /* MJRefreshBackGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 039FCBBD4421DD44C49B8EB73242C2E3 /* MJRefreshBackGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B89BC37A7EF9653B4E70A8386786F5E5 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A0A051F9D46BFFEEDA4CCBA9DE4DFA2 /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B8A6D72F39FE58ACFE28E3C888966365 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 0751BB387D16894137CDB066E6C7117F /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B8B8291E60C9EEF7E503A80916EDD6D6 /* DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F95237584E1E1CF46A35A7F1A307356 /* DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B8E2D20AC3123CD07ABBDC96C0FBEA9A /* JXCategoryIndicatorBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = FD934287F0405AB55C78075CEB5A982E /* JXCategoryIndicatorBackgroundView.m */; }; - B8EF8F9C8ED054238B9FB957EC8B1A70 /* DDViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA480296131E6545AABF25FA63D5678E /* DDViewController.swift */; }; - B90E1CD028EB4111A1C4D740C8724964 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D62476424FE5F64E46973F443EAE6A /* ConstraintInsets.swift */; }; - B9339C5232FA751530693C26C023E2BC /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C625418106AB7EB17105865B2CAAC99C /* NSTextField+Rx.swift */; }; - B9910A2F6B82398D9311F4EB38729DF0 /* JXCategoryIndicatorComponentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E5CCD3838C0968E1115CDA3D47B1DEB /* JXCategoryIndicatorComponentView.m */; }; - B99ACD5EEA00F31F380FAB5A8B8B2526 /* UIImageView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = A52B0113F2EA61CFDF9586666EC94E43 /* UIImageView+DDCategory.m */; }; - B9D206C92A0BC6DE7720757C1A2ECE72 /* UIScreen+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD60BC8312A9DDAF45C84D812163634 /* UIScreen+DDCategory.m */; }; - B9FED8E7B04C74F084D8156BD8AA93DA /* DDMALocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1266B973BC95F13049649A6DF0E8D54 /* DDMALocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA42897D26AE10AD9C5ADDACB76A61E6 /* UINavigationBar+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 921636E5901828DF64651E08BAB42C27 /* UINavigationBar+DDCategory.m */; }; - BA69C939FB50337E7B428ED071EF5056 /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3967C066C004CA8E0B6BCEC9579F93 /* Completable+AndThen.swift */; }; - BAD25B30F0E334F12EC76FF901DEE3E1 /* HapticFeedbackGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B45DEDEFAD7C4D15F954904ED90CF54 /* HapticFeedbackGenerator.swift */; }; - BADA655AB31EAAE70E476D63F5FC98F2 /* ZFSliderView.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D926051E80660C0DC4462304615993 /* ZFSliderView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB11309B4519548E3ECEE89D25C9A5DF /* JXCategoryTitleImageCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BE6283F27F854F61D59F3EE61D359F4 /* JXCategoryTitleImageCellModel.m */; }; - BB163B9792C6674D0D680D606885C8DC /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7652795C678E014507695AD5757A184C /* MainScheduler.swift */; }; - BB1883C1BCB98977B2BFE1F342D3492A /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A72F47B9638F8A492692CBCBDE187C2 /* Debug.swift */; }; - BB4BEE57B08124DC7915E5BAC5B85AA9 /* ZFNetworkSpeedMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A311D7DBB05B458B3E1C949116A17A9 /* ZFNetworkSpeedMonitor.m */; }; - BBAC10AC6F7CCC08CA990EC32BA93912 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = B2054A209976BE6EDED8BF328C284A31 /* RxCocoa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BBCD195060AB693E31E7265ED366357B /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D1ACD85302EE253410BA0B555A96D91 /* UISwitch+Rx.swift */; }; - BC2DA64DD45B4E41586E32FEBD056B4E /* ZLPhotoConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5151F72B728E7C5CEB8B31367DE84C9C /* ZLPhotoConfiguration.swift */; }; - BC69B1FE7E10F3D5DF175CBE14F5DCA8 /* JXCategoryListContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = EF9989031C197B682326AF0D8A1BC619 /* JXCategoryListContainerView.m */; }; - BC71F627C5BB3C812706494A15135648 /* NSBezierPath+SDRoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AE402459F6D4CE991232BF8CEFEA31F /* NSBezierPath+SDRoundedCorners.m */; }; - BC9B4EE54D72F2455037404FBA19AD37 /* IQUIScrollView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F34AC9EC7DF0BF4466C6B227A7A73B9 /* IQUIScrollView+Additions.swift */; }; - BCD9CC1CE79079D3D45975C960F10783 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A568F8F84ED86D22002787BA311D2ECA /* RxCocoaObjCRuntimeError+Extensions.swift */; }; - BCDA33ECC9AE69C50380E36C29978C92 /* UIView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = FCB09B991E6761C590DE3A69C76C440A /* UIView+DDCategory.m */; }; - BD0530138584A6602C89E4EE957300E0 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C90FB76D8A8A80CAFC59D0BF15853CD /* NSObject+Rx.swift */; }; - BD0BAC03BB3C595BAEE4E6C0214DF1B3 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5363A88DF630846BBE5DF0747A6CA19 /* Create.swift */; }; - BD5DE9137AD611FD04789830CDA7EB55 /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1A6C83223505225ED5CD56A3FDAF636 /* IQTitleBarButtonItem.swift */; }; - BD6F7433C0ED1532C4CF79399A1FEEBC /* NSBundle+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = ADCB5BB9CF089B390C36557C68ED136D /* NSBundle+DDCategory.m */; }; - BD90E28115D95F77EBACB3287FC55308 /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1B47458536B3C999E06D4706928ADA6 /* ShareReplayScope.swift */; }; - BD964247BCCE72D5C1B9738879564443 /* ColorUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9286E797921F6CD5F27FC4E657E1AFA /* ColorUtil.swift */; }; - BDAB5BD9075473FC3F0110FA69DE7063 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 253ADE0F23935CA3549F3997DE691DDB /* ConstraintPriorityTarget.swift */; }; - BDCA78333A03CC1AAADEB702F0247B5C /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 124E71CC5CE3F9FAC04F23FCEAA3ACF9 /* UIActivityIndicatorView+Rx.swift */; }; - BDE0AF913CE3F4071E4007C5DFDA8524 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DA2E967C6C9D232CC0A879C3937F540 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BE48E94071B8D2879A0CAAD2716CA894 /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F249100085D6576A786B419F4C8AF1 /* NSButton+Rx.swift */; }; - BE50B0FF8A2D2BF08505923013F8FCC4 /* ZLEditImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E44178D58BE22E280223ACDAC448D338 /* ZLEditImageViewController.swift */; }; - BF31E4809CC5CC71907563C0795BF3D9 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDB694CD0EA8E55CC2F6F7C1F790511 /* DispatchQueue+Extensions.swift */; }; - BF3EAB08454C0020FE33CA725AC710DE /* ZFPlayerLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 20B59AA625B59BE16A80AF0B70C53CF0 /* ZFPlayerLogManager.m */; }; - BF7C326418703B0627237B811478A69E /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = AFB58603BA94186F0189A4706E513E63 /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BFEF5438BF1FB39455DEF65AC485C5D3 /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4021748C8A97A2B92883ED1E1C597188 /* Infallible.swift */; }; - BFF07623A7EBCAE780F23B16FCCA46A6 /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C2F1F9745C892BCEC5395D95071D775 /* IQKeyboardManagerSwift-dummy.m */; }; - BFFA58E5979EDB390F21B31F125B2632 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E8A77D2026BAD1ED9079B005A68462 /* UIImage+MemoryCacheCost.m */; }; - C00CAD06E493B28BC19E63BE07761FDB /* UITabBarController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 774DF6AAB3E8877F3BA3288ED84402FB /* UITabBarController+DDCategory.m */; }; - C129D590FB00BEC41B69093EFE0550C1 /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D3291DE4FC4AB2853D55625A1AD9F2C6 /* MJRefreshGifHeader.m */; }; - C17345C45572AC2B9DBF4996F4A9F773 /* DDBaseTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E80C5B0533597E77317F8BFB34D5E2F /* DDBaseTableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1940B02503017C93A60F961EC35671F /* NSMutableAttributedString+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 966C1174D3B5AD235E9BFDB3BC2D1AF4 /* NSMutableAttributedString+DDCategory.m */; }; - C1976EEAE2EC4DCA39DF0DFF1AA6A16D /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE96A5F2B943B72C1F0232E90B5E0577 /* Zip+arity.swift */; }; - C19A3B3BF30C1E6A7B8B49D1707FEF35 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB6EF3C6E6D4E27A4665DD136FD64159 /* ObservableConvertibleType+SharedSequence.swift */; }; - C1D7623AD9734EBB837468AF18373F42 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CAE56C4AE2824E7A44666D55E680BC /* Single.swift */; }; - C1F35A42F0086062E9FA4BE7EB6D3BC5 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF83D127B227A9481F4A34DF48B3C8F /* SDWebImageCacheKeyFilter.m */; }; - C2B1250F2D7E9CA00F8E9B0F2F363FA0 /* ZFPortraitControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C16D8C7CAC7C86DD477EABB84CAB943 /* ZFPortraitControlView.m */; }; - C2BF04992908EF2094D76E21F7B0D7C0 /* UITabBarController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D238F33FD51043F3EF4B86EBFA021AE /* UITabBarController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2C943B55033E1906571A539B7123311 /* UIViewController+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E47BFCEBA74E612D0AAE14AD14FEE1E4 /* UIViewController+ZLPhotoBrowser.swift */; }; - C35397CAEA10B78C7BBDAEFB8FE40447 /* UIView+ZFFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 1867ED0683C2B3C3CD5181FAE11897BD /* UIView+ZFFrame.m */; }; - C3F8C20988FD5D58CD8CAEFF38B2D8CF /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = B73224BE8EA3D3AEEC6BE72C19AEE578 /* Constraint.swift */; }; - C40F6F9516468EE6EE51A1C4FB278575 /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE5838784174A0B70B76BFB993775DD3 /* TakeWithPredicate.swift */; }; - C45E4553A532352FC2D6A92529F1ADAA /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87599920109E890FAD115A4A832D2506 /* Enumerated.swift */; }; - C49B11227141A1C9B5C446CF513AE3B7 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B7BDD3D744ABC74AAAD38C90F4A6C3 /* RxTextStorageDelegateProxy.swift */; }; - C4FC515A765F6D264655342C179E8B70 /* DDToastKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 117468C7C42DA5A8F1AC1DCB641DC56A /* DDToastKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C54B8B88AF0ABC05267411671F02C964 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DAF0174A817D62CBB9B0474E336B94A /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5ED9AC48A49B37206E2434AA60DDC45 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 38FE1025C74543255E008560111EE3AF /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C606E1F4F816CD5CEF3D207708C3C609 /* MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 208979073B2FE049774A9D43E7D9D556 /* MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C626CF00E63F1E69A4194CA80068AAFC /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC0D2CA2018F91D073ABF8D0DE886B5B /* RxTabBarDelegateProxy.swift */; }; - C644B05AA4A66F134754E6B9F0D4E27E /* DDCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5A462DF4857A99CE461C7BED2BAF3C4 /* DDCollectionViewCell.swift */; }; - C6D9A90D3B4FE697FA554E0A17C6B5E4 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992692C3535B0478376ACF5B0D59D56D /* CompactMap.swift */; }; - C6DBAF26A4A104BD5200CF834A5C6AC4 /* DDAutoUIKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4077B2CFC3AD50394AA33347D58C9AB3 /* DDAutoUIKit_Private-dummy.m */; }; - C700503268450867F8D06A2CA67782B8 /* UIScrollView+ZFPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FC81AB33C46D6A1196C93DDAF5C8476 /* UIScrollView+ZFPlayer.m */; }; - C700C31CF03C3E4E40B18F0FF4EF381D /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 09B03AE99153E3D9039BD53DFD5447AB /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C72B01DD0D889A1A13F2FAA980632901 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDEF35C33B8B72178CEB5A646DB10809 /* Catch.swift */; }; - C7AD29D8CE22687209205B9C0CB043A1 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA815D2B98648B935F01066AE001CE04 /* Lock.swift */; }; - C7F4BF5ADCAFDECAA18A0B46A67860DC /* DDTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20527A0CDDF3A638A56697666A1399BF /* DDTableViewCell.swift */; }; - C811C54956F24D073E800373BB69A8EB /* JXCategoryDotCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C744DED48882A6985631E1322A1BED1 /* JXCategoryDotCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C815F57C6C8283862D8164B5AF94874D /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991F88C8553AF29F5C9DEC88D44DFBC0 /* ConstraintView.swift */; }; - C8311466749E74D31530D8B27F2B68EF /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F908B315CC454034AD4ED0594400DDDE /* SynchronizedUnsubscribeType.swift */; }; - C846DCE7E2E865DC660B3475888395EB /* PrimitiveSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7407C365243B38752BEC41386DC423FE /* PrimitiveSequence+Concurrency.swift */; }; - C8D7A9EDC2F72A333D4AE379983529DA /* UIRectCorner+Short.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E671CBC62168918B1233CCECC29DE6 /* UIRectCorner+Short.swift */; }; - C8F37E34D117D30FDFAEE19C03F1DBAA /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = A15A8A9CE96410BC34464FEC8FDF1F0F /* ObservableConvertibleType+Signal.swift */; }; - C9172D6A5B4EBBA8DBDF690F51A58849 /* ZLPhotoManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5FCF1C630A2AF151F136A1395016D1 /* ZLPhotoManager.swift */; }; - C91799FA07B7943929AF12CB5366DEB1 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A4EE38117FADAF6840292CB423F9CC9 /* ConstraintAttributes.swift */; }; - C94ECC0B1338871970341F0B37B459DE /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 797EA6F95F919704E4D20B03FEAE2B2C /* RefCountDisposable.swift */; }; - C99813C12AD65507F8A1F3F00E140B4D /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD537B8C2E58D29B2AB1201CE62EA2F9 /* NotificationCenter+Rx.swift */; }; - CB1B31288E524777EA7FEF6E092E954F /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F3CB69B8373ACF80F013EE7B521CDE /* Driver+Subscription.swift */; }; - CB20F726F1766989C14003A27D550492 /* ZFUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = C0BEB0DC85F193FDD402A449F5C4B012 /* ZFUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CB2FEF62C57FA5BBD15CBAC9E8C19F42 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 563C81F01AC1F279FE5E4DBB8F16CC23 /* ToArray.swift */; }; - CC023213ADCD03CFF6BED5CAD1077F3B /* DDBaseScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = D3A9259CEA8616FA5E3BB7D0781C52C1 /* DDBaseScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CCBDC5792EFEDB0D32E03261BE90DFAC /* MJRefreshStateHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2935D3C057FBAA6BA91FEB6E1C86AA43 /* MJRefreshStateHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CD12156B4F1F982CE5CBA7924ED90E24 /* ZLVideoManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD1145E3EE51F2B1194D0B9926563F4B /* ZLVideoManager.swift */; }; - CD4E33BE5BC4DBD59CFC58A70DF1CAC3 /* SDAssociatedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 94D7566C14EE432A5F7F6D920ADB0013 /* SDAssociatedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CDDD632233988F44FEC138B913143D5F /* DDMAGeometry.m in Sources */ = {isa = PBXBuildFile; fileRef = 94B22ABA3C74CC2836D0004485BE2A5E /* DDMAGeometry.m */; }; - CDE89F547B05899CDCD211A17EF57F5E /* DDViewControllerAnimatedTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C578E3B01D6804F6A0918DFB12CC45F /* DDViewControllerAnimatedTransition.m */; }; - CE0D7DF3DE52C1B52C39DB23FCED7695 /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = B71128C7081CD2E8ECF7C5E7C8426449 /* MJRefreshAutoNormalFooter.m */; }; - CE50A84C5C3A363CC5F5B206EF9C16B2 /* NSBezierPath+SDRoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = F2CD951579AD83651660B6C1CBD32018 /* NSBezierPath+SDRoundedCorners.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE6E8F479C11E333C244F74A2E9665CE /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 009DCC568E5D11DF6BDBFF0C1192584A /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE83923E2838675210657D3142E3A427 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA559423189E8260C4D8EFCD320E5F0 /* Take.swift */; }; - CE86E1F9152A64FE5CA0C71F626DE91E /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E5E737EDFD33953938E4CB48647A583 /* VirtualTimeConverterType.swift */; }; - CE90E73675214C8853F20CB4BF569901 /* ZLClipImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BF93B596B360779782E3FBBF7AAF012 /* ZLClipImageViewController.swift */; }; - CE9DB2E127EF675F92110286C1B3DBB0 /* JXCategoryTitleCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6010F70FF57799D9BCCC14DA558B0C7C /* JXCategoryTitleCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CEA5FFBDF695AF9F54027D0F9BE06A9E /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9732FA176F09A99C701C81AE75310FF1 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CEC5D59E8CB9AA98751A071D3CC175D7 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E5BE6850DB0B9DEFBCD03670D36B191D /* SDAnimatedImageView.m */; }; - CF166EE0BD4BBC9552C47101342F3706 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B35A6FBA3CBD45226B85A6F876700BE /* SingleAsync.swift */; }; - CF8E9E9D79030190C6C2A8F033ACFD5A /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818837704BE878EA31F3506CB02438F0 /* Observable+Concurrency.swift */; }; - CFC3AE9E84DB459397787A54726B256D /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B04C021800239F336FA695C490CFEC4 /* Multicast.swift */; }; - CFF0856209812E6587E4680A4621A17C /* UICollectionView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = D7675DF4C5361504B769BEE001B44E11 /* UICollectionView+DDCategory.m */; }; - D027DFFBF0E354D252A6A52AD54C6830 /* JXCategoryIndicatorParamsModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 048E14649FCB9C543A77DD4FF64842FC /* JXCategoryIndicatorParamsModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D031E69F9B31D2D90CA1BAA088469040 /* RequestCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93D8E1DC22B5C3AE073615700D1B0D05 /* RequestCompression.swift */; }; - D159E10ABCEC5BAEC2AEE36361A0C14A /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = F3B8FD3A49A449B4BC1A53E8BF2F87B9 /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D1BEC579C6CDE70D346EC4C7E4FBD387 /* UINavigationItem+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = A48F91D027A2F3558667F28CF756E889 /* UINavigationItem+DDCategory.m */; }; - D2080DFBC1EC1E36D090C40AE4268C0E /* EKImageNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 014AF8A028499B074392AEB3C88636D8 /* EKImageNoteMessageView.swift */; }; - D261FFEAFEECC6C5BE05EAFA172A6962 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 678EC303D67919808287FC2F5A797398 /* _RXKVOObserver.m */; }; - D2674D18CD23C97698FCE3E9C3FD42B1 /* Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = D102B32967A0F8B7DBFB24F571902F89 /* Concurrency.swift */; }; - D26EBA1505FCD8CB1561A0FB08AB74A5 /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63104D7A857EB9E34F39BB661B5742AF /* URLRequest+Alamofire.swift */; }; - D2AF2BC97E66780B3E0564BB19BB45BC /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16386E87CEA2794291A51E001EF07C9C /* Switch.swift */; }; - D2B59A35739A47EBEED7DEA75BA5C378 /* SDDeviceHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 11B94DD7827F24868A6507CBA7C9ABF1 /* SDDeviceHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2E2AF992A4E158B35A68EF020BBD66F /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4396CE64F6C76103A4EC2F4B8DDCD50 /* UIControl+Rx.swift */; }; - D2EFF75BAA4F83A3B494624006922E98 /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CE11514ACAD215F6823B196B91536C1 /* Amb.swift */; }; - D313C1769F98E563B2F0387645363D60 /* UIImage+ExtendedCacheData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5165B9B4A88E168CC5E99C94C95954F0 /* UIImage+ExtendedCacheData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D338E31610984913E5242333289065EA /* NSAttributedString+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D56042C4797A1D002B32F37BF49B5E8 /* NSAttributedString+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D3C6166B6D26233AE4337DA319FEBF57 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FFE94E872A20CDFA4F6734001B4F3F9 /* Protected.swift */; }; - D3DF1456153024C80BCDC91E03814A16 /* MJRefreshStateTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = EDB6355A365726EDE0952F375385A321 /* MJRefreshStateTrailer.m */; }; - D433A9598548308343DC33207661EFF2 /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C24471798AF7B7F245278CC18F8986 /* KVORepresentable+Swift.swift */; }; - D43BA282386D995C1C7F4B7049A909FD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA88C85CE171FACB6F13C63F97BEE7A7 /* Validation.swift */; }; - D4B7589C503DA1F2FC6BB41F78E55753 /* DDBaseAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = CF86A8401B17CCF6ED48C720458B7A2E /* DDBaseAttributedString.m */; }; - D4C656CF4B508E7A1CD28BB9A6D6B3BD /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A37C157B96127F251E3B31F313AADE /* ConstraintLayoutGuide.swift */; }; - D52B0E394FF92821DC8380B5498B34A2 /* UIScrollView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ACE8BD874F4FEEB79865EE3C4C9CEB4 /* UIScrollView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D52BC86B6D44760107ECB5C5E7C96969 /* DDBaseImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 954003773FFB5EE910CB1D59C7BCCCC6 /* DDBaseImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D565284D49314EAA54AF602A468A0207 /* JXCategoryView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25555D4F66DCCF56A7D7D53D6F2CEF49 /* JXCategoryView-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D5AAA3E1354956C5E552C9AD7CD11B4C /* UIScreen+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 654EE5923C77DAC717AB3469C9763D33 /* UIScreen+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D5B499F817DA04BCDEEF25D43C26A677 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A764909DC2F006D4FCD2FCEE48D041A /* UITextField+Rx.swift */; }; - D654637C8DD8012A6593C58CDC7EB89F /* EKWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B48EF9BD2FFEF3F8EDEA9BDCEC0C88D1 /* EKWindow.swift */; }; - D68A44D2142C495CCD955363CCC1321A /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010AE870904B558F643A0BF4918BD29E /* Request.swift */; }; - D74A6402DA7B179F60BE96410E5C9168 /* UINavigationItem+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 994DAC831982F01CBED9971316C4D6CA /* UINavigationItem+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D86A0299F74B0CBA434FF9F89F8B958D /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 12206918EF06F8F1214E7E7FDFE86599 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D8AFCA68301DF482D71DD0116402DD74 /* DDProgressHUDKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 18C2FDBC8D0C78FD5AE84C9D9185A1FF /* DDProgressHUDKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D8CB71544C37D1AC77A544130226A672 /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D917246761244D0E22C479AA18F8F08 /* ObservableConvertibleType+Infallible.swift */; }; - D90E3609CFB930EE4F8270C9504A41F5 /* DDBaseLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CB999F9AF8102C75B2628D52172A6C /* DDBaseLabel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D9ECA0FB443A473493DF5843A260DD3D /* NSMutableAttributedString+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F21B48E883DAA6EA7FDEE4D688AB37F /* NSMutableAttributedString+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DA122AC8CE9ACBECA2D141674BE399AD /* Cell+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC428A78E9DAD599CC8A926A5A9D5682 /* Cell+ZLPhotoBrowser.swift */; }; - DA5018EFFB5F0ACA5800450157DDF029 /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6AB47529E4D2B7FA3F9DE128F564C6 /* Infallible+Zip+arity.swift */; }; - DA68D87EA37B265C1A9212034A9A69CA /* UIApplication+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 34319F6AE82891AE29F59BA2C6C6BD58 /* UIApplication+DDCategory.m */; }; - DA7D630210EED4FE82A89AF9DA354FDE /* JXCategoryBaseCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 103A15371B7CCBA671F2E52ABA6FA49F /* JXCategoryBaseCellModel.m */; }; - DAE6984A0E6F7843EC1FC16CA0639411 /* ESTabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4BC7A254DFB001F3BF507F76C9873E5 /* ESTabBar.swift */; }; - DB1928ABED70110F8770A999AE6042C1 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEDBCA4296C121B66DB749E9723410 /* SwitchIfEmpty.swift */; }; - DB37A02E7A013103E599E7AC0C065B89 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D711A2313C238E0F60C4F401F224482 /* SDImageCachesManager.m */; }; - DB3F4AED1ED3B0291EA2C6C7D5CC2662 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = BF99BC25A2F041D5EA32F2B4A0313E7C /* SDImageCacheDefine.m */; }; - DB5347DA0855F994DB3006E3B208758E /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1691460A0C5DCD4247D9A242B0A8D3 /* UIImage+Transform.m */; }; - DB5B2AADF248591EEA2664EBC0933A4B /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FAD8F1401AD4E3D5B7EA785EDB66F4 /* ConstraintDirectionalInsetTarget.swift */; }; - DB6B35BF8866020A56941A9FA901D495 /* UINavigationBar+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2FC9CF73EEF60997FA732CC06BE234 /* UINavigationBar+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB82B28011F0864AF66AB1D3A842115A /* DDLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28B339F8840A1ACF9C6A0EEC4F1756FA /* DDLabel.swift */; }; - DBF47AD7D42070ABCA125FD5953118CC /* JXCategoryListContainerRTLCell.h in Headers */ = {isa = PBXBuildFile; fileRef = FA6D73D91931193645DC5DCAACE45CC5 /* JXCategoryListContainerRTLCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DC25951404C24F1A7D6A193A3EA96898 /* JXCategoryDotCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6CD31AA54A4187467F87F2C5E2C18D /* JXCategoryDotCellModel.m */; }; - DC41B120F0CBAB4E01BBF17427CD4305 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF008939493DF8F729DA835313213EEB /* AFError.swift */; }; - DC737D9D05CDFEDEF02A15458AC36B92 /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF00524DF715BD3C8811BB05939DFBAF /* KVORepresentable.swift */; }; - DCEBF9766499FFC51D3F20FD988C5C8B /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E71AA808FC388FEEDE593611367F8E7 /* Merge.swift */; }; - DDE4FC989BBCF2EA2135813021F623FE /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF3B1E8168552BA7234ECD297D5FFB80 /* NopDisposable.swift */; }; - DE081D1B6559CE4BECE6C2F3A24E43A1 /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31BCAE2909EA8487A425DDA239179276 /* ControlProperty.swift */; }; - DE105F6F9C0D9F99B88F01930985E108 /* ZFPlayerNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AA04CD0F23CC9878683C6F6FD5F29DDF /* ZFPlayerNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE2D6981D59E4126FB6702371A4FBF45 /* UIView+QLContentWrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22C8184B21F23343E22A9C232D399C9D /* UIView+QLContentWrap.swift */; }; - DE41579A252D50A14870D3600C04C72E /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 87F0D2335771C22F985D925E822A8C33 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE5FE62EE79DBFC7EF4FA464DAF4513A /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = 67790054FA039EF438FD99727782441A /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DEA7CC5B85C903C74AE96DE0C3AFDBDD /* EKAttributes+Scroll.swift in Sources */ = {isa = PBXBuildFile; fileRef = E523A437BB3E45345F5701B913971D20 /* EKAttributes+Scroll.swift */; }; - DF1533D403B93AE3F7C213E2E79F22D9 /* EKAttributes+UserInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ACBD05DD12303A27FD6995F7CEBCB09 /* EKAttributes+UserInteraction.swift */; }; - DF2E9C4198CC1FA05A9A507356F0A140 /* EKPopUpMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C604E62D9D0E0BE5335F770E114C364 /* EKPopUpMessageView.swift */; }; - DF419FE76FE2E463D3B079DDA8D09DCD /* ZLWeakProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90B758F32A2589954169583859CF859A /* ZLWeakProxy.swift */; }; - DFAB3889074446F294E9B7FDB413D9AD /* ZLPhotoPreviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B10B6E9D17566CC5699F5DB858E386B /* ZLPhotoPreviewCell.swift */; }; - DFBC1E24E314AA2D93D8D68444D25E5F /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E86C08389839652DB411FD40EF02462 /* ConstraintConstantTarget.swift */; }; - DFF89BB4CBD71C272B9E224DBEC1614F /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3DDD864C2ACD2E4B1AD0D9DCF9C1F2 /* UITextView+Rx.swift */; }; - E0050EB219F11E257D76F42981621989 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CD33F9239DCD92AE5B361E71866A69B /* Infallible+Bind.swift */; }; - E0950E6EE43A295EAF8CBBA0AE9F7440 /* MJRefreshNormalHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = D34F7AE0B202B99E2CD46B687100EECD /* MJRefreshNormalHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0B53F17D846B73C15950B3CD8687042 /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC9E30FB7226708A3130A01B97DBA179 /* DefaultIfEmpty.swift */; }; - E0C13A3F1697B6863CC833339A136FE7 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17311F74924C956A09FA029B76756E0C /* ConstraintMakerEditable.swift */; }; - E0ED114609A50B49D01ED22E8F5E97D2 /* ZLPhotoBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = D12D0AA8EE644F7B7459C1A50A1A8684 /* ZLPhotoBrowser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0FA80E4CD78AECC240107F0F61E8CAA /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBB1081DA01C70F27FE6BD9232EA4554 /* NSObject+Rx+KVORepresentable.swift */; }; - E19960867F314F08D769EFF5DE2EABD9 /* NSURL+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 158E39A1504BFAF22603A9A530FFB105 /* NSURL+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1A4830ED6BDF4F4D7D1A72EDA1B075D /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42CBC31700ADDCDED927606D136AAC88 /* Observable+Bind.swift */; }; - E228AD3F161CF33ACE446B8D0FDEA79C /* NSBundle+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1922A6A0E02D95253C80396B37E10287 /* NSBundle+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E368BA3E038835CB1C1ECC9A6A7AB467 /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBCE7A80F1B98B9D13BA47D4B98F458B /* URLSessionConfiguration+Alamofire.swift */; }; - E377D381740EA7DAA223CBC572EF3258 /* JXCategoryDotCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF3D6B5257E4D26D410F75DD07CABAA /* JXCategoryDotCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3D71D3617C88CD8BC9A3537AC98150B /* MJRefreshAutoStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = AD85BF22E05852F9453781C97E1399D6 /* MJRefreshAutoStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3E7323AE945DC3AF3A4B2D4FCA619B4 /* JXCategoryTitleVerticalZoomView.h in Headers */ = {isa = PBXBuildFile; fileRef = 34431EE38E4AF581D27534BB78461290 /* JXCategoryTitleVerticalZoomView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E40B797A24B408B06F5E682C079CDC55 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58197BCDBCAC149E2968A89A283304B /* PublishSubject.swift */; }; - E49254B60C2043832B5A2E0658DA441C /* JXCategoryIndicatorCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 69B2E597F0470C0466C8B49A8335DE35 /* JXCategoryIndicatorCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E4B1E58E020E4435976E195C0F6D2514 /* UIWindow+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = D893572C6B777F1CAB47352C265EFCBD /* UIWindow+DDCategory.m */; }; - E4BA37E528DEF3AA3A68041452D66C4C /* Bundle+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEEF526AB6E4D69C198CC2E82C472C3 /* Bundle+ZLPhotoBrowser.swift */; }; - E4D1F2F411BE4931E6BF715754C063E7 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A3A433C6862640B5AFCB1ADBCD2F39FB /* RxCocoa-dummy.m */; }; - E508BEC46801CF34064D971BE80D0B5C /* NSError+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E000D78F7B4FE9CACA07FBC7782E8573 /* NSError+ZLPhotoBrowser.swift */; }; - E50CC69C160CC7DFDDAA5E1545D1A670 /* EKSimpleMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0BB89BC04C015262FA535E7D8EEC056 /* EKSimpleMessageView.swift */; }; - E545A0110B9AE728EBC27342080E768F /* DDNavigationControllerDelegateReceiver.m in Sources */ = {isa = PBXBuildFile; fileRef = CB57C518A721DC9DF96FCECD662C6273 /* DDNavigationControllerDelegateReceiver.m */; }; - E559E921BB84AAE511E87807509D7FC6 /* ZLPhotoConfiguration+Chaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49210FBEC4B6952840D0FD08F21D4539 /* ZLPhotoConfiguration+Chaining.swift */; }; - E55CEF4234F35E2FDC1B7855AD39A6A0 /* JXCategoryIndicatorRainbowLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E62B52049065E0DCBFE83089C3B136 /* JXCategoryIndicatorRainbowLineView.m */; }; - E5A89C1CC70968CACDACA8D8A92B6098 /* CGFloat+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DEA01466DF987E8972735315BF18716 /* CGFloat+ZLPhotoBrowser.swift */; }; - E6354246C297E483E6223FE120548DFC /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B6FA8D76394737257410373E15F306E0 /* SDWebImageManager.m */; }; - E64D266F649AEECEAB6296829D2077CA /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C5B3E35C30126A2105755413769DC8 /* Platform.Darwin.swift */; }; - E69B447C350C9219B0AF9A1D2A0F5BE4 /* UIView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 20B61D9040B3F1E98E92815015C9F28B /* UIView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6CCFA7AFD0C8AF22C2029433C27C5C5 /* ZFOrientationObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 682D2D3A90ECD6E5B5B62A63A7A335C6 /* ZFOrientationObserver.m */; }; - E6D9904957E23E3130F9DAC9CDE8EF64 /* EKAttributes+Validations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD8139E573ED53FA58B47E40A4E577C /* EKAttributes+Validations.swift */; }; - E6EACA4E75EC03727F26906AF7B0A011 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD25499B57DC058CABA547DD181B783 /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6F0A2D426D583B654733BF18F75C185 /* NSMutableParagraphStyle+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F89603EFBEC1D47085F0A56EFEC7D4 /* NSMutableParagraphStyle+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E787841D635A76F6F607DCC206304D50 /* EKAlertMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DFA4E6548D2EE4B145E7FAAE7E629C /* EKAlertMessageView.swift */; }; - E7B7D4786FD9A4556C57FC456397CFA7 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0B48279EDB2355D19A0E691CF7F084 /* DispatchQueueConfiguration.swift */; }; - E80658199E928F4F0ADEC89F4141D2F0 /* ZFUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 499CDE5D5569981AF7D2160EC56D6EA5 /* ZFUtilities.m */; }; - E81E02118C89B4ACFEE276E94F4BF705 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 370366858CA842942EC2D63A5BB95B7F /* RxTabBarControllerDelegateProxy.swift */; }; - E83655042A5A0EBC2EC6C59E88A1BC1E /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 332BF5D077B7A87A2D9B883F238DB39E /* RxCollectionViewReactiveArrayDataSource.swift */; }; - E85B429D067EC3AF0216849A1381050E /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D25E8493C5F426405582C10AC054738 /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E87A2A7AA6C6C1C1CCB99B8C459954C9 /* UIButton+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 709E03F2D2329C6B0C579E955BBB2001 /* UIButton+DDCategory.m */; }; - E8AC828A989AB04260E5B4EF583CF423 /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49FAE8A72DFCA2F93F4B6CF57447AEE /* AlamofireExtended.swift */; }; - E8ECA9AC8049FEA59A0D35B189911CD7 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12F0DA6BFB7D8D786DACD5C5D802185F /* SubjectType.swift */; }; - E969679589E762C810069359BDADF37E /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72CC2CB602B141DBF4D7ED0D72116E5E /* RxSearchBarDelegateProxy.swift */; }; - E9A52101C6A02C3E428215E4299EA5D9 /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 6133BD806850238E0AE755B74262A517 /* MJRefreshConst.m */; }; - E9BE36DE12FFB998CAC91C71D9794319 /* JXCategoryIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E049E600DF27057625A4710D8FFDB7E /* JXCategoryIndicatorView.m */; }; - EA0D07CB6EA93FD74E9BD78CF82318B0 /* DDBasicControlsKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FA48DAAA19AA9182D06BF5F9BB74F36 /* DDBasicControlsKit_Private-dummy.m */; }; - EA0EA5B13F19C31ABFCAAA03812049A5 /* JXCategoryIndicatorTriangleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 254571B44B8DBF8CF43E277B4DAF36C4 /* JXCategoryIndicatorTriangleView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EA567FF21C3D64BDF2A0F9EF9C74B5D6 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C511C1289D5487B6805A6FF8493FC99 /* ConstraintConfig.swift */; }; - EA9E27522D34075FE2F3D61C4287DAA2 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36EC2EB267639DC179A22E5C82B081B /* InfiniteSequence.swift */; }; - EB42103171FA131586ABFBA7D4138A64 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DDA264E674D7AEBAC8EDE33C6246BAB /* Alamofire-dummy.m */; }; - EB9D6E0BA31263F64A458B7B8BAB7FE8 /* NSObject+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 54B41AA168CD2E6E2D564F588515AB56 /* NSObject+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EBE5C4F07068616CC59C1EF2978C6813 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BD6EAB79253B89427DD5574B55ACD4 /* RetryWhen.swift */; }; - ECFFBFF95B73F69D1787EA7CCA928AC4 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19FA2D7AB03EFF1765F38A85B188A68D /* ObservableType+Extensions.swift */; }; - ED03EABE28153EDF6B4EE27C9E1A9F7A /* DDBaseImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 562A74AC6BD2A4EE50E1CA898255F162 /* DDBaseImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED204E934EBEFF45E85A7F3FE98EF4C3 /* EKAttributes+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 784760F2E1450336B98D33BA94DB2D4F /* EKAttributes+Shadow.swift */; }; - ED2BE0E4900497E23A37237D68BC1023 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A974011A607C28F0319125B6A950D /* Producer.swift */; }; - ED673A80425558C9E43F8207BEE84397 /* EKNotificationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511D15671C4786E1630047EB2EB7EF6C /* EKNotificationMessage.swift */; }; - EDC07A560DC83DFBAB242C46B1D41619 /* MJRefreshConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 412C13005896D925DE3EC008436D4B65 /* MJRefreshConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDC227E161F6BE101EBA4C41D13B8EB0 /* EKColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6541609031B4BD5911B87723211257B0 /* EKColor.swift */; }; - EDC4880EDA487FDCBAE1993231BA06AD /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E6226D7989A3A369BE01CC77B99CB /* SDAnimatedImageRep.m */; }; - EE02E971AF4EAEBCAA7E6207344D82AD /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = CCBB1E6C01CC7279B7736D9D48823EFA /* SDWebImageDownloaderConfig.m */; }; - EE890DA87BEFE4EDC65B28ED8F9B89C6 /* ESTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DAFB9504EBCC935E9887080A81973E9 /* ESTabBarController.swift */; }; - EEEE888CD582ED007104CA3635CC95FC /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCE348878BA82693B010B31E0A60512B /* BehaviorRelay.swift */; }; - EF203AAFF3493C503A2685D89907E9E0 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7A97239815B8632CA8DFCD0492AD8AA /* SubscriptionDisposable.swift */; }; - EFC1EF2234D1A4829891828E5C61FE17 /* EKTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A36963C052BB1C9CE0EDC070B0BC8BD /* EKTextField.swift */; }; - EFCF8192D505380E42101B31F273EB4E /* UIScrollView+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = BE28FD9B37D8825AF32A4EBD4EB44326 /* UIScrollView+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EFD47B79FEB4CF7B7DE42C6F1E8BEAE0 /* DDTimerKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 452349DDBDA49A5CE96DA6A4332B3996 /* DDTimerKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EFEDA5FC77AEC912565C8893C74347CF /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FACFC8E9247EA39745A9E5F36EBB017C /* DelegateProxyType.swift */; }; - EFFB548B2256535F4B945FE12260C940 /* UITableView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 82C7E92DB64EB4AEDDA8F9859554DCAF /* UITableView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F025B0C7413F408112D1BFB2C2878024 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 95DE1C7EF55726AD7C526D5805F2770F /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F03021F77FAC203AB9A2634888A1A8B3 /* EKProcessingNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1307264018CD22D8DA1BA4C5F9ADAED5 /* EKProcessingNoteMessageView.swift */; }; - F0AE59C74E0BBF11E97A8E9434BF9A93 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33F710F7F397E96CB625FE408833B0E9 /* URLEncodedFormEncoder.swift */; }; - F0C323C6B06974F32D8814CD58FE9D15 /* UIScrollView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = AD2AF6776DA64214898C782B9BCAA65C /* UIScrollView+DDCategory.m */; }; - F29AFE50D99B629AF9FA103737E54391 /* ZFPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = A33002554CB161847BB170C38091DC1C /* ZFPlayerController.m */; }; - F2A142032668500B5C86117B87E5581C /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A31780F1F6B07863193305CAE8B190 /* Never.swift */; }; - F3212860E47356E9AF927E472E09261A /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A85E0AD00BC262A2C7DBF753B12E800D /* NSTextStorage+Rx.swift */; }; - F368A886087DE3AB2610673786E29DD3 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2B99DEEC285EC2CE2BE59E2D6D8C170 /* ConstraintMakerExtendable.swift */; }; - F38BB8E8B9AA9556B18A654B2F7B063A /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82781153788193EAAF79519318B5AE5A /* StartWith.swift */; }; - F3A976F044D82F130BAE77C071CEDA5E /* JXCategoryTitleImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E1697F9198FA29E76D1DA8DA03EDAB48 /* JXCategoryTitleImageView.m */; }; - F3B2BEF8FF03AB941765D79452352941 /* UIView+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0733919B381A00997A7EEC037768C8D /* UIView+QuickLayout.swift */; }; - F3C5F116AAF21D4358A6F711BE37F54A /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E6F9848E7543E112CF37622B127F6C01 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F3F4A54187A771C427C3502D8802D213 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F0AB1AB9FF0770ADDEEB86B21822D94 /* ConcurrentDispatchQueueScheduler.swift */; }; - F4010727E0089FB8459E3B88B44CCF05 /* UIView+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDC6154E7B682426348C660B31AAFA59 /* UIView+Utils.swift */; }; - F43851B19B2310C54E82BE0CB9CC8EAB /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46CEA7529375D9160EB72A807DF77EC /* Optional.swift */; }; - F493F28DBCAEC7B3E70EDA7F7A7C4B6A /* DDCategoryKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 58EF45C259FC525460EEF12880FB679C /* DDCategoryKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4A1A9CA7084A385722737C0E4F1500D /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A406F485E375B9A538F60BCC669C8EE /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F5579E515166EFA597E30B6EA2966257 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB110E7217B3CEE13CA7FE62FAA7D93C /* UIStepper+Rx.swift */; }; - F6200950262C69D82B2E1F54D09E81CB /* ZLClipImageDismissAnimatedTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D8968847F6D70906F256A6653FF777 /* ZLClipImageDismissAnimatedTransition.swift */; }; - F6513727F28A3CAA86AD1D4CEFB7BF33 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE6C77205CF4B2951E884CB365BCFF13 /* Reduce.swift */; }; - F661FDF2D701C76B553BBFE1982DC689 /* UIView+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1FCE805EDB0F8589AAADAE24B30367 /* UIView+ZLPhotoBrowser.swift */; }; - F669A1209E80431CF57E528F4E8B0FEF /* JXCategoryTitleVerticalZoomCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E129F43363563308DEDEAEFF29166B90 /* JXCategoryTitleVerticalZoomCellModel.m */; }; - F679DDFB22B0446466AC8B46B5DDA5EF /* IQKeyboardManager+OrientationNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB2F40968639A96A1E9874ABC41124D1 /* IQKeyboardManager+OrientationNotification.swift */; }; - F74D1425287A1A781A0A9DD58A1DD02E /* JXCategoryIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 728E9BC93B4609B142EE2207684DB916 /* JXCategoryIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F75DFD6601FD194AFB8DF95EE8936F73 /* JXCategoryNumberCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4198240636303ED58E9B45404649A6 /* JXCategoryNumberCellModel.m */; }; - F78123F6D3E099475747B424A7DD9B2B /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B6A47BB23E188DF596140DC7D896BBE /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F787E70DF5F00228E5AF451751EA323C /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BFC4181B79FA655AAA1EC7197475E7B /* UIScrollView+MJExtension.m */; }; - F7B1AB7027FF17E4E594895B07CC4B3C /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6789AACD3E823A92C0A1D2C00A8751 /* MJRefreshStateHeader.m */; }; - F7BBD57301FEC4504E972FA4733A03DF /* JXCategoryListContainerRTLCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E8635ED28005201B7A807CF6555CC3A /* JXCategoryListContainerRTLCell.m */; }; - F84B09281B0BFF9B1B031CB2BA6C3AB4 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D8416E6135BA849934B91093F53989 /* ConstraintItem.swift */; }; - F93C6980F441D1B60783F1253D1F5E6E /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 224C0BC57E40B54C718B6D431EA95D35 /* MJRefreshFooter.m */; }; - F93F6E8956CC7FEEFD59BB131E1CF02C /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3F65F885EFD9A7BD996249820022B9B /* AnonymousDisposable.swift */; }; - F958F034C7BBD246E8368D461BE44725 /* DDMASearch.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A5169F6B86F0226E3F4FE9F47E00F33 /* DDMASearch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9F5BB4247E0D06BE1F357B1610502BD /* ZFPlayer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 668787B27569EE41CE1A625CE78D9D78 /* ZFPlayer-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA32D099B9AC21168BE28F1C197FBD77 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 68081FD334F8368F3621E211F156F843 /* MKAnnotationView+WebCache.m */; }; - FA7C19E95318283880AF33193C6C4848 /* CALayer+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A8B28A120C292488ED430D5EA7D5B3D /* CALayer+DDCategory.m */; }; - FA917E0C80C68BD2D8C7CDF44A418793 /* SDWebImageDownloaderResponseModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CAC3B4B274DC9AA16D13F3C6D4335CE /* SDWebImageDownloaderResponseModifier.m */; }; - FAC4CA638A146A699E9ED8BD575DEC52 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = AEBDF32B1CEC64361D672AD75049A79A /* SDImageIOCoder.m */; }; - FB57B8D3D20886701150097BE03882B1 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22A8ED664031CCE5A526DCE8A7C609BB /* RxScrollViewDelegateProxy.swift */; }; - FC31E40D125D928A526B1AAEB6A0305B /* ZFPresentTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = C099BA92A99D4E19C562C0EC31417658 /* ZFPresentTransition.m */; }; - FD24A63C0BB6C7CF244A586470A9D492 /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 246ABA10829F166DB32A96440298F4C4 /* SchedulerType.swift */; }; - FD366D60621BA423B1F44E362CB26E14 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77FC8F4F23ECFC586439110A52E8F00 /* Timeout.swift */; }; - FD455ED8C662DD52F592DF31F58AA185 /* ZFSliderView.m in Sources */ = {isa = PBXBuildFile; fileRef = D12FCD5B0D26C094865614C081E0F359 /* ZFSliderView.m */; }; - FDDBB624BAED990AC9956BF191000419 /* JXCategoryFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 627F8AF38A09862B53847700AEC52899 /* JXCategoryFactory.m */; }; - FE050D59F5ADCFBA484D4C0926A58720 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAFD7B653317A6D1B0029D18CEAA4EA9 /* ScheduledItem.swift */; }; - FE090912DADD46635605657C61DE2E6B /* UIImageView+DDWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BCE3F8F0E6D5D7B2A382B20DFA08B4D /* UIImageView+DDWebCache.m */; }; - FE5A36C9F47EDE5AFC75209A02C40305 /* JXCategoryTitleImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D3EDCD3DEC3A368D1D0EADA3A47548BD /* JXCategoryTitleImageCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE8C95D7A9D7F731F7A8FDFC0700B8FF /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 253E69F79DCD88262823C30416CEE169 /* SDImageCodersManager.m */; }; - FE9207C30EFE6A3148C4D424FCB3A479 /* DDBaseMutableAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = 87536304E59ED71CF57DC4697C61C671 /* DDBaseMutableAttributedString.m */; }; - FE97C9D8D1A724CBDF7C8E271C8E1DEC /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3034FF9BD293C66A3A2BB3508E2B15FB /* ObservableConvertibleType.swift */; }; - FED095FC322475307A7A0A120129C779 /* DDBaseNavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = A5141CC65F037F8A5A0084529BDA5B2F /* DDBaseNavigationController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF2EE64024F6462C52A157322B4550EA /* EKAttributes+PositionConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F38FFF90202D9E904AA825348B55FF9 /* EKAttributes+PositionConstraints.swift */; }; - FF4DBCAE64CDAF7D63DCB700D0EA2AA7 /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FB1B2F49C8CB24BBC41080E0F609131 /* Decode.swift */; }; + 000018292532BCB591F7DFD95BD047E3 /* ZFFloatView.m in Sources */ = {isa = PBXBuildFile; fileRef = 297614BCE46996073F62966B3254CAFC /* ZFFloatView.m */; }; + 001D1616C8940B8F237BAF4B3842CCF7 /* EKFormMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD29A94FEF9AF4BB9AB07897DB4DE06 /* EKFormMessageView.swift */; }; + 0028AB23BD985EFD09ECA44A848AA90E /* EntryCachingHeuristic.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9A195FC48782E255DA99CFA43D3F5C4 /* EntryCachingHeuristic.swift */; }; + 002C6B55C9986CEDC1B1ADDA6CDCAB34 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9478A87F6261C49EC4B909DB8C10E1B /* Sink.swift */; }; + 013BFA329ACD302E4E8CFCC4904E4F0C /* _BacktraceLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B4CDE4FE9FEA551812A5A170C8F803C /* _BacktraceLogger.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0184836F68D559B44CF2305521C97B44 /* ZLTextStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 809A7A37E348DB1B78CC8C1FB317103A /* ZLTextStickerView.swift */; }; + 01959A15069C232CF627641633F89062 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F7CE761E8B7C8EA898B643B192B321 /* ObservableConvertibleType.swift */; }; + 0195B164DD9FA0DAA663F438EB8B0CA5 /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = A20445C988AE70DEE2558BF1E4105D37 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 01B1F679DB9C17B48EF0AEDA9DB1F6BC /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F21F5A1996A2CB042983AB6BF476F74 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 01D99B5563E774161E3FD53138950A94 /* UIWindow+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E5330FCE42E661850807E3504C2FAEAC /* UIWindow+DDCategory.m */; }; + 01E07D16FE7B8B5B61135434E43C3D3D /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = D4850EEC7B30F6FE57C57969D478F5D3 /* SDWebImageCacheSerializer.m */; }; + 01EE603EA56A541E67C41C4667ADA908 /* _CanonicalRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C7CB10EE02F25B205C4358C6435AF9F /* _CanonicalRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 02A63BD4A7DD9963947B6C795FF0C581 /* UIImage+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BB0DF11CD844E256388256F6E16FD52 /* UIImage+DDCategory.m */; }; + 03AA89ABF65B2733EE984C0463E68546 /* ZFLandScapeControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = A59F9B1672DA8B3A328ED59E513E4E87 /* ZFLandScapeControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03F9201B022B6B8F4AECD14F7359FC32 /* ZLEnlargeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0BE9ED62BCC2A5093A64EB64B257B22 /* ZLEnlargeButton.swift */; }; + 041C0B9F468DAB0FAAB76072B1F8281D /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CF3F4B59DA866250F9E9434CB9F437B /* InfiniteSequence.swift */; }; + 04AAA5B3682FAC9D09283EA52E01E962 /* CocoaDebugDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0434DDDC1823859FCDECE653536246 /* CocoaDebugDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 04AE3CA3907CB4BC8B56B0CA13EB1203 /* DDWebImageKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A423E9E36352B4BA950B642BC6DFA20E /* DDWebImageKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05AA761B3AEA607E904EFA7843437904 /* SDDeviceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 5060D406C19911FB6F29BF6175AF4A36 /* SDDeviceHelper.m */; }; + 05B85B2CFE90CF7A48EBFEE0C8D7F3FF /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83B58209C3742C6143A6EAAD44077FCC /* CompositeDisposable.swift */; }; + 05BABBCAC0970F62A2945DF891C9DC9B /* ZLFetchImageOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0015DD4A4397A8BB2D54731EA726155 /* ZLFetchImageOperation.swift */; }; + 05C2B58E151D34C34A250F7EBA718312 /* DDBaseButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DCF49DCCC5956750763898F0F39A996 /* DDBaseButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05D26D0469B15DF8F6AFB05EF8B22712 /* SDDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 143CA1E311C722BC2BDFF6197D41B587 /* SDDisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05E7F2B03F14E6348730074E6087725C /* _CrashModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6F2557E6986536436AF9B9D864E6F60 /* _CrashModel.swift */; }; + 0627923D9D4E389A438542032987B77C /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A2FD3727D7402747D9C5A84EAAE2007F /* SDWebImageDownloaderOperation.m */; }; + 064E3CA7E9E8B0FD689A44C694C0EA28 /* DDBaseTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2BB3224EACF6972EC94E842550C338 /* DDBaseTextView.m */; }; + 065F89FE15217DE4F5B9D7D66CA35FBC /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B282B8BE3943C2E357DC5E9A00264DE3 /* StartWith.swift */; }; + 06BB443E95A25495FC3A19174991B17A /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3373BCF73FD06326B43D9F035754361 /* ConstraintMakerRelatable.swift */; }; + 06C5E365B6D8F2297DE16A7426FD6A2D /* NSObject+CocoaDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DFCC74D6C43B4E4B90A7722C8094235 /* NSObject+CocoaDebug.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 070172380E1164AD2E06B481317FF523 /* UIImage+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A42DA131B6172FC74C85FD26849C80 /* UIImage+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 074EA6B344AC7F997C76E2EDED873829 /* PrimitiveSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4E4B2CF19AA0A97913BED55A4EC9E6 /* PrimitiveSequence+Concurrency.swift */; }; + 075F7EF0396FFF6A88E97028D611822F /* MAPointAnnotation+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 77007457819878C66B2C8873BA8B4EE4 /* MAPointAnnotation+DDCategory.m */; }; + 07842AE9C200E3450448D4CE5EC90B20 /* KVORepresentable+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4E5B91D2B4254B192C7C4246BDD1BB7 /* KVORepresentable+CoreGraphics.swift */; }; + 07B5EB42C28C3BD1A0DD968E247B4C66 /* UIImageView+ZFCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F78B82F686C99D5E3FCD5D28D9D3BBBE /* UIImageView+ZFCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07C75CEEEBD4FAD75B68045458EC4A87 /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 145CB52FD5565A98364695ADFD8A9824 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07D2CEA2FFAA2F075223E847141D170B /* UITextField+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = F41C96292B34C8CE5A54B54965799DF9 /* UITextField+DDCategory.m */; }; + 07DD7EEF3184FCD7F41D558FAE757829 /* _DebugConsoleLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = AD79AFDE63354DAD29B9845B19B9066A /* _DebugConsoleLabel.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 07E392F599611967F673A8BD40BAC44B /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0C0FDAF9B5B0CBB0756844F8FC0353A /* RxCollectionViewDataSourceType.swift */; }; + 07F352E4C1784215C5BACAE2069CE632 /* ZFPlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0424EF1D49FA6768CEAD0E617E53105D /* ZFPlayerController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07FB2928E22C59D69AEC76F3C4E108F6 /* PHAsset+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55FFB414391135DF0AB4F126B372B4D /* PHAsset+ZLPhotoBrowser.swift */; }; + 08323A8552D869E49AD7E77ADD8CB62A /* DDImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A3D5F34836EA55BA9044EBCC4CA6FF9 /* DDImage.swift */; }; + 083B67B1C8E77E815F2074166150CC8F /* UITextView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = F640EC32F3A617317DB086010BD50CE7 /* UITextView+DDCategory.m */; }; + 08618BC667C4A41807D3097E7B24DE74 /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8612E66D87909083DFBD4164C911F5EA /* Color.swift */; }; + 08716982315B3A7E7683D5D9F69A2207 /* ZFReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 423325EF7A506D2BA4AC69417BA87CBF /* ZFReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0872AD4C6D18972B6940A886F04C7476 /* DDControlsKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7899D9109AB189BCD35FE32864942BBD /* DDControlsKit_Private-dummy.m */; }; + 0896B76AEBD6BF7C94932BDFE8354462 /* EKAttributes+DisplayMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = E39400412D2C0B31D0F5F7C326781BCB /* EKAttributes+DisplayMode.swift */; }; + 08C4C48B5491DF1A9649D553D51AFDBC /* NSObject+Rx+RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2B380E9E034C33BC9882A66DE3D6248 /* NSObject+Rx+RawRepresentable.swift */; }; + 08F14B504BD90DD29DD65EEB5B6F862E /* UIFont+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F113CBD7F04D6CCC85831A9030DE9DEC /* UIFont+ZLPhotoBrowser.swift */; }; + 090E539A686A781DE820DE5F13F2C163 /* _DeviceUtil+Constant.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDC75464A4FDBC01657C883EBDF5C32 /* _DeviceUtil+Constant.m */; }; + 090E7514095D254262AAFDB556B2A092 /* SDFileAttributeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = A14167FCFD0FB32EDC2EF68674B490AA /* SDFileAttributeHelper.m */; }; + 094C2F4D9A6B9F76E5FF3F0006E437FC /* MJRefreshBackFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = DBB9002DB36B9C5CEAED15B41BC7C0C4 /* MJRefreshBackFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 09B84A8323A9DF6D0A755F59CB54ADAB /* ZFPlayerGestureControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 988CEC3CB765946E5797477E8AD564B6 /* ZFPlayerGestureControl.m */; }; + 09F9F981334170713980DDF8809DB8D5 /* IQToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2402DBB661C99651655A8CE9B20D8D4 /* IQToolbar.swift */; }; + 09FDD7513B55D9A1F614BFEA21B37C45 /* JXCategoryImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DA581E9F074E80B66BD334558A97B8E1 /* JXCategoryImageCell.m */; }; + 0A6A0FF178B5FB0948C4F6BADD098156 /* YYImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 530AC8406474C2FF49D2DE4451052522 /* YYImage-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AB82009E5495FF3657BC47CCBB69E14 /* _CustomHTTPProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 3480149906C7B359B9F9BFB647326F50 /* _CustomHTTPProtocol.m */; }; + 0B2496E67573D673075AF7FD2A36754C /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63304CB36B0021135E45F114DD81E894 /* ObserveOn.swift */; }; + 0B3CB8B0F6A00EC008C0DF3CC323DD2D /* JXCategoryTitleCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF3BA6F15C6A09BAD8B19B6109689FA /* JXCategoryTitleCellModel.m */; }; + 0B71B7A7EDC041A6A0BB7C127F9DC547 /* MJRefreshAutoGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BAD6946AD622B4A7BD2B4543E1C53B20 /* MJRefreshAutoGifFooter.m */; }; + 0B94E75FF2747C7288F1C62CFA5849D8 /* UIApplication+EKAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE8837F1FC5192B6B8FFA7C38474BA7 /* UIApplication+EKAppearance.swift */; }; + 0BE239C83EB39393C2217E5B2FF6B218 /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 49A6583AE8EE2EAD248AC86F487484BC /* SDAsyncBlockOperation.m */; }; + 0C0D931655251C8565D2D26F6C786DD8 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078FEB725A9246B2610258A10A64AFC3 /* Platform.Linux.swift */; }; + 0C21914CAD223DB4EAB1015C4EB49BA5 /* UIImage+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DC4CE8D9611DBE3D99EA727F70965C8 /* UIImage+ZLPhotoBrowser.swift */; }; + 0C327077BD29B65ABA96C60A026F1E89 /* DDProgressHUDKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3823CE3B2382A22A586BE19EC92D84BD /* DDProgressHUDKit_Private-dummy.m */; }; + 0CDBF40935FFCB10BFC284D33F7C5327 /* ZFSmallFloatControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = B85BB28F933857053898FE2F684653CE /* ZFSmallFloatControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0D1B44FC9F42E3CD0D7BC1DB16C97823 /* GPBMessage+CocoaDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = A0326BA4C1CBA03BFF9AFEA22E6E9AF8 /* GPBMessage+CocoaDebug.m */; }; + 0D945B4CBF8A282AD7603E792DA50882 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBCC94BCB3634D6D25F0EE5A0657E7E2 /* Completable.swift */; }; + 0DABF94CD1F51D2C9CE647F2208CBDD3 /* DDMASearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B39E3962E974CE3491057975174B00B /* DDMASearch.m */; }; + 0E03DCCB2F13A604A526D8EDD2417E65 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = B48840F0AD051EAEF7F001A7EF226FDE /* ObserverBase.swift */; }; + 0E0AA48C27E14A2A00DEA492873A599C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4806C5FA6DFBDA1F4812B1DEE62DBEEB /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E2DB7F0238399F871D828D7969754B1 /* EKRatingSymbolsContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE779030EA9A3CB390888BA48336C10 /* EKRatingSymbolsContainerView.swift */; }; + 0E56518E9F1C83990C68DB5F3473FA31 /* JXCategoryViewAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7964C64FDDE769F97B3708C2789305A9 /* JXCategoryViewAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EDEDF4CA9DA8A5FEDFB15A7666D0A3C /* ZFPersentInteractiveTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A89B129FE80B2860DD988D6B8C3D126 /* ZFPersentInteractiveTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F0C901337398FE4738DE95521DCEB56 /* JXCategoryImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D979A31D43D27BFD1C0215BDE6181482 /* JXCategoryImageCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F2A15AFE59D676EE52603A4C5A4F918 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = F04827CB3C7B37F69432BFA0FA94DE2A /* Single.swift */; }; + 0F3D0046C86EE9D561A825514D92565C /* UIColor+SDHexString.h in Headers */ = {isa = PBXBuildFile; fileRef = 7288E751385A0027F4AFB7C50169DFB3 /* UIColor+SDHexString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F920FC3CBA6622C2B007441D6D1126D /* JXCategoryBaseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 5729015A4D3A765C8AD57FB209C4EAF1 /* JXCategoryBaseCell.m */; }; + 0F9C43B2FAA70400326C06C9B3F5147F /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E72F45F5503503CE7630B7FC75994010 /* Sequence.swift */; }; + 0FCF5790D2F3073064922FC3C8D9440D /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BAF2D64A36C00E0C3F1A0E0E2818D4 /* DelaySubscription.swift */; }; + 0FE5274E860DF99627D2044A2D12B27F /* UIScreen+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 2606BF073ED1C36ADE1A3C41F209B677 /* UIScreen+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 10345D3B19E401C3F2822074041C0558 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 576BDF4FA045F98BA3A7080888EA51B5 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 104C35DFFA5A1426FF8EFF6E63793213 /* JXCategoryNumberView.m in Sources */ = {isa = PBXBuildFile; fileRef = E9EAC610C4A7192FFD7F38A8B5135157 /* JXCategoryNumberView.m */; }; + 104EA22965200BF741890B104BF71879 /* DDTimerObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E09EF65906AA0CD6A190AAF188A300BD /* DDTimerObject.m */; }; + 10DE5D64EDD01A2176294CC87737263E /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 577A91A3F7759F072F7A3C28C56DDB52 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 110FF9ECABC7F20FEEC801793B897C94 /* RxPickerViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CC390F73975C3A81BF79BAC89528AA /* RxPickerViewDelegateProxy.swift */; }; + 1128E2E73320605A26D05E7B01D3BD83 /* ZLAddPhotoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85936B333071BC6A678A2FDAA5B47324 /* ZLAddPhotoCell.swift */; }; + 116108DF1851A434DF1F782097754214 /* DDBaseTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA1F2117F33D6A37E4A4348E9D625D0E /* DDBaseTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 11959682F433A544D6DFB8A616C9A5C9 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 713D707AC3CBA3593195D75FB79C1172 /* Producer.swift */; }; + 121C80950F30EEFFEB4C652DEC69909A /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C4F9B2C9EB402F75D3A3697B0B8B70E /* DisposeBase.swift */; }; + 1268036B960DDE94D83CD876DA9870AF /* DDProgressHUDKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E0C4A32EAB5B902DFF9D29FB6408315 /* DDProgressHUDKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 126E23789ADC2C015043AB868F4DAB3C /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1526916BA9C865B5F2F2376B2225D7B2 /* Just.swift */; }; + 126F75C66AAE521360A205CC28EDA57C /* _DeviceUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 154230206A150B2C36F188B2BEB859DE /* _DeviceUtil.m */; }; + 13AA5156913F0EC843A8AC0B9AC5BFAD /* _Swizzling.h in Headers */ = {isa = PBXBuildFile; fileRef = C991A739341C85A8CCB4B866A9D1D64A /* _Swizzling.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 13B03D3CC04040B5E30C7FB851B053C0 /* FPSCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 972C56BF1C604E865ECE0EBB1FE1B5C3 /* FPSCounter.swift */; }; + 13F633B3AE22C8CEA1CE8874C1E509B8 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940CEFC0CDB83E38DCC7FB4BA6C25D45 /* DispatchQueue+Extensions.swift */; }; + 14356EB1520BF1286BE2C9FB38C8B764 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7AEE4D0439517BDC6C7D3A38AF2D24 /* Repeat.swift */; }; + 1486E0592B40F546E20EB778F7718220 /* ZFOrientationObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 87794F049F27B49F66F72C441BB854A3 /* ZFOrientationObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 14BC856075DA12C985773806DA200B51 /* UIScrollView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A83F0EAC2F38F82A2B1FB87464E24E6D /* UIScrollView+Rx.swift */; }; + 14F6C834288FCEB5EE4867EAB0F84D16 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5514FA498E749651463965DEEB02CE6B /* CompactMap.swift */; }; + 150EBE744426DA643E507BA08A9DE5B7 /* _OCLoggerFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 02241EFF45DEE412DF1738B3F5313C04 /* _OCLoggerFormat.m */; }; + 1511F0539EE313BF002EB0A462E30B65 /* QLCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272686D4A5F7C20D07B917D15F484D22 /* QLCompatibility.swift */; }; + 1561BF831B4EC3E3E879298DA74BD7F9 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = AA41FD1CD95A52E213BF3BF80091EF73 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1561C74739A0D164733E9C4894094F9D /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0B646AE15BC79042BAA18752D43316 /* ConstraintLayoutSupport.swift */; }; + 1594543EFB6344344DB3785F92F82E76 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B00FE860D64B125D39C944C6002EF2E /* Platform.Linux.swift */; }; + 159496B27D352A38E9ACDE8A3DFAFE1F /* PublishRelay+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D280A441EEE7D02EF4662E636543BE7 /* PublishRelay+Signal.swift */; }; + 15BCB3EA18BA4777D2C7293A2269668A /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4C1454733F931C037B8E923AC7F3A7 /* Event.swift */; }; + 15D653A7E1AE2E452BB8CE50ECF09C9A /* DDAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70B6A5340E1BF2478695B9C553EBC6FE /* DDAlamofire.swift */; }; + 160B9AE178AB2DD44C98F37D2FC148EE /* ZFLandscapeViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D7A72D62C10B21FE6AE3AB2C59B72BDD /* ZFLandscapeViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 16AED9E453F33B4FB25D6A64A1DBED59 /* _NetworkHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D4C7BF075D0BAF7146261F0ECF9EA14 /* _NetworkHelper.m */; }; + 16EA78DC70B63127C08F747C99B01349 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F7E6D4DA16A359E37CEC2ED6EDD992F /* ConstraintLayoutGuideDSL.swift */; }; + 1719ADC81CA7D3C14E267ACBDBD7D16F /* JXCategoryNumberView.h in Headers */ = {isa = PBXBuildFile; fileRef = 81D1924AB898DCB278D9383DB46FC74A /* JXCategoryNumberView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17456F95ADB7047E4099BD8EF4567577 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97B39A0D2DC0C43C54F35FDD4047A028 /* RecursiveLock.swift */; }; + 1767EE365CCB76C6E4C926DD42C779C5 /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B7C74EEEBE77518EE26F8950344D0A /* Take.swift */; }; + 17EB4DC815A2337C2344E7BBBC8D461F /* DDMutableAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D8A0C37CA47FF6E6A7EB6D4BECD4E63 /* DDMutableAttributedString.swift */; }; + 1852BF48A0664A571D3474A1421403E2 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00168277CD215C813ED486B5C3C2A7C7 /* SessionDelegate.swift */; }; + 186471DCF67C802F2D0EC2CA4DBEFD28 /* Pods-OrderScheduling-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D85B8BF3698115B7F620042AE16B7874 /* Pods-OrderScheduling-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18A97E86B886DAA53D8D79BB9AFD0E95 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = CB10303A529FCB8F2C0A1229D3B6FAA3 /* SDImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18B758039F002241FE5F8E323341B5F9 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C3214AB5B50314AF60549A01C00CBAD /* Optional.swift */; }; + 18E7DBB0A5321F667DF67FA3F007357D /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BDABD901A950BB4EF3A36EE4C9DF982 /* ConcurrentMainScheduler.swift */; }; + 18FFEFC84AF85E9A5B79D6B9BFFE9532 /* _DeviceUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A321F3A5FDD05A145C6CC8E2C38EB41 /* _DeviceUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19342466115B527319751835469B59C7 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC33097DF29A7025CD9FD3DB16E3B0B /* First.swift */; }; + 1951974553555FDD604E274748E45DD8 /* JXCategoryViewDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 4249BBE478EF2E3FBBF7A5C90D38FD21 /* JXCategoryViewDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19852C32598DF9170B3E4DEF382C3532 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E4FA5D906AEEDE746FC786311ACA0F6 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19CC9970C0D2EEEC7CAABB124A728068 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9647AD81359A09805FD5F7AD9D6FABD2 /* SerialDispatchQueueScheduler.swift */; }; + 1A27EABDB2399A0ECC0F9259AE5A6065 /* MAPointAnnotation+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = BE7B5AC4FFB0B67193CECF4A0405EB7B /* MAPointAnnotation+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A47EBBCEC8DDE7E8EA1C71FEC2BE256 /* EKEntryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C0450964E953CF7004984DB0E9AFAA1 /* EKEntryView.swift */; }; + 1AD438429DD404040E78321648906FEB /* EKXStatusBarMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A423CAEC955CB372147CE758EC1FF588 /* EKXStatusBarMessageView.swift */; }; + 1AED69747E53797ED128F96F1D8A70D6 /* RxRelay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B3236BABEDA9FBC8E0286261CC6342E2 /* RxRelay-dummy.m */; }; + 1B1F0477E626D72E108F4E670DB7ED7C /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = A34CCBF5B2957428FF0A2D400597EEFA /* SDWebImageTransition.m */; }; + 1B3287EE8A36F997897EF13751E8A633 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A271C7006084BC6628CAA997172CEB57 /* Buffer.swift */; }; + 1B641CAE5F13D776CBF39C4BEF9A70CC /* DDMANaviManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 30B1718F14FC3EFEDB25A9FEEB147CE5 /* DDMANaviManager.m */; }; + 1B8EAE8BA25B592D86F134E511AD8BEF /* ZFKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 78A05C2C4B4341A8495E9935DFD46BC0 /* ZFKVOController.m */; }; + 1B9B8CB7EFF73C7A513D79EE43AEDED8 /* EKAttributes+BackgroundStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71B64DD9C5577AA315CC42CB7D1CF461 /* EKAttributes+BackgroundStyle.swift */; }; + 1BE94E6045C39A801177EFCA0C3366CD /* SharedSequence+Operators+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8B2E683AE0C3D401AFFE52FA9381C9 /* SharedSequence+Operators+arity.swift */; }; + 1C12A12F74638CE7B973AD497819A90F /* DDBaseTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 13F31176B57439B9D5550E2F79F3746E /* DDBaseTextField.m */; }; + 1C1A0A4E2C5B36EE4F471474D536D750 /* NSAttributedString+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 47B5E166EA08AB6B72ACD5362243EEF3 /* NSAttributedString+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C5F07B42EB43C301039536EDF55A7C8 /* DDMAMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E8832855848F9B3DF35AE4AFFE349EA /* DDMAMapView.m */; }; + 1C8E6F4C2966C17FFDE1E393D2B2C52B /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 66AF7A3EEC3FBA941E81EA458AA88D5A /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CCB09733AEF482DDDF945ED7AFF871A /* ZFPlayerConst.h in Headers */ = {isa = PBXBuildFile; fileRef = E039412FD6350AA534EA5569A26E2DB6 /* ZFPlayerConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CF914EE045065FC260282EACEB39A47 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D0D96C6F246DA3B52916505644C04A6 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D029DD0697E9DA5079F55DEE0C53D99 /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D69CADBCA313A715654179BE2398DF7 /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D872C7E6CFFB616D9C2AE9A818CE105 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2F4DCCBFEAD560CA85A42980F44FCD /* SDImageCacheConfig.m */; }; + 1DBCD6D35EB5371F18DD51F8A2A17BEE /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84C36F74BD80648BBD4DCC61687CD55 /* ConstraintDirectionalInsets.swift */; }; + 1E6F507B7333AC0C2EF6B6308DD6292F /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1145E3F0DAC09BCAF37050B0DF2FC8 /* SDWebImageCompat.m */; }; + 1EC020C895DBB3F41B8F38DC6B184DE2 /* SDGraphicsImageRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = FA97221CB2D9C420F680791AE34F97C3 /* SDGraphicsImageRenderer.m */; }; + 205A828EAE8ACF1A498FE973E7507F9B /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53A70AC549836007D8446467D2D13D3 /* Disposables.swift */; }; + 205D4F61CB9ED1CE451C27D5950DE9F2 /* CrashListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF2D88A2F97B298B5CBEC1C8812F1470 /* CrashListViewController.swift */; }; + 20624FD8D76D790F3E133497F0AB1815 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2B19BA25C3C330333FF8F4F6861E014 /* TextInput.swift */; }; + 208C28BB20B74966180E09F143D05703 /* JXCategoryIndicatorLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3817018A176F32841665B6299C9348AF /* JXCategoryIndicatorLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 20E3F0335F6F60EF606F5E6D18ABDDFB /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99AEAF8E27EEC3F979CA9B4953ED141B /* SerialDisposable.swift */; }; + 21512C78C6B356E2C228D9BFC7481794 /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247056364BE55913A6DFA421B386C5DF /* IQTextView.swift */; }; + 218CD2971995C4270CE6C0FD6F7FD1D3 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ECB8629B253CCC3616FEA82F7271763 /* MultipartFormData.swift */; }; + 21BBCC480DCFFDA1A130CB3F1A89D5B0 /* NSTextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3151AB255E960BB2CCD8D4CD30C3D422 /* NSTextView+Rx.swift */; }; + 21F929B03EE5D3B72423B006AA51C78B /* DDBaseTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 05314D48701DCA92CB1C4A4062730136 /* DDBaseTableView.m */; }; + 2206328248633E0CBD3613CEC762D527 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34DB5BB7577231DBDF520EAC89E18916 /* Cancelable.swift */; }; + 221A1EFA0518311976C4159DE2D719B8 /* EKWindowProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757C6CB011B0513672C9709D00F26B80 /* EKWindowProvider.swift */; }; + 22ACB88454D706696FFA80153AFCC611 /* _FileTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 50F1482CAB992E221BAF025F3B864CC0 /* _FileTableViewCell.m */; }; + 22B2893540824DE4EAE73613630EEB7D /* EKRatingMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2143048F86DF4193A6AB62ED73766698 /* EKRatingMessage.swift */; }; + 22F708E957D1B5F9A5503FB63443DBCB /* UIColor+JXAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = DA06E78296403CFAE4F2A3E4B8C9F1FD /* UIColor+JXAdd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 238D067BBC67462185D9DD1C839138A0 /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 004CD594BC22DD340929C3E0C9C483F3 /* Maybe.swift */; }; + 23C78C71A6FC138C8BCCB2DBCF07AE1B /* ZFPlayer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F61107954704ADA20D3EC8B85F2EE63 /* ZFPlayer-dummy.m */; }; + 23D60AC17268CEAE321FD91D95FDFEA2 /* _FileInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = D1D41CA30D17C00F2D4CED92B659723D /* _FileInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2446E15C2691076AE02AE7FB84E124BF /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 02378D2AB7E68FB22F1964DE053EF806 /* UIView+MJExtension.m */; }; + 244756812F4CB3B8B1D098225558268D /* DDView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 947EB76FDD899CE8994F5370E76EE405 /* DDView.swift */; }; + 24CB04FF8F5A845609FBEA4C39D417D7 /* Array+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6898885DC20EE70D9C1EB74772737EA4 /* Array+ZLPhotoBrowser.swift */; }; + 2507014A26449C348CEC857B89FEE333 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = AB4A34F074551EED982A91C0E0AD7A7C /* MJRefreshComponent.m */; }; + 25367CA720FADB9E539AEE26697C07DB /* SDWebImageMapKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 1021C1015D8030E8018E70F7FA5D6B04 /* SDWebImageMapKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 253CA347D625742BC0BA71F2E8B84278 /* DDBasicControlsKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ADA403A31FA1A88700C6F3579E62A04A /* DDBasicControlsKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 255CB69A9E68F5F6AF2C553296168A4C /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58A99566F927893258588E633BD0D0EE /* Timer.swift */; }; + 255D6DCAC2BD25E3D42581EA3D13373C /* ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 099BF8279325CEBF485E03C1AC4C4825 /* ZLPhotoBrowser.swift */; }; + 2594B81E012C40CF7C0996C3ECB30BAA /* MJRefreshNormalTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C36B204109042DD0B6FDBF102A97CDB /* MJRefreshNormalTrailer.m */; }; + 25B9D312046078B515E9DE443B24ED35 /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0405BCC9D7B9A0D536816C3FDD3B3D66 /* ServerTrustEvaluation.swift */; }; + 25C7FA1656C3EF1177BD58A5E3EE4E40 /* UINavigationItem+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 19206F95DEED91CD9B3AA37DC6971906 /* UINavigationItem+DDCategory.m */; }; + 25CEE593E4ED0317A5BB9456436B0C67 /* EKButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65387F921CCB222EB665FD7FE640FD50 /* EKButtonView.swift */; }; + 25D2D9F5D3AF5D6F116F4C9EDE2452FF /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B512276839E7B249A0C7AFE547F65ACC /* ImmediateSchedulerType.swift */; }; + 25FD8F9E0D71213C84D8FE596B7B2882 /* CocoaDebugDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = DABEB4550F6B1B2F5CEBFC7A919B53D8 /* CocoaDebugDeviceInfo.m */; }; + 265FB60F6AB34B4FAFEFF416DA1F1F10 /* JXCategoryBaseCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FFA0EE393B7D8DF6309C4867CB6344C /* JXCategoryBaseCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 26A95A593A3011DFAC355EC59A52E646 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA24EA00277932495A3B24F44F1C8A15 /* ConstraintMakerEditable.swift */; }; + 26B198600368EE106481EC5B38FE4B1D /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56CDFFAA431E30C72862C8262C36F484 /* LayoutConstraint.swift */; }; + 273E6DDCA9EEEB683B0C2C61AEC9EC69 /* _QNSURLSessionDemux.h in Headers */ = {isa = PBXBuildFile; fileRef = 9755AE68334B8FF894133F825CC1A03A /* _QNSURLSessionDemux.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2782178F820A14ECFAD608CF648BB26D /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DB84BD73E094F58416237AAC901B492 /* MJRefreshBackStateFooter.m */; }; + 27ADC2222714C29A0504BF7A6C1EE24D /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 81B873BD5D6B7FD912871EACBDE48559 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27B8816D6F3FC5651CAF7A328FB1F545 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF277BEFB312481916D11C124EE99F6D /* Timeout.swift */; }; + 27C3CEF5A8C7BFB8275195F1380473CB /* UIApplication+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DE01356E6995721A48739BB3C93E22 /* UIApplication+Rx.swift */; }; + 27DF770B170C70528E02B140DABC07A0 /* _BacktraceLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 52BE2B43568ACAA29D1CEBFCAD14D910 /* _BacktraceLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27EDA91CC20195D694592CA50256BE67 /* EKAttributes+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE2A371EFD38BEAF027D16AF4FF6B1EC /* EKAttributes+Position.swift */; }; + 294B460E8287D0B965258F07CB3847E0 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1FC7027EEC244DED7B91DB13E0778E4 /* Scan.swift */; }; + 296C4C79146F190E62AE816E9ECABEEA /* _DebugConsoleLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BED7273BEA06FFD5C93ABD93D4E0352 /* _DebugConsoleLabel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A1CD08ADFFF90E753887549FE5426F5 /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B406984239E0A7C2E354E908323FAE4 /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A35DC8F5EF487BF4B5E2899618FD0D6 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 144437B0597BD82481B2A24FC0EFD31A /* Dematerialize.swift */; }; + 2ADDEBCF302EE4644785955546FA0137 /* SDAssociatedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 76A1859FBB95A911F738D3276EDA4D21 /* SDAssociatedObject.m */; }; + 2B23A91C7731BF622393CA6FBF21043F /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF16877D5A870132D10719314A460AFD /* Never.swift */; }; + 2B3EF5A06A1D104954F53234E8E0A873 /* JXCategoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EC593FAEC7457806959AEEBDD0C5E1C /* JXCategoryView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B839970ABBA6A8126A4793904C22C7B /* JXCategoryBaseCell.h in Headers */ = {isa = PBXBuildFile; fileRef = DF8E37C8358E84B9BAFCF9FB2546BF0B /* JXCategoryBaseCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B8EE43F72066DE6B79EB28F9A7F62E3 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7B6AF123CEE144EACF7831822CE8454 /* Using.swift */; }; + 2B91ADD3BBBFE7B74F53F4B4A59FA42A /* JXCategoryIndicatorImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 23FB985D2DB41ABB93FC464B4BD3AA55 /* JXCategoryIndicatorImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BD424446AB4BD2CE2BBA6B0ABC6FE96 /* DDNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BBBC12620DACF92FE7EA6C5B7144D83 /* DDNavigationController.swift */; }; + 2BE2B20F3E2B12381174FA11A0DE3644 /* ZFPortraitViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 225B671B98BA8C87C23FA1FC6DAF7FC7 /* ZFPortraitViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BFE52F6E917ED3CE9A1057BCE39194E /* SwiftEntryKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E21C3482D5F817D7C3938CA7A798412 /* SwiftEntryKit.swift */; }; + 2C089711506854D42BA24F1C584DD660 /* ZLProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202AF65C5E7D40BAAA6A802E0786A02C /* ZLProgressView.swift */; }; + 2C74EC11B77042707C02D50D7397E771 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F416FF3902925A9990E429205B441557 /* RxCollectionViewDataSourceProxy.swift */; }; + 2C8CD89280A61E74F752C1B6D05BAE1B /* EKWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B43E391FAC25B1430B051C01F2A5EE6 /* EKWrapperView.swift */; }; + 2C96986F46DE40BC67A31891B540F314 /* ZLPhotoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A820F356866C8E7F8B702B6C41D07B20 /* ZLPhotoModel.swift */; }; + 2C9D5104E3A512934F635EA801B0B37C /* NetworkCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAC45CCA3B9690828CC8C8A8EEC80E84 /* NetworkCell.swift */; }; + 2CBA99FEFAA12064682FC0DE2D2131A2 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2765BC72119437D2DD5A8D2CD950903A /* UIImageView+HighlightedWebCache.m */; }; + 2CBAD2261C2EE1772387DBE73BFE8081 /* SDWebImageDownloaderDecryptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 73D211CF3D5CCD86F4B4DEB55EE82F64 /* SDWebImageDownloaderDecryptor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CC32091848E70728F4BDA4FAF1C94F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC0B3A7300BCE69E8992F61EEEAC6CA6 /* Alamofire.swift */; }; + 2D1045B2AA5083A9831A4BD3947FB759 /* ZFPlayerMediaPlayback.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EBB4B7FC55CA6DEE93A812659ADB7AA /* ZFPlayerMediaPlayback.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2D15FCABA47B15B2A1C4019BF1ECA655 /* UIScrollView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 353B71F6984CB923BDFE4334EB21C789 /* UIScrollView+DDCategory.m */; }; + 2D4388848D5C25AEF75B0B3C11DB10E3 /* DDBaseMutableAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = 809A8A2E507878672B7D9191500FD2EA /* DDBaseMutableAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2D7F8BDD674ED83BB859BED0514D9172 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C4BDC5815F30FB6000FA625FB07C091 /* Disposable.swift */; }; + 2DBC013576400933CF98FA9EE617D652 /* UIScrollView+ZFPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E2A6EB9F8AA911A064BF7816E24E6C /* UIScrollView+ZFPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E6848BEB6201D2F2C1851077E101207 /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C3FB209840D3D8DF61CE90BD98341E /* SingleAssignmentDisposable.swift */; }; + 2F1B528CD4A6EBB69568E001A3E15E22 /* DDFontKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 45335757B0CD41AB3866D5604062C4C6 /* DDFontKit_Private-dummy.m */; }; + 2F25B524BAE7F4A1010E66073952431F /* ZLAnimationUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E415AE10176B57FD8983570EAD67302 /* ZLAnimationUtils.swift */; }; + 2F6451763DC19FAEB6A8E2C3379FE51A /* DDBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D9E45ACFAB81B50B5076FE51151D95F3 /* DDBaseView.m */; }; + 2F92D77F0B6DB6F93469E29305BD0BE0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCA961048C3FD9DD3B7C90C277548114 /* DispatchQueue+Alamofire.swift */; }; + 2FBA6B4CFEDEA14DF62EC282B323F528 /* _ImageResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 33761B007481B9B60FD6C6F2A8F99769 /* _ImageResources.m */; }; + 301D05913A848309EC9365368BBAB1BD /* UIImageView+ZFCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 851883344E384E61499414D74B69C88B /* UIImageView+ZFCache.m */; }; + 306AAA0978204ABAEBE3A5D9CA64810B /* ZLThumbnailPhotoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A63380366516F55AD567515566FAAE60 /* ZLThumbnailPhotoCell.swift */; }; + 309C49EF61D7D5C2E2DE8668D4B42688 /* SharedSequence+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF809F1C14EBDE190401F6C6F4811C3C /* SharedSequence+Operators.swift */; }; + 316BC27C89EA174E4233348DF1E30934 /* _SandboxerHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = BD78BB40E0A69549D82EEBDE9682865F /* _SandboxerHelper.m */; }; + 3186CB345D75C3BC0D80478197E8CF90 /* UITableViewCell+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 846F0345F02A92E7432F3057F6E5CE10 /* UITableViewCell+DDCategory.m */; }; + 31C4D922B73C8DB5EB1F4EECE5B99577 /* IQUIViewController+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB9C7A00F2B5A8DAAA4D81973CAF125C /* IQUIViewController+Additions.swift */; }; + 31CA63244E4C766F4097060686854AA2 /* UILabel+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 45B32DE9A7B9C5A89720EC3645D759C8 /* UILabel+DDCategory.m */; }; + 31CA7B9E8EA236369E7DF755D46EF541 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 182537C657FFBC45A4AA26CB26FDA779 /* SDmetamacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 31DF54E033EF144675A3610238452B1B /* UITabBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6F2F0C5326E666DBBA0186294E3ED8 /* UITabBar+Rx.swift */; }; + 31F422ED136BAAF48B5E0B4E8715C455 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29FBB3D167B8DF7BCFE9BD71DDDFB265 /* Zip+Collection.swift */; }; + 3208D2E1AC17249CDDF8D24BE0170987 /* String+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA519685190B572CDEDBDD3602390865 /* String+ZLPhotoBrowser.swift */; }; + 323A542F490C67E017A2B7CE4F24EF3A /* UIScreen+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = C6101559B87B19CC3CD53DA60817C0AA /* UIScreen+DDCategory.m */; }; + 328650A2D927732D8D720F558A37AD36 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6AED8ECFF2278AD92D73718DAF6DBD /* UIButton+WebCache.m */; }; + 32AB0A73A628C0F9A318E21F0728AA10 /* ReplayRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27A215E415949FE7A5E224EB198C3672 /* ReplayRelay.swift */; }; + 32CA25222D6B2A9C52343DF57E4793B8 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 853F285A17FD9AB5E40BA5192CED5D4C /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32F60407B401152F2C0FC9ADB064C913 /* MJRefreshAutoGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 188D88E88B8A4CE92A8E4D0BE56F0A87 /* MJRefreshAutoGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 332189AD4AD25E48E7584583B70EA4A4 /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E11FAC1AEBF2C15B9C227675AFD816 /* ControlTarget.swift */; }; + 3336117E54632698AE7BF69221C9BFBF /* EKAttributes+FrameStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = F16C763A74016E4CEB71BA0AC0355626 /* EKAttributes+FrameStyle.swift */; }; + 33616C996675BCEEACADC74135890BD6 /* JXCategoryDotView.m in Sources */ = {isa = PBXBuildFile; fileRef = E414A6313A05D153A70AF3CD99CB5E02 /* JXCategoryDotView.m */; }; + 336439A67521DEE2DF0D4EA4E9D4EC03 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2083522E41525D888F80775C847896D4 /* SDWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 33DD1C09218B04657D81C692112A1803 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B60F6FEE657E935500F64BAE82892F1 /* Window.swift */; }; + 33E6CA99094499EF9BD2A1696189FCE2 /* AtomicInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EF9BD363F0C6965095DA3196AAEAD4 /* AtomicInt.swift */; }; + 33F10CDA20B13FA6E25E9638ECF4B3AA /* ZFLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 569BD9C4ED53D209BAF80A944B0487B1 /* ZFLoadingView.m */; }; + 340A763250D0C4BAF58E7EEF61E530A3 /* CocoaDebugTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 03107261A71449527516C5246CB6B9FE /* CocoaDebugTool.m */; }; + 34196A2D257E48AF439C38B32DDF0200 /* YYSpriteSheetImage.m in Sources */ = {isa = PBXBuildFile; fileRef = B17EAB5A4B1EF1BF6308ED53A9D0A7E4 /* YYSpriteSheetImage.m */; }; + 34219E74B6FDF7C28D0D0ED21D17410F /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D069031AFD537B5DEC4C6DE48929461C /* EventMonitor.swift */; }; + 349E933224A2196BE8CB8F20A386089E /* UITabBarController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1345F6A41C6A792E864F26C2911056AD /* UITabBarController+Rx.swift */; }; + 34D7B7F81DBB3A50D80E68BE076FB80C /* EKNotificationMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CE59418876D634B4793767FCCEB2ED /* EKNotificationMessageView.swift */; }; + 34E13F8436DFD3782A54FFEDE412927F /* NSURL+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = BF332C0F15DD336D5F6ECB03B8CBA97D /* NSURL+DDCategory.m */; }; + 35461BF27E4168792CB4AFFC7869C06A /* DDBaseModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8631B800FD236C9D9D5E4E309DDC5C39 /* DDBaseModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35566A4CEE196074A328F12B0F748B87 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D3B2D20A8BEBCD3020E65D187598DC7 /* MJRefreshAutoFooter.m */; }; + 35BF909F60929C0222C40DA6D149AB28 /* ZLCustomAlertProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF8706FC22FFDAF4CCB948313790CF1 /* ZLCustomAlertProtocol.swift */; }; + 35EC4BDBF382831DEACEFB9CBEC7313E /* JXCategoryDotView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C7547C00E2A45DF6BED4083EFBB9BC1 /* JXCategoryDotView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3615678A2D40C0ABDDC178C56011AA3F /* DDNetworkingOfAlamofireKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6089847F6E4723EED1BC17DE510141B8 /* DDNetworkingOfAlamofireKit_Private-dummy.m */; }; + 362DCE6C30193B4F265B6BCFFBC28186 /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = A262AE8C7922BD7C250E88772C5DE106 /* IQKeyboardManager+Debug.swift */; }; + 374EAD168ED1557F62AF773925D4AB49 /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082FD9381646844261A8E5D10BBECE16 /* Generate.swift */; }; + 37937A9707A5C80FAB0C0D885BBADA38 /* YYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = BB50A53F26CB8ED76662696E8C4A3E93 /* YYImage.m */; }; + 3848E339FD18EE2E315E064031BACDE8 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A642FE3DC7A3D51B94016D1A782B623 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38802157351AAA28DBC3D215EB049363 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C640483FBA32D66DD92D2577DAE482 /* UIButton+Rx.swift */; }; + 38ECCE8DD71FC839807DF4F6494A77C8 /* JXCategoryNumberCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 036E65A341C9A608ED342546F5771EE4 /* JXCategoryNumberCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3909A9DC00E78A63A4EF29018C46120E /* AutoUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCF78219934B933B7CDB278A7D6CCCD9 /* AutoUI.swift */; }; + 3933D9E6DA66FB0DBF16422783A41243 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EB3B350FA46D67DFC8BEBCABD13498F /* Materialize.swift */; }; + 393F39D7464BA3FF38602C6932B0F5CD /* _OCLogHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 365CF9EAC66E9651EF91E99791A62E4D /* _OCLogHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3946ED75014AC5E8B4C7A7CA79D4B436 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E2833224F3C79CD8F0EA3536EAF435 /* TakeLast.swift */; }; + 396FD117EB0E216740DB35C9E2C00071 /* DDBaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C0CA20E72B701AC9AC4D19BF8597D1F /* DDBaseModel.m */; }; + 39A1EED7EF20556DA57E00609DFD1645 /* ZLImagePreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90563EEA416B7523480D2B48369FE45E /* ZLImagePreviewController.swift */; }; + 39A20A6292B535CB9F60D3A449682C56 /* ZLEditImageConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A68C48493CAE8119467B3DB7E9640EF /* ZLEditImageConfiguration.swift */; }; + 39A3EB396EC47B33F8538BBA9570E35A /* RxCollectionViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E4A9E9749600FE0A5A2FC3D4DAF2F3 /* RxCollectionViewDataSourcePrefetchingProxy.swift */; }; + 39D58D6790E6C9BAFB8689BAC91792D0 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAD5DA828BDF6C83920BF522919D91F1 /* IQKeyboardManager+UIKeyboardNotification.swift */; }; + 3A084D5C95E65D5177437CE8F0BD1A78 /* DDBaseCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 82E7452B17A8D11C1D63C83076053639 /* DDBaseCollectionViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A1BE3A790D32DACDC81F728B5AEF8CF /* EKAttributes+Presets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313C18942829D3298016A4A1A979723 /* EKAttributes+Presets.swift */; }; + 3A2E7663A740448B1DA51DD85FC06E19 /* ZFKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 22CCC198FDC61AF5343FA7506862A97C /* ZFKVOController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A5239200052646BB3581EC8BCE593AE /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FF4EF6D2E392361DDB5AD7E17ED2BE9 /* Response.swift */; }; + 3A74E1D6C0FDBEB91445B6377062D8C7 /* CrashStoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F1A73CC7DF2170CB5CCEE41F48033EE /* CrashStoreManager.swift */; }; + 3AEBB1EF7449591B2801563D09246397 /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEA794A50898F92D70897F0ED03095C /* ConstraintMakerRelatable+Extensions.swift */; }; + 3B1A564B9874D6DA61235065DD3DD533 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = E103DE105F7B640753D83DB7B9294159 /* Empty.swift */; }; + 3B3B929A609B79FF25A300BA1900810E /* ControlEvent+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25819363277052090C61BE046C2A311B /* ControlEvent+Driver.swift */; }; + 3B4FF7F8F315EB94AED04F0CF38C88A9 /* DDControlsKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CDF52C63CB219CFD5414F3812B9B163 /* DDControlsKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B6337DFDE8F243FC631468501ACA929 /* JXCategoryIndicatorImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = A520DCEC9DAEE3B368019BA755DCA97F /* JXCategoryIndicatorImageView.m */; }; + 3BD559A09D0CD8654BE7D83EA458EE76 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C3F2F8FF73B12B6233F77A27DE174A3 /* PublishSubject.swift */; }; + 3C0A881913B08D5AF1592544315A698B /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA61F138C2388594E85DCDBAFBB0CFB4 /* CombineLatest+arity.swift */; }; + 3C5BFAF868AD93AF92238CD4F5B0F44C /* ZFPlayerMediaControl.h in Headers */ = {isa = PBXBuildFile; fileRef = B20658DB19586260FA8FF56A32FA4CB5 /* ZFPlayerMediaControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C805150E423EB13D4A9854E26314362 /* _OCLogStoreManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E41B40BF90AC2FBA0BBB86D21D744EAD /* _OCLogStoreManager.m */; }; + 3CD9F65655D76EBEC391224B87A1CD5C /* EKRatingSymbolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A21382378B3B4CDBD91596FA801A46B /* EKRatingSymbolView.swift */; }; + 3CEF2AB7E4E1004AFC4AF6982584D4B0 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F053320BAA0E4449E0E6CDE9BD052D3D /* IQKeyboardManager+UITextFieldViewNotification.swift */; }; + 3D637DED7189A752767CBA952986E364 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202038FFBC274EFE488979B897EFB005 /* Zip.swift */; }; + 3DF0B41E27A78AC25B9E44DB89DD5245 /* ZLEmbedAlbumListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 838296138C4D3B284D622B8D597C9A74 /* ZLEmbedAlbumListView.swift */; }; + 3DF7E89F3A1E1F068D169F0322F408A8 /* DDBaseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E6201347569D456946859B9A4B25693E /* DDBaseViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3E12A685A85E790C2DCBD724F006C549 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F5667EA7028400F694EB265B1515E39 /* LayoutConstraintItem.swift */; }; + 3E655FB3DB35E5115300CB47894632FE /* UICollectionViewLayout+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 8232BD8CA165E7D31E2BCAC71952040D /* UICollectionViewLayout+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3EAEF4B368F4EED0EAF7E008DA2A3DDF /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE0F6BC4CC6203A7CE28853A12EC020 /* OperationQueue+Alamofire.swift */; }; + 3EC2FA5C171B41975F2E2F360E9A7D3F /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1E900818658F019F4F80B3C3F5193A2 /* ObserverType.swift */; }; + 3ECD21C191F48DF934A14BFBEFCDEDA1 /* RxWKNavigationDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5F9F8CA5936ABC03BDE8F94DFA1C482 /* RxWKNavigationDelegateProxy.swift */; }; + 3F0E0B0CF3FDB7A022D1D11F6D9337A2 /* EKSimpleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5080634D60618E75814559AEC968C81 /* EKSimpleMessage.swift */; }; + 3F109DF495105573D5747F5DCC4F4C24 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFEE70218722BEFE6E0C804D15D2AE13 /* Concat.swift */; }; + 3F8C723EE7FB437DBE33A1722B154E1C /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BCC49987977111E1B2313EC30816CB1 /* MJRefreshBackGifFooter.m */; }; + 3FA9DD41FB19B38EFEE430E1314946E5 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77DCFEF27A70B1296E16F375F8BA474 /* RecursiveLock.swift */; }; + 40672E95E085994AE6C6433A1C920629 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB048F94D3C6945D5910B57B5493C34C /* RxTableViewDelegateProxy.swift */; }; + 40A1CDD4CC2C43F0DFF151BFA1028F12 /* UIApplication+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 623F55AFA996FF2389E51259F54E3E52 /* UIApplication+DDCategory.m */; }; + 4113E82A8478A123BD0B5700DCB583BD /* DDImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E581A6508D640202990BAFE86C4C1C93 /* DDImageView.swift */; }; + 411E2BED97867A005970F9FEE88CF696 /* ZFPlayerNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 62141920E972919AEB5BD571FDFF19AE /* ZFPlayerNotification.m */; }; + 4189DC9D2E47F7BBAA2C6048B475C212 /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D09BC56089080167CFC15C561D74B5A /* UIScrollView+MJRefresh.m */; }; + 41EC1F448B125C2C002DB29C9AFD5289 /* UIViewController+ZFPlayerRotation.m in Sources */ = {isa = PBXBuildFile; fileRef = E844208C2DF3EB02CCD98F79C004F5B5 /* UIViewController+ZFPlayerRotation.m */; }; + 41F6AD082EFB21FBBF98B1240E1B8E4C /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAD9DF57F5DBA886ED1556C1659C325E /* Sample.swift */; }; + 4217D562836222942A9E062A4930F281 /* DDTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D8886E74A9C5ED98437A4058D3B04 /* DDTextView.swift */; }; + 42B1B448D4BC775BE38E8A6030278784 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A90495DFC369FA0650426F1480B4202 /* ConnectableObservableType.swift */; }; + 44AB42516B9A6DDCAACC3D1E06CEAD87 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEBB0FAE7374602846D24C0F96C1743 /* Filter.swift */; }; + 44BE7CF753A124327188F4E7831C563E /* ZLImageStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8B19B991C60C84770762CF5A3BB073 /* ZLImageStickerView.swift */; }; + 44BF5F969F34EA6E8AF24069A95C77E3 /* DDBaseTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 948C8FE0345D9E9DB8E6BD000769BE60 /* DDBaseTabBarController.m */; }; + 44F712870D9007120D6683833C9B2B9D /* ObservableConvertibleType+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A82B5B9C3E96F4257A115BD9DDABDF4 /* ObservableConvertibleType+Driver.swift */; }; + 4580678643F509D5C5A1EA00A6D1E2E5 /* JsonViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9153754226B7A88F749330E6157939 /* JsonViewController.swift */; }; + 45AD6B75F275078A076C8C2AC0AEF3F2 /* _OCLoggerFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AD4DECB9CD5B0B2774ECDAC2810A354 /* _OCLoggerFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45B9C8034DCB889E2A9684B1575C0302 /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BD3B315CF1E49C0DF1C0C47A1A4D81 /* RequestTaskMap.swift */; }; + 45E6ABDE01C2FFC83583EE4796269D1A /* ZFPlayerLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B39D6EA0FE7C5A23B253B2E41FCF2DF2 /* ZFPlayerLogManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45F9D728BAE9F638623421AAB12B8D40 /* JXCategoryView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E439D24E1AF1E6DB1F78CAE0CE0EBB95 /* JXCategoryView-dummy.m */; }; + 460F8947297FC4397B1D875F02806E7C /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D43BCA94A4D06A5FDE9A191CD974961 /* IQInvocation.swift */; }; + 465AC4C4CEE137C694249FF5E1AC1428 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E7BE130AEE55BCA246101DACEEC9C29 /* NetworkReachabilityManager.swift */; }; + 46F3EF70EBABEC824A210E518BEC47E4 /* DDProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1817C4FB2A0D982C4BC4234EB09449AC /* DDProgressHUD.swift */; }; + 472F8FCDC5BC7F210FC411D907EA5B04 /* RxSearchControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93CFF206F4BABB0B6806DE6326AC9830 /* RxSearchControllerDelegateProxy.swift */; }; + 473DC3EDDA5D8D61693615EC038FC07E /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A76F5B4DAE2CAD1FCBEE17C7E99C861 /* IQKeyboardManager+Position.swift */; }; + 4769FD52CFFFD7BC65324803AF92E251 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 742E300B2DABB7C574386A0B50C1C89D /* UIImage+GIF.m */; }; + 479717CC3EF598772CF98B751276B753 /* UIViewController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B3D0FBC96E808C6F3E27201A0CD2761 /* UIViewController+DDCategory.m */; }; + 47BEA6378E98FAA936CA74A1CF418638 /* DDMATrackManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 62950EB201C90A8FC96A6B70F464A594 /* DDMATrackManager.m */; }; + 47BF292BED32B4CB98575907A2835570 /* EKAttributes+WindowLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A1982B4D02F646AB38486BDB616310 /* EKAttributes+WindowLevel.swift */; }; + 47C6535DA1CCFEFDCB5A593389A9268B /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F82D1D28119315A073B86B0D5B8848 /* Range.swift */; }; + 47DAE2836C45A5B08B4895539E604A86 /* EKAttributes+StatusBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089C00B977C7BD33559C9342B943BBA2 /* EKAttributes+StatusBar.swift */; }; + 47E86D73AEFCECBD1B7CC80D731AEE4D /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83A83B31C1292637B193D891F2D0533 /* Toast.swift */; }; + 4837AF95FFD6CA0856F8AD4F6DAE8654 /* EKAttributes+Animation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3CB535411D2AA2BDD90D9ECF0BF97AA /* EKAttributes+Animation.swift */; }; + 483F31C4AFEAD5AEA2BE3274CD7903A1 /* CocoaDebug.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFE50F8BBA0ADE8AE150225CFCAAFE5C /* CocoaDebug.swift */; }; + 4878F7E628EFA1DF3907E773857B5453 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = D64D9DD770A2C2F78F1B123317FF657F /* BehaviorSubject.swift */; }; + 4894E4D5C6F065C87B6082AB282FBCD0 /* JXCategoryBaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = EDC68B35F615E8FEC0707BF57C54C41E /* JXCategoryBaseView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 48E7DCB6E428A49B7F67718744D73D96 /* JXCategoryTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF3BF6E053EB2A09D6561A278A938DA /* JXCategoryTitleCell.m */; }; + 49010E6DF353B33CBBF6168DAE93FEE4 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5769099EA89AA9CE484BB972CC70346A /* RxMutableBox.swift */; }; + 492B6B0A047A031C08B940A6E8746A37 /* ZLAlbumListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40CAFB3E1A3C9EC8AADBEDCAB9655044 /* ZLAlbumListController.swift */; }; + 4944814C2CFC6492C4FE1664F1556012 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D71CBB8B0BD4CF56442DD54922A6B9F7 /* MJRefreshBackFooter.m */; }; + 4978E0D1068588E192054C53AEC53178 /* ZLProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3851579D6D7B9A1DEB336BE3C3CC978E /* ZLProgressHUD.swift */; }; + 49A13CA2C01B33D402D04B3A5D6C9868 /* JXCategoryListContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = A2591C5900E69E11DC928717847FD730 /* JXCategoryListContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49CA87BE40D6F4CD18634FBD2C9F40DA /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475ACE05910F20ADC1B94F33C8B02779 /* InvocableType.swift */; }; + 49D3787ADC8E8C898AF461A31491BDCC /* NSURL+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FFB695E09CFC9D707CF70E7382E58F7 /* NSURL+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49FC51FBE1A0B635FCEA16835DA50665 /* ZLLanguageDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59954F472C21AC5B68E04E9D32CE390C /* ZLLanguageDefine.swift */; }; + 4A15697CE10C383774739EEEEC631BA1 /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962F601B8263E4CA09F2D4FADA8067D8 /* AddRef.swift */; }; + 4A6F9FC73B3C2B02F852F366EE4C7C18 /* _SwiftLogHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25CA52FFF974DC4D2C40EACE4E76B5D /* _SwiftLogHelper.swift */; }; + 4A9952FE9361ABA5CE30F3C7D50C23DE /* JXCategoryTitleVerticalZoomCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 25555966968F40FC4641AF597DAA69D8 /* JXCategoryTitleVerticalZoomCell.m */; }; + 4A9C7C584CC3695F8714DACE78ACBFDC /* ZFLandscapeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BF6B3FC5B89BE7073011537E1638A039 /* ZFLandscapeViewController.m */; }; + 4ADA89E909566BD155E887134BC06459 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7714ECC85EC1A167B86030CBB54913F /* ConstraintDescription.swift */; }; + 4B0A1356591745B344908E145F5D05FC /* UICollectionView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD568CD0EBF5989F34C549797DA0F83 /* UICollectionView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4B4D666DF746D313FA6D34C257BA6F14 /* SchedulerType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46369D49C39FA43FEB6E2CB335B2D68E /* SchedulerType+SharedSequence.swift */; }; + 4B5C6452A3F186A1CB523C87F86F70E3 /* DDMAMapKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F007975EB3CD4AF6C6D2D01729BB001 /* DDMAMapKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4B8643CF0CC5EFDF8B48E4560DEF994F /* Pods-OrderScheduling-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 484C4661DAB5EADAD81249F2FB129619 /* Pods-OrderScheduling-dummy.m */; }; + 4BDE28396F6AE3DAA0162DC8B2219EC3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F32A8BFDD9D03BE153982FAE0F904008 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C17BF734DA9B2178A5559DBA608A2BB /* EKRatingMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59EEB9CE9700F3E4E88F30D73ABE058 /* EKRatingMessageView.swift */; }; + 4C2639391DD5A48C68DC1760F913E007 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = E49F4BAC0A353CB76120B609353902C0 /* RetryPolicy.swift */; }; + 4C5E0A7762C6E0E8295E1D7F4FD4F68D /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = CAED5046E29926554619C0679C3E09C2 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C82AED59F383C3408C246EDDA1A4392 /* ZLPhotoPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA2DB6492F43AA2D15BFF8D2AA8388B1 /* ZLPhotoPreviewController.swift */; }; + 4CC51E277DCF7D480D5DA4C9C0BB0C37 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 947967ED7A04ACB1A60BD383D2CE005C /* HTTPMethod.swift */; }; + 4D2FE02184346B6011DA8B227AA2CD00 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 55DF446960764DD8E3CB39B650E90BA4 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D8A94DF58E15F8FB36D139189A399ED /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 67B20A4AE241E845727879B4F452A22D /* NSData+ImageContentType.m */; }; + 4D981AB9F0FB6AADA0A3BB5D61D1E0EE /* UIColor+Hue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EF9C95586D47D74A8FC45DF8F4059AF /* UIColor+Hue.swift */; }; + 4DBBAF563C9995081D90F7AD834E828D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 2173E39BD968AC752FD0EBEFB56A8D87 /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4DC4192E75B5FFB54CA793299C8C0388 /* RxPickerViewAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D21A52CDAE09751CE4751A40A7AB86B4 /* RxPickerViewAdapter.swift */; }; + 4E41244D466438C22DC3DB2FE9BF8020 /* WithUnretained.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2FD0D460E1BE7071927B07530A456C5 /* WithUnretained.swift */; }; + 4EA1F94BB97048495D4047F2167776E1 /* Date+Dispatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B04C9C41BDA03F867994EE028D919B /* Date+Dispatch.swift */; }; + 4F1525CECA0C94C49413C43841330C56 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = E3955B181F4D5000B079829F16263DA4 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4F5B2864DC6384E5B6AF98425B6F5CAB /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 829B7180E473D666918D83A6D6F87622 /* SDImageAssetManager.m */; }; + 4FB8B880680D9711B70C98FCE307824A /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D4C36CE9F22DFE3D77AFBED723DA9801 /* SDImageLoadersManager.m */; }; + 4FC9C59A1D764672B1999A285994152D /* DDScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581C639326EBE86B231445FE4712AA35 /* DDScrollView.swift */; }; + 505695D0DD20C40CAAAAAB697A66892C /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2161026256388C28D8232ABAD4966FDB /* Debounce.swift */; }; + 506680E7DA2EDF6F1137BB73C5454B88 /* MJRefresh-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F707967819FD72D13860AE06B6EC84A /* MJRefresh-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 50E5B5685106D613C42AF4823B04F21D /* ZLPhotoUIConfiguration+Chaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 600CA5EEB51D75209E0D8B002BB3FDC8 /* ZLPhotoUIConfiguration+Chaining.swift */; }; + 510BA964E70E79A42BF33007DA0E0A44 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7159BC15080B6D23EE5AED04FB62812 /* MainScheduler.swift */; }; + 5114F231D82CFA8BF22620F26EF6814B /* NSView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88300C05CF06D352E5766FB9F67CA81 /* NSView+Rx.swift */; }; + 51373230640C3BED9CCBCE156D6F14C1 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F8CEC9D2C49B697B6BF79FCDC9D7A9D /* Multicast.swift */; }; + 513FE85C9A497C2C8E648FDDE863176F /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D88F70B1173C81728B34322CEBBA3E9 /* SDWebImageDownloaderRequestModifier.m */; }; + 514A60DD5A2A363D5DB970088D708CD2 /* JXCategoryImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = A971EC747DCD78B6D881A4AE2F5C34AC /* JXCategoryImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 517CC3C405F8FB3E69BC2019D081906E /* UIImage+ExtendedCacheData.m in Sources */ = {isa = PBXBuildFile; fileRef = B62AD383D0E0EDF3B60834DFA6295454 /* UIImage+ExtendedCacheData.m */; }; + 51B1ACEE71E3EF376A4BF50397B41D38 /* CocoaDebug-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D99618A33D683582ED29799F3082502 /* CocoaDebug-dummy.m */; }; + 5251983AEA7733D86E2CAF6F3AC00BF8 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D46E25BA0E500D15D0D9CF8F9112A5C /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 525A4D799D121B7005FD8E6C6467C09E /* DDBaseAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = CECF310F68B1B89639DC3E0CF0F419E2 /* DDBaseAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 52811ECF6A4AECB259DCD6139A9C17C9 /* ZLPhotoPreviewSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D2A86AA9593E4437AF7899EA76BAA2F /* ZLPhotoPreviewSheet.swift */; }; + 52B6AD3595C3CADA5ACAA84C53EF2323 /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = E57BA463C42E91A564F221A79B3BE237 /* UISegmentedControl+Rx.swift */; }; + 52B774D7072085206C19EC4A96BF8406 /* DriveRouteCustomAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 72F31428F76D5D2D5620B71B27985958 /* DriveRouteCustomAnnotationView.m */; }; + 5300A9554A95F9D736011736B391EC35 /* YYImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BE582A51E0C3EE8BB1539B518C522DD /* YYImage-dummy.m */; }; + 5442DB01C93D4C933C1A8CBBFC13F690 /* JXCategoryTitleVerticalZoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F21ECAF1DB6F1D00877026BEA6F14E /* JXCategoryTitleVerticalZoomView.m */; }; + 549B1CF5542E8E21F2710BA821DC2899 /* JXCategoryTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 10C07FE485DA913CDFB3835213A67352 /* JXCategoryTitleView.m */; }; + 54A766DB38B0ACA823738CBD5923F147 /* DDCategoryKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE5E2CB13CEE1F527F64966CD160F81A /* DDCategoryKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 554B4A9EB7B0115AA40713C45D0ABF3A /* IQPreviousNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ABDEEA884CCD59ADFDE6C546E6DC302 /* IQPreviousNextView.swift */; }; + 555ADDD160E4DB9DCE0AABDD6978609F /* _RX.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F792321836EDC30C29ACFCF5B8A2CAE /* _RX.m */; }; + 555D64D559041A2F1743073FBDA7F769 /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0F261CC6A6D307986351911EF5D2B95 /* MultipartUpload.swift */; }; + 55636BC3CE8BB99D3EAD8465225395FB /* DDBasicControls.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D9B676F65F950B53F9EC5AAF0E544DB /* DDBasicControls.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 55737CE468E09E45D9E5BE279A3100C8 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 67DBC594505CCECC09CB8216A7CB2FE7 /* SDWebImageIndicator.m */; }; + 56AA1FB915E6D167A106C0F9CF316EA6 /* ZLPhotoBrowser-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D37199E9E711C84D90BC2C19C24727B5 /* ZLPhotoBrowser-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56B5917597B33E96CBD3B19DF889435B /* DDLogKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D208193D7D31EB91FBE19F5220386F /* DDLogKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56D08DCE4BFC873FBB9B1355F514D581 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A6694246383FB0B90A39B64DE064EC4 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 570D150531BA02EEB383A3F40CEDB5A2 /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DBA92B6BFF642C08F8B160F078141D9 /* ControlEvent.swift */; }; + 572338B9ED6382F8CB91083E8C81A426 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031C12316C0C279C92AC5A820545D006 /* ConstraintRelation.swift */; }; + 5735C2DF5BF2F771995766484D2061D1 /* ZFReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9196348F4813BC726BC72CA4A03E88A5 /* ZFReachabilityManager.m */; }; + 5739B5F79D9CC33CE6A6E49CF08BE143 /* SDWebImageDownloaderDecryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FFDB5924275478272D8CD4AD9A5114E /* SDWebImageDownloaderDecryptor.m */; }; + 57E8D5E0BFF775DCF361333A12294278 /* EKContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCEAFE316C1735BDCBC3E4419D032A75 /* EKContentView.swift */; }; + 57E9A869151C3FAA40FF974E53521DE2 /* DDCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BD087915E49C6DD5E043CABD67719AF /* DDCollectionView.swift */; }; + 58331B6BF8493E4C276191285440557E /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 47F7520C38F34FB120B0043BBF995549 /* MJRefreshAutoStateFooter.m */; }; + 58D7197BF40F9B581885C8B66028CCA2 /* ZFPlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = C3BB1472498367D7B8BCE0A8CCCF1430 /* ZFPlayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58DDC5C6D538693D51A6D66FFDF9D5D3 /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81149A8C75A8306F98E8E47F933735D /* ToArray.swift */; }; + 591C74189843C4755BD2E31E4F50431D /* MJRefreshAutoFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = D12E43A7315B8FBECC1BF95E2C584B37 /* MJRefreshAutoFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 595FA9CCDC2A709BD7F736107DA2C4D6 /* JXCategoryNumberCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 38DED3DD8577511260037661E9F0E9D5 /* JXCategoryNumberCell.m */; }; + 59AD90C47AA6A1B76832CD3C27A9B6A3 /* JXCategoryIndicatorRainbowLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = F69504D65989BCC3049374E2A26F1725 /* JXCategoryIndicatorRainbowLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5AA2F6E5C7D736F0CCA9894A3E37C8D1 /* DDWebImageKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F0150D93E8B0A4B8E32A1A5257C66CC /* DDWebImageKit_Private-dummy.m */; }; + 5AA6E372FD287BFF49666188CEE90926 /* DDMAMapKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894A4D401E462050F1E424EF22C9CDC /* DDMAMapKit_Private-dummy.m */; }; + 5AA8FB3AE6D21125CBEA56E047AC4B55 /* NSBundle+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3843D64B5FA179D9BACFAF17D396593D /* NSBundle+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5ADE1ADD5C89879BE23532A77F88DB88 /* EKAlertMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB6777343AC2522D2B1DDCE71A2D7A0D /* EKAlertMessage.swift */; }; + 5AE8F724467F0E9ECAC1B50FAEC91D67 /* JXCategoryIndicatorBallView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D078FAD90F01881953B87840D8CDE6A /* JXCategoryIndicatorBallView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B033DDDC44B06AA233FF487E3C410DF /* EKStyleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C9045D199C3287E9111C3A54DDB235 /* EKStyleView.swift */; }; + 5B07C22BDAA7425C4CCC629868E0072A /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = D1E048D9740456DB9EE70B9B95D1E982 /* UIImage+Metadata.m */; }; + 5BBF2E718CCA06ABC22203877EA4EC3E /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6A4959BE12400ADDFD98F7A7BFCFFA7 /* HTTPHeaders.swift */; }; + 5BD01F6B16A2C9E69F756F4DE189E349 /* JXCategoryImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D37C7EE6221D8448DF8C80C8A9BB73F /* JXCategoryImageView.m */; }; + 5BD480DEE18371740D7AF036D85B8B90 /* DriveRouteCustomAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E882F0B7D1156EFFE6F670EF0AF29F1 /* DriveRouteCustomAnnotation.m */; }; + 5C1F79CA399D04064E7A26E7E1D4459E /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE6FF75533DDF840A273E1C7977B429 /* BooleanDisposable.swift */; }; + 5C30F361915F5ECAC7CA86D55EE7E25A /* MJRefreshBackNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 37E6C43294F379C1F73632E527FF4D91 /* MJRefreshBackNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5CCD552354B88211EB9488550C4F4DB4 /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 183546C17C6EA14B622A1997CC5E9241 /* SDAnimatedImageView+WebCache.m */; }; + 5CF2165D2D04B4DF7379F9FE445F7484 /* Observable+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 515B2C9AB5CF15C7D66B7F0C3670B7BD /* Observable+Concurrency.swift */; }; + 5CFC8F3DFFA340EEFD415372644734C5 /* ZLCustomCamera.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C2F1413154B061653C7051F88C7274 /* ZLCustomCamera.swift */; }; + 5D048ECBE3D46ABC5B880F766ED23A21 /* JXCategoryBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = EAE00621452877355103DD13DC0D5DD2 /* JXCategoryBaseView.m */; }; + 5D0EEB77D1FE5B6445B93FFE286B925A /* JXCategoryIndicatorDotLineView.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C515A45E96DFC0EC675A83CAB38D52 /* JXCategoryIndicatorDotLineView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5D298E3DB3279D036105010560C1BBD1 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D3F8613F55B938031837F5E4CB0E8F7 /* Observable.swift */; }; + 5D81E0C1887B4C22DD12C2A64E594469 /* PublishRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46CD5DCDA2EE10784833C2FE871EB186 /* PublishRelay.swift */; }; + 5DA078BF9515B566F0C538010C15D611 /* URLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C106F75BE1715CD89348364DD1F7796 /* URLSession+Rx.swift */; }; + 5E5FBA91B19BE06A32FC0229D5D26FE5 /* ZFPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 04319C9ACB9D4DDE861D3A96AD3867B2 /* ZFPlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5E6140C0CD3517DED7F81D9D8046F3D0 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 73CC10486B113A63DB08EBF71D2BE3B2 /* SDWeakProxy.m */; }; + 5E712306EE9654B516F97F7D39C85A73 /* _ImageResources.h in Headers */ = {isa = PBXBuildFile; fileRef = AB90B87EE2FF26A45E6239745689C539 /* _ImageResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5EA777A6657B7ECC8AFAF720B0B24B9F /* DDMANaviManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7607C7845532CD19451FCAF5D8FAA594 /* DDMANaviManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5EB60C74FFA757B7BFF385DE7F855FB7 /* MJRefreshTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = AC40177B5BB65E283F67411A7B459858 /* MJRefreshTrailer.m */; }; + 5EDF3C540069C5612E579173FDA60AC7 /* DDBaseCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 88B44A45620D633F0F79B1D622A8A460 /* DDBaseCollectionViewCell.m */; }; + 5EEA60FD45645FE66A02715284D21ECD /* ObservableConvertibleType+Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4BAC0A5FD4986193CD1B5A7316D179A /* ObservableConvertibleType+Infallible.swift */; }; + 5F172DCB05EC615065B7C37575150F22 /* ESTabBarItemContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1B61212FD726519757AAAC3B033046B /* ESTabBarItemContentView.swift */; }; + 5F947C782C4BB4A5AD404E347D308478 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15F53AA80FAE7CE32531C2E3D895A49D /* Queue.swift */; }; + 60129A1E8B9B49B7E0B3D568EED9C485 /* UIButton+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = C986F5CE038ED29E845E56A1E9DC7E61 /* UIButton+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 60DDEEB9DF2E9BF439AAAD617D7DFDCB /* RxPickerViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB8FE69168947C082172ECB601B77BCC /* RxPickerViewDataSourceType.swift */; }; + 61185B153F4FCD3160D48208289515FC /* JXCategoryCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = C269D238970A3085410CCC23B6A359C9 /* JXCategoryCollectionView.m */; }; + 614BD4DBD5C1BCB13CE995085A38C096 /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C2011163B454BEB84A27D8E9F41D5 /* Observable+Bind.swift */; }; + 619A84DBC854017C0A1A9BBE4D159E39 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 01EA57BC8F18EB48F1AF3D3783079018 /* UIImage+ForceDecode.m */; }; + 61BD264383A382A0E1F4317F191E4744 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5B361B54A7300BE159754758CBE5E8 /* AnyObserver.swift */; }; + 61E0AF7F5C4EA70EAE5AD9C21EF35977 /* DDTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B12E5A4C84DB2F4DD74C17F45F0709 /* DDTextField.swift */; }; + 61F9D79F2714D9617AD6365F10A28C7C /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 723C7571AD36733C6B6E8D841D53AD8A /* InfiniteSequence.swift */; }; + 620AE31C19FA133027680B675F8B3701 /* ZFPresentTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 72C695B2E5DDC428541E2AAED042CBED /* ZFPresentTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 629565D72A7A94803C7D95DA662D0963 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0923188AABC0A1EB305C725ACB402D36 /* DispatchQueueConfiguration.swift */; }; + 629C7157E20CDF4236A206BC470406D6 /* RxTableViewDataSourcePrefetchingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE0A298F288D0CAE07DB657A327960F /* RxTableViewDataSourcePrefetchingProxy.swift */; }; + 6328B60DA1ED9EAFE01E848E1D7C047C /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABA3A012806F286A0386562F6E0D741 /* SubscribeOn.swift */; }; + 632FDD201CBD2BECFE77A054EF4BADB3 /* MATraceReplayOverlay+Addition.h in Headers */ = {isa = PBXBuildFile; fileRef = 69449E87C701E39D533A06C15DBCB358 /* MATraceReplayOverlay+Addition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6335E8323C2491C8A9C99CE9DB2BF83F /* Bool+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDF6FB7B3C4DCB57D058B099F217628 /* Bool+ZLPhotoBrowser.swift */; }; + 635B043F860CE53EFCA19CC564B47075 /* IQKeyboardManagerConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C70D262D9E322F57BD2275470F7107C /* IQKeyboardManagerConstants.swift */; }; + 63928B63DAFE07C28F117AB9AE5FDFBE /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E66C4947D1D7A87EDB41BF5F09316FF /* ConstraintAttributes.swift */; }; + 639DF3A3524972EF65C1C4712D84C949 /* UIView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 87589B205DE37A70F4745F79C3014AF1 /* UIView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63C6F2C653074E8FC5DA3D47497949A7 /* _OCLogHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5172819E16E89FBFF0B170DF407C5B /* _OCLogHelper.m */; }; + 64042D7EB052AEF70017E8E0A4BF6D4B /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91C48094DF6458C9650D3C38A39EEF8D /* ConstraintOffsetTarget.swift */; }; + 641F1CF2CB49155F24D5A2FEE1AEECAC /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20765D5601E5EF57BCF5397CE3131C5E /* DefaultIfEmpty.swift */; }; + 6456BE1D3735919BA27D3C44CA4A984D /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EC8A259F7CBEF82A6214292605E1935 /* SDWebImageDefine.m */; }; + 647006BEA67439600E0D6A6E2F5E8E6B /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F13B0B9EB7C597E3AABDD93B7F89E29 /* AsyncSubject.swift */; }; + 64D8805F7527163B0A4120C403D97AD2 /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282C216D764C2B43B3E2F7FC13035FFF /* IQKeyboardManager.swift */; }; + 64F134656F206AEA36B251F574762046 /* JXCategoryIndicatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F1F8235C7C903CE7404B1B2A05110EAC /* JXCategoryIndicatorCell.m */; }; + 652F1768E71D55ED1C4D40E7ABCA11F8 /* IQUIView+IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C5CC48E46B0EA7862196C2AE9F4875 /* IQUIView+IQKeyboardToolbar.swift */; }; + 65A3E384961F6C904B1D329C2B1D1BDF /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4231CB6840B98A21E28B12FA5625E30E /* RxTableViewDataSourceProxy.swift */; }; + 65C3ED45AE68B9415127887E553B901C /* JXCategoryTitleVerticalZoomCell.h in Headers */ = {isa = PBXBuildFile; fileRef = AE836B33212C1049FE177E34AA8CDF4D /* JXCategoryTitleVerticalZoomCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6642D74E21029B29A5AAF0037FDA4BA6 /* DDBaseScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = A27EBB43AC3768A0BAB24706F9A698B8 /* DDBaseScrollView.m */; }; + 6649A2058F4EA544384A888D95492A95 /* ZLCameraConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E16751683A27C943E18658E9119DADD7 /* ZLCameraConfiguration.swift */; }; + 6674277C63A2F0AE5EA17A48C88759CB /* EKAttributes+LifecycleActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5543B0BEA6E1A185E1477F8D81805AE /* EKAttributes+LifecycleActions.swift */; }; + 667E98CC3D54F70B73D6D31D5D94FE0A /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 99A4ACAE8590761148A34EE4BA8ECC85 /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6694E6D8A68A448BA619714C9F10A0FC /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = E31B482FA85793071C9A0F4BA91AB0A6 /* MJRefreshHeader.m */; }; + 66A9DC3B7E3BB37EB783B70278A717B7 /* CrashCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 039901FFE1611A7E7DA4EC8F79A4F19F /* CrashCell.swift */; }; + 66B43477DE0F24FDDE11B346D39BF863 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87566E683515949A0015CE477ECCE416 /* RxTextViewDelegateProxy.swift */; }; + 66B91A66DFDCC698471081624D1F0205 /* UINavigationItem+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 09DB519483E8906CF59A82D4361BB9E9 /* UINavigationItem+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 66D28B457A00A16721AB5BCD8C70FA1C /* Infallible+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9940F23A637099B5774D684A5DA5C70F /* Infallible+Concurrency.swift */; }; + 6707707FAB88FB4AF9DAEB7CE0FA898B /* DDNavigationControllerDelegateReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 81EA9211A58B0185D3FAE7B18D9E131A /* DDNavigationControllerDelegateReceiver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 675DC85BBC310EFBF31C9CF8EB8130A8 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C107F6D383119F70BD50EBABA675821 /* Bag.swift */; }; + 67CF5305E9EBF23CB22B90CDE4CDBF91 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFE977779E1304F07912798C970B6EC /* SDImageLoader.m */; }; + 680C1F343B511530518196758E52F22B /* ZFLandscapeWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = EB5F33C11C385915EE4FAD4FC47F8225 /* ZFLandscapeWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68A9E007AD5461A5DB79E5541E21BFF6 /* RTLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B76F23F9088B7EA57A464FF8546A456 /* RTLManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68AF63A82663683C1B07720476D8D20F /* ZFLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 34330979B1BE85E0E3F88A24EBBD9325 /* ZFLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68B7B161F88A8AD78F0E21B6DE4547CA /* ESTabBarItemMoreContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCFB5B5FA6F1A58273E7A8FC0E737B49 /* ESTabBarItemMoreContentView.swift */; }; + 690256DF05FE465E8948ED017110EE78 /* ZLEditToolCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047158D21BDA2A17F2CA765069A680FD /* ZLEditToolCells.swift */; }; + 6947D25CA62F4B84B0C798ED96485335 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7568F23D5DBDF76EE3CFF3B5C1F6E76C /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69A74CEB8546E46560B3D6658253BC61 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91636193B0594088919464D754A2225D /* Combine.swift */; }; + 69CBDC82C1A8BAE7227588C16B025E99 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 90B6CB58CE68A5C1855BC42AA68DE4B7 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A00768664341176E3CCD3209A118D93 /* DDAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9ED8089A8DA1E80EF5A60B2EEE43A50 /* DDAttributedString.swift */; }; + 6A2DA5A9A5E2AABE476971A48C296718 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 500B07BC50D685A807AA7723E64F8386 /* Typealiases.swift */; }; + 6A47BF20ACCBB7C92F9ABC9E7A833EF6 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68C70E5E938196160AA37D74521E717 /* Utils.swift */; }; + 6A73D8C90B3AB65EE530DBC09D72B0BD /* DDTimerKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C2A678BD31F9CB4C156AFF04A65B0072 /* DDTimerKit_Private-dummy.m */; }; + 6A81ABDBB4DC38B8AADC3DF2F53A888D /* ZLAlbumListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 852B796C6F48BF2F463B8A5EDD213862 /* ZLAlbumListModel.swift */; }; + 6A90AB7810037EF09A1819D7B71E330E /* DDBaseViewModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 583B55AA08514F7D4A60AF3E77A69349 /* DDBaseViewModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A9EC3C99A882F88915BD329FD85D03A /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929AAA4094A0C1B99A367A2EF713A435 /* RxTableViewDataSourceType.swift */; }; + 6B51F2E82F613C27407512F15B1523CF /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C9F61FA5D7D12AD711037257A0B7E0 /* ConstraintLayoutGuide+Extensions.swift */; }; + 6BE216D7CB7978670B33A28D5AD10585 /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D28F839FA262B3A7345F53AB4EEAB7F /* VirtualTimeScheduler.swift */; }; + 6C86841B43F17524A7F6355F711A9668 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBA03778542A9097124F100F4DE65F8 /* InvocableScheduledItem.swift */; }; + 6CABF78E996F90619923174D81B9CC27 /* _CacheStoragePolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 205C771C1E4AFCAE74EEE07C0B824F46 /* _CacheStoragePolicy.m */; }; + 6CB80E0E3A8AB7064405B2333D680001 /* JXCategoryFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = BD457A62A90FA3DF3E1C5DD2ED6DF29C /* JXCategoryFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6CDA21915F4586B1823FF8ACFC96747A /* ControlProperty+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F47D662EAF91AC72245DE05D55F06692 /* ControlProperty+Driver.swift */; }; + 6CE153A8353153BEBD5941D99D0AA948 /* MJRefreshBackNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = FEA868AB51B667439A7B584C615DE46E /* MJRefreshBackNormalFooter.m */; }; + 6D492534BB9E2DB14B01257A33695CF5 /* ZFPortraitViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F29AFF0B87A3191646CDE03B5FD2655A /* ZFPortraitViewController.m */; }; + 6D75852843B9BE87CC6EFA4F663A87D6 /* ZFSmallFloatControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B1AE12031D4C0C021B740DAF5993BE /* ZFSmallFloatControlView.m */; }; + 6D79FF9BAE6B92059BC75990C643E96D /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5E66002FDBA1006581F4498DA51B19 /* SynchronizedDisposeType.swift */; }; + 6D8B1D4945DCEECA487075BEF2FC0DC7 /* Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982D61ADADEE5D8110D1C49284224F0D /* Driver.swift */; }; + 6D8E6A17A45A4EA1D54A22F69B95AC7F /* ZLCameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58AC59E6C968DAB64C64D4181EBA20E /* ZLCameraCell.swift */; }; + 6E0056255590AF29EEA12A9719025309 /* UIColor+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765E8672678E1C09D202F65FFA51093E /* UIColor+ZLPhotoBrowser.swift */; }; + 6E285A3D314DE0DECF80546A5865EB34 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E782BBB5EC32D8D3AB0992CDE2439F /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E571195DB6696DCD7A11A16D9DD765F /* ZLCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB11F8CEBB8DDD1009EB5961A24418E8 /* ZLCollectionViewFlowLayout.swift */; }; + 6E61BD4CB39551F8077D60326E5573AF /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8E9BEF4F1EF1B81499B3EFDB71695D /* UILayoutSupport+Extensions.swift */; }; + 6E69A5585428872D399517F30AE055BF /* YYImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE564A52606F12F0F3275E2456A4E2B /* YYImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E8267BF68A5C197D4EB8BC34C450987 /* ZLResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AB99B9D4A8083047FDAC4D8A4D2F54 /* ZLResultModel.swift */; }; + 6E896E22C164BFDB7034EB572468465D /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4063F3A966CB4DF8C78BCCB3082F3ED6 /* Observable+Bind.swift */; }; + 6EBD3D58F92F9B04E5F9D26F908BFE92 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE2B5BAE299879F373534D005E9DE151 /* ConstraintView.swift */; }; + 6F1637C8F03155064752B16C84A9EA5B /* UITabBarController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 4707DAEFEF2D0D697E34210939D2A7CC /* UITabBarController+DDCategory.m */; }; + 6F329291E9FB8EF90578801F87261E08 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF0B91A9D93C2202EF209EC6E175D75 /* NSButton+WebCache.m */; }; + 6F998A9AEDDD7366FE0EB30A42C2E32C /* DDBaseTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C786CB38C947E76BAB33BF14D1285B8 /* DDBaseTableViewCell.m */; }; + 6F99E2BF991F1F67BD38C6934B68DC07 /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = E881D79473CA675F17ADF107C7D4EAD5 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7011AA5DFE462C2CFC2743EABE527EBC /* ZFSpeedLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D34DACF3E54E6EFA34965CC0DCB6418 /* ZFSpeedLoadingView.m */; }; + 704561149DBBBDD2D481E242B79B1FB5 /* DDTimerObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB5955BC96F01A1FCF0425FF6927D95 /* DDTimerObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70AE0363ACE9E14DDA1120DB60B5E0EC /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C7663DE3DF45FBD23B4A5766F5A03E8 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70B6D81C3A8C102C1931501C523F263E /* ZFLandscapeWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FBEF389579F6F14571E360859F08F9F7 /* ZFLandscapeWindow.m */; }; + 70B6FE4A37E2023C5833979592FE5EC7 /* JXCategoryIndicatorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 860EC7EE1404D54A1ECB4F9252120439 /* JXCategoryIndicatorCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70EA7D82DFED80055B7EFAB3D7BB80D1 /* UICollectionView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = A836F3B050521214D88BE3D972DB6F48 /* UICollectionView+DDCategory.m */; }; + 7168A587CF00336CC0C44FC8D27D6B66 /* UISearchBar+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202988982154D06F97CF9C09F7F36D3B /* UISearchBar+Rx.swift */; }; + 71742FA7C715D034FE3912ED07B30379 /* _DirectoryContentsTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A4B6C9873F99770F3A41016B3E508B5C /* _DirectoryContentsTableViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 718B12AD3FD5F44645B82D7EB0724C52 /* UISearchController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1625B58F4264F5EA2AC44B41D8B2B280 /* UISearchController+Rx.swift */; }; + 7248CD5CAAC5D0D6FF0F9D85CEF858BB /* ZLInputTextViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C1CFA549F47D268857F856F9A6EED99 /* ZLInputTextViewController.swift */; }; + 725D740A38D5E761FCA71B67A4891E35 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9BC6FE7DB81AFF38BFF1A4D69D17B2 /* SDImageTransformer.m */; }; + 7266A8219B097E9176BB5E0DCC43EB12 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC6F0B44B4A60150D278513D951328CC /* ObservableType.swift */; }; + 72AACF79D46DD4C0ED4D144B840E1F91 /* UIGestureRecognizer+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10445B76480E3BC1318B922F2E923393 /* UIGestureRecognizer+Rx.swift */; }; + 7347E6690823F77C37B4DB85D84D22A8 /* ZFPlayerControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 12CE32F6809F40DB24A76EF29E769BF5 /* ZFPlayerControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 73945F5394F485D66898305510756115 /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D1A9AC22D036AC0B4A4806FA073E98F /* GradientView.swift */; }; + 73AB70D6B97E43420FB576C9D26039E6 /* JXCategoryIndicatorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D0CCB251930D8993780CDCE5B2A8EB5 /* JXCategoryIndicatorCellModel.m */; }; + 7406DEA0EDCB81CB5CC731EF16018D33 /* _CustomHTTPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C88A907B7E61712111EE763E83B8A24 /* _CustomHTTPProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 748A242CE6F9E7BA3C73397EB2A0EE46 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37E9275CE4749660A4D4C0D4DCAD4714 /* ConstraintMakerExtendable.swift */; }; + 74972BEA7D6A0CE28CB3EFB11EF2DCAF /* FontUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = D963CC84DE24F13777E777EB6608A1E3 /* FontUtil.swift */; }; + 74D9B8DD068330CF7E45798CBF98FA4A /* ZFIJKPlayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 982477569E3EB6F86B8FB5A7791B986D /* ZFIJKPlayerManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 74DD9CAE99A3118FCFF0E7BDF28DEB29 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D066F3AA176906A142EDD750D6988971 /* RxCollectionViewDelegateProxy.swift */; }; + 7512F726469C537F53CEF083421FD8AF /* UIFont+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B1BB982303FA5B06434D36F6FC0E3C /* UIFont+DDCategory.m */; }; + 751602199567A04FD150E69967E935D3 /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA874DCF54E24E1EE4602F7A3C49391 /* Enumerated.swift */; }; + 752811625260B14669C192D57F44BAAD /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCDFD311AF5193CCB0E51EC97A922A96 /* AboutViewController.swift */; }; + 756E1E9A85EDBD96D30C9BC8A7A3A090 /* ZLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3F40101C68228DF69C6B42A4137AEE /* ZLFilter.swift */; }; + 75A1DAD0A861EDBF654C93A2857D897E /* JXCategoryIndicatorDotLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 48797AD6305C93F025E75C51E6DA7ABE /* JXCategoryIndicatorDotLineView.m */; }; + 75A50A9B3FD4EF659C8E61546D270CF1 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE3A51268748C9CEC36A23811202D806 /* SDImageGIFCoder.m */; }; + 760760698F2B539B1A4A8C3FD74E607A /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = FF636898D2A067D5EF99CEFE10377292 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 765C8A7DB5223CDA8C6E5D333F2CDFC3 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4601D9DE2D1D6CFC7EA8CAEABD2D7190 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 766478A9A2DB942D47833F6AC7CD51F7 /* Infallible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4804F29A7E83F1106BB8285DA3EBE325 /* Infallible.swift */; }; + 76C8C688B30165A5449C0817FDEB44F6 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC26E43AD2C01465DB1A7B67F800A077 /* SkipUntil.swift */; }; + 76E3A558AD358F70264733619F84737A /* SDFileAttributeHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 020BEDD662295C73C461AC6125693619 /* SDFileAttributeHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 777D599EE92E8693911A459685C7F332 /* SectionedViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7319E8B7C03E08F51607D4C90E9FE3B /* SectionedViewDataSourceType.swift */; }; + 77A5503D96024A361C0C26CC14B767F1 /* NSThread+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = E3F472664C5FCD4791150EF71C4E1F08 /* NSThread+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78270987D9093E276EA12C698FC69D66 /* JXCategoryTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA9FBB83619EDC9803422FDD8142205 /* JXCategoryTitleView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7846B61CE0246F80F5420933E63BEAD8 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25868FCD3C484616ED262D3F7E9C31E0 /* GroupedObservable.swift */; }; + 785031B71ABACAC9C0BF541D7952E7D0 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 83D055B0E49A63B2ACDD635735428784 /* SDImageCache.m */; }; + 7862592A925A99934E73D7B24F2895F7 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AD814516B99F8E8466A35B289BC93AC /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78A9DC5A1BC9FB56108C4AF9B8A1BE19 /* CrashDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24CCF3C35DA3585E483D2267C1DA0147 /* CrashDetailViewController.swift */; }; + 78B2931A79E21B1AF56F09DEFA4E42F9 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BAB633E1F079452E2EB6477874B4DB3 /* UIView+WebCache.m */; }; + 78E8EB82B37C77E0CED7EB310ABDE236 /* ZFPlayerGestureControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 08FA81010A855972CE74AD146B18A94B /* ZFPlayerGestureControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7928BF03967198F5CD7DAFD6D784F04F /* EKMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 148E785710CB8078F40460037BC350A7 /* EKMessageContentView.swift */; }; + 79403C58DA1B5106F8104E1DEC5C2573 /* MABaseOverlay+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE2F8437EA87F882D81131D1C5E0B81 /* MABaseOverlay+DDCategory.m */; }; + 795FED16EEB4B05B3E37700009207E34 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9948C61B8BE2950E5F2D7AD7F62E84A9 /* URLConvertible+URLRequestConvertible.swift */; }; + 79667886740E03B0BA8CAD82D277FDD5 /* _FileInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F0A7AEB2004A9CC2420BAEB4690AEEB /* _FileInfo.m */; }; + 79732A6532885C9A7DB87F999CE0BBDC /* MABaseOverlay+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B075289DF9FB32E06CCA8AE484F2B4BA /* MABaseOverlay+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79E028B32DC2E143BAC645CD4DE435D1 /* IQUIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1E4002B89C5D2F691045BEA899F5C01 /* IQUIView+Hierarchy.swift */; }; + 79FB13C8D3A4E1D1C297B963C574C0F5 /* ZLPhotoUIConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F877D61A39633CEC5C88D3CFA2BB51C /* ZLPhotoUIConfiguration.swift */; }; + 7A3B3E372DA33E8C48594BB13E7B308E /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEBB411128EF5E6825B1917BFB7FBE6C /* UITableView+Rx.swift */; }; + 7A4F0F49748AD6BFE43729FE2B9DB916 /* NSObject+CocoaDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 02AB9C979678AD5C738765266B5028B6 /* NSObject+CocoaDebug.m */; }; + 7A555437C6F5B1A9C728D7A8F2F3BE7C /* DDBaseCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F96138C88255AC5FD28BB76AC87BE3 /* DDBaseCollectionView.m */; }; + 7A8B0747E5A8A96ED66C1D708F66CFC4 /* ZLImageNavController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B7A4D62C35A6470D65059B5C32DDD11 /* ZLImageNavController.swift */; }; + 7ACD1663112757B9D6C1B93B7DECEE55 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6562F933E6A10E559B004E17FDBC9A2A /* Constraint.swift */; }; + 7AE5A367CC1B3BF7267C1A641B5BA37D /* Infallible+CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7638C80BE4CBCF67C36C322AFE42306C /* Infallible+CombineLatest+arity.swift */; }; + 7B1437FE5E98D55CD1607074C4AA29C6 /* JXCategoryIndicatorProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0BA25799FFE106F7D92A133ECC951C /* JXCategoryIndicatorProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7B385A3BBFA5DF0F919ECC1525955E0C /* DDMALocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 561BB4A372C65E21AAAA5F129E7D91C8 /* DDMALocationManager.m */; }; + 7B708B9949DEE9168B4D10D22E04DEAE /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EFB5E830B88FC8B3C12A34B9ECA6B49 /* MJRefreshNormalHeader.m */; }; + 7B736FC0BBF3C32F32A585090944FC87 /* SwiftEntryKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3B8BB5280054171E81D0AEF53B7F5A /* SwiftEntryKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BAC5247AD928B776F8727F9FB4EE7AD /* ESTabBarItemBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131137D89384B3BB45FC182BE4A58354 /* ESTabBarItemBadgeView.swift */; }; + 7C268EA30C39F532AC992D696FDF5024 /* DDNetworkingOfAlamofireKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F2EAF977DC5525FEDF0932405BFDF160 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7D079A25B5264F1227B452FCB3FC54D5 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CF5C55652D19B094419C103BF0E20A63 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7DF302A2DB5B660FE70888DA0EE0F286 /* SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F07ADB91B9C983ECCDAAE0828FFBD0F /* SharedSequence.swift */; }; + 7E5A43683952F26781D57C4CC12F4CCE /* MJRefreshConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F86236438EB1C7BBC06B4DC34B0A90 /* MJRefreshConfig.m */; }; + 7E5E9E35B2F82A6F8B8746F6F6B446AF /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 062F0EE38A898BE984AB6B2DC3DAE44E /* ReplaySubject.swift */; }; + 7E7A9F47A061A7D46AB1F401E90429F2 /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 646ACD40BA2BE84E6E566B4D5A5CED94 /* SDDiskCache.m */; }; + 7EA1A285B210A02961DC6EC1C01C1687 /* CocoaDebugSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33568C1BEBEDCE39BBD51BF468C70EE3 /* CocoaDebugSettings.swift */; }; + 7EA4D4DAB19F8B4A1BE641F9A803B3A4 /* JXCategoryNumberCell.h in Headers */ = {isa = PBXBuildFile; fileRef = FA078A7DC1D4D3B6ED373937ADFD1D70 /* JXCategoryNumberCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F0CDFE66412245276F9D3C3D16BFABC /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FA8D0AD25360B4BACAA497B38562E57 /* SwiftSupport.swift */; }; + 7F32A097697328E2274CC8AD925FE543 /* _RunloopMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C0EAF33AE8EF4AF5DBDDA4547769BFC /* _RunloopMonitor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F60A19D3B83E8A56DD7778844101265 /* WKWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25BB49C0D295BF974701809904B187F /* WKWebView+Rx.swift */; }; + 7F87DDA52B40F5252EB2DE162C33BAC0 /* MJRefreshGifHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 8654CCD91C506713D9C88FC96FB46DC2 /* MJRefreshGifHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7FCA7DF486BC1220F21964FCD6B1A3C3 /* RxPickerViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53576596FC3721E08C8FED23391DD075 /* RxPickerViewDataSourceProxy.swift */; }; + 80091A77E4DB8BD79196240620BDEF1B /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4A661007F41C2CFF1D7223154AFCDE4 /* ConstraintMultiplierTarget.swift */; }; + 80141B208065FE781FF8AB8F850FCE31 /* Signal+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB3A4CD6B9F3160D225823370B691A8D /* Signal+Subscription.swift */; }; + 807357E0D8B429C410617DCD42E83C73 /* JXCategoryTitleCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = DD499C929BC39CC90EB960BEF78BAB59 /* JXCategoryTitleCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 809901DEFB812A7A6C8C7BC7E23C461F /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1078DB3AF2EECC66870DE16D615F7E /* ConstraintItem.swift */; }; + 80FC51129F0C4BDACF75723CAD51B1C1 /* ZFSpeedLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 452FE9734D18B4F41FA59FA7633467A5 /* ZFSpeedLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 813B683458C65465624988D928272B44 /* ZLPhotoBrowser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C730C74B36DD27B1EB54A6F2B885FE1 /* ZLPhotoBrowser-dummy.m */; }; + 819863FBD51B104B8D66432AC67C05C6 /* MJRefreshFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C1846F45289A75658C4E51988A36769 /* MJRefreshFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 81A7AD8BFF0B7E6291B02D1AB2CF505A /* ZFPersentInteractiveTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = E33356663B6E92A341BA6E6AC1C08603 /* ZFPersentInteractiveTransition.m */; }; + 81B24717BFCD424C3874D855D9F4BF32 /* EKNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F4930F97ADBF51726CCF0F4E0E8397A /* EKNoteMessageView.swift */; }; + 81B7DA4E34BD7FDCFBE8B2CF16335996 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82741C113DC6FE1F25390FCC73139BC3 /* UICollectionView+Rx.swift */; }; + 81C2D503F2ECEB1331D541797699B6C1 /* ESTabBarItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3729B5556D1432D618769806F36CA693 /* ESTabBarItem.swift */; }; + 81DDF3AC3E4831357412BAF122E5456E /* EKAccessoryNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5116DB3E2A1CC1CB1A624257275A029E /* EKAccessoryNoteMessageView.swift */; }; + 8220B550020CCF8983DF5B8252C732F1 /* MJRefreshNormalTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = FCF9D5BD39CF3E2BAC8AA3F34FCECABE /* MJRefreshNormalTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 827802DE999250886D89207BC6F0B58D /* NetworkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4845116CA504AA336CF0A105DFC0D522 /* NetworkViewController.swift */; }; + 82BBE2F159943E19A69BD99EBE48D100 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = C604C0E1E00B817599732A398CA83B85 /* SDWebImageOptionsProcessor.m */; }; + 82D294963701E49B0022232C893F756C /* DDBaseTabBarController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4FDEBA2651E81B774D1488B658B413 /* DDBaseTabBarController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 83D0FF7A837ABA4E7B712358AF55AF52 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E7E9E4AF47AC9D13655DE3C5740B9C /* NSImage+Compatibility.m */; }; + 83F56847A24F64CFFB2F1B208E641901 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97E5D58BE5237EAB0EA9E8DEFA925352 /* ScheduledItemType.swift */; }; + 840B27BBD5508D3F123308CABDDFD524 /* MATraceReplayOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C30A94F9BB30B08DC44A51B00722FD1F /* MATraceReplayOverlay.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84BC5434F8367126E554E82ED3592547 /* DDTimerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A4FA1F868A3A43634938664865A98205 /* DDTimerManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8505471A71505E2BA003E64FC0D09DFE /* _RX.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A0792A8CBDADA4D1C3244E462F1299 /* _RX.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85A96DED83E5FBF923823F46106F6836 /* RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5AADD6017D2D14DD71326BB2C1D9C61 /* RxCocoa.swift */; }; + 85E9A0412761EE97B0F14C8506738BF5 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB25EFCCAB9C389BD32A7DDA910A385 /* Session.swift */; }; + 860EE4ED5B98C99F77B7B6F69067C67B /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FE666D0F763DD3E55F82FA68FBBB77 /* Debugging.swift */; }; + 862E9D10C50CBB0D339039294989DEF7 /* _RXObjCRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = C03FB02603BC186F94D97337CCC6794E /* _RXObjCRuntime.m */; }; + 864F412CAB912E5360121273A3DBCA87 /* GPBMessage+CocoaDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = A98880E9F4494AB401E32E2E503E92FD /* GPBMessage+CocoaDebug.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 865ACC100F9BB256DA7C7F66FC85AF8B /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615881E559DCB533D73CF680630E3B99 /* ItemEvents.swift */; }; + 86BACE0D784445DFCD937FF106BD0C42 /* EKButtonBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C48EFE8D7A1A4B903D82770DB1036B3E /* EKButtonBarView.swift */; }; + 86DEFD412532E3C492649F681F3B898C /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C1CD3125069F17E5150D0A76D9DDA7E /* DisposeBag.swift */; }; + 86FDA11CE9FA4F78C10FF4EFD30E6A1F /* NSControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 921FA5384780405008DEE3178FE308BE /* NSControl+Rx.swift */; }; + 876F4BD3C63DD111FDC0C8A56D70B1AE /* ZFNetworkSpeedMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DFA72AC4B634B331CA595958950892B /* ZFNetworkSpeedMonitor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8776F9D9CDA443D35E473576EB3194C5 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C169784777196EC19C0640F25803E45A /* UIBarButtonItem+Rx.swift */; }; + 878914063ACAA2126B18E1DE5285F827 /* EKBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B54C2BBA7ACBAF0D492337784A8B547D /* EKBackgroundView.swift */; }; + 8791DC308884A90A38BD939A3C382FA5 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F751B9A87B36BB0373D780CDD36BD83 /* SDMemoryCache.m */; }; + 8807E35A0188E69A7B79476779342380 /* ZFVolumeBrightnessView.h in Headers */ = {isa = PBXBuildFile; fileRef = E08B33FB64157120DBE81C4BF8C7D362 /* ZFVolumeBrightnessView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 885031037B7CD4BEA92D1497F7781C76 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = DFCACD0845E1FF6A8AEB2F24853DF8A5 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 886CF4A40557A384C197BBAE316BF621 /* DDBaseViewController.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CA4F3D002558A179FE8177770C9EF2EB /* DDBaseViewController.xcassets */; }; + 88A50BF727099AC5CAC16CD4C99B4861 /* DriveRouteCustomAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C8378D9D1AD91F71B7C3B3A2115FD96 /* DriveRouteCustomAnnotation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 892A2CDE39CD694BF836090D02AAAE4D /* ZLEditVideoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510115309C5E5C3D7D55CA1F94836B89 /* ZLEditVideoViewController.swift */; }; + 892F004F44CDB16E8675E0C65FF0E39B /* UIImageView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C5B1580E5A0D65538E3D617E666BCB /* UIImageView+DDCategory.m */; }; + 89A74579487C25538D71E1B38643774B /* DDToastKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C91739095AD2A951312E9F02096FE6F7 /* DDToastKit_Private-dummy.m */; }; + 8A20A29FF9C32F3130F733C963D56FD9 /* networking_loading.gif in Resources */ = {isa = PBXBuildFile; fileRef = A7377E7AB1D6BB4250BF0B50F8F19337 /* networking_loading.gif */; }; + 8A274008ED97223DAA12E076D417889F /* CocoaDebugWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98AC045F907E5A6FAC0076AE5EE1E2D /* CocoaDebugWindow.swift */; }; + 8A2BC1D6114D08F03E5D6CBD66814AD4 /* JXCategoryIndicatorBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 102F5F9ED90F8687206F6DA37E670416 /* JXCategoryIndicatorBallView.m */; }; + 8A36A9064A1796CBA330FEDBAD147348 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = CE8BB3AD17E24CAAD87AA30EB1EC73C5 /* SDWebImageError.m */; }; + 8A3BCFF83EB0F7B76C09EC9169F2046C /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA2840E18E7B64870B2198305FAC35D /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8A9DFB8E2AB590F6A1C2E1628F854293 /* IQNSArray+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40596AD095D9775CB950F35D2383018A /* IQNSArray+Sort.swift */; }; + 8ACB6150ABD5A4BE4CDA42F23E090C9F /* IQKeyboardManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9222413D22638923A88F2A5F4D02920 /* IQKeyboardManager+Toolbar.swift */; }; + 8AE15BE648BEEA0A98F2AC4AE497BB96 /* JXCategoryTitleImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C51BB4E6B3A23242D274431668F466A8 /* JXCategoryTitleImageCell.m */; }; + 8B0B152593E3CCDD7456DD63125F38AB /* ESTabBarController-swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60F42705BFD948A9ABABCD477FD07CF3 /* ESTabBarController-swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B29184AC5CEC3185963DA04988D6686 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = E891AF19AFB436DA78394A105F880987 /* Throttle.swift */; }; + 8B7996264A46C83B41BED84333C707D4 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8525D0892FF956B412A92AEB56C627B /* ResponseSerialization.swift */; }; + 8B7D57E3FCE49F2518B7AE0E6B5D2B96 /* SharedSequence+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C92CF4B3E4D7092073D7CCA02A72D21 /* SharedSequence+Concurrency.swift */; }; + 8BAD04052E210723CC24D737216D8BDD /* DDFontKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 10520479BFC042D366099787582B26A1 /* DDFontKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BF55823101A3DABEBCC4DBB679D6D69 /* ESTabBarController-swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10E78EA03B45635A62E8A75AC1D9E93E /* ESTabBarController-swift-dummy.m */; }; + 8C35B5BAA36F209375286B3C3D2F7103 /* SDAnimatedImagePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DA442F100B39FD73F69475AFD76D4BFB /* SDAnimatedImagePlayer.m */; }; + 8C410A2ED4C48AE8304CB81EBBE58725 /* UIView+Responder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A758E16F03B0E694F8DFA1A27507E9C /* UIView+Responder.swift */; }; + 8CCEA9CC39354864D59E41672513B5D1 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F92F321BB4E55085159A166D3AE0B3AD /* Result+Alamofire.swift */; }; + 8D58DFB8719505973D598C790635BAE7 /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647C5E2E97FCC5E93212289929566092 /* CombineLatest.swift */; }; + 8DE19A78CB22C3A938AA54381334F6B1 /* JXCategoryIndicatorLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5153C289FD9234C12DEFEEB328777D74 /* JXCategoryIndicatorLineView.m */; }; + 8E04134529985568DCFB8818BBBB7F5C /* UIEdgeInsets+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02418330CF7473448FD4856DFD5BCBBA /* UIEdgeInsets+Utils.swift */; }; + 8E5256AFC173BF710216F67AA68F5CDB /* DDAF.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19F57C5B7FA6BDE84D6E6A8359B9569 /* DDAF.swift */; }; + 8E8F09AD96271039CB19EDAF7F40D5C2 /* MJRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F896BC532EBFB16C23A1ADDF055A52F /* MJRefreshComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8E9422DF54BCC99CA32573ECA23B7DAC /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3913BF4827BA4EE43A7156EF0DCFD54E /* UISlider+Rx.swift */; }; + 8E9E8BFB5716D6C7E23589D005C7D927 /* NSBundle+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = A1BD1915A468B2C4832E4402397782B5 /* NSBundle+DDCategory.m */; }; + 8EA9F0E18ACBBE10CBFD202E479C114D /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3533A414351489BABC7EA1F60292F9CB /* ConstraintPriority.swift */; }; + 8EE2005703426DFB542B34D09AF24A80 /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DF31A24F094A4BD02F55F992E62176EE /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F015C2A2CE48A10FCB00D51306E2FAA /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A08C07A53B05F112F9FF09FA9C7D2E /* ConstraintPriorityTarget.swift */; }; + 8F21AA61AEAEE275B82C922F4CFEFC13 /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = BD620BE7FEA8C001D6DC00E45A3F957F /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F5EE8A86580C3CBB943CFF31888FCBE /* DDBaseLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B13C8B5B46A245089FD6C811E9C11D1 /* DDBaseLabel.m */; }; + 8F734E6929EF5E7CACA63DEFC1FB82CA /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B69C15BE754BEB413C6AD5E9143D74F /* SchedulerType.swift */; }; + 8F8F99650B5210A1ECFED43403A17913 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC7BE47DFA8979F847A9E9D27691F8C5 /* RefCountDisposable.swift */; }; + 8FA98CB7E5B912CAB92BC78003150B48 /* ZLPhotoPreviewPopInteractiveTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BE85FE72A1123D80C8A7CA095073318 /* ZLPhotoPreviewPopInteractiveTransition.swift */; }; + 8FC0C1F0C19221901FECC66026743D59 /* _Sandboxer-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 10A1BCC3F5EF343A7BF68056318C44A4 /* _Sandboxer-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8FD8D1F13FE106FF4A48327B4EF2E3D1 /* YYAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 708C41F6E9E6746DC8F5675084D4C46E /* YYAnimatedImageView.m */; }; + 90A692D45F5F2537EB0856B3169C97C4 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C067EA04D1A4B66AE9987C1E23492A /* RedirectHandler.swift */; }; + 90B15A331091D1C228BFC5F60D4E45F8 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B86E194203D71390609E6FC2CE91A28 /* UIImageView+WebCache.m */; }; + 90B9AD190EA21E5F1178C6EECBBB4816 /* DDViewControllerAnimatedTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CDB8B9FFB25A64BEF71AB5F39665916 /* DDViewControllerAnimatedTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90C6480C4262B9CC1A61A3B7E437CCC5 /* SDDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EDFD7BDDDA8AE33A4419C70C81D19E2 /* SDDisplayLink.m */; }; + 90D5A68E1EF23552D670E47D3B23AE4F /* JXCategoryIndicatorBackgroundView.h in Headers */ = {isa = PBXBuildFile; fileRef = 45B0BCC572A3186F0C25FCC951C5F538 /* JXCategoryIndicatorBackgroundView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90E5C2DE01409E745FF14423CD98FD90 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C9ACE92DF8F6ADE2C2AA311C763A67 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 910F8466106459434C084A74EA003284 /* NetworkDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED256439602D90879223D2EC27170330 /* NetworkDetailModel.swift */; }; + 918DCF83A321043687D0EC792EA9B873 /* BehaviorRelay+Driver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66E1A19B3D5EDB9E0111E74A67A6CD54 /* BehaviorRelay+Driver.swift */; }; + 9192B0E784D86E864323A0099D5DF9CD /* EKAttributes+PopBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = F18557C8B77D75B06843FB4CC1455772 /* EKAttributes+PopBehavior.swift */; }; + 91CA8063502AC4672BFD7F6D5AD890B6 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C99745F89745AA2B6E89B0F54B8B233 /* ConstraintLayoutSupportDSL.swift */; }; + 91E7BBF8F1A4202B3E4781E312E2B3A0 /* JXCategoryViewAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 61E929C70B1C815A4FCBC8B4B963CDFB /* JXCategoryViewAnimator.m */; }; + 926299312E6E340607FFEFBEBC3F5B45 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8E5F4FDFA28759E66AA13DB7D63232 /* SwitchIfEmpty.swift */; }; + 92B93FFA25205F6728C871EC199C940F /* JXCategoryTitleImageCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C806F7325FE14469162E414D55A508E /* JXCategoryTitleImageCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92BAD4420B04D7F6A5243D5810D729BF /* EKPopUpMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6593FDB1B26356CFC6F7E3A56EC9B4EF /* EKPopUpMessage.swift */; }; + 92EFB720D893286C8BA11156EECEB7FA /* EKAttributes+Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE516E915F9A7A78BF0F7528C9DB13C0 /* EKAttributes+Duration.swift */; }; + 92F90BB8342AA192D7C08520F4CCF266 /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C61A46C539D572109B56BC820A7AB809 /* CachedResponseHandler.swift */; }; + 9348C310A4D8EE0038C25AA32FF0B240 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = B13BF5572329B2C8D3867CA07C6F5D98 /* SDInternalMacros.m */; }; + 934A47F0CA3CE8D65B9C4547C263D0CF /* DDMAGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = A5D8DE58E07633D41B684E0120EA1BC5 /* DDMAGeometry.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 93721C8F9CF4BDA2AB57C3967D748173 /* NSBundle+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = F97B035B2FC0F02D4F46F03F4DDBC718 /* NSBundle+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9377075FA4E0C7EFFD0E68C28235E9CC /* _ObjcLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B3EE9CAD1093B1F8DC4640F0210CD8D /* _ObjcLog.m */; }; + 9382CEC3FAFA9B3E6F5C78B9663D9E48 /* RTLManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 244DE358E37D514D5FDEA10CADC99C49 /* RTLManager.m */; }; + 93BEEA5D92D4F153A09A75627E2DB577 /* Bubble.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42BA7194E9F03790D099E5732F3EFC61 /* Bubble.swift */; }; + 93D18BDA44F77F52F4B54B750D8A6394 /* ZFVolumeBrightnessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 610115B7DAACAAE236361F3624DA6D5A /* ZFVolumeBrightnessView.m */; }; + 93D95C7F6691DED21F57289570648BA4 /* _OCLogModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 45A3D403E041C10537136FB00827FCC0 /* _OCLogModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 940E711D63649BE7A3FB66E52457D398 /* BehaviorRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE81641989250528C2AEA96FDBE899 /* BehaviorRelay.swift */; }; + 94F52C0B14492355715F866CBCE7173B /* DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = C5A8AF6AF0F9350A5ACA8D1CEAF8B843 /* DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 951371DF78512514FEF71B4F6FD34EFD /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A71CB8AD0761E6670E870EE105C59A /* UIView+WebCacheOperation.m */; }; + 957DAA54D070E5B18B4E63E09AB6F710 /* DDButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA407CCE25FB0E944259BB4C054EBD2 /* DDButton.swift */; }; + 9598E70200D0432AEA20ABF30E6CFF9D /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B6D55411B7A280E43658F269DFCFC6F /* SingleAsync.swift */; }; + 95A2AC17D9936524C874ACAE4A6E4A1B /* RxNavigationControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 907FFE77A6E2E8D0AFAED4D2A918E4FB /* RxNavigationControllerDelegateProxy.swift */; }; + 95A54FB0F3102527D116AF34B131A747 /* DDBaseImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 010487B680031D7DD9F7CD504D25DC02 /* DDBaseImageView.m */; }; + 95D6B375856547576214D45BAFD14C34 /* SwiftToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4B94D42B88D253987B6F2965EC6FEE /* SwiftToast.swift */; }; + 95F17E0FC83301E67165E1F90C5AA5A4 /* ESTabBarItemContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ADA5DBFCFC6BE3CC0BF6FC177142F93 /* ESTabBarItemContainer.swift */; }; + 9608E323C617DBB486D89685D7267DB4 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 10A7E43E46251EC9A21DC81AA391B2C2 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 963DE0F758F48FB19394E60E3D1BD7AB /* DDBaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = F1C91FBF36170A4E474C8C941580EF80 /* DDBaseView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96A0CCCB01D6DB43CE89E83DCB6C5C59 /* Infallible+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0404D90151DAE558D920953C33256706 /* Infallible+Zip+arity.swift */; }; + 96E4B9E2601F91643C19484CB4FF061E /* MATraceReplayOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = F571620398BBD1B127B545511F718C22 /* MATraceReplayOverlay.m */; }; + 971245CD46BFE06B4FF838938725FE3D /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 41CE46C63B37A5D33C48C61B25672C66 /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 973B2A5036AC6C657C3FF4F7B0225522 /* DDBaseNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = F9301673C57E48E85A74FA402F13062B /* DDBaseNavigationController.m */; }; + 9773847629F2F105580593407D661685 /* JXCategoryIndicatorComponentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F8538B24BFE493297452EE8163DCEC2 /* JXCategoryIndicatorComponentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 97BDF23C8E9038148496525214A838D6 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCED4D28AA92822F2E573E59FDECC57 /* IQBarButtonItem.swift */; }; + 97CF24324EFE30D5AA2A345F03D49922 /* DDBaseTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 5016A0B13580110CFCE358F01E8F6C9C /* DDBaseTextField.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 97DCD32991FDE4EA529C3292B88BFBAD /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9CDFEF16400783A779D32A17B03C48 /* Error.swift */; }; + 982018F9943EA721B176DED187A3F4B4 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEC3A6C6B35ADEC0E99D6B6B4690433E /* Signal.swift */; }; + 983C31E06D6E4D7B9C87126A26D535E5 /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA9F4F7CB3BA61106A9ABBBE912C65B /* SDAnimatedImage.m */; }; + 9842B2D9C892C0A9E6B69A2AC78AA5F1 /* JXCategoryCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A373E8956556B6CB5D0A5CD1EF59AFB /* JXCategoryCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 98D1ACCBF6425DE78465EC9D323030B8 /* ZFLandScapeControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = BDA39B92D3611BC488EA3148C9A51942 /* ZFLandScapeControlView.m */; }; + 99052A7FD46935C7F9A760467213583D /* EKRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC5A307D6157E6D8E9153EE3C871B27C /* EKRootViewController.swift */; }; + 997DB62F7C251C04E2548F73C945E9EE /* SwiftEntryKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0957097709AC8F8DEF5624B992C16E9 /* SwiftEntryKit-dummy.m */; }; + 99EA19C8F294727AAAB343FF9966D33B /* NetworkDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC55F3C44F93FEE86CE75B124188BA4F /* NetworkDetailCell.swift */; }; + 99EF30562A31AD676C542693E91F0EE7 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = B765863068CB068898657EB3F34EF2FD /* SDImageGraphics.m */; }; + 9A0E1D59D9117546EE7E4F07B42EF9D0 /* NSAttributedString+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = E812965A4A246A80759BE7BB328475FD /* NSAttributedString+DDCategory.m */; }; + 9A258A01E679FC91809CB0E4CEE2BEC4 /* UIColor+SDHexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 34203AC5A0D15836A79B5843F12CA326 /* UIColor+SDHexString.m */; }; + 9AAB305EEEDD5680F4A4A00456F138B3 /* DDBaseViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B75077AE63C06AA137953FA696C25256 /* DDBaseViewModel.m */; }; + 9ABF90636531F1DB9AA4E8A702780FE8 /* Infallible+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7E96DDA387F1B4009C517D56483FBD3 /* Infallible+Operators.swift */; }; + 9ACCADABE04C5FBF041953A5CC27B8D5 /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 11A471D74DE05908C477E8CD4E77A87D /* SDImageHEICCoder.m */; }; + 9AE39DBE0EB191F7058932700052E64F /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BE3D6EA2CEDFF691F321FD65C345199 /* Reduce.swift */; }; + 9B06B23C0DD30320D27A0AFF3523DD08 /* UIViewArray+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08409E469EA929E4B075E92C4CD1DD58 /* UIViewArray+QuickLayout.swift */; }; + 9B09741472416487EE81F386B6C9355B /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 92CEC1C73FC61581B43E096DACCF1385 /* UIImage+MultiFormat.m */; }; + 9B2A0D221237BE5ACCF087F2577E4A6B /* _ImageController.h in Headers */ = {isa = PBXBuildFile; fileRef = C14AB73E0D829F879456C13C3A04B984 /* _ImageController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B3438008BC4D95AC0077F26C597FE00 /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6ACBE320348D45BDD0AEB844A6EB1CD /* Merge.swift */; }; + 9B5100395827615651D86B4C60B15EE3 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = AC74B0A589401DA85BFA356909B19FC0 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B56C88A1A26C2AF157005389DC79D89 /* UIColor+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3E285D4EBEC82A6ABCB6B33EAFA3C6 /* UIColor+Utils.swift */; }; + 9B6B51BDB80D514E11D3C2BFFDAA63F0 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 14A6567DC4510D8B9C160EF2B2E714CD /* MBProgressHUD.m */; }; + 9BE2962068E95D8253F1A92B8C1CF7C3 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE3FDED621E68F45B1277D90644A323F /* ConstraintMakerFinalizable.swift */; }; + 9C18706635F8F6039800E5D29E33CF5C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B4F66505BB46511951EFFCD4326303 /* ConstraintDirectionalInsetTarget.swift */; }; + 9CE0D080D988944F984ABF550840D22D /* _fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = 784084F4E7B8A34E85EC702DCA5F5A48 /* _fishhook.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9CF7F93C09CD223D8A4AEFDE6500448B /* IQKeyboardManagerConstantsInternal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A33B014165C155387CE9ECBE70703A /* IQKeyboardManagerConstantsInternal.swift */; }; + 9D01D3212A87BF147783E03016A7C596 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4639D836AC8D7FD9BBE84301D50FBD4B /* PriorityQueue.swift */; }; + 9DC90F2EFC4727920E1553241B68DFF1 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = D15A99B7399E1DA114D3DDBBFF53202C /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9DDBD070D8F28D3645E88F93FC7E98B6 /* MJRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE42FE650330E11E5EE5930879665304 /* MJRefresh-dummy.m */; }; + 9E1FF64ECBEF9CA8C3A2B1B584716C2C /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 9574B3F12903DAA53C1E60A37609E5FE /* SDImageAPNGCoder.m */; }; + 9E23A1148774E189F9F3BCF8AAE76DA2 /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B09A19F6805BCB15C5FC4680BFB97F4 /* Completable+AndThen.swift */; }; + 9E278CF7CCA7053B8B9F9599C33DC02B /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 03564C5CF7B31FED7FDA8BDC4B588517 /* SDImageCachesManagerOperation.m */; }; + 9E474548D6A0521350038A8213F06E0B /* LogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC59EAE9D9AE5AD809ED831668F3A4B3 /* LogViewController.swift */; }; + 9EA9DCA38AE8140DAA4900C68F0EA575 /* SDGraphicsImageRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 71085E406FD3583B05B1ED4E671AFC08 /* SDGraphicsImageRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9EC0802317AB4CC74556A9C7FF674399 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3722F8ECDCBAC3E8F9B7A2D51A23D261 /* AsyncLock.swift */; }; + 9ECF42D1324F716832C4CB78502B7FF4 /* JXCategoryTitleVerticalZoomCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AC7D02A9346AFC288F0369BF341AF0F /* JXCategoryTitleVerticalZoomCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9EF1E4C365CA76114EBD310FACC88668 /* _RXDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 66642D16110D01BDD287A6EA7F0EF68C /* _RXDelegateProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F1A9C17629B0FED4F5BE452442F3B5E /* MATraceReplayOverlayRender.m in Sources */ = {isa = PBXBuildFile; fileRef = 080D6D3724CAAF08E09EBD079BF600CA /* MATraceReplayOverlayRender.m */; }; + 9F3385E2B8DCE658F07D586F04FB5CC9 /* ControlEvent+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = A97B1FCE7B36565B5898F94FD4645630 /* ControlEvent+Signal.swift */; }; + 9F5D6E0C4368038B437BF444F665CDB6 /* UITableViewCell+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7122E66334E6C1133CDF561CF8B34109 /* UITableViewCell+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F77F23C82AD7A280997AB8CE1026694 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885960370D802DB7C9EC2F5B075D510B /* IQKeyboardManager+Internal.swift */; }; + 9F9210CD851E076E6C5C1963F3F7F0BD /* SDWebImageTransitionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E5F7A5C74C0ED6962916F98559CE4 /* SDWebImageTransitionInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9FE3FCF5816BE354A387DA99CE64BB16 /* ZLAlbumListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DC01DCC64DF8FAB229F237EAA37C65C /* ZLAlbumListCell.swift */; }; + A0753DDE7E6EE0EE31ADED266223E0A3 /* _FilePreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 142D6A11CED1F7C6505561C739416A6D /* _FilePreviewController.m */; }; + A07BA82EBAFD79669D9EF1118D658F0E /* UINavigationController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED17A8A9108C517DFC5DAF611ED244B /* UINavigationController+Rx.swift */; }; + A0C1B45DA29A58D0BFF28129F0965A3E /* DelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8ED6457B9F99F0916F2636CD240560B /* DelegateProxy.swift */; }; + A0C26DE9980DFFF397D73B60047492E3 /* UIView+ZFFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 297D14C33E9EF9C657A066281CE55BB8 /* UIView+ZFFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A0D722F2C2E041757A96ABBE6EEF644A /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A69706F8BEEE9AB0FEFF51167078120 /* SDWebImageDownloader.m */; }; + A0F05798AA7269C371264DFD7BDB1904 /* IQKeyboardReturnKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C35CFDA33405E5A9F017C54A48B1F8 /* IQKeyboardReturnKeyHandler.swift */; }; + A1355E1BBE3731F83CB38B9055E2372B /* JXCategoryDotCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E7199B187182EC95737A246291767F7C /* JXCategoryDotCell.m */; }; + A1540B6250A565E9F4FA071822F86C70 /* EKAttributes+Precedence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27E22905142190EF0B7035F47C722D4F /* EKAttributes+Precedence.swift */; }; + A1949F2B9289F7954C77D3E23621727C /* SDImageAWebPCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 267AF367F19E8311D957C67CA690AEF4 /* SDImageAWebPCoder.m */; }; + A252AF7657AE77B71C86CB9DD16C7ECD /* ZLBaseStickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA08C9D2B09A14C57B6E0919E1D84C99 /* ZLBaseStickerView.swift */; }; + A254EEEE1080168B974C7A51EE1720FE /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = B40D5F1A930C2BF3381C0DC550907252 /* _RXDelegateProxy.m */; }; + A2594BB6D1B5A1C5F7652550BD4D5CFE /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 79A69AC341B03033B46431E34FEDC675 /* SDImageFrame.m */; }; + A2D82F29431BC8390C3D8A386EC15DB5 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388B33C8E16AA4A048B560995394CE79 /* HistoricalScheduler.swift */; }; + A2EF4A22909B4F00632D584DFC1AF84E /* JXCategoryImageCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E4644D833C977237AD4879934512C822 /* JXCategoryImageCellModel.m */; }; + A324214E352F1B1525001B0030FB9B7A /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1438F7D917CF62B42D3A9801F8C3CD9 /* Amb.swift */; }; + A340546632D10905379CFF17E52381D8 /* UICollectionViewLayout+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = CBAF980648397D598AFA318F31A23474 /* UICollectionViewLayout+MJRefresh.m */; }; + A3614B7735695DD47BD1BC18CC9610ED /* EKAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC764ACA333DF29FCB7F91020048F90A /* EKAttributes.swift */; }; + A387D29F3E92B11DBF691695607E204A /* DDBaseButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D8E0D52F8435E1535DD287BF727C7ECB /* DDBaseButton.m */; }; + A3B1C5058E6D1A9BC138D3265F4914F6 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A6703B5AD0BC90165C97778E9997503 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4232F59E1918C240232947792D51757 /* _ObjcLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 256C2BBEBC4A20949DB0CA4976169269 /* _ObjcLog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A42A0487E99A3BBCA95B3A1AE5426243 /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 949C1F8D1B2B40BDAB788E8CCD627D2C /* RxSwift-dummy.m */; }; + A5476425D3C5D6705F6FBD0E515FCD7A /* DriveRouteCustomAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 909A792E575A314B1EC563E9E76DA0BC /* DriveRouteCustomAnnotationView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5813AF936814DE8C9AEDC7D96DABF47 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B73D78339A89506F1241E6911B5E22CD /* OperationQueueScheduler.swift */; }; + A5821D2212C003710A5C38D9664B78C3 /* DDAutoUIKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DC046B1411F6C04408E64BF494413F /* DDAutoUIKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5ADCEB47AD35B2837432D89A38F1EB3 /* JXCategoryTitleImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 17E4B33FEFB92B0829106C878D4AAB78 /* JXCategoryTitleImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5DF3BEAD02F2529DDA2F302CECD3AC5 /* MJRefreshConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 5770C58E46703810AC53EDB60F37429B /* MJRefreshConst.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5FBC4300B4ABFAD6D946894FFF20CE1 /* JXCategoryIndicatorTriangleView.m in Sources */ = {isa = PBXBuildFile; fileRef = A033673D62BAF39030762360AA0CA16A /* JXCategoryIndicatorTriangleView.m */; }; + A633C2F82C4975DD22E150A795CD00DD /* IQUITextFieldView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ADB8A867E3D033928DC1A532F54396E /* IQUITextFieldView+Additions.swift */; }; + A661A54FB0BE0E81281BDCD7009CA8B4 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8179EF63984555E942581FFE006B2CC2 /* PriorityQueue.swift */; }; + A69BD642F651597A508BFFC52465D14F /* UIRefreshControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B971AC3BAFBF9866117E76EE08DF3D93 /* UIRefreshControl+Rx.swift */; }; + A6EAC1E0ACC363F33EE2B1D9A908EB9D /* UIColor+JXAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 961FF22E241057D2CED938356B4D7FEF /* UIColor+JXAdd.m */; }; + A71B9809FA82EE0CE142382FD6162BAB /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 342139A14FF4D75200976E7F5B7A8B80 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A7395AD90CE7874072EC370C8AE32796 /* CocoaDebugTool.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA0B9934782370D3AB5F60B1177DB5C /* CocoaDebugTool.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A759C520D43C2D67A7DEDD73A662097A /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 514A796BA5918A07B59162378DF6AEEB /* SchedulerServices+Emulation.swift */; }; + A7AB2634F55E9C87953067EECFA544BC /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CE4F9D8921452FC69767BA88FBD584 /* ScheduledItem.swift */; }; + A7B7885BEEF30EA7BDCDB2AFBB0FAD18 /* DDBaseCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A98B60A3A7C85B8BABE1CBA0A866F66 /* DDBaseCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A7C1EC0054ECE0EF2F2CB1B561C23590 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EEFF07276DDB76FAE2C135FACF5B135 /* SDImageCoder.m */; }; + A7E0CE992F5E28A78FF7705F4AA95F1C /* _Sandboxer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2220802ABA2912C7178D5B4AABDDE5F8 /* _Sandboxer.m */; }; + A800CDAB64BB49B835120199FDDF7EE9 /* ZLThumbnailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A69EBB35E5A703BD76BAB395808990C9 /* ZLThumbnailViewController.swift */; }; + A8046890340F247D5EF036A8C232981C /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = DBB1D40F2237040531011900C70CE39B /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A828254620582CC1AC5D705BC77294D2 /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FC34A057C93B6E8B9925875DADE5792 /* SDImageIOAnimatedCoder.m */; }; + A82F0D4FB1D81AFA125ED8972A4CC3A0 /* MJRefreshTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = ECB528EA98FD91BE6BAC416E0D39AD4A /* MJRefreshTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A84563AA4B17210352420B82FB8CBF33 /* UITextView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = A13297A64E857B8AD8F9E9419F670A6E /* UITextView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A9287B485E49EFFB8DE08945AECF14D8 /* RxTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7869A89417FE726C9D5C3110522B94C4 /* RxTarget.swift */; }; + AA0B700D7499FDD27E65E53F8FD2DEBE /* QLUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3B82CC9D3F2021348E86B3EE099A8C /* QLUtils.swift */; }; + AA624D3EE03B4A895DC1FFE446ABCC0D /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CB821C7A46C645AE504CDB6E9B54D35 /* RxTableViewReactiveArrayDataSource.swift */; }; + AA746263F9F91D7166646A793B566018 /* DDBaseTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D28071364468245FA4464264EA168E /* DDBaseTextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AAA51B9D97A6385BFCD0BE040F9695E2 /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 595AEEB12C4598C9FE42D3D765AE0F78 /* StringEncoding+Alamofire.swift */; }; + AAC304321AC76D2C680F473FA3A23C12 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 85A936A211DDE8F3FDBDA0A4C12EDFB5 /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AAE28567EDE48F789BA8BD1A4E3527CC /* UINavigationController+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 59CE1D3307EC288911BEA1BD4062E9E1 /* UINavigationController+DDCategory.m */; }; + AAE47673FBBFDAC8C28BC40A786F9B73 /* ZLPhotoPreviewAnimatedTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 856F798880D87F8BB4B7689286986319 /* ZLPhotoPreviewAnimatedTransition.swift */; }; + AB0A7FC1637EC80FF292A7497915811D /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A83B64A488CD482E4ABCBEDDC7958B4 /* RequestInterceptor.swift */; }; + AB2B8F1F13281CC0FFE05B9364E3640E /* YYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 940B40FA429911BC2F885748BA6E613F /* YYImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB363C9D058E838DAF65C9A00B751A69 /* UITabBarController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 333A64D70D3E61CF1D8B7206D5568B6F /* UITabBarController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB66A717522F7B9068399120DDBC5025 /* DDBaseImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C16038A594C665F60D4805698B72E42 /* DDBaseImage.m */; }; + ABCEB271B85C79CBCE557B62BF930725 /* UIBarButtonItem+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 529EC13E4DA7A8021EC6970BB4D6F100 /* UIBarButtonItem+DDCategory.m */; }; + ABF58857A9ED236CD5B387FF0C56FFC0 /* NSBundle+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 04DD6186EA20831357498DB649C2D851 /* NSBundle+MJRefresh.m */; }; + AC128BF52E4D00EFC523B3779B9B7FB6 /* MJRefreshStateTrailer.h in Headers */ = {isa = PBXBuildFile; fileRef = B4145C883CC26963CE25A5B3FDA3A58B /* MJRefreshStateTrailer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC5D61774CD2638768862FD2934B6027 /* MATraceReplayOverlayRender.h in Headers */ = {isa = PBXBuildFile; fileRef = AB208F7F34CCECCAFBB2D4F525D7D657 /* MATraceReplayOverlayRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ACE0BD363363C792B176AAFF495B0369 /* _RXObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 89DB460498789073CB561878CF1A5964 /* _RXObjCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD15544BE46B5A08FD02FBD48D4A2520 /* ZFFloatView.h in Headers */ = {isa = PBXBuildFile; fileRef = 887173C85A442C4EA67F81D252044EF9 /* ZFFloatView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD2D8BB58CB2F0FF6423A016D14516F5 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CAD22AF2ABD2A1E14DE04D76D00A4CF /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD428E45B5793B370BC9084A07D2BDB5 /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70EFCC49C3641FB1AEF7AAF01EE84770 /* UIDatePicker+Rx.swift */; }; + ADA26D9BD8D714E1B3F6E424BB94E6B7 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1250C2A29E489E00D2B739919551E562 /* Bag.swift */; }; + ADD0E00BF3AA834B84C603A50B411C2A /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FE3C80FE32DBEF44FE4DD9E045FCD9F /* Deferred.swift */; }; + AE20ECC7FA7D27D1FFA4F11097D46EE7 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A461B3425A19154EC99595624E006AA /* SnapKit-dummy.m */; }; + AF02F5C6B6D6FA14A017F65611E3974A /* SDImageAWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 326ECD71DB8C1B3A59010955353BE8C9 /* SDImageAWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF0A69D68F703D452FCE6F68B461A362 /* ZFPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = A5A2921ABDE59DF12F4D0D661B6FB6E9 /* ZFPlayerView.m */; }; + AF1850793335D7411B7CA119CCFDF776 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F0B8B9E5E18E15C51D5AE7F97C852961 /* SDWebImagePrefetcher.m */; }; + AF5EEFE6005E0DE11ACE6DAF7C97A248 /* UIPickerView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC4213A57A654498B7553C05C43E5D24 /* UIPickerView+Rx.swift */; }; + AF759C36F39B4E4FE7180A127966AE35 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798B1F31B12771422E0517E8CDFBF8E4 /* ConstraintMaker.swift */; }; + AF91B100F4B4D65B92BF8CA590B2005F /* WindowHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E4463C481739E0CDE5CCA8F0ACB90F /* WindowHelper.swift */; }; + AFE462A27C50428CA433CD3254C90863 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 00187059A26C623E524F7CCA0D0B40BF /* SDImageCoderHelper.m */; }; + AFF66CAFD7F5E229A8FB545495BAEE1A /* DDTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53508503B18916CD33E25A91EEEFAB3 /* DDTableView.swift */; }; + B03BE19F0696EBF85FD6F489AF4D028A /* DDBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A676864DC0CCA136AFBF902CE9695EA /* DDBaseViewController.m */; }; + B04B2B65E995F882AB75E0609D19306C /* UIView+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7775F5276148B719610F95A0FD178C /* UIView+Shadow.swift */; }; + B0D0C080B9171511A9AB12AD86B7DBE1 /* ZFPlayerControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 991E147CDBC8CF53D3271A8D060D23B7 /* ZFPlayerControlView.m */; }; + B10E4F3871A53CAA6B9DE3D77091E718 /* EKAttributes+HapticFeedback.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCA1355C7CF87739933D1129491B0F00 /* EKAttributes+HapticFeedback.swift */; }; + B1104525F66A74BF581940CC8EBD4605 /* DDTimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BDE959BBDC979EA7249428CD4181A54 /* DDTimerManager.m */; }; + B13C152BE11FA76E2F024DE7623674FE /* YYFrameImage.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE5A8D5B6DBF3676C11FFCD41C2AEF9 /* YYFrameImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B1466F2AF4C8C5D9668D912F5716064A /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = BE82696B515CA89DECB69D29E36B6910 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B1A7FCCDF2F76FD799074AFEF13F2C43 /* NSSlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B91B2214FB3918FE02FBA9C67B04BD /* NSSlider+Rx.swift */; }; + B21EF964ACC6CBCD4E5D0D766A71E9DE /* DDColorKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 49C968A461FE24545FFF566A050BBB2D /* DDColorKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B254C13F439CD15A9E0AE7727D4B7BCB /* UIFont+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 23734164466F2CC14AD7EAEF7AB8AF6D /* UIFont+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2851C902C2C372F18387C2B39AA47C1 /* CocoaDebug+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3D7171281F2DB8F383DD7B818415297 /* CocoaDebug+Extensions.swift */; }; + B2D6455FE61A9387A3776B484F8BD055 /* UICollectionViewCell+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C353766033767D7665EE9C4D3DF4360 /* UICollectionViewCell+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2F00FA6A845D79D514C907870345041 /* ZLAdjustSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00837519066ABB5FF0DC814BAFAB0C6 /* ZLAdjustSlider.swift */; }; + B315A21471DC78A45CA5249A9EF6EF85 /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12B5AC9085F2DEE9B7334395464B835B /* AuthenticationInterceptor.swift */; }; + B3286AA363910FED381DB2A860887246 /* ZFPortraitControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 07EC8660A5E0E7D8854D0D029A375A5B /* ZFPortraitControlView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B337891246C2848ABC1945BA4D95817E /* _ImageController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94739AE9231877B95FEAC1DC8B9629FA /* _ImageController.m */; }; + B3BCB6762F05E6CE8F5DF3A605730B6C /* SDWebImageDownloaderResponseModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = AB00E3B82036E5EB9B84ACE3453000DC /* SDWebImageDownloaderResponseModifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B3BD944BFF9FBD5F1638D4FA684DFC9D /* DDColorKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0735312578C44C383E349E75442CFA00 /* DDColorKit_Private-dummy.m */; }; + B3D357841FDA256DD78B84471E009F1D /* DDMATrackManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 811AB5883718661229CA4D3F5EE88647 /* DDMATrackManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B3F8D02D6F81E468340ADA0561C2990B /* _HttpDatasource.m in Sources */ = {isa = PBXBuildFile; fileRef = FF22E478404E00AE20BDBA76239B0347 /* _HttpDatasource.m */; }; + B4093EE96AA888E2B1609715B1CAE585 /* ZLGeneralDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43629C4CBA79734CC5B9A86B1A49B0D3 /* ZLGeneralDefine.swift */; }; + B410A7FFCF6A4F1FC0160F22E919B009 /* RxCocoa-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 45E729D11A5D024BCDF6DD21A36B68A9 /* RxCocoa-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B434DAA653E3CF201185FADE09ADD7B7 /* UINavigationController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = F91DF1644ECCD0CEA8FF7B982A4A5462 /* UINavigationController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B43B1D85F1DF038DB7D01DFAF12D48A0 /* NetworkDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1676EF50180F64E81885E8E2BA53091 /* NetworkDetailViewController.swift */; }; + B450462CA20B3A8EE7F08F1575FBD714 /* MJRefreshAutoNormalFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C7BE8A39C183603451277A91C36E44C /* MJRefreshAutoNormalFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B4527D6F585156B3603D05329436D4E0 /* SDWebImageOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = BB105E577CDC4DF3E9AF9237F72B888D /* SDWebImageOperation.m */; }; + B460A9A103E7954D19D481B77F87F83E /* JXCategoryIndicatorParamsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B8B94C2FFF7A4E4A7183BF445658D6FD /* JXCategoryIndicatorParamsModel.m */; }; + B4E540E0998D38BEA54DE098FDED09A4 /* DDMAMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = 36038E1EEBBFD4A6AB608812D2A5B2D6 /* DDMAMapView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B4FE3233189E681459E6FAFE1A656449 /* EntryAppearanceDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C178AACDB90F47F9148C726177BF761A /* EntryAppearanceDescriptor.swift */; }; + B5057B7F3F882C9DC7320D51917E6E58 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E4EEDBF4C41CDDEA8AF51F582F55B36 /* SubjectType.swift */; }; + B5269B62215B96500B9620B997F378F4 /* MJRefreshHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C89D3311ED6264C6A655D6D9741205 /* MJRefreshHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B53F9C80DFE371236697EE4CF0CBB918 /* UIImageView+DDWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 37947F46197D4B01F887E80DBED6DA85 /* UIImageView+DDWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B55D49CD10FA31F1E6F92E225D821BB2 /* JXCategoryImageCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = B681033CA259210BCDEA159F03D9D213 /* JXCategoryImageCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B5FA1092BF1D816BB9A7BA06EB64BFA4 /* EKProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5A27C346CFBA606A67600167BD64A4A /* EKProperty.swift */; }; + B611198D9692C8B6D4970591AED83362 /* MJRefreshBackStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CEDA3B312801352788DD24C4C11F9DF /* MJRefreshBackStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B61A05B07D76CBBC87C664B2D964A5C3 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A03719B9035AD652AC7BCBC444963E /* Notifications.swift */; }; + B63E411A15310CA213AEE158B763808D /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E9DED0E3D0CB531BE11C27B2B3B19FB /* Catch.swift */; }; + B659FB406C404DBBAE4A648BAE9BC77D /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = D75AAE78C0C56FE2FADE41D8C0F6D564 /* ParameterEncoding.swift */; }; + B66389A11F64F80F5CBA50E6E8FEE348 /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD521149E1CEACEF54EFDD39E91B2DD /* ParameterEncoder.swift */; }; + B6F37953EB6B4D338AAB68F2790D7DE2 /* UILabel+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 73A4F0A21434450965381BD1A4F12503 /* UILabel+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B73678A0D6DC52A94F163D0C65B07B56 /* _DeviceUtil+Constant.h in Headers */ = {isa = PBXBuildFile; fileRef = C92B10756CF5DE325BD86F02B5A10E29 /* _DeviceUtil+Constant.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B7551F7AE4DFD9D8BAF5DF408EE11783 /* SDAnimatedImagePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 95EC0D47E9F7C789A10A9A84006B7A12 /* SDAnimatedImagePlayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B7738FB94E4754584B9C7381E52F45C9 /* UICollectionViewCell+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A7A457F33ADAAA5F1C81E024A9F9932 /* UICollectionViewCell+DDCategory.m */; }; + B7E402A4FD1FB5F8755ACA513AD9C2D5 /* ZFIJKPlayerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B6EF4A7CF9F4B2B8978FD328BF57C7 /* ZFIJKPlayerManager.m */; }; + B7ED93C0661C6395D434C8728CA57665 /* MJRefreshBackGifFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = C5E021B41ABE05184E22C3C35EF2B42E /* MJRefreshBackGifFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8215D996B14DCFB089C23C89AF0F61D /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44A0205707C395CF6289D195ED3561F4 /* Debug.swift */; }; + B89BC37A7EF9653B4E70A8386786F5E5 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA85E09426160281B9523DA7958077D /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8A6D72F39FE58ACFE28E3C888966365 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 872235AB72C42A2D034CCD39639D1F97 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8B3CCE986BC3A2D91B4E8E7B1151022 /* UIBarButtonItem+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = A527FEE8FF018382A2BD90616BEEEA6B /* UIBarButtonItem+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8E2D20AC3123CD07ABBDC96C0FBEA9A /* JXCategoryIndicatorBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F05FEBBCB595D644C000725FCFF4F65 /* JXCategoryIndicatorBackgroundView.m */; }; + B8E9A4E2E8BB5D2A298FB1C56696CF1C /* _HttpModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 81CF4E927B710273AE961E13F494A8BE /* _HttpModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8EF8F9C8ED054238B9FB957EC8B1A70 /* DDViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F08B835675FC3B2B76BF524188696605 /* DDViewController.swift */; }; + B9339C5232FA751530693C26C023E2BC /* NSTextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 429CFC393F7F3ADE3883738A8CBD8A58 /* NSTextField+Rx.swift */; }; + B9910A2F6B82398D9311F4EB38729DF0 /* JXCategoryIndicatorComponentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA3F5C8AB44C97FE8E60D875BCEDE1F /* JXCategoryIndicatorComponentView.m */; }; + B9FED8E7B04C74F084D8156BD8AA93DA /* DDMALocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3846F37A5DA9E2C5B2D4B14769A73D4D /* DDMALocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAAA77BD2AA82941BAB9D657F729FCD8 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = D61A66A1F7AAB543DF04132119BC0D45 /* Zip+arity.swift */; }; + BAB546FF62D34C6C2E6141CA5D0EEA69 /* _SandboxerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 53112E8541FCEB4A59514D220C23D23A /* _SandboxerHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAD25B30F0E334F12EC76FF901DEE3E1 /* HapticFeedbackGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 606C8A68CC790974E048B521DE868D1A /* HapticFeedbackGenerator.swift */; }; + BADA655AB31EAAE70E476D63F5FC98F2 /* ZFSliderView.h in Headers */ = {isa = PBXBuildFile; fileRef = D8ACECD05E1DE890BF7451064B963926 /* ZFSliderView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB11309B4519548E3ECEE89D25C9A5DF /* JXCategoryTitleImageCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 764FBB181EACB0E4640DE034189E6EB0 /* JXCategoryTitleImageCellModel.m */; }; + BB4BEE57B08124DC7915E5BAC5B85AA9 /* ZFNetworkSpeedMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F57032C78ABDA0D4533CA8CF11CE1E1 /* ZFNetworkSpeedMonitor.m */; }; + BBAC10AC6F7CCC08CA990EC32BA93912 /* RxCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 04EE221AEB974EEA0645C22D03A0EE45 /* RxCocoa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBC70A640BAACC6E4B66AA90848CFA0E /* _FilePreviewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 787AD0A98748983B3934B0956C698C0A /* _FilePreviewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBCD195060AB693E31E7265ED366357B /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D065863CFD784A0438E876BEB671E5A7 /* UISwitch+Rx.swift */; }; + BC2DA64DD45B4E41586E32FEBD056B4E /* ZLPhotoConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC8EF8D47BC70367C1BE3FFD7BB69D6 /* ZLPhotoConfiguration.swift */; }; + BC69B1FE7E10F3D5DF175CBE14F5DCA8 /* JXCategoryListContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = F8C13B9A355AE65EEFBBA2CE61E60245 /* JXCategoryListContainerView.m */; }; + BC71F627C5BB3C812706494A15135648 /* NSBezierPath+SDRoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 683C92114218A4E0562D60FFD4A02FDE /* NSBezierPath+SDRoundedCorners.m */; }; + BC9B4EE54D72F2455037404FBA19AD37 /* IQUIScrollView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7800E14657319497AD768FB7089A958 /* IQUIScrollView+Additions.swift */; }; + BCD9CC1CE79079D3D45975C960F10783 /* RxCocoaObjCRuntimeError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2380E113FEE8B1D583C29314A3821942 /* RxCocoaObjCRuntimeError+Extensions.swift */; }; + BD0530138584A6602C89E4EE957300E0 /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79EB54B7A0D1D7AA3003395D4D68C6C9 /* NSObject+Rx.swift */; }; + BD5769240CAB4930531B883F3AFFFAB4 /* CocoaDebugTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8834B086E73B6DE6B1033C95F60D48D /* CocoaDebugTabBarController.swift */; }; + BD5DE9137AD611FD04789830CDA7EB55 /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FFDFD27413F89A9AAAC163FF1FDB9E4 /* IQTitleBarButtonItem.swift */; }; + BD8CE3CE65E0804189D0BC59C8281215 /* UIScrollView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BD0977C1B36A3F5B8D6679CDF19E7EE /* UIScrollView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD964247BCCE72D5C1B9738879564443 /* ColorUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66FFBC38A9898C5058C0271555FA8699 /* ColorUtil.swift */; }; + BDC1FACDFCB2745BBCDA14A83000D92C /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44560875A14BC7385B2A9BB91E1DAADA /* Map.swift */; }; + BDCA78333A03CC1AAADEB702F0247B5C /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB400239FC03F283ECC769B48DAA253C /* UIActivityIndicatorView+Rx.swift */; }; + BDE0AF913CE3F4071E4007C5DFDA8524 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = C3490ADD06A4DDA82ACD1D5F3AF18CB2 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE48E94071B8D2879A0CAAD2716CA894 /* NSButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F2A940BA0380A35740283D9BA249393 /* NSButton+Rx.swift */; }; + BE50B0FF8A2D2BF08505923013F8FCC4 /* ZLEditImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31431E4F7783CA6DECF230375B22B68F /* ZLEditImageViewController.swift */; }; + BEF433EC066C4B455C2F059C82DC18EA /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA5B4E35C4B11F74D66EF8CC7C02587A /* PrimitiveSequence.swift */; }; + BF0BDB35D7EAE90C48BC61B57CF4058F /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A85CD73D9538F007FF27995D5E48862 /* Errors.swift */; }; + BF31E4809CC5CC71907563C0795BF3D9 /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4C5196758626CA70DDFF6580EB823F1 /* DispatchQueue+Extensions.swift */; }; + BF3EAB08454C0020FE33CA725AC710DE /* ZFPlayerLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CB628C1973540DFEAA1868D098FBAAE /* ZFPlayerLogManager.m */; }; + BF6C41896846D0A5EDD236684D37EA69 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF280682F43D2148C1E3B33E581B4060 /* AnonymousObserver.swift */; }; + BF7C326418703B0627237B811478A69E /* _RXKVOObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DA8ED199660898627219339D054444D /* _RXKVOObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF9EE31DA89D7BD4D374713EBBCF8C9A /* _HttpModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D901344A1F7B66EFA7DF198384EF44BF /* _HttpModel.m */; }; + BFF07623A7EBCAE780F23B16FCCA46A6 /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B044A43AE4FF1C3EEB6CD643C8732214 /* IQKeyboardManagerSwift-dummy.m */; }; + BFFA58E5979EDB390F21B31F125B2632 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3FDA9F7A31659DF113D0BBC2AA4089 /* UIImage+MemoryCacheCost.m */; }; + C04A4ACC59BA62EDFA64519CCD009386 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D79A2708BDE3C85726D40206166DECF /* CurrentThreadScheduler.swift */; }; + C0A51FCE78337D413A273D43D9E56387 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FFDCC95B6C7237016385C745086BFF /* Do.swift */; }; + C129D590FB00BEC41B69093EFE0550C1 /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = DF29819D71E8CAF09B15248F332E0E17 /* MJRefreshGifHeader.m */; }; + C17345C45572AC2B9DBF4996F4A9F773 /* DDBaseTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 96A66ED5931A90FB16DF33C0985DB482 /* DDBaseTableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C17ED7FEA559064FC70F00DA5BA28651 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E112CC0D476A2779399984548FD75F /* ConstraintViewDSL.swift */; }; + C19A3B3BF30C1E6A7B8B49D1707FEF35 /* ObservableConvertibleType+SharedSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC6C267852CD34A0F43106AD7D937DE /* ObservableConvertibleType+SharedSequence.swift */; }; + C1EEB14AD900F36CE79D2762305D816F /* YYFrameImage.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA78A57A5C521AE0AD74DAC06042D88 /* YYFrameImage.m */; }; + C1F35A42F0086062E9FA4BE7EB6D3BC5 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B50E0ECEE27712F8BE8EAC93C4A8191 /* SDWebImageCacheKeyFilter.m */; }; + C21ED4A6AD5861F098C11B3A5EF77D90 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B875175EFD0DA2D61881F7185AF48058 /* ElementAt.swift */; }; + C2422DE72E0AE7A2B6C524EEB6561541 /* _WKWebView+Swizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A73F496491E5D1434C729FACB9DEC32 /* _WKWebView+Swizzling.m */; }; + C2AC5438E5F701B514E19D5FC665AE15 /* CALayer+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 94BE2D691841E3C83D5A525A14EC3725 /* CALayer+DDCategory.m */; }; + C2B1250F2D7E9CA00F8E9B0F2F363FA0 /* ZFPortraitControlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 080B283DBD8EB8B01AAA2C2D7DA99908 /* ZFPortraitControlView.m */; }; + C2C943B55033E1906571A539B7123311 /* UIViewController+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B551D0819473A60747E18B4C14A1DB /* UIViewController+ZLPhotoBrowser.swift */; }; + C2FB8B5F92F5FAFC2439FEE8BBCBD2B0 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE0A7822B610E01B7C696A5B6459FB58 /* LockOwnerType.swift */; }; + C35397CAEA10B78C7BBDAEFB8FE40447 /* UIView+ZFFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3174809B0F67CE51752DDC4F231FAAE6 /* UIView+ZFFrame.m */; }; + C49B11227141A1C9B5C446CF513AE3B7 /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 561A9119738151A77D9B35474367C159 /* RxTextStorageDelegateProxy.swift */; }; + C4AD82EEE9F6B79F43B6637C742761AF /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EC8D404C18BDCA7CC5879A7F0D908 /* ConstraintInsets.swift */; }; + C4FC515A765F6D264655342C179E8B70 /* DDToastKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B577CA7712339985EC493598557264DA /* DDToastKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C54B8B88AF0ABC05267411671F02C964 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B5FA71DA9D399A61A1B3A2B1825C3F3 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C606E1F4F816CD5CEF3D207708C3C609 /* MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D4E24A25872848664EB526CC8383A9E /* MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C626CF00E63F1E69A4194CA80068AAFC /* RxTabBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F153ED8AF19374D42F694E23CFAC422F /* RxTabBarDelegateProxy.swift */; }; + C644B05AA4A66F134754E6B9F0D4E27E /* DDCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153FDF6FAB11E0C8589E1CFDEDF45567 /* DDCollectionViewCell.swift */; }; + C6968F6BBBA1F02E09FB7E170D4097CF /* TakeWithPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D86370ED1E2307B6DCAC4441D61F632 /* TakeWithPredicate.swift */; }; + C6DBAF26A4A104BD5200CF834A5C6AC4 /* DDAutoUIKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 181A5E772C1615B6F24BE6E3F38412BF /* DDAutoUIKit_Private-dummy.m */; }; + C700503268450867F8D06A2CA67782B8 /* UIScrollView+ZFPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D1547A7353DD9FF4B5E75AB49605788 /* UIScrollView+ZFPlayer.m */; }; + C700C31CF03C3E4E40B18F0FF4EF381D /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 79AC532787351D8F40CD663668907140 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7F4BF5ADCAFDECAA18A0B46A67860DC /* DDTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302C164B897C7495BE1D74BF7811A9CD /* DDTableViewCell.swift */; }; + C811C54956F24D073E800373BB69A8EB /* JXCategoryDotCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 34FB247C87DECC020200EDD0F3DFF8EF /* JXCategoryDotCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C845190F0B27DD1C19EC9625516F3AF1 /* CocoaDebugViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BD6C111FE85E6271ADEEA0F149652A /* CocoaDebugViewController.swift */; }; + C86E5307EB1DC5C56475F4213CF147F7 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5CB7D1FBB1EB0C742CE91B6A3786DE5 /* SynchronizedOnType.swift */; }; + C88C2CC9083FE0D07D52A9EC81D1E626 /* _RunloopMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 77E39033B717CE2548373E33A165F4F1 /* _RunloopMonitor.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C8D7A9EDC2F72A333D4AE379983529DA /* UIRectCorner+Short.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288B87DE2A9B1FCCA16A93D2860F3B7B /* UIRectCorner+Short.swift */; }; + C8DB8938784DBF2898E331A5369753E6 /* UIApplication+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 34DAA9BC397A3FAFAA86E321CD99AB39 /* UIApplication+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8F37E34D117D30FDFAEE19C03F1DBAA /* ObservableConvertibleType+Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA78AD1EE0512D7B4E79D0D3B304A19F /* ObservableConvertibleType+Signal.swift */; }; + C8F8E3163CE2F3AD0871F8DABF59F126 /* IgnoredURLsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC008F158CB87396B8F99E4A8918FE2F /* IgnoredURLsViewController.swift */; }; + C9172D6A5B4EBBA8DBDF690F51A58849 /* ZLPhotoManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADD76D4312B16F9A6A2F0C3275FA4117 /* ZLPhotoManager.swift */; }; + C938023B28908F9EA10AEDC59C31C898 /* DDSwiftLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3625B3BCB16D80333B616881084D932 /* DDSwiftLog.swift */; }; + C989F6FDC2D97EE1A9C7E1937016D678 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B29C6A8B3245FB3FC72FD122B869DC9B /* ConstraintView+Extensions.swift */; }; + C99813C12AD65507F8A1F3F00E140B4D /* NotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16BC84658BC2DC4D888A3E816E0AF9CE /* NotificationCenter+Rx.swift */; }; + C9E0235474F4BFA73553D96550E526F6 /* NSMutableAttributedString+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 137D779AA253D16469936033E2157977 /* NSMutableAttributedString+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C9ED35B4D433E4C9B13E23938DD50C65 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13699F3F75254974A3E7893366F304B1 /* SubscriptionDisposable.swift */; }; + CA6415EE08C4070D38C0F2A49A5F1871 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35452E6BBD8DBB01F77B48962C993349 /* CombineLatest+Collection.swift */; }; + CABFD66191F3C756501015E1DDC838BB /* CALayer+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = F4B4CDB7A8B822F1C80EE598C8E03C92 /* CALayer+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAF8EAA2964F7D3C0FBE88A952910BB7 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C859C1EDDB944B56E0DDB21E36396D00 /* PrimitiveSequence+Zip+arity.swift */; }; + CAF959B5E41E80A57AC8BD3EBA43715A /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0683E8C4A3B2F5FAFB5FE06C58138B5C /* ScheduledDisposable.swift */; }; + CB12A6D2A55730FFF299320ADD27FF65 /* UINavigationBar+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = BCCDD7F9BB477412DAD4F5E45559A7A8 /* UINavigationBar+DDCategory.m */; }; + CB1B31288E524777EA7FEF6E092E954F /* Driver+Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9550D821A875DFF44B6B4AC6EF1DC651 /* Driver+Subscription.swift */; }; + CB20F726F1766989C14003A27D550492 /* ZFUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A78D78AD200DDB35A27DF7492AEA1D0 /* ZFUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CBD8901F0DC9C3A318976A6F7358711A /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 175F1D94372C95BB4A3392CBB9999BAD /* ConstraintMakerPrioritizable.swift */; }; + CC023213ADCD03CFF6BED5CAD1077F3B /* DDBaseScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = AE740BF7ACEE2E6ECB351733B9B7CBB9 /* DDBaseScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC91993720E22565872067EC58CA6923 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B149E5E85148DAADE6E69C9C8BD02C8 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CCBDC5792EFEDB0D32E03261BE90DFAC /* MJRefreshStateHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B43F372D78CE88CFD54405E74161ED7 /* MJRefreshStateHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CCDBF051A549677F62476F4A952BF145 /* UIButton+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0709DB6472F62BC42D1965BC1214BAE0 /* UIButton+DDCategory.m */; }; + CCE73322A8F4B26A087301EBCC65C869 /* AppInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E2D5C198AAB5B7D72CCE70C7FB9DCEF /* AppInfoViewController.swift */; }; + CD12156B4F1F982CE5CBA7924ED90E24 /* ZLVideoManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98C0CD8F6083C7813BEEEF94AE977E5 /* ZLVideoManager.swift */; }; + CD4B902B7CD69DCDA4BB6A623149D6CB /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A36AE6CBE75F741A87DB76207DD70FF /* Rx.swift */; }; + CD4E33BE5BC4DBD59CFC58A70DF1CAC3 /* SDAssociatedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F154D250460B8C5B24F4A0D5B54C1D42 /* SDAssociatedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CDDD632233988F44FEC138B913143D5F /* DDMAGeometry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CA6F7FBEAF1733564AB0C17AE455DED /* DDMAGeometry.m */; }; + CDE89F547B05899CDCD211A17EF57F5E /* DDViewControllerAnimatedTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E9EF3947148E56802D9E0E4193AA18D /* DDViewControllerAnimatedTransition.m */; }; + CE0D7DF3DE52C1B52C39DB23FCED7695 /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 69C984B11025247B51467F3152C160F4 /* MJRefreshAutoNormalFooter.m */; }; + CE50A84C5C3A363CC5F5B206EF9C16B2 /* NSBezierPath+SDRoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = A61BB0F031A49A83E63EBCE9E3F8885B /* NSBezierPath+SDRoundedCorners.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE6E8F479C11E333C244F74A2E9665CE /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F64D68BD1FFCA26EE4906BE8D20FBC2 /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE90E73675214C8853F20CB4BF569901 /* ZLClipImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70C29F27FE3DBAB14F76FE7EFA0950F6 /* ZLClipImageViewController.swift */; }; + CE9DB2E127EF675F92110286C1B3DBB0 /* JXCategoryTitleCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 658C095E5CC3516D60599C57E0AA9B42 /* JXCategoryTitleCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CEA5FFBDF695AF9F54027D0F9BE06A9E /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = BFB5725F5C2BA86856F9A0670041D244 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CEC5D59E8CB9AA98751A071D3CC175D7 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CB15C0D1BBC42BF51EA29ABAA2E9F0C /* SDAnimatedImageView.m */; }; + CF13F9B41FC1A9B537381E0A466BC1EB /* YYSpriteSheetImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43E80B98787AAB9E1C1DBCF2BE50C7E8 /* YYSpriteSheetImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF258709235126537E1E6FC0B2D2A379 /* UIView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = BA57E989F29703D32A161E1DA38B2410 /* UIView+DDCategory.m */; }; + CF668F424CB6C58607463BEB6057D63B /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83E73D157DB9EAF9D75A27F8E0FD893 /* ShareReplayScope.swift */; }; + CF74053C59EAE87CB27D028A4A0B6BD2 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBB89CED21635507EA4C2D8E98EF0BCE /* NopDisposable.swift */; }; + CF7D094E2E75C20E9E7DDB69CE4272E9 /* Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52556A1A417EE172A615B9B52639EC12 /* Decode.swift */; }; + D027DFFBF0E354D252A6A52AD54C6830 /* JXCategoryIndicatorParamsModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 593F178483C803DB545FEABE76F4228B /* JXCategoryIndicatorParamsModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D031E69F9B31D2D90CA1BAA088469040 /* RequestCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65585A6255E9A668F126C3349E9764A6 /* RequestCompression.swift */; }; + D04C07F5BB261007BDA73DFB8257BDE5 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BF7E8F90D9C30E12F6392A5E6FF6A39 /* TailRecursiveSink.swift */; }; + D12A43349ED54CE689CAB65A3688184F /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836A9B12B1C7097700E7E05C74726D4C /* ConstraintConstantTarget.swift */; }; + D14C9897A16FEE08A0AE7D983D7659CD /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F55966CA2AB8BCB2A79DFF16C0ED571 /* ConcurrentDispatchQueueScheduler.swift */; }; + D1539EF41F4B0100D1A078473470748B /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FE7FF23BEC03F2C9E6D5F8B26E9560D /* Bag+Rx.swift */; }; + D15601FB6BDFEA4C0083467D5B754051 /* _CanonicalRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 83FAF88E6173127A0923C2565B51DF58 /* _CanonicalRequest.m */; }; + D159E10ABCEC5BAEC2AEE36361A0C14A /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = F360F8391373C6630719BDAD8D1893C7 /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D15F4BE286C4382047B2C228AB6A208F /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8B663943B330753FC7AF952FF097A16 /* SynchronizedUnsubscribeType.swift */; }; + D2080DFBC1EC1E36D090C40AE4268C0E /* EKImageNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 114512B56930F3C0D45A2D9939DE9EDD /* EKImageNoteMessageView.swift */; }; + D261FFEAFEECC6C5BE05EAFA172A6962 /* _RXKVOObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = EB0110BE49653D7E25CDCAC015477D2F /* _RXKVOObserver.m */; }; + D2674D18CD23C97698FCE3E9C3FD42B1 /* Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = E79A5EFD32400A7CAB87A509DCFC3C10 /* Concurrency.swift */; }; + D26A83FE3607B3F71C618F358FE58260 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E0F4EB84375C126C05AD4FE05EB4252 /* ObservableType+Extensions.swift */; }; + D26EBA1505FCD8CB1561A0FB08AB74A5 /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3E96BA070C54E42EBD37FA41067659D /* URLRequest+Alamofire.swift */; }; + D2B59A35739A47EBEED7DEA75BA5C378 /* SDDeviceHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F78019412227F10B3BC4D39E02C6A82 /* SDDeviceHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D2E2AF992A4E158B35A68EF020BBD66F /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09BC79BC32C5F890C7ED71FE802EE5B /* UIControl+Rx.swift */; }; + D313C1769F98E563B2F0387645363D60 /* UIImage+ExtendedCacheData.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D55AA4185BEAA30031398F5B24BA39 /* UIImage+ExtendedCacheData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D32286DCBD00536337E32E6AEC44C480 /* Infallible+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536499E7E864E05E411D0AAF7233CC0C /* Infallible+Create.swift */; }; + D3C6166B6D26233AE4337DA319FEBF57 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 023985FBC86C0039C4052D7E7A251910 /* Protected.swift */; }; + D3DF1456153024C80BCDC91E03814A16 /* MJRefreshStateTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9276E19EA10918FAD67901F4F8D02727 /* MJRefreshStateTrailer.m */; }; + D433A9598548308343DC33207661EFF2 /* KVORepresentable+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86BED5DDF57322A31102B2EE1CEA2CA /* KVORepresentable+Swift.swift */; }; + D43BA282386D995C1C7F4B7049A909FD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F0BCB6DD102AF78527E8D8C2DD306EC /* Validation.swift */; }; + D468BA7AD6F54E7E8E8EEDCF050D63FD /* _FileTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = A4E10B350675FF2055B4EDB7EBA35071 /* _FileTableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4B7589C503DA1F2FC6BB41F78E55753 /* DDBaseAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AA68691FC9E4E94E031B243488575E /* DDBaseAttributedString.m */; }; + D510213435EC6D25AC777EF2CF34A93B /* _CacheStoragePolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = F17013D18F4391E35D8585BB7CDAD224 /* _CacheStoragePolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D52B0E394FF92821DC8380B5498B34A2 /* UIScrollView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = BBC1B5F4EA783E26EE251CE31B743DE7 /* UIScrollView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D52BC86B6D44760107ECB5C5E7C96969 /* DDBaseImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 911EDDA287C4616228B6B25276B76F1E /* DDBaseImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D565284D49314EAA54AF602A468A0207 /* JXCategoryView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AECE2B2854E05412AF6C2A7CDF8D92A7 /* JXCategoryView-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D5B499F817DA04BCDEEF25D43C26A677 /* UITextField+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C1D5C5D2BFD3F08AE56FA809151A76 /* UITextField+Rx.swift */; }; + D60AABB4300A5C0B145BC9DB9ADC2B07 /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5A518B0902DADEA3228A647256ADC16 /* Create.swift */; }; + D654637C8DD8012A6593C58CDC7EB89F /* EKWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A575E760BD80DEC8041FD3D509FD96A /* EKWindow.swift */; }; + D671718F94D548759A657D442DC5DE81 /* UITableView+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 81021486B3A7FB8A422282FAD9D08943 /* UITableView+DDCategory.m */; }; + D68A44D2142C495CCD955363CCC1321A /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3797D1DD5B1A0F195846CE836CB19152 /* Request.swift */; }; + D6B4FBACE70121726AD7063FAC40AC2A /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56F23A8C07C5654CE1AF291E81116DA9 /* Skip.swift */; }; + D77C72A0645E7837D875799E21DCFB31 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F903F1F90BCF9FD590B82EAEC962E1 /* Lock.swift */; }; + D85609E7A94E5F264587E967D9835FFB /* Sources_DDMAMap in Resources */ = {isa = PBXBuildFile; fileRef = 8F9252A6A84AC16BC2DE99DEFEBDC8B6 /* Sources_DDMAMap */; }; + D86A0299F74B0CBA434FF9F89F8B958D /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B7A36BC6791D3EE238787A592A476BEA /* SDDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D90E3609CFB930EE4F8270C9504A41F5 /* DDBaseLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FDE358714555492C683865C73355812 /* DDBaseLabel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA122AC8CE9ACBECA2D141674BE399AD /* Cell+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 451D48E6699DF469F31FD0E1C09E5913 /* Cell+ZLPhotoBrowser.swift */; }; + DA7D630210EED4FE82A89AF9DA354FDE /* JXCategoryBaseCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F149A0BF49AB12D6E8CF838DA7A88028 /* JXCategoryBaseCellModel.m */; }; + DAC6ADF7A77D17532291C7F2D465DD54 /* Binder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 208D4F1DB1C2FA411CB13694E2C74EA4 /* Binder.swift */; }; + DAD5D84711B112C1A30E5C4D2830B354 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D4D85F6DC1B9EA120B499BE2C55B50 /* SkipWhile.swift */; }; + DAE6984A0E6F7843EC1FC16CA0639411 /* ESTabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEDA709F3D2AD99F2DA5F5189FE9EC72 /* ESTabBar.swift */; }; + DB37A02E7A013103E599E7AC0C065B89 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBA1963D019C42804EFBE4A89F484C1 /* SDImageCachesManager.m */; }; + DB3F4AED1ED3B0291EA2C6C7D5CC2662 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = AB04BF235B4D1774C3BC85610FAAED66 /* SDImageCacheDefine.m */; }; + DB5347DA0855F994DB3006E3B208758E /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = AA11FD19BA6973AF54B47B980E6B8321 /* UIImage+Transform.m */; }; + DB82B28011F0864AF66AB1D3A842115A /* DDLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F320B24D7EA83D7446A61A624DAF31A /* DDLabel.swift */; }; + DBAE59858F5775E35A117429CAF5233F /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313517A50C286FB6EE1A619CF24431A /* Switch.swift */; }; + DBAFCE4E1040C7BD9E88DAF976BC0D86 /* NSObject+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = A106143348F1333947CBC2C400C4FD94 /* NSObject+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DBF47AD7D42070ABCA125FD5953118CC /* JXCategoryListContainerRTLCell.h in Headers */ = {isa = PBXBuildFile; fileRef = B299C8CC27AF7EEB7DA1EE5C96863250 /* JXCategoryListContainerRTLCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC17DB8B67FB9C8B2A1C4C5482149295 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5051D25AF47144FBB56E5B965BBB1072 /* GroupBy.swift */; }; + DC25951404C24F1A7D6A193A3EA96898 /* JXCategoryDotCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ABD5B73612BCE0E068DCAF67262B8EE /* JXCategoryDotCellModel.m */; }; + DC41B120F0CBAB4E01BBF17427CD4305 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5F47AA0432710CC07D960B699702F45 /* AFError.swift */; }; + DC737D9D05CDFEDEF02A15458AC36B92 /* KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0582E3A7243684FFC91CF8D4878B2999 /* KVORepresentable.swift */; }; + DCB4AC446234B43DFF0E1ABB26F950B7 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E370A65E1D3A6978315C3BE2C80EDC /* BinaryDisposable.swift */; }; + DD81267D7654899D847F4B6EEB4E6BDD /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD66C3F696FC3552D246289D86A689C /* Reactive.swift */; }; + DDBA991BA174D527017192548D28D7D3 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD473A662B5E76A288233C87974D02D2 /* ConstraintLayoutGuide.swift */; }; + DE081D1B6559CE4BECE6C2F3A24E43A1 /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0C90363DD6E0270C9EB008F83B3E379 /* ControlProperty.swift */; }; + DE105F6F9C0D9F99B88F01930985E108 /* ZFPlayerNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A5C9A9A50DF2136936174C2BEC5CEDC /* ZFPlayerNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE2D6981D59E4126FB6702371A4FBF45 /* UIView+QLContentWrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA79AD071057F08A35071A0D95AC28A3 /* UIView+QLContentWrap.swift */; }; + DE5FE62EE79DBFC7EF4FA464DAF4513A /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F56CC6C5852793D1E431A1281B50E62 /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DEA26B7B33050D129744AD25A93EEA78 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D2A8148E50402FF0756F4994DCAEDF3 /* AnonymousDisposable.swift */; }; + DEA7CC5B85C903C74AE96DE0C3AFDBDD /* EKAttributes+Scroll.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B7088F63CEA073C68AC7A43C46FE6A /* EKAttributes+Scroll.swift */; }; + DF1533D403B93AE3F7C213E2E79F22D9 /* EKAttributes+UserInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BCFCD1C0E93354341CD0C1E94E404 /* EKAttributes+UserInteraction.swift */; }; + DF2E9C4198CC1FA05A9A507356F0A140 /* EKPopUpMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0DBFC452AC3B043BFA4BDE1E9573883 /* EKPopUpMessageView.swift */; }; + DF419FE76FE2E463D3B079DDA8D09DCD /* ZLWeakProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8198EFA82489CB4D76B6DC3090176B15 /* ZLWeakProxy.swift */; }; + DF7845017D8C452148D613B413637D89 /* UINavigationBar+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 678922BF7FDA5955BFD767DFC4FDA4BE /* UINavigationBar+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DFAB3889074446F294E9B7FDB413D9AD /* ZLPhotoPreviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32FF6E478C4EA552462AA91836D97973 /* ZLPhotoPreviewCell.swift */; }; + DFF89BB4CBD71C272B9E224DBEC1614F /* UITextView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D678719356F613B1AD8D9E9745A2913 /* UITextView+Rx.swift */; }; + E0050EB219F11E257D76F42981621989 /* Infallible+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = D25C431BA86A6B7D310E7A7CB1D2B63E /* Infallible+Bind.swift */; }; + E05564A13263C2A7EB19066F6440F481 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB7099D4C771F44323C39DA7FAEDFFC /* ConstraintInsetTarget.swift */; }; + E0950E6EE43A295EAF8CBBA0AE9F7440 /* MJRefreshNormalHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 33199B0101934631304EF568C920275F /* MJRefreshNormalHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0ED114609A50B49D01ED22E8F5E97D2 /* ZLPhotoBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C0B77AA42B088DA0F5AFD59A779EC8 /* ZLPhotoBrowser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0FA80E4CD78AECC240107F0F61E8CAA /* NSObject+Rx+KVORepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E477319406E9E499728340331F44E6A /* NSObject+Rx+KVORepresentable.swift */; }; + E0FCD3BF4A2A6C4DC7AB4E3199F0E803 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EA00035E751ECA2F98B2E261A8690C /* AsMaybe.swift */; }; + E1A96DF6B6912BFA0823FB9E430CCF23 /* YYImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D8F63D7746B25B0E3DAE236385E3615 /* YYImageCoder.m */; }; + E25543877A432B49BAD472D8DAACCCAA /* _Sandboxer.h in Headers */ = {isa = PBXBuildFile; fileRef = 777C7F8307F4AD27D1BA1F5E024ABE04 /* _Sandboxer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E368BA3E038835CB1C1ECC9A6A7AB467 /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F53F469511231694565C34CFA8BCED3 /* URLSessionConfiguration+Alamofire.swift */; }; + E377D381740EA7DAA223CBC572EF3258 /* JXCategoryDotCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E173356FDCC4BEBFAF2C197B613B80E2 /* JXCategoryDotCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3A4DFE5AE1A135FC79D52211388DD80 /* NSThread+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9041DC3695C2BEA4C74E435DDBAED5 /* NSThread+DDCategory.m */; }; + E3D71D3617C88CD8BC9A3537AC98150B /* MJRefreshAutoStateFooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 35EA4E93FCBC467AD822BE4F995ABCEC /* MJRefreshAutoStateFooter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3E7323AE945DC3AF3A4B2D4FCA619B4 /* JXCategoryTitleVerticalZoomView.h in Headers */ = {isa = PBXBuildFile; fileRef = 485A1E31CA76C2CB76984010E8AB90C9 /* JXCategoryTitleVerticalZoomView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E49254B60C2043832B5A2E0658DA441C /* JXCategoryIndicatorCellModel.h in Headers */ = {isa = PBXBuildFile; fileRef = BBABCBB4C043C6194A68B0E9DBD8E006 /* JXCategoryIndicatorCellModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E4BA37E528DEF3AA3A68041452D66C4C /* Bundle+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DADB4B09E4E87B0C4E2B1EB1123CFE4 /* Bundle+ZLPhotoBrowser.swift */; }; + E4D1F2F411BE4931E6BF715754C063E7 /* RxCocoa-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4295F3E1B3BCB6803EADC1A8C7F6EFF8 /* RxCocoa-dummy.m */; }; + E508BEC46801CF34064D971BE80D0B5C /* NSError+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 051B813006FEBFEB318C91E15193D000 /* NSError+ZLPhotoBrowser.swift */; }; + E50CC69C160CC7DFDDAA5E1545D1A670 /* EKSimpleMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DA27089EE41686CD6208A7BD8C048A /* EKSimpleMessageView.swift */; }; + E545A0110B9AE728EBC27342080E768F /* DDNavigationControllerDelegateReceiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 3407D50EC70483FDA9E32E0E3739FDA5 /* DDNavigationControllerDelegateReceiver.m */; }; + E559E921BB84AAE511E87807509D7FC6 /* ZLPhotoConfiguration+Chaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D229CB778DD6BCAA05786521D019414 /* ZLPhotoConfiguration+Chaining.swift */; }; + E55CEF4234F35E2FDC1B7855AD39A6A0 /* JXCategoryIndicatorRainbowLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B36A1F27599C1D59D2B7E46905F5012 /* JXCategoryIndicatorRainbowLineView.m */; }; + E5A89C1CC70968CACDACA8D8A92B6098 /* CGFloat+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E088502A7D820261F0115AF74E402258 /* CGFloat+ZLPhotoBrowser.swift */; }; + E5E75D7B7C4C9F2DE674F62A6F9598D6 /* _QNSURLSessionDemux.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AAF7B486A6FEE93FFF2B0639DB88EEB /* _QNSURLSessionDemux.m */; }; + E5F5564E46CAC014A80A083A571ABBC8 /* CocoaDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 037C5D1F603E29351AC55A20B7C50A9D /* CocoaDebug.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6354246C297E483E6223FE120548DFC /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0529D7992718C8BAE2EA78A64A4A913D /* SDWebImageManager.m */; }; + E64D266F649AEECEAB6296829D2077CA /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = E456F89DA8A97A284C7520FB22E7B890 /* Platform.Darwin.swift */; }; + E66658B4CCCF4158CBB14D7FDE560F71 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490D6141BC7C52A85616B23EBF3636AB /* DistinctUntilChanged.swift */; }; + E69B447C350C9219B0AF9A1D2A0F5BE4 /* UIView+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = B7B0F3A8BAFF51E3825FF70A74F4BC6A /* UIView+MJExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6CCFA7AFD0C8AF22C2029433C27C5C5 /* ZFOrientationObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 590987DF13678ADDD6547E393C74A77C /* ZFOrientationObserver.m */; }; + E6D9904957E23E3130F9DAC9CDE8EF64 /* EKAttributes+Validations.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFD5DF1EFCCC5DABE4D97679B4BD236E /* EKAttributes+Validations.swift */; }; + E6E08F86F050EF8BB6BB962F72CF235B /* CocoaDebugNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE74DEED59FF8970B37AD36CFAE77CBC /* CocoaDebugNavigationController.swift */; }; + E6EACA4E75EC03727F26906AF7B0A011 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 028DD52D2E827FD4FD58D5477ED53741 /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6FD25D02A73F3559455976B20FA94F9 /* UIBlockingBubble.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ED1F20548434DE962A815E5B3E9FA7 /* UIBlockingBubble.swift */; }; + E787841D635A76F6F607DCC206304D50 /* EKAlertMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE5FAA05331DEAB2382FCCAC4C944A40 /* EKAlertMessageView.swift */; }; + E80658199E928F4F0ADEC89F4141D2F0 /* ZFUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9C526A92820BDDB9AA5A65CFC57B59 /* ZFUtilities.m */; }; + E81E02118C89B4ACFEE276E94F4BF705 /* RxTabBarControllerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C398DA457D401729A0C10EEEC3909E7D /* RxTabBarControllerDelegateProxy.swift */; }; + E83655042A5A0EBC2EC6C59E88A1BC1E /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D7FA7D9363D22F7E6AC2527568EAFC /* RxCollectionViewReactiveArrayDataSource.swift */; }; + E85B429D067EC3AF0216849A1381050E /* RxCocoaRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = CAAC1161FA565FD6076F82CCBCA617AF /* RxCocoaRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E888784741FBC4D739D053E517F92528 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA4EF7C3C138E3278557BB9E6AE0301 /* Queue.swift */; }; + E8AC828A989AB04260E5B4EF583CF423 /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105E47AE1B86BFF42ED5C63B86672C6F /* AlamofireExtended.swift */; }; + E95E48BD80929D24F0AF18B993CD15FA /* _Swizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3FBB26BE04DA0835B8EBAEAC506FFA /* _Swizzling.m */; }; + E9676C2503541059859A3825612E0805 /* UIViewController+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A2DDD871B8F1555E620E4E0D0160BA /* UIViewController+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E969679589E762C810069359BDADF37E /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C77FFA0170DA3FA5F7955F0003296B3 /* RxSearchBarDelegateProxy.swift */; }; + E9A52101C6A02C3E428215E4299EA5D9 /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = B4B7C54000D4D91CD87CB985E48B8E0D /* MJRefreshConst.m */; }; + E9A599A01AE5AD91E2595D478C454684 /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA48CB4D3F63FA5B99AF1F6CE7A33AC /* Delay.swift */; }; + E9BE36DE12FFB998CAC91C71D9794319 /* JXCategoryIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90215D75CD650F40B7707DD67B1E9D /* JXCategoryIndicatorView.m */; }; + EA0D07CB6EA93FD74E9BD78CF82318B0 /* DDBasicControlsKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FA36B1D93388624FA13B96296A5E4D8F /* DDBasicControlsKit_Private-dummy.m */; }; + EA0EA5B13F19C31ABFCAAA03812049A5 /* JXCategoryIndicatorTriangleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 16A76360C017AF6BD62CB24809B47015 /* JXCategoryIndicatorTriangleView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EAA7903E669CD58C7EC9B9120957BD6C /* _DirectoryContentsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DBCFF3001A906045C8076CDE7776471 /* _DirectoryContentsTableViewController.m */; }; + EB42103171FA131586ABFBA7D4138A64 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FDAB911230C494462E0458E0390A689 /* Alamofire-dummy.m */; }; + EC6AF0F29384F2489F93E98703E58DA8 /* NSMutableParagraphStyle+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 438C6CD8A02963264200D05FA421D328 /* NSMutableParagraphStyle+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECA14F5C0D6C5302019D8476F05ED7ED /* _AutoLaunch.m in Sources */ = {isa = PBXBuildFile; fileRef = E695C3660CF9CBDDF2A0E98DAF882BD6 /* _AutoLaunch.m */; }; + ED03EABE28153EDF6B4EE27C9E1A9F7A /* DDBaseImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A5C37F6119925C6F77086DEB398E81A /* DDBaseImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED05BCCC74E6EA2B29C6CFEE4CB7E0FB /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34BA8B989C8FDFFD02055DDC2247C462 /* RecursiveScheduler.swift */; }; + ED204E934EBEFF45E85A7F3FE98EF4C3 /* EKAttributes+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A06D22A64C758FF847C801B71FD01CE /* EKAttributes+Shadow.swift */; }; + ED619ADC45106811F528B80FA330E565 /* NSObject+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = B99625834DD27E2800E68F6D69C9BEEB /* NSObject+DDCategory.m */; }; + ED673A80425558C9E43F8207BEE84397 /* EKNotificationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D774E2D779AAC49B8B03E710852AB4 /* EKNotificationMessage.swift */; }; + EDC07A560DC83DFBAB242C46B1D41619 /* MJRefreshConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AB2D444BE5BCD706857F41DAFCB255C /* MJRefreshConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EDC227E161F6BE101EBA4C41D13B8EB0 /* EKColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3E7CDE23C874952DFAC3D9217340113 /* EKColor.swift */; }; + EDC4880EDA487FDCBAE1993231BA06AD /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = DEF047E3FDD5AC10AC4C96A4E5F4C200 /* SDAnimatedImageRep.m */; }; + EDFE1A36B30F9DC14C1BACBE4BFCACFC /* CrashLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E9347B94D188E86576BDFFA19D080BC /* CrashLogger.swift */; }; + EE02E971AF4EAEBCAA7E6207344D82AD /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CC4025545D131B43E6293B7FB19159B /* SDWebImageDownloaderConfig.m */; }; + EE1DBAA432EF4A26EC7A54FE9958288B /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 747FC698D87DE63C92975D0806134123 /* ConstraintConfig.swift */; }; + EE890DA87BEFE4EDC65B28ED8F9B89C6 /* ESTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 384B2AC82BAF1E717744E5FBB92C93B4 /* ESTabBarController.swift */; }; + EF07B37E2E82C6DECE97596D7E478727 /* NSMutableParagraphStyle+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = A0FC29662FE91D3035E3D2941E43BAF7 /* NSMutableParagraphStyle+DDCategory.m */; }; + EF8DDD4DEC56A31056164C2F1DFECFF2 /* UIWindow+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = AFA47C46F82DB783B06AA39BF5149174 /* UIWindow+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EFC1EF2234D1A4829891828E5C61FE17 /* EKTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1FD82B04FEC1360AD44956759503138 /* EKTextField.swift */; }; + EFCF8192D505380E42101B31F273EB4E /* UIScrollView+MJRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CB3100B69E0B4D7083B0AF017B32653 /* UIScrollView+MJRefresh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EFD47B79FEB4CF7B7DE42C6F1E8BEAE0 /* DDTimerKit_Private-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 392DF53475D40453169A04A7799D9234 /* DDTimerKit_Private-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EFEDA5FC77AEC912565C8893C74347CF /* DelegateProxyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59BF12F40CE3E6A89E9D07CFC48ABD1B /* DelegateProxyType.swift */; }; + F025B0C7413F408112D1BFB2C2878024 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = C791A569FAA816328939B5EF05FACD85 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F03021F77FAC203AB9A2634888A1A8B3 /* EKProcessingNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D5526E0FFE0685D30706502CD85B2D5 /* EKProcessingNoteMessageView.swift */; }; + F044B69C2426C6DAFD692557A409AE3E /* DDOCLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 605EC3D6466D590B4047CA4E21A352DC /* DDOCLog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F08A52A95A7E5F5591906AF2F79E0597 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 357A8F177F9FD2E2ABEABC3DFD1BC0FB /* VirtualTimeConverterType.swift */; }; + F0AE59C74E0BBF11E97A8E9434BF9A93 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E48CB8FB4C4770025E8BD071456B8D21 /* URLEncodedFormEncoder.swift */; }; + F20D209789D5B50D1FD0EACEE8044228 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF4C5054DDCF2B3E99D0E0DB82E6F08 /* AsSingle.swift */; }; + F22409BC542B911545A86ABB197F2021 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1740DC82A31D9AD41027777CCCC0B1C1 /* ConstraintDSL.swift */; }; + F2582EBC0D13F2D5D2CB15CDEF4C924C /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC8CB1E833ADBFCCF4ED599A9D74337A /* HistoricalSchedulerTimeConverter.swift */; }; + F29AFE50D99B629AF9FA103737E54391 /* ZFPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E670BF9D9E007D47CA9397B1C739495A /* ZFPlayerController.m */; }; + F2E27E23473830609D87C75B8715B73B /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBD8DCC1EBAB485093C45FC5A5CB4181 /* RetryWhen.swift */; }; + F2FA6175CF6B9B67C924457E4A4FA94D /* CocoaDebug-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 72D2C0C9FC00BB93FA5260ED05C91663 /* CocoaDebug-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F321179EB548A8E3E0BFF7C7493A37C2 /* DDCategoryKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C3437F47A32E8BC4862BB1ADAC8692C /* DDCategoryKit_Private-dummy.m */; }; + F3212860E47356E9AF927E472E09261A /* NSTextStorage+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22433DD0FCC11569BF1ED1DA2C6087F /* NSTextStorage+Rx.swift */; }; + F3A976F044D82F130BAE77C071CEDA5E /* JXCategoryTitleImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD187A45171A7B7690A9652D2848E577 /* JXCategoryTitleImageView.m */; }; + F3B2BEF8FF03AB941765D79452352941 /* UIView+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3079F8DBE71A6342ABE05C00CF60848 /* UIView+QuickLayout.swift */; }; + F3C5F116AAF21D4358A6F711BE37F54A /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 589B71D691EC20C84896798F60FA08A7 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4010727E0089FB8459E3B88B44CCF05 /* UIView+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA4180EE7AB752E349E648B6D278D2FA /* UIView+Utils.swift */; }; + F488999483701A63301E3A2E93E49F02 /* YYAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 815535EAA9BBFA9C0BA82BBF93522BFB /* YYAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4A1A9CA7084A385722737C0E4F1500D /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA7D7670E28A2FDAF10BEDA675E2986 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F5048993D191298FE1B48DCA8998646B /* DDLogKit_Private-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D18856F19554AA0FC8C5CE1AC43E91EC /* DDLogKit_Private-dummy.m */; }; + F52A33C5DF0D8CAA44354593A9AEA08C /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD10332BF756A24EF46B238AD204B65 /* ConstraintRelatableTarget.swift */; }; + F5579E515166EFA597E30B6EA2966257 /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 357F8EDD989A03B5C81A0CCCA538C691 /* UIStepper+Rx.swift */; }; + F6200950262C69D82B2E1F54D09E81CB /* ZLClipImageDismissAnimatedTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23012508A8CFF196B0877712337F1161 /* ZLClipImageDismissAnimatedTransition.swift */; }; + F63E85826E242438F106268D53B5079A /* RxRelay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7856DD22C3CCDB580650D09E46F26E10 /* RxRelay-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F655A8F737F8DA58CD1238B94417CB1C /* _OCLogModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E758EF21C79F27C1917E76E47C0CFC0 /* _OCLogModel.m */; }; + F661FDF2D701C76B553BBFE1982DC689 /* UIView+ZLPhotoBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EC5F9CBF003D39ED3B23C49C1028217 /* UIView+ZLPhotoBrowser.swift */; }; + F669A1209E80431CF57E528F4E8B0FEF /* JXCategoryTitleVerticalZoomCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B3316D5B9941F91751B5F093A50BD9C9 /* JXCategoryTitleVerticalZoomCellModel.m */; }; + F679DDFB22B0446466AC8B46B5DDA5EF /* IQKeyboardManager+OrientationNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9486955003D2704C9BC2CFFF3DC1602 /* IQKeyboardManager+OrientationNotification.swift */; }; + F67D89E3296911DC39710C076499C165 /* _NetworkHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B0A91DCA9A4DA5B45D9E3EFFC052EA68 /* _NetworkHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6F5F76688A0CA18956590C446B8B620 /* _fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = AA4800065E258B56665AAD606EBB4D8C /* _fishhook.c */; }; + F6FBA319A72753722F7AFA175E4AF0B4 /* UITableView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B580A060D2DB39A0F9AA47F8894A7130 /* UITableView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F72566F04C819D71914EDFE8415710B1 /* UIImageView+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = CB1EEDCE4EE25CA34F89001278288AE0 /* UIImageView+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F74D1425287A1A781A0A9DD58A1DD02E /* JXCategoryIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC3567B3706057947181707CB7D441A /* JXCategoryIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F75DFD6601FD194AFB8DF95EE8936F73 /* JXCategoryNumberCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BF2D49B981E6A272A75D0A65F3D532EE /* JXCategoryNumberCellModel.m */; }; + F78123F6D3E099475747B424A7DD9B2B /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 4657FAB864B78FF24C0BF5D22415C23A /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F787E70DF5F00228E5AF451751EA323C /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 70E56F65C2A70177FAA7D31FFE6A73A2 /* UIScrollView+MJExtension.m */; }; + F7B1AB7027FF17E4E594895B07CC4B3C /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A74E28F6ED5316496C2F41F4DB224B /* MJRefreshStateHeader.m */; }; + F7BBD57301FEC4504E972FA4733A03DF /* JXCategoryListContainerRTLCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C9C268580A8A6C6860B5CC0C1B67C03D /* JXCategoryListContainerRTLCell.m */; }; + F8A342BBBF18901505BEA39476BADBEC /* NSMutableAttributedString+DDCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A96B08E07305C7873319B2946342FCF /* NSMutableAttributedString+DDCategory.m */; }; + F8EFFC8BC4333D0816319F70C2EF38C8 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED1AADCC3631CD7B91181B06BA4C7D16 /* Platform.Darwin.swift */; }; + F9121FC6FB235A844904FF1D0E5CE74D /* LogCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA25CF3BF61A17A848A04D7F3AAE151 /* LogCell.swift */; }; + F93C6980F441D1B60783F1253D1F5E6E /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 62AA14FA39E0E8749A6C68A321A0C150 /* MJRefreshFooter.m */; }; + F958F034C7BBD246E8368D461BE44725 /* DDMASearch.h in Headers */ = {isa = PBXBuildFile; fileRef = BDCB1A721556C54C18444EAADCAEF2A6 /* DDMASearch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9F1D365A631880F4DEA8DF50911CA9A /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B4116E268D5FD9A8497D0306ABC1988 /* WithLatestFrom.swift */; }; + F9F5BB4247E0D06BE1F357B1610502BD /* ZFPlayer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBB67F6F3BD3DC2C9677FB61DE87B2 /* ZFPlayer-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA32D099B9AC21168BE28F1C197FBD77 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E49BA7F52B953A1AA1746DC56534085 /* MKAnnotationView+WebCache.m */; }; + FA917E0C80C68BD2D8C7CDF44A418793 /* SDWebImageDownloaderResponseModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E1F2C5BFE9F76376BFC1AB5DE0E68E /* SDWebImageDownloaderResponseModifier.m */; }; + FAC4CA638A146A699E9ED8BD575DEC52 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = BB004285577020CFA7433AF4A6FADEA9 /* SDImageIOCoder.m */; }; + FB2DFD5D894CC65AB92548FC5EA7614C /* _NSLogHook.m in Sources */ = {isa = PBXBuildFile; fileRef = 46B7AF1FD44150FD6515B898BC210115 /* _NSLogHook.m */; }; + FB57B8D3D20886701150097BE03882B1 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998F2EF7CA010F5BE6B3AF5410AA8E21 /* RxScrollViewDelegateProxy.swift */; }; + FC31E40D125D928A526B1AAEB6A0305B /* ZFPresentTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 64E43DF856A859731E85B85F81BF4292 /* ZFPresentTransition.m */; }; + FD455ED8C662DD52F592DF31F58AA185 /* ZFSliderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0127B0F6C094E20313E017BBE46C8FBF /* ZFSliderView.m */; }; + FDDBB624BAED990AC9956BF191000419 /* JXCategoryFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 501305C91F02F0F5D231C8DC9C560AA1 /* JXCategoryFactory.m */; }; + FE090912DADD46635605657C61DE2E6B /* UIImageView+DDWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FBC0E98FA5DCECB6588876945A7C2DC /* UIImageView+DDWebCache.m */; }; + FE5A36C9F47EDE5AFC75209A02C40305 /* JXCategoryTitleImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E36471C66E02380CBB5543709BA9DB6 /* JXCategoryTitleImageCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE83EF66912C823719EDCF60302BF876 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80FB05AD2A105056CD2D3A9A64311EEC /* ObservableType+PrimitiveSequence.swift */; }; + FE8C95D7A9D7F731F7A8FDFC0700B8FF /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A1308D15BDD130B9571E429B8D10B69B /* SDImageCodersManager.m */; }; + FE9207C30EFE6A3148C4D424FCB3A479 /* DDBaseMutableAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = F2BB66B4B0D0319519803097BFA2C3C0 /* DDBaseMutableAttributedString.m */; }; + FEC9F49A0A5335075665984A37CAB541 /* _OCLogStoreManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C52C781C452E599DAAE2A422D5B2AC /* _OCLogStoreManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FED095FC322475307A7A0A120129C779 /* DDBaseNavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = BDEF90DD8A9F5A1DEE4D5471E1FBBEC8 /* DDBaseNavigationController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FED13C7FF506A8587CADF35664DB374F /* UITextField+DDCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B71FDDE414C99386D453003271124D /* UITextField+DDCategory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF2EE64024F6462C52A157322B4550EA /* EKAttributes+PositionConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FE782D0A0BB573EB18B21B1E709542E /* EKAttributes+PositionConstraints.swift */; }; + FFB5B36D7F4564FFA3D50D29A2E0B46B /* _HttpDatasource.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A1D4A3D5B329B16873C03056465EFD /* _HttpDatasource.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 03780DD521CF51C1DD84CE63DBFA1569 /* PBXContainerItemProxy */ = { + 0CAAB88FF3A04F0293ECD80EBB1A6B7B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 53463808DD395EFE0C9E0CDCB79A6C0A; - remoteInfo = DDAutoUIKit_Private; + remoteGlobalIDString = 0A2E6BA6D5360D619D7CABED3467AA69; + remoteInfo = CocoaDebug; }; - 0DD0A8D209784BCE3668A35010DA271F /* PBXContainerItemProxy */ = { + 0DC09DF2D277EDFF0D7EEABFFA357C47 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; + remoteInfo = RxRelay; }; - 147DED93EB6BFD3ABDF2FB4C77F975F9 /* PBXContainerItemProxy */ = { + 0F7087140CC290173E3DA4EF1D8657C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6868056D761E163D10FDAF8CF1C4D9B8; - remoteInfo = MJRefresh; + remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; + remoteInfo = RxRelay; }; - 177EEEB468C0362F42D4075B9D5917FC /* PBXContainerItemProxy */ = { + 120936ABE9C893D487D39E9F7B5E54E9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = E94C558142469C11984D67CA883BAB1F; remoteInfo = "AMapNavi-NO-IDFA"; }; - 233212D44A2ED3BC5C39EBE3C3A1E129 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; - remoteInfo = "AMapFoundation-NO-IDFA"; - }; - 27350DDA218555112972469C7D655E0C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; - remoteInfo = DDLogKit_Private; - }; - 3323CEFE776CED7234245797354EED9B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; - remoteInfo = DDCategoryKit_Private; - }; - 34DC5DA2D7ADCAD275064D7B3D6AE4FE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; - remoteInfo = RxRelay; - }; - 42A49F040680D40AE28FD7D56606E698 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; - remoteInfo = DDLogKit_Private; - }; - 462BC3F3B49BAB182CCD5B646D6E29AE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; - remoteInfo = "AMapFoundation-NO-IDFA"; - }; - 4682D081923623F4D3A5C09850B8B2FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; - }; - 49697E565DEBABCFA269F3A35A752EB1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; - remoteInfo = "AMapFoundation-NO-IDFA"; - }; - 4A0F6ABFEEDE1F825083BD8B42CAD1F3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = FEA6FF0588A91CCD972EDCD698B85647; - remoteInfo = SwiftEntryKit; - }; - 4CCC8E7F220433AAF1BD4A31CD7D303A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8BEAFAA726C1965864B79B4B441AA513; - remoteInfo = JXCategoryView; - }; - 5347FB9A823FEF0CA5BE83E4AB6774DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 087B100C5691B6A3C04A45198E6C32F6; - remoteInfo = DDBasicControlsKit_Private; - }; - 57C98C816CCD2BBD40015AD2800775A8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B41F58F2856AB275B4CF75F359937653; - remoteInfo = DDMAMapKit_Private; - }; - 649BE9A2E2A7654CA7E6F012A2E34D30 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 087B100C5691B6A3C04A45198E6C32F6; - remoteInfo = DDBasicControlsKit_Private; - }; - 65AE8B30C563CD61F0E9CD3AAD58448D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4; - remoteInfo = IQKeyboardManagerSwift; - }; - 68D8EA5FD6596AF843DB9F41B035CA1E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; - remoteInfo = "AMapLocation-NO-IDFA"; - }; - 6B67A7B41856F41E3928F45AA8F326BA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; - remoteInfo = DDCategoryKit_Private; - }; - 6F7787385B599A1FDF35D1CDDBC4F2EA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; - remoteInfo = "AMapLocation-NO-IDFA"; - }; - 70904365BFF2E04D57E18541B4B692C3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; - remoteInfo = DDCategoryKit_Private; - }; - 74B701F025C77EFABE4CE716C126F22B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B68A4B40517CF9B14050FA0A4A618B04; - remoteInfo = DDNetworkingOfAlamofireKit_Private; - }; - 75679D9B94AF269B923468F3DB316CFE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; - remoteInfo = DDLogKit_Private; - }; - 765802DF0F899C141CB7E5218143AC45 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2FAF03761A44702490259F857A848B42; - remoteInfo = ZLPhotoBrowser; - }; - 7C6329D7B7497909C3D817BE6E00D3F4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; - remoteInfo = "AMapFoundation-NO-IDFA"; - }; - 8020F11F6D7BD1B9CAC38F9B169853FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8F3F4D8426620E7E4A06FE4BCDB96FDE; - remoteInfo = DDFontKit_Private; - }; - 845A5D353A94D4AF4765A35B34CAC214 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4622BFEF3DC16E8BD15EEFC30D4D0084; - remoteInfo = RxRelay; - }; - 8D0BF4159ACE092A21B624CA369ACC5A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6; - remoteInfo = RxCocoa; - }; - 944CDA4BF8173CC5BEFB9435CC490EB5 /* PBXContainerItemProxy */ = { + 145765C993C157E2B9DEBE196D598674 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 035D1842293C4AA08F442FFD899F7F28; remoteInfo = DDControlsKit_Private; }; - 95C375DD6359CC01AAA6A0FF3E725DE4 /* PBXContainerItemProxy */ = { + 15994C6CA871C61BA2776869B6B3C1EE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 93FD1F93E0C30B2749BD8A6EC148F233; - remoteInfo = ZFPlayer; + remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; + remoteInfo = DDCategoryKit_Private; }; - 96D88E1A2E05BE05B56B01BED3739C93 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; - remoteInfo = "AMapLocation-NO-IDFA"; - }; - 9DB989ABB7E489CF97F1EF0906FFADE7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2160840D78FCB958CABE1B88300E38C5; - remoteInfo = "AMapTrack-NO-IDFA"; - }; - 9E5C2167EF38ABD80F63B849A4596B4D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = E94C558142469C11984D67CA883BAB1F; - remoteInfo = "AMapNavi-NO-IDFA"; - }; - A9BF4C5AAA7851D1CACF6CAE4A7AD159 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; - remoteInfo = DDLogKit_Private; - }; - AF1043DC4BF1B8947F7C0E451762F6CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5C23965029860967865B3429B5E29092; - remoteInfo = "DDBasicControlsKit_Private-DDBaseViewController"; - }; - B89CFD256893D47260EC5B7E84B10D34 /* PBXContainerItemProxy */ = { + 1661F92F3969C1D7A3A3F8358424A642 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; remoteInfo = SnapKit; }; - C34C862D1662208162375E214B42AA95 /* PBXContainerItemProxy */ = { + 1F1F22C93F411D9583817C62125AF548 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4F1379598302C9160590B3650C10E1A5; - remoteInfo = "AMapSearch-NO-IDFA"; + remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; + remoteInfo = DDLogKit_Private; }; - C783668D97D7B0D93BE6BA65164C63B0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4F1379598302C9160590B3650C10E1A5; - remoteInfo = "AMapSearch-NO-IDFA"; - }; - CA893E12911370EEC41D9815E678F3BA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CFF5B7CDF57A32781D2AD4CC98E95B29; - remoteInfo = DDToastKit_Private; - }; - CAB1369BE103F0B106C7144BBB746AA9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BFED7668E8D0960F3873C9C1329EB63F; - remoteInfo = DDColorKit_Private; - }; - CE91C5BBD6E5A2860EC61FCE2E7AA2B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; - remoteInfo = "AMapFoundation-NO-IDFA"; - }; - D2994105D34C77A9CE19E569A0998EE8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; - }; - D31E650FFC879DA46049D31E181A499B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6056870867CC4728BCEF2E5EBDD1DCB3; - remoteInfo = "DDMAMapKit_Private-DDMAMapKit_Private"; - }; - D5FF2D00376AD2A548422E72D4B0D058 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 79638F3BF2709E118064EF8B13DE3317; - remoteInfo = DDTimerKit_Private; - }; - E43A993DC8844040E6358025E1909527 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2160840D78FCB958CABE1B88300E38C5; - remoteInfo = "AMapTrack-NO-IDFA"; - }; - E7D1730FE40793C7D5F7169C2938B384 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; - }; - E81624370BD34D23C5BFF58A25F05E50 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; - }; - EC7E98CC1E093F58CB7A5C59852FC1D0 /* PBXContainerItemProxy */ = { + 1FDD4AC7C822873FEB985E51EACE8BF1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 477926D6FB1DCEFB352517A19636405D; remoteInfo = DDWebImageKit_Private; }; - F0DF0C4212AB7CA1A2C7974E4138E17F /* PBXContainerItemProxy */ = { + 208C1D35E281A86AFD3450B227AEEC73 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 387C7767E705FE68450F97CBA4348CC0; - remoteInfo = DDProgressHUDKit_Private; + remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; + remoteInfo = "AMapFoundation-NO-IDFA"; }; - F55B6D4CF51A6C8C3B8B974312BB07BA /* PBXContainerItemProxy */ = { + 2118D20BCE376ABC55BCEB91228C0515 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; - remoteInfo = RxSwift; + remoteGlobalIDString = BFED7668E8D0960F3873C9C1329EB63F; + remoteInfo = DDColorKit_Private; }; - F80B0713DE6E565ECC8347DA86B16350 /* PBXContainerItemProxy */ = { + 2339CE3C16E46F9101B7CC1FE64120D6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B68A4B40517CF9B14050FA0A4A618B04; + remoteInfo = DDNetworkingOfAlamofireKit_Private; + }; + 2E33425C4290F298FA3694F1D0A81CD2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; + remoteInfo = "AMapFoundation-NO-IDFA"; + }; + 2F4CA86F1BB7BB1C54E31A26EC2EB459 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8BEAFAA726C1965864B79B4B441AA513; + remoteInfo = JXCategoryView; + }; + 2F6E4396ADAD66F32E1359DCBFE2B2A0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 3F83465BA81F6E581B3A431642D2992E; remoteInfo = "ESTabBarController-swift"; }; + 39E8D44F0588E914D3AD4796D82E9B38 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; + }; + 3CFC8AC3535FFA43FDA7E135C85E2276 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; + remoteInfo = DDLogKit_Private; + }; + 3F78048655DEBA0FB585BEBEAA159F8F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; + remoteInfo = DDLogKit_Private; + }; + 42F99A9478E8F8B60B36EBA31C6E121D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; + remoteInfo = "AMapFoundation-NO-IDFA"; + }; + 489A41E5BC2B018DC7AAB6067F455E61 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2160840D78FCB958CABE1B88300E38C5; + remoteInfo = "AMapTrack-NO-IDFA"; + }; + 4B6E232F094CA7668C1A96A93DC3A1C3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; + }; + 4D99228358E24C18E3DB9CF4886F7B29 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 93FD1F93E0C30B2749BD8A6EC148F233; + remoteInfo = ZFPlayer; + }; + 5C4D03A3B38985BA38027F0DCAF3FED0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6056870867CC4728BCEF2E5EBDD1DCB3; + remoteInfo = "DDMAMapKit_Private-DDMAMapKit_Private"; + }; + 5FDF55525293E1C2E128181EE4D6D173 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; + remoteInfo = "AMapFoundation-NO-IDFA"; + }; + 60508FB760205C9FA79E0103CE0F6291 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D504B99928659EA67A1C3A9E981EB8FF; + remoteInfo = JCore; + }; + 64B2E5075349B7C22EAAB308DF2D1E2F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; + remoteInfo = "AMapLocation-NO-IDFA"; + }; + 66F805FB2F9DBD217018092368DDA38C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; + remoteInfo = "AMapLocation-NO-IDFA"; + }; + 6F6FE1AD11AC6A8ECD660A0306EB075E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4F1379598302C9160590B3650C10E1A5; + remoteInfo = "AMapSearch-NO-IDFA"; + }; + 71A8267364F7160FFD760CA5A09057D3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 79638F3BF2709E118064EF8B13DE3317; + remoteInfo = DDTimerKit_Private; + }; + 76F17CD442B98603DDE70224C1E98A47 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FEA6FF0588A91CCD972EDCD698B85647; + remoteInfo = SwiftEntryKit; + }; + 78D10DDB263B9FB54D48F88BE489451D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2FAF03761A44702490259F857A848B42; + remoteInfo = ZLPhotoBrowser; + }; + 7CD8AA611CFA004B4DA0DD71E61AA0CD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; + remoteInfo = DDCategoryKit_Private; + }; + 7D0055AF1186E53E9D4D0E9338739E34 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4F1379598302C9160590B3650C10E1A5; + remoteInfo = "AMapSearch-NO-IDFA"; + }; + 7EC841FC5286C4567D76C9EB3D94CD37 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E94C558142469C11984D67CA883BAB1F; + remoteInfo = "AMapNavi-NO-IDFA"; + }; + 85B18A97D4FC09F637283EF19D0457CF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CFF5B7CDF57A32781D2AD4CC98E95B29; + remoteInfo = DDToastKit_Private; + }; + 8AE0B4F135AD34EA2C32B9C0C5AAFE93 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; + remoteInfo = DDCategoryKit_Private; + }; + 8B01CD18E6F869F8C0A015E2128525F6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; + }; + 8C53355CC16B3FC858B0CA495A4B59DC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 087B100C5691B6A3C04A45198E6C32F6; + remoteInfo = DDBasicControlsKit_Private; + }; + 91B91710858A2EA4A11CBC7F6D77186D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6; + remoteInfo = RxCocoa; + }; + 9D51C1249F2C8FCC169DDC053B1F7417 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 822E44240F2922DAB12018A6B649BD19; + remoteInfo = YYImage; + }; + A1E8B5220C55E65CA80E4B3C080D3CA2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 822E44240F2922DAB12018A6B649BD19; + remoteInfo = YYImage; + }; + A3282C3388577FBB116129040C5FD008 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6868056D761E163D10FDAF8CF1C4D9B8; + remoteInfo = MJRefresh; + }; + A375E3212D86D9CD2726E2D131135564 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 11A7259776035C865EEAAB13266CC339; + remoteInfo = "DDProgressHUDKit_Private-ProgressHud"; + }; + A866080E6D7C8FAB491AF2FC2BA6C6CD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5C23965029860967865B3429B5E29092; + remoteInfo = "DDBasicControlsKit_Private-DDBaseViewController"; + }; + B47B51ED42E1CBD8034CD8D8C5DF654E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9B182CB4E1716E9070813D3C59736001; + remoteInfo = "AMapFoundation-NO-IDFA"; + }; + B6B25724A80F22DFF163DD9A1E0EC8ED /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4BD4E22D3419D68A85BDD6119CB37C6C; + remoteInfo = "AMapLocation-NO-IDFA"; + }; + B6C520D90CC4276BBEFF6942BA7812FC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4; + remoteInfo = IQKeyboardManagerSwift; + }; + BB161440B05319D0A76E6B086E750C10 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2160840D78FCB958CABE1B88300E38C5; + remoteInfo = "AMapTrack-NO-IDFA"; + }; + CE3E08BEFF72A2F502909BF155CC1F0C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; + }; + D107C624FFF051299E72835B4D20CA7A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5FB6AB0A09E7A2F2BE11AD6BAEFD9AED; + remoteInfo = JPush; + }; + DA6241CC520A4D1F198D4A213F1965CE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B41F58F2856AB275B4CF75F359937653; + remoteInfo = DDMAMapKit_Private; + }; + DED2245CA0D4A6A6FFA312A050D98BEE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; + }; + DF062D40472178080622E8EF9A4A136D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; + }; + E16CE1B4255DD9DD358B138E411A5255 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8F3F4D8426620E7E4A06FE4BCDB96FDE; + remoteInfo = DDFontKit_Private; + }; + E2F984746EC93082E71E3D53BB4581E9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7B8412F08BD27981DB53CE2C25C19F0A; + remoteInfo = DDCategoryKit_Private; + }; + E855E7ADF75BF147F0B13D96898467AB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 53463808DD395EFE0C9E0CDCB79A6C0A; + remoteInfo = DDAutoUIKit_Private; + }; + EACB92E8E85FD8B5CCBC34901F68F621 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 387C7767E705FE68450F97CBA4348CC0; + remoteInfo = DDProgressHUDKit_Private; + }; + F313C5D6C0969AB225BF8EEFAFE3DC99 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D504B99928659EA67A1C3A9E981EB8FF; + remoteInfo = JCore; + }; + F3F52F89F81C1200E92310F1486E8A0B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = EA9EA43B3B503823EE36C60D9C8A865F; + remoteInfo = RxSwift; + }; + F689B30E28D8451ECFC9625A60969FF6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 26BA8950EBF05410254D54F7EF76D5CE; + remoteInfo = DDLogKit_Private; + }; + FB9F92439EDA0876258742F94B832B56 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 087B100C5691B6A3C04A45198E6C32F6; + remoteInfo = DDBasicControlsKit_Private; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00257CDC53E7411DD00B8B7D13C90DE7 /* ZFPlayerControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerControlView.h; path = ZFPlayer/Classes/ControlView/ZFPlayerControlView.h; sourceTree = ""; }; - 00662F4DA25B60EAA6A748E6347472E8 /* SDMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDMemoryCache.m; sourceTree = ""; }; - 0078DE8F9417033DDF8FE1BEB7B92C3C /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; - 009DCC568E5D11DF6BDBFF0C1192584A /* SDImageHEICCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageHEICCoder.h; sourceTree = ""; }; - 00CCA1156397CACC6B95796D41857CD9 /* ZFSmallFloatControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSmallFloatControlView.h; path = ZFPlayer/Classes/ControlView/ZFSmallFloatControlView.h; sourceTree = ""; }; - 00FDB719497DF6FD26B71FCE57584623 /* AMapNaviCompositeUserConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeUserConfig.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeUserConfig.h; sourceTree = ""; }; - 010AE870904B558F643A0BF4918BD29E /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 01193E2DB086753DA5AA71A6D347511F /* NSBundle+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+MJRefresh.h"; path = "MJRefresh/NSBundle+MJRefresh.h"; sourceTree = ""; }; - 014AF8A028499B074392AEB3C88636D8 /* EKImageNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKImageNoteMessageView.swift; path = Source/MessageViews/Notes/EKImageNoteMessageView.swift; sourceTree = ""; }; - 02C1CA2F57A4346CBE7A18CFE5FB264B /* Infallible+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Concurrency.swift"; path = "RxSwift/Traits/Infallible/Infallible+Concurrency.swift"; sourceTree = ""; }; - 02C7E49501104CF5A5852357313791F8 /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView+WebCache.m"; sourceTree = ""; }; - 031837A6FE9FA6DB7DEBF6D26A766307 /* SDImageTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageTransformer.m; sourceTree = ""; }; - 031FAE07041E743B33CD34530D22DFEA /* JXCategoryIndicatorDotLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorDotLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.h; sourceTree = ""; }; - 03376065D13F12FEC4F299412F952A70 /* ZLLanguageDefine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLLanguageDefine.swift; path = Sources/General/ZLLanguageDefine.swift; sourceTree = ""; }; - 039FCBBD4421DD44C49B8EB73242C2E3 /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackGifFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h; sourceTree = ""; }; - 03BB44FC5E51BE8F4984D0D67B346B36 /* MJRefresh.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJRefresh.modulemap; sourceTree = ""; }; - 03E7F513009F9EFEF39E8285EE92C1D9 /* ZFIJKPlayerManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFIJKPlayerManager.m; path = ZFPlayer/Classes/ijkplayer/ZFIJKPlayerManager.m; sourceTree = ""; }; - 03E92676ABC7F6EA23240642F79B507F /* AMapNaviRideView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideView.h; path = AMapNaviKit.framework/Headers/AMapNaviRideView.h; sourceTree = ""; }; - 03EA2F34E1A934652146490C40C25272 /* AMapNaviTravelManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviTravelManager.h; path = AMapNaviKit.framework/Headers/AMapNaviTravelManager.h; sourceTree = ""; }; - 040E0D147A4BDF98BC3461819F8A7FA6 /* JXCategoryImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageView.h; path = Sources/Image/JXCategoryImageView.h; sourceTree = ""; }; - 046DE57D9EDFB788B260AB5A453384C0 /* DDProgressHUDKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDProgressHUDKit_Private.modulemap; sourceTree = ""; }; - 048E14649FCB9C543A77DD4FF64842FC /* JXCategoryIndicatorParamsModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorParamsModel.h; path = Sources/Common/JXCategoryIndicatorParamsModel.h; sourceTree = ""; }; - 049546AE2D69246DA5C5838EC8A75EC2 /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; - 049BB5D10534634952758F357C557B39 /* QLCompatibility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QLCompatibility.swift; path = Source/Extensions/QuickLayout/QLCompatibility.swift; sourceTree = ""; }; - 04A2E3818A6177ACAB4671D000B44E5D /* AMapNaviEleBikeManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviEleBikeManager.h; path = AMapNaviKit.framework/Headers/AMapNaviEleBikeManager.h; sourceTree = ""; }; - 04AF73BC09A5F52479D3B555C12ABDE1 /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOAnimatedCoder.m; sourceTree = ""; }; - 053B03E73524BAE1504623E93DAF6CA5 /* AMapTrack-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapTrack-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; - 058EB6B299B596AC17ED61A28FB6C464 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - 062263C3589D1729795C67E0AB851A15 /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; - 0637CE33914BC197AE69F612D152D488 /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackNormalFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.m; sourceTree = ""; }; - 063BCC3F948F238EEE25C9FD8D086DBC /* ZFPlayer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZFPlayer.modulemap; sourceTree = ""; }; - 064374DCBF35269ED8F78ECA89E9C429 /* AMapNaviInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviInfo.h; path = AMapNaviKit.framework/Headers/AMapNaviInfo.h; sourceTree = ""; }; - 06E671CBC62168918B1233CCECC29DE6 /* UIRectCorner+Short.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRectCorner+Short.swift"; path = "Source/Extensions/UIRectCorner+Short.swift"; sourceTree = ""; }; - 06E6D8DA4ADC3045CDA6A90C1B5F22E2 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 0714DAB610C493A714E9C237B500AB27 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - 07386DE4DD5A4F79DA7930232866C82A /* JXCategoryIndicatorImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorImageView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.h; sourceTree = ""; }; - 0742A09FF76AB5FA37ACEFCF54F601F4 /* PHAsset+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PHAsset+ZLPhotoBrowser.swift"; path = "Sources/Extensions/PHAsset+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 0751BB387D16894137CDB066E6C7117F /* SDImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGIFCoder.h; sourceTree = ""; }; - 076F043F53CEA47CB93E6562E9F282AC /* MAHeatMapVectorOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorOverlay.h; sourceTree = ""; }; - 085B7B1FF4564A36CF8F94A08BEDF55B /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; - 088841D1E528D26990F79FB5C516AB57 /* SDImageCacheDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheDefine.h; sourceTree = ""; }; - 09446C4DD5AE2BB2D04892AF7241A647 /* UIImage+Metadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Metadata.m"; sourceTree = ""; }; - 09B03AE99153E3D9039BD53DFD5447AB /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloader.h; sourceTree = ""; }; - 09B271C9505E30521BE94B2F5F5EDBCD /* DDToastKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDToastKit_Private.release.xcconfig; sourceTree = ""; }; - 09F07CCC741F0601D330E3B604E1CB74 /* IQUIViewController+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIViewController+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIViewController+Additions.swift"; sourceTree = ""; }; - 0A49F4BC69E2427FC2F3E0C4121AA147 /* MAMapView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapView.h; path = AMapNaviKit.framework/Headers/MAMapView.h; sourceTree = ""; }; - 0A580F905BE546DDCF74187A92C238E1 /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; - 0A72F47B9638F8A492692CBCBDE187C2 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; - 0A7D80C1458EED48CE37A904B6E2A1C2 /* SDWebImageError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageError.m; sourceTree = ""; }; - 0A972A5BCF8B1EF000740D7E35C416D7 /* SwiftEntryKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftEntryKit.modulemap; sourceTree = ""; }; - 0B0E5F4256C81CCC180E52DAFEEC1BA6 /* JXCategoryBaseCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseCell.h; path = Sources/Base/JXCategoryBaseCell.h; sourceTree = ""; }; - 0B160820EE1EEC3C027912046044CFF1 /* DDBaseCollectionViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseCollectionViewCell.m; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionViewCell/DDBaseCollectionViewCell.m; sourceTree = ""; }; - 0BBB80658FB4461A128834D296E6F0E9 /* MAAnnotationMoveAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotationMoveAnimation.h; path = AMapNaviKit.framework/Headers/MAAnnotationMoveAnimation.h; sourceTree = ""; }; - 0C160CCAE9C391122533B486EE95C1B7 /* AMapLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationManager.h; path = AMapLocationKit.framework/Headers/AMapLocationManager.h; sourceTree = ""; }; - 0C40F12DA8092A5DBAC674FC3717ECA8 /* DDTimerManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTimerManager.m; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerManager.m; sourceTree = ""; }; - 0C5B75F7D37B8D46A010288A3C3458DE /* UITextField+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextField+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITextField+DDCategory/UITextField+DDCategory.m"; sourceTree = ""; }; - 0CA559423189E8260C4D8EFCD320E5F0 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; - 0CD007EE53D55A9DF36105AA394FE726 /* DDLogKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDLogKit_Private.release.xcconfig; sourceTree = ""; }; - 0D62361F448673E41314F07AE315D26E /* MAMVTTileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMVTTileOverlay.h; path = AMapNaviKit.framework/Headers/MAMVTTileOverlay.h; sourceTree = ""; }; - 0D6FBC36BA6786187B2BF39273E4BD5C /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; - 0D711A2313C238E0F60C4F401F224482 /* SDImageCachesManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCachesManager.m; sourceTree = ""; }; - 0D97AA4136D41CC3759887BAB465F8DA /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 0DDD1B2BB4DF04E5ECF2C7AF8C3EDF08 /* MABaseOverlay+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MABaseOverlay+DDCategory.m"; path = "DDMAMapKit_Private/Classes/DDMAMap/Overlay/MABaseOverlay+DDCategory.m"; sourceTree = ""; }; - 0DDF15B1CDB3036E5E12728D20B9B575 /* MJRefresh.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.debug.xcconfig; sourceTree = ""; }; - 0DE271E9026637BAF39A3320647E88F2 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; - 0DF18D6BA148903B65C6D1AAABCE41DE /* ESTabBarController-swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ESTabBarController-swift-dummy.m"; sourceTree = ""; }; - 0E3AEBF8D896ACBF5F41457ADFBB5F67 /* DDProgressHUDKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDProgressHUDKit_Private.debug.xcconfig; sourceTree = ""; }; - 0F204A4B7D209E2960CD8DB36DB9DAE5 /* DDBaseImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseImage.m; path = DDBasicControlsKit_Private/Classes/DDBaseImage/DDBaseImage.m; sourceTree = ""; }; - 0F95237584E1E1CF46A35A7F1A307356 /* DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDCategory.h; path = DDCategoryKit_Private/Classes/DDCategory.h; sourceTree = ""; }; - 0F999017AB61D034CC309E0366A428DF /* DDBaseTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTableView.m; path = DDBasicControlsKit_Private/Classes/DDBaseTableView/DDBaseTableView.m; sourceTree = ""; }; - 0FC81AB33C46D6A1196C93DDAF5C8476 /* UIScrollView+ZFPlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+ZFPlayer.m"; path = "ZFPlayer/Classes/Core/UIScrollView+ZFPlayer.m"; sourceTree = ""; }; - 101B7F0DA5EA0C836662C232B4FFA5D7 /* AMapServices.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapServices.h; path = AMapFoundationKit.framework/Headers/AMapServices.h; sourceTree = ""; }; - 103A15371B7CCBA671F2E52ABA6FA49F /* JXCategoryBaseCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseCellModel.m; path = Sources/Base/JXCategoryBaseCellModel.m; sourceTree = ""; }; - 10B02284E899C4E67DF3620B6136ECA2 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; - 10D66DE6DD32EF693D15560006B2DBFD /* AMapNaviWalkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkManager.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkManager.h; sourceTree = ""; }; - 10D89567E72F0F81A281DF6C5CA6119B /* DDNetworkingOfAlamofireKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDNetworkingOfAlamofireKit_Private-dummy.m"; sourceTree = ""; }; - 11354F356B63EBDA4EE7FFB9C178D318 /* AMapNaviWalkDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkDataRepresentable.h; sourceTree = ""; }; - 1144203F1FA1BBB76BC972DF73475EB1 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - 11657515EFDEE12F81F4B21EF2614B2E /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageFrame.h; sourceTree = ""; }; - 117468C7C42DA5A8F1AC1DCB641DC56A /* DDToastKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDToastKit_Private-umbrella.h"; sourceTree = ""; }; - 117C88403400A6AB1839799080E10082 /* ZFPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZFPlayer.debug.xcconfig; sourceTree = ""; }; - 11B94DD7827F24868A6507CBA7C9ABF1 /* SDDeviceHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDeviceHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDeviceHelper.h; sourceTree = ""; }; - 11DC07B838FF3C92B80BACEFEA5D5199 /* MACustomCalloutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomCalloutView.h; path = AMapNaviKit.framework/Headers/MACustomCalloutView.h; sourceTree = ""; }; - 11F5917602EDEC27FDA925D7FF793496 /* DDControlsKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDControlsKit_Private-umbrella.h"; sourceTree = ""; }; - 12206918EF06F8F1214E7E7FDFE86599 /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDDiskCache.h; sourceTree = ""; }; - 123EA8437196FBB5BBAAF553EE28125C /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 124B8F2436BBB0C0AD7ED128EFD133DE /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackFooter.h; path = MJRefresh/Base/MJRefreshBackFooter.h; sourceTree = ""; }; - 124E71CC5CE3F9FAC04F23FCEAA3ACF9 /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; - 1252279C757C6414294213DBBBE8514D /* MALineDrawType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MALineDrawType.h; path = AMapNaviKit.framework/Headers/MALineDrawType.h; sourceTree = ""; }; - 128C9E668234BBCE22D2853342DBC41E /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; - 12F0DA6BFB7D8D786DACD5C5D802185F /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - 1307264018CD22D8DA1BA4C5F9ADAED5 /* EKProcessingNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKProcessingNoteMessageView.swift; path = Source/MessageViews/Notes/EKProcessingNoteMessageView.swift; sourceTree = ""; }; - 130CED3B5857845A0F124D6F010F12BB /* UIImageView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIImageView+DDCategory/UIImageView+DDCategory.h"; sourceTree = ""; }; - 14079FBB082AEA0F36EF0AABC54FC20C /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; - 14477A461BBA1C258B971EC4DA30933F /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - 1515F9CEFCDBE5B07BE31D67C92FF621 /* DDLogKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDLogKit_Private-umbrella.h"; sourceTree = ""; }; - 155E658252BFB49AE6BC481503E1E5D0 /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; - 158E39A1504BFAF22603A9A530FFB105 /* NSURL+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURL+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSUrl+DDCategory/NSURL+DDCategory.h"; sourceTree = ""; }; - 15D6BA9EEFDEEF9CCCC8FC7E82D67804 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 1606E932D0F8D9310349DF42436B6328 /* UIImage+ExtendedCacheData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ExtendedCacheData.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ExtendedCacheData.m"; sourceTree = ""; }; - 16386E87CEA2794291A51E001EF07C9C /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; - 164E3E51174825E5EFCCA51D9A1EC788 /* DDBaseTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTextView.h; path = DDBasicControlsKit_Private/Classes/DDBaseTextView/DDBaseTextView.h; sourceTree = ""; }; - 1659D786134CC1922FD3204177DDC5B8 /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackFooter.m; path = MJRefresh/Base/MJRefreshBackFooter.m; sourceTree = ""; }; + 00168277CD215C813ED486B5C3C2A7C7 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 00187059A26C623E524F7CCA0D0B40BF /* SDImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoderHelper.m; sourceTree = ""; }; + 004CD594BC22DD340929C3E0C9C483F3 /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; + 0084CD19D2F8A9DF6BEDAC5AEDD4816A /* AMapTrackError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackError.h; path = AMapTrackKit.framework/Headers/AMapTrackError.h; sourceTree = ""; }; + 0085EA44900070E674C1AF21578CD211 /* AMapNaviWalkView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkView.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkView.h; sourceTree = ""; }; + 00CD30F5F567FC1018DC92D546AA2960 /* icon_file_type_db@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_db@2x.png"; path = "Sources/Resources/FileType/icon_file_type_db@2x.png"; sourceTree = ""; }; + 010487B680031D7DD9F7CD504D25DC02 /* DDBaseImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseImageView.m; path = DDBasicControlsKit_Private/Classes/DDBaseImageView/DDBaseImageView.m; sourceTree = ""; }; + 011E43D4F30750B5DCB183C4C531BCA5 /* MAAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotationView.h; path = AMapNaviKit.framework/Headers/MAAnnotationView.h; sourceTree = ""; }; + 0127B0F6C094E20313E017BBE46C8FBF /* ZFSliderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSliderView.m; path = ZFPlayer/Classes/ControlView/ZFSliderView.m; sourceTree = ""; }; + 013B74AE53115CEAEAD69AA5C007F8AA /* icon_file_type_tif@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_tif@3x.png"; path = "Sources/Resources/FileType/icon_file_type_tif@3x.png"; sourceTree = ""; }; + 01EA57BC8F18EB48F1AF3D3783079018 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ForceDecode.m"; sourceTree = ""; }; + 020BEDD662295C73C461AC6125693619 /* SDFileAttributeHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDFileAttributeHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDFileAttributeHelper.h; sourceTree = ""; }; + 02241EFF45DEE412DF1738B3F5313C04 /* _OCLoggerFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _OCLoggerFormat.m; path = Sources/Logs/_OCLoggerFormat.m; sourceTree = ""; }; + 02378D2AB7E68FB22F1964DE053EF806 /* UIView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MJExtension.m"; path = "MJRefresh/UIView+MJExtension.m"; sourceTree = ""; }; + 023985FBC86C0039C4052D7E7A251910 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; + 02418330CF7473448FD4856DFD5BCBBA /* UIEdgeInsets+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIEdgeInsets+Utils.swift"; path = "Source/Extensions/UIEdgeInsets+Utils.swift"; sourceTree = ""; }; + 028DD52D2E827FD4FD58D5477ED53741 /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCache.h; sourceTree = ""; }; + 029C45D031F88BD378248975892E349E /* icon_file_type_svg.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_svg.png; path = Sources/Resources/FileType/icon_file_type_svg.png; sourceTree = ""; }; + 02AB9C979678AD5C738765266B5028B6 /* NSObject+CocoaDebug.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+CocoaDebug.m"; path = "Sources/Categories/NSObject+CocoaDebug.m"; sourceTree = ""; }; + 02B12E5A4C84DB2F4DD74C17F45F0709 /* DDTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTextField.swift; path = DDControlsKit_Private/Classes/DDTextField/DDTextField.swift; sourceTree = ""; }; + 02B7C74EEEBE77518EE26F8950344D0A /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; + 03107261A71449527516C5246CB6B9FE /* CocoaDebugTool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CocoaDebugTool.m; path = Sources/Logs/CocoaDebugTool.m; sourceTree = ""; }; + 031C12316C0C279C92AC5A820545D006 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; + 03564C5CF7B31FED7FDA8BDC4B588517 /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManagerOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageCachesManagerOperation.m; sourceTree = ""; }; + 036E65A341C9A608ED342546F5771EE4 /* JXCategoryNumberCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberCellModel.h; path = Sources/Number/JXCategoryNumberCellModel.h; sourceTree = ""; }; + 037C5D1F603E29351AC55A20B7C50A9D /* CocoaDebug.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaDebug.h; path = Sources/Core/CocoaDebug.h; sourceTree = ""; }; + 039901FFE1611A7E7DA4EC8F79A4F19F /* CrashCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrashCell.swift; path = Sources/App/CrashCell.swift; sourceTree = ""; }; + 0404D90151DAE558D920953C33256706 /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; + 0405BCC9D7B9A0D536816C3FDD3B3D66 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + 0424EF1D49FA6768CEAD0E617E53105D /* ZFPlayerController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerController.h; path = ZFPlayer/Classes/Core/ZFPlayerController.h; sourceTree = ""; }; + 042FD570FE2EB98D35D73505DC07E29B /* ZFPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZFPlayer.debug.xcconfig; sourceTree = ""; }; + 04319C9ACB9D4DDE861D3A96AD3867B2 /* ZFPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayer.h; path = ZFPlayer/Classes/Core/ZFPlayer.h; sourceTree = ""; }; + 047158D21BDA2A17F2CA765069A680FD /* ZLEditToolCells.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditToolCells.swift; path = Sources/Edit/ZLEditToolCells.swift; sourceTree = ""; }; + 04DD6186EA20831357498DB649C2D851 /* NSBundle+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+MJRefresh.m"; path = "MJRefresh/NSBundle+MJRefresh.m"; sourceTree = ""; }; + 04EE221AEB974EEA0645C22D03A0EE45 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; + 051B813006FEBFEB318C91E15193D000 /* NSError+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSError+ZLPhotoBrowser.swift"; path = "Sources/Extensions/NSError+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 0529D7992718C8BAE2EA78A64A4A913D /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageManager.m; sourceTree = ""; }; + 05314D48701DCA92CB1C4A4062730136 /* DDBaseTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTableView.m; path = DDBasicControlsKit_Private/Classes/DDBaseTableView/DDBaseTableView.m; sourceTree = ""; }; + 053CE3188D30CC069ECE9440461764DB /* icon_file_type_bmp.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_bmp.png; path = Sources/Resources/FileType/icon_file_type_bmp.png; sourceTree = ""; }; + 0552136B150DD35A35AEC7115D5DA630 /* icon_file_type_wmv@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_wmv@3x.png"; path = "Sources/Resources/FileType/icon_file_type_wmv@3x.png"; sourceTree = ""; }; + 057F773EFC14453AE480FE4A487B1981 /* DDLogKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDLogKit_Private-prefix.pch"; sourceTree = ""; }; + 0582E3A7243684FFC91CF8D4878B2999 /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; + 0584C121A1B159E1BE96EF1E190BCFEE /* AMapNavi.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = AMapNavi.bundle; path = AMapNaviKit.framework/AMapNavi.bundle; sourceTree = ""; }; + 05D0B613D4CF7D69AE7088B3A0DBBB6C /* icon_file_type_png@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_png@2x.png"; path = "Sources/Resources/FileType/icon_file_type_png@2x.png"; sourceTree = ""; }; + 05D268F08282267996278DFD5680CD83 /* icon_file_type_ppt@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ppt@3x.png"; path = "Sources/Resources/FileType/icon_file_type_ppt@3x.png"; sourceTree = ""; }; + 062F0EE38A898BE984AB6B2DC3DAE44E /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 0683E8C4A3B2F5FAFB5FE06C58138B5C /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + 07036F7B6AD4A7E150D2286C454F5302 /* ESTabBarController-swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "ESTabBarController-swift.debug.xcconfig"; sourceTree = ""; }; + 0709DB6472F62BC42D1965BC1214BAE0 /* UIButton+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIButton+DDCategory/UIButton+DDCategory.m"; sourceTree = ""; }; + 0721CE6543EDC2B39144A8AA324C0E1A /* MAOfflineProvince.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineProvince.h; path = AMapNaviKit.framework/Headers/MAOfflineProvince.h; sourceTree = ""; }; + 0735312578C44C383E349E75442CFA00 /* DDColorKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDColorKit_Private-dummy.m"; sourceTree = ""; }; + 074682BE43D21B50EAE78690F012D7DE /* MAHeatMapVectorOverlayRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorOverlayRender.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorOverlayRender.h; sourceTree = ""; }; + 078F02E5D258B7A147C8D6819568DD5B /* icon_file_type_dll@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dll@3x.png"; path = "Sources/Resources/FileType/icon_file_type_dll@3x.png"; sourceTree = ""; }; + 078FEB725A9246B2610258A10A64AFC3 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 07DD2D6045EEF5A9D9E9202EC0824E7F /* DDProgressHUDKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDProgressHUDKit_Private.modulemap; sourceTree = ""; }; + 07EC8660A5E0E7D8854D0D029A375A5B /* ZFPortraitControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPortraitControlView.h; path = ZFPlayer/Classes/ControlView/ZFPortraitControlView.h; sourceTree = ""; }; + 07FFDCC95B6C7237016385C745086BFF /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; + 080B283DBD8EB8B01AAA2C2D7DA99908 /* ZFPortraitControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPortraitControlView.m; path = ZFPlayer/Classes/ControlView/ZFPortraitControlView.m; sourceTree = ""; }; + 080D6D3724CAAF08E09EBD079BF600CA /* MATraceReplayOverlayRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MATraceReplayOverlayRender.m; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlayRender.m; sourceTree = ""; }; + 082FD9381646844261A8E5D10BBECE16 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; + 0838AF5372BDCB81C9EBCF52C64463F7 /* CocoaDebug.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CocoaDebug.modulemap; sourceTree = ""; }; + 083CB070B87BD4710D1D88E1C3005A59 /* AMapNaviRoute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRoute.h; path = AMapNaviKit.framework/Headers/AMapNaviRoute.h; sourceTree = ""; }; + 08409E469EA929E4B075E92C4CD1DD58 /* UIViewArray+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewArray+QuickLayout.swift"; path = "Source/Extensions/QuickLayout/UIViewArray+QuickLayout.swift"; sourceTree = ""; }; + 0851B9AB3364051C2884EE62971BE844 /* icon_file_type_folder_not_empty.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_folder_not_empty.png; path = Sources/Resources/FileType/icon_file_type_folder_not_empty.png; sourceTree = ""; }; + 089C00B977C7BD33559C9342B943BBA2 /* EKAttributes+StatusBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+StatusBar.swift"; path = "Source/Model/EntryAttributes/EKAttributes+StatusBar.swift"; sourceTree = ""; }; + 08B1EED155C5B58B2D12B59801C8B034 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; + 08DA27089EE41686CD6208A7BD8C048A /* EKSimpleMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKSimpleMessageView.swift; path = Source/MessageViews/EKSimpleMessageView.swift; sourceTree = ""; }; + 08FA81010A855972CE74AD146B18A94B /* ZFPlayerGestureControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerGestureControl.h; path = ZFPlayer/Classes/Core/ZFPlayerGestureControl.h; sourceTree = ""; }; + 0923188AABC0A1EB305C725ACB402D36 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + 099BF8279325CEBF485E03C1AC4C4825 /* ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoBrowser.swift; path = Sources/General/ZLPhotoBrowser.swift; sourceTree = ""; }; + 099F1BFFAAD0DA15B0B54822EB4A8484 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; + 09C40B0E95DB4E99B10A38E31902F4B2 /* _icon_file_type_app@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_app@2x.png"; path = "Sources/Resources/images/_icon_file_type_app@2x.png"; sourceTree = ""; }; + 09DB519483E8906CF59A82D4361BB9E9 /* UINavigationItem+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationItem+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationItem+DDCategory/UINavigationItem+DDCategory.h"; sourceTree = ""; }; + 0A6F2F0C5326E666DBBA0186294E3ED8 /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; + 0A73F496491E5D1434C729FACB9DEC32 /* _WKWebView+Swizzling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "_WKWebView+Swizzling.m"; path = "Sources/Swizzling/_WKWebView+Swizzling.m"; sourceTree = ""; }; + 0A9A8050015602B7022E4A411D197991 /* MAAnnotationMoveAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotationMoveAnimation.h; path = AMapNaviKit.framework/Headers/MAAnnotationMoveAnimation.h; sourceTree = ""; }; + 0AA3F5C8AB44C97FE8E60D875BCEDE1F /* JXCategoryIndicatorComponentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorComponentView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.m; sourceTree = ""; }; + 0AB7099D4C771F44323C39DA7FAEDFFC /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; + 0ABDEEA884CCD59ADFDE6C546E6DC302 /* IQPreviousNextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPreviousNextView.swift; path = IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift; sourceTree = ""; }; + 0B4CDE4FE9FEA551812A5A170C8F803C /* _BacktraceLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _BacktraceLogger.m; path = Sources/Monitor/_BacktraceLogger.m; sourceTree = ""; }; + 0BAB633E1F079452E2EB6477874B4DB3 /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCache.m"; sourceTree = ""; }; + 0BD0977C1B36A3F5B8D6679CDF19E7EE /* UIScrollView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIScrollView+DDCategory/UIScrollView+DDCategory.h"; sourceTree = ""; }; + 0BEB7CD967248A2A328965EAAEF75364 /* MATraceManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceManager.h; path = AMapNaviKit.framework/Headers/MATraceManager.h; sourceTree = ""; }; + 0BF7E8F90D9C30E12F6392A5E6FF6A39 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + 0C181F4FB113D1CDFDC5F8C9092DF900 /* MAMultiColoredPolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiColoredPolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiColoredPolylineRenderer.h; sourceTree = ""; }; + 0C1CD3125069F17E5150D0A76D9DDA7E /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + 0C317DEB14067C24892A10B5E1A36F0C /* MAConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAConfig.h; path = AMapNaviKit.framework/Headers/MAConfig.h; sourceTree = ""; }; + 0C6F4829D47D1826F47CDC4264F9F6A8 /* YYImage */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = YYImage; path = libYYImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D0D96C6F246DA3B52916505644C04A6 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCompat.h; sourceTree = ""; }; + 0D171F326CE9B532A2DB375770BEBDBD /* AMapFoundation-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapFoundation-NO-IDFA.release.xcconfig"; sourceTree = ""; }; + 0D229CB778DD6BCAA05786521D019414 /* ZLPhotoConfiguration+Chaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ZLPhotoConfiguration+Chaining.swift"; path = "Sources/General/ZLPhotoConfiguration+Chaining.swift"; sourceTree = ""; }; + 0D7861A9E91023CF10D593405D8F9C45 /* icon_file_type_default@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_default@3x.png"; path = "Sources/Resources/FileType/icon_file_type_default@3x.png"; sourceTree = ""; }; + 0D88F70B1173C81728B34322CEBBA3E9 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m; sourceTree = ""; }; + 0DBA3F580791EC6735AFACEA6DD936B3 /* MAGeodesicPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGeodesicPolyline.h; path = AMapNaviKit.framework/Headers/MAGeodesicPolyline.h; sourceTree = ""; }; + 0E1EEE006250B581A96DC04A69DEBC57 /* icon_file_type_zip.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_zip.png; path = Sources/Resources/FileType/icon_file_type_zip.png; sourceTree = ""; }; + 0E477319406E9E499728340331F44E6A /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; + 0E4FA5D906AEEDE746FC786311ACA0F6 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageManager.h; sourceTree = ""; }; + 0E66C4947D1D7A87EDB41BF5F09316FF /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; + 0E758EF21C79F27C1917E76E47C0CFC0 /* _OCLogModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _OCLogModel.m; path = Sources/Logs/_OCLogModel.m; sourceTree = ""; }; + 0E7761C117F7DF15832C45E3745E51D2 /* icon_file_type_dmg@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dmg@2x.png"; path = "Sources/Resources/FileType/icon_file_type_dmg@2x.png"; sourceTree = ""; }; + 0E7BE130AEE55BCA246101DACEEC9C29 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 0EBB4B7FC55CA6DEE93A812659ADB7AA /* ZFPlayerMediaPlayback.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerMediaPlayback.h; path = ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h; sourceTree = ""; }; + 0F320B24D7EA83D7446A61A624DAF31A /* DDLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDLabel.swift; path = DDControlsKit_Private/Classes/DDLabel/DDLabel.swift; sourceTree = ""; }; + 0F4930F97ADBF51726CCF0F4E0E8397A /* EKNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNoteMessageView.swift; path = Source/MessageViews/Notes/EKNoteMessageView.swift; sourceTree = ""; }; + 0F4FDEBA2651E81B774D1488B658B413 /* DDBaseTabBarController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTabBarController.h; path = DDBasicControlsKit_Private/Classes/DDBaseTabBarController/DDBaseTabBarController.h; sourceTree = ""; }; + 0F59B7C43CC0DFF055CB289EEF7B2697 /* icon_file_type_7z.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_7z.png; path = Sources/Resources/FileType/icon_file_type_7z.png; sourceTree = ""; }; + 0F65E660A926BDE78A3ADE80D96EAD90 /* ESTabBarController-swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "ESTabBarController-swift.modulemap"; sourceTree = ""; }; + 0F87DDFBA4484D0D5704F46641B3CC62 /* DDAutoUIKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDAutoUIKit_Private.debug.xcconfig; sourceTree = ""; }; + 0F896BC532EBFB16C23A1ADDF055A52F /* MJRefreshComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshComponent.h; path = MJRefresh/Base/MJRefreshComponent.h; sourceTree = ""; }; + 1021C1015D8030E8018E70F7FA5D6B04 /* SDWebImageMapKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageMapKit.h; path = DDWebImageKit_Private/Classes/SDWebImageMapKit/SDWebImageMapKit.h; sourceTree = ""; }; + 102F5F9ED90F8687206F6DA37E670416 /* JXCategoryIndicatorBallView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorBallView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.m; sourceTree = ""; }; + 10445B76480E3BC1318B922F2E923393 /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; + 10520479BFC042D366099787582B26A1 /* DDFontKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDFontKit_Private-umbrella.h"; sourceTree = ""; }; + 105E47AE1B86BFF42ED5C63B86672C6F /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; + 1076AC785D2AD325F7E2588F9E97724A /* icon_file_type_wav@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_wav@3x.png"; path = "Sources/Resources/FileType/icon_file_type_wav@3x.png"; sourceTree = ""; }; + 10A1BCC3F5EF343A7BF68056318C44A4 /* _Sandboxer-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_Sandboxer-Header.h"; path = "Sources/Sandbox/_Sandboxer-Header.h"; sourceTree = ""; }; + 10A7E43E46251EC9A21DC81AA391B2C2 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIButton+WebCache.h"; sourceTree = ""; }; + 10C07FE485DA913CDFB3835213A67352 /* JXCategoryTitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleView.m; path = Sources/Title/JXCategoryTitleView.m; sourceTree = ""; }; + 10E78EA03B45635A62E8A75AC1D9E93E /* ESTabBarController-swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ESTabBarController-swift-dummy.m"; sourceTree = ""; }; + 114512B56930F3C0D45A2D9939DE9EDD /* EKImageNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKImageNoteMessageView.swift; path = Source/MessageViews/Notes/EKImageNoteMessageView.swift; sourceTree = ""; }; + 11A471D74DE05908C477E8CD4E77A87D /* SDImageHEICCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageHEICCoder.m; sourceTree = ""; }; + 1250C2A29E489E00D2B739919551E562 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 127BB02B80189C7835B3CA771FC4360B /* AMapNaviEleBikeManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviEleBikeManager.h; path = AMapNaviKit.framework/Headers/AMapNaviEleBikeManager.h; sourceTree = ""; }; + 12B5AC9085F2DEE9B7334395464B835B /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; + 12CE32F6809F40DB24A76EF29E769BF5 /* ZFPlayerControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerControlView.h; path = ZFPlayer/Classes/ControlView/ZFPlayerControlView.h; sourceTree = ""; }; + 12E2DF4B92C8F7F5603F0FC26A7C80CF /* MAOfflineItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItem.h; path = AMapNaviKit.framework/Headers/MAOfflineItem.h; sourceTree = ""; }; + 131137D89384B3BB45FC182BE4A58354 /* ESTabBarItemBadgeView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemBadgeView.swift; path = Sources/ESTabBarItemBadgeView.swift; sourceTree = ""; }; + 1345F6A41C6A792E864F26C2911056AD /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; + 1351BE9BFF0452873A1D358736A64D16 /* MACustomCalloutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomCalloutView.h; path = AMapNaviKit.framework/Headers/MACustomCalloutView.h; sourceTree = ""; }; + 13699F3F75254974A3E7893366F304B1 /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + 137D779AA253D16469936033E2157977 /* NSMutableAttributedString+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableAttributedString+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableAttributedString+DDCategory.h"; sourceTree = ""; }; + 13B813933CCDA33E16DEBFECE1C3ECB9 /* icon_file_type_jpg@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_jpg@2x.png"; path = "Sources/Resources/FileType/icon_file_type_jpg@2x.png"; sourceTree = ""; }; + 13C35CFDA33405E5A9F017C54A48B1F8 /* IQKeyboardReturnKeyHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnKeyHandler.swift; path = IQKeyboardManagerSwift/IQKeyboardReturnKeyHandler.swift; sourceTree = ""; }; + 13C5B1580E5A0D65538E3D617E666BCB /* UIImageView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIImageView+DDCategory/UIImageView+DDCategory.m"; sourceTree = ""; }; + 13D0C74F0542D51C638305ABFEE8C9D1 /* icon_file_type_mp4@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mp4@2x.png"; path = "Sources/Resources/FileType/icon_file_type_mp4@2x.png"; sourceTree = ""; }; + 13F31176B57439B9D5550E2F79F3746E /* DDBaseTextField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTextField.m; path = DDBasicControlsKit_Private/Classes/DDBaseTextField/DDBaseTextField.m; sourceTree = ""; }; + 142D6A11CED1F7C6505561C739416A6D /* _FilePreviewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FilePreviewController.m; path = Sources/Sandbox/_FilePreviewController.m; sourceTree = ""; }; + 143CA1E311C722BC2BDFF6197D41B587 /* SDDisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDisplayLink.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDisplayLink.h; sourceTree = ""; }; + 144437B0597BD82481B2A24FC0EFD31A /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; + 1444D851A51CFB5751CA28CB836FEA34 /* icon_file_type_bmp@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_bmp@2x.png"; path = "Sources/Resources/FileType/icon_file_type_bmp@2x.png"; sourceTree = ""; }; + 145CB52FD5565A98364695ADFD8A9824 /* UIImage+Metadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Metadata.h"; sourceTree = ""; }; + 147E802720C9A42FC477FC63166EF7E1 /* icon_file_type_ipa@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ipa@3x.png"; path = "Sources/Resources/FileType/icon_file_type_ipa@3x.png"; sourceTree = ""; }; + 148E785710CB8078F40460037BC350A7 /* EKMessageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKMessageContentView.swift; path = Source/MessageViews/EKMessageContentView.swift; sourceTree = ""; }; + 14A6567DC4510D8B9C160EF2B2E714CD /* MBProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = DDProgressHUDKit_Private/Classes/MBProgressHUD.m; sourceTree = ""; }; + 14D1D44DBE2726EE9B87782F2B9D0C27 /* icon_file_type_numbers@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_numbers@3x.png"; path = "Sources/Resources/FileType/icon_file_type_numbers@3x.png"; sourceTree = ""; }; + 1526916BA9C865B5F2F2376B2225D7B2 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; + 15296078F4B16B67E3F8406F3EE167B7 /* YYImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYImage.release.xcconfig; sourceTree = ""; }; + 153FDF6FAB11E0C8589E1CFDEDF45567 /* DDCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDCollectionViewCell.swift; path = DDControlsKit_Private/Classes/DDCollectionViewCell/DDCollectionViewCell.swift; sourceTree = ""; }; + 154230206A150B2C36F188B2BEB859DE /* _DeviceUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _DeviceUtil.m; path = Sources/Core/_DeviceUtil.m; sourceTree = ""; }; + 157255D9F8C7760759D233F186BEC055 /* MAOfflineItemNationWide.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemNationWide.h; path = AMapNaviKit.framework/Headers/MAOfflineItemNationWide.h; sourceTree = ""; }; + 15E7E9E4AF47AC9D13655DE3C5740B9C /* NSImage+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSImage+Compatibility.m"; sourceTree = ""; }; + 15F53AA80FAE7CE32531C2E3D895A49D /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 1625B58F4264F5EA2AC44B41D8B2B280 /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; + 166B9D6E9A1FF7D8F006CB650E9FA3D2 /* ZLPhotoBrowser.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZLPhotoBrowser.release.xcconfig; sourceTree = ""; }; + 16A76360C017AF6BD62CB24809B47015 /* JXCategoryIndicatorTriangleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorTriangleView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.h; sourceTree = ""; }; 16ADD43AE08E88D6F7A3498152249608 /* DDAutoUIKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDAutoUIKit_Private; path = libDDAutoUIKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 16E47847F012C7C5A5CCB8853B430DC9 /* DDNetworkingOfAlamofireKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDNetworkingOfAlamofireKit_Private-prefix.pch"; sourceTree = ""; }; - 17311F74924C956A09FA029B76756E0C /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; - 173D8B7976EEE82B73489608D4ECD938 /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/PrimitiveSequence/Maybe.swift; sourceTree = ""; }; - 175E160B210F8918F24973167F06CF79 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoadersManager.m; sourceTree = ""; }; - 17D7C45B2B85F585912810F73875908E /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; - 17F0B48EB7C62C9467E7D647E7E5C701 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; - 181826E1D0ADF935A7E686C762462C7C /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheKeyFilter.h; sourceTree = ""; }; - 185F9BE2AA69C0B3459642BB61834039 /* JXCategoryBaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseView.h; path = Sources/Base/JXCategoryBaseView.h; sourceTree = ""; }; - 1867ED0683C2B3C3CD5181FAE11897BD /* UIView+ZFFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+ZFFrame.m"; path = "ZFPlayer/Classes/ControlView/UIView+ZFFrame.m"; sourceTree = ""; }; - 18C2FDBC8D0C78FD5AE84C9D9185A1FF /* DDProgressHUDKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDProgressHUDKit_Private-umbrella.h"; sourceTree = ""; }; - 190378F400F36DAF67780AF67295E127 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; - 1922A6A0E02D95253C80396B37E10287 /* NSBundle+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSBundle+DDCategory/NSBundle+DDCategory.h"; sourceTree = ""; }; - 198DC04144CBA6A32E8BA45889CF152E /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - 19ED9AFA84256D06A364CFCCEB118D95 /* DDColorKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDColorKit_Private-dummy.m"; sourceTree = ""; }; - 19FA2D7AB03EFF1765F38A85B188A68D /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - 1A2745E7DE16B870987AD4D70B7FF1DF /* DDToastKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDToastKit_Private-prefix.pch"; sourceTree = ""; }; - 1A406F485E375B9A538F60BCC669C8EE /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAPNGCoder.h; sourceTree = ""; }; - 1A4D674B291CADFF476B81EB524D1364 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; - 1A4EE38117FADAF6840292CB423F9CC9 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; - 1A764909DC2F006D4FCD2FCEE48D041A /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; - 1A8B28A120C292488ED430D5EA7D5B3D /* CALayer+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+DDCategory.m"; path = "DDCategoryKit_Private/Classes/CALayer+DDCategory/CALayer+DDCategory.m"; sourceTree = ""; }; - 1A910660C0BC02E8C630FE027B3C1967 /* ZFPortraitControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPortraitControlView.h; path = ZFPlayer/Classes/ControlView/ZFPortraitControlView.h; sourceTree = ""; }; - 1AB783FF249674C2DCA72A637C95A09D /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 1AECD1F79FDA7AF20C4F45C8943CDAE7 /* ESTabBarController-swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ESTabBarController-swift-prefix.pch"; sourceTree = ""; }; - 1B10B6E9D17566CC5699F5DB858E386B /* ZLPhotoPreviewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewCell.swift; path = Sources/General/ZLPhotoPreviewCell.swift; sourceTree = ""; }; - 1B35A6FBA3CBD45226B85A6F876700BE /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; - 1B3A4F80AA6DA72A6016BA996872756F /* MJRefreshHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshHeader.m; path = MJRefresh/Base/MJRefreshHeader.m; sourceTree = ""; }; - 1B45DEDEFAD7C4D15F954904ED90CF54 /* HapticFeedbackGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HapticFeedbackGenerator.swift; path = Source/Utils/HapticFeedbackGenerator.swift; sourceTree = ""; }; - 1B9C44A6CE1D11BF815E4C1C7333AF46 /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager.swift; sourceTree = ""; }; - 1BCE17C41A390A1A354DB860A8654FAE /* UINavigationController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationController+DDCategory/UINavigationController+DDCategory.m"; sourceTree = ""; }; - 1BCFA829A8C712BBE4038707E49B1C6D /* MATileOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATileOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MATileOverlayRenderer.h; sourceTree = ""; }; - 1C1691460A0C5DCD4247D9A242B0A8D3 /* UIImage+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Transform.m"; sourceTree = ""; }; - 1C18371D84390CEC73E7EE7FC86CE838 /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Position.swift"; sourceTree = ""; }; - 1C5DFA80FB0E14429FAE0675C4E90C70 /* JXCategoryTitleImageCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageCellModel.h; path = Sources/TitleImage/JXCategoryTitleImageCellModel.h; sourceTree = ""; }; - 1C748222E930F63B48F2B93FDAEDCBCA /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; - 1C7F27378D5F58EFED6939B2158F713E /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; - 1CC9385B5DE9C628C59CE36BF33EF7E3 /* SDImageCachesManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCachesManager.h; sourceTree = ""; }; - 1D238F33FD51043F3EF4B86EBFA021AE /* UITabBarController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITabBarController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITabBarController+DDCategory/UITabBarController+DDCategory.h"; sourceTree = ""; }; - 1D917246761244D0E22C479AA18F8F08 /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; - 1D93D6BAF3964B054A11084A6F74A543 /* ZLPhotoBrowser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZLPhotoBrowser-prefix.pch"; sourceTree = ""; }; - 1DA22E9EAA33A9250A987DB225AE618E /* UITableViewCell+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableViewCell+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITableViewCell+DDCategory/UITableViewCell+DDCategory.m"; sourceTree = ""; }; - 1DA2E967C6C9D232CC0A879C3937F540 /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheSerializer.h; sourceTree = ""; }; - 1DD45BA2A6EA209B7E418B11E5564A3A /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; - 1DF2512911715A0B3D628A1E3BB16CE5 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; - 1E618A30ED9BFA3722E91C3C5FB27FAC /* MAOfflineCity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineCity.h; path = AMapNaviKit.framework/Headers/MAOfflineCity.h; sourceTree = ""; }; - 1E9B6E80A88AAB7388F5385DC121AFD6 /* AMapURLSearchType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearchType.h; path = AMapFoundationKit.framework/Headers/AMapURLSearchType.h; sourceTree = ""; }; - 1F6E6226D7989A3A369BE01CC77B99CB /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageRep.m; sourceTree = ""; }; - 1FCB4438676C9443FDBD11D667940A30 /* DDViewControllerAnimatedTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDViewControllerAnimatedTransition.h; path = DDBasicControlsKit_Private/Classes/DDBaseAnimation/DDTransitionAnimation/DDViewControllerAnimatedTransition.h; sourceTree = ""; }; + 16BC84658BC2DC4D888A3E816E0AF9CE /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; + 16E11FAC1AEBF2C15B9C227675AFD816 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; + 16E236CE57079BB9909C2AAE959A4FB9 /* MAMapStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapStatus.h; path = AMapNaviKit.framework/Headers/MAMapStatus.h; sourceTree = ""; }; + 1740DC82A31D9AD41027777CCCC0B1C1 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; }; + 175F1D94372C95BB4A3392CBB9999BAD /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; + 17C515A45E96DFC0EC675A83CAB38D52 /* JXCategoryIndicatorDotLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorDotLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.h; sourceTree = ""; }; + 17C9ACE92DF8F6ADE2C2AA311C763A67 /* MBProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MBProgressHUD.h; path = DDProgressHUDKit_Private/Classes/MBProgressHUD.h; sourceTree = ""; }; + 17CC390F73975C3A81BF79BAC89528AA /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; + 17E4B33FEFB92B0829106C878D4AAB78 /* JXCategoryTitleImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageView.h; path = Sources/TitleImage/JXCategoryTitleImageView.h; sourceTree = ""; }; + 1817C4FB2A0D982C4BC4234EB09449AC /* DDProgressHUD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDProgressHUD.swift; path = DDProgressHUDKit_Private/Classes/DDProgressHUD.swift; sourceTree = ""; }; + 181A5E772C1615B6F24BE6E3F38412BF /* DDAutoUIKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDAutoUIKit_Private-dummy.m"; sourceTree = ""; }; + 182537C657FFBC45A4AA26CB26FDA779 /* SDmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDmetamacros.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDmetamacros.h; sourceTree = ""; }; + 183546C17C6EA14B622A1997CC5E9241 /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView+WebCache.m"; sourceTree = ""; }; + 1849CDB34B24B29C42587437A61827D3 /* MATouchPoi.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATouchPoi.h; path = AMapNaviKit.framework/Headers/MATouchPoi.h; sourceTree = ""; }; + 18500366E4A8E3765EAE2044C632F71A /* icon_file_type_json@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_json@2x.png"; path = "Sources/Resources/FileType/icon_file_type_json@2x.png"; sourceTree = ""; }; + 188D88E88B8A4CE92A8E4D0BE56F0A87 /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoGifFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h; sourceTree = ""; }; + 1891B0B00FFB4910FBABEAD5004FFAAF /* icon_file_type_wav@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_wav@2x.png"; path = "Sources/Resources/FileType/icon_file_type_wav@2x.png"; sourceTree = ""; }; + 19206F95DEED91CD9B3AA37DC6971906 /* UINavigationItem+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationItem+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationItem+DDCategory/UINavigationItem+DDCategory.m"; sourceTree = ""; }; + 19C9F61FA5D7D12AD711037257A0B7E0 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; + 1A3B8BB5280054171E81D0AEF53B7F5A /* SwiftEntryKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-umbrella.h"; sourceTree = ""; }; + 1A58462F69F3509668BDB890136B9CB6 /* icon_file_type_java@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_java@3x.png"; path = "Sources/Resources/FileType/icon_file_type_java@3x.png"; sourceTree = ""; }; + 1A758E16F03B0E694F8DFA1A27507E9C /* UIView+Responder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Responder.swift"; path = "Source/Utils/UIView+Responder.swift"; sourceTree = ""; }; + 1A78D78AD200DDB35A27DF7492AEA1D0 /* ZFUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFUtilities.h; path = ZFPlayer/Classes/ControlView/ZFUtilities.h; sourceTree = ""; }; + 1A89B129FE80B2860DD988D6B8C3D126 /* ZFPersentInteractiveTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPersentInteractiveTransition.h; path = ZFPlayer/Classes/Core/ZFPersentInteractiveTransition.h; sourceTree = ""; }; + 1ABA3A012806F286A0386562F6E0D741 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; + 1BC89A793B9E01AB49E12F07432731BC /* MAMapKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapKit.h; path = AMapNaviKit.framework/Headers/MAMapKit.h; sourceTree = ""; }; + 1BD72C9F41EB046E5BF53BBF38BF1248 /* icon_file_type_mov@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mov@3x.png"; path = "Sources/Resources/FileType/icon_file_type_mov@3x.png"; sourceTree = ""; }; + 1BE0C5A65B7BD6D6203BC1B087CD721E /* MAOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAOverlayRenderer.h; sourceTree = ""; }; + 1BE582A51E0C3EE8BB1539B518C522DD /* YYImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYImage-dummy.m"; sourceTree = ""; }; + 1BFDB9F8D392B3D3938B0E71ED025A66 /* AMapNaviTravelManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviTravelManager.h; path = AMapNaviKit.framework/Headers/AMapNaviTravelManager.h; sourceTree = ""; }; + 1C0EAF33AE8EF4AF5DBDDA4547769BFC /* _RunloopMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RunloopMonitor.h; path = Sources/Monitor/_RunloopMonitor.h; sourceTree = ""; }; + 1C1846F45289A75658C4E51988A36769 /* MJRefreshFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshFooter.h; path = MJRefresh/Base/MJRefreshFooter.h; sourceTree = ""; }; + 1C3437F47A32E8BC4862BB1ADAC8692C /* DDCategoryKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDCategoryKit_Private-dummy.m"; sourceTree = ""; }; + 1C5E66002FDBA1006581F4498DA51B19 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + 1C6F05422F5DDE75C32B14068D2F16CB /* MAMVTTileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMVTTileOverlay.h; path = AMapNaviKit.framework/Headers/MAMVTTileOverlay.h; sourceTree = ""; }; + 1CA6F7FBEAF1733564AB0C17AE455DED /* DDMAGeometry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMAGeometry.m; path = DDMAMapKit_Private/Classes/DDMAUtil/DDMAGeometry.m; sourceTree = ""; }; + 1CB3100B69E0B4D7083B0AF017B32653 /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJRefresh.h"; path = "MJRefresh/UIScrollView+MJRefresh.h"; sourceTree = ""; }; + 1CD29A94FEF9AF4BB9AB07897DB4DE06 /* EKFormMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKFormMessageView.swift; path = Source/MessageViews/EKFormMessageView.swift; sourceTree = ""; }; + 1CEBEAA368B69F58C2A51A3C75C30447 /* MAPolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAPolylineRenderer.h; sourceTree = ""; }; + 1CF573AFD6FF77E757F7E52B8DB77CA1 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; + 1D2A86AA9593E4437AF7899EA76BAA2F /* ZLPhotoPreviewSheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewSheet.swift; path = Sources/General/ZLPhotoPreviewSheet.swift; sourceTree = ""; }; + 1D3F8613F55B938031837F5E4CB0E8F7 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 1D3FBB26BE04DA0835B8EBAEAC506FFA /* _Swizzling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _Swizzling.m; path = Sources/Swizzling/_Swizzling.m; sourceTree = ""; }; + 1D3FDA9F7A31659DF113D0BBC2AA4089 /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MemoryCacheCost.m"; sourceTree = ""; }; + 1D4C7BF075D0BAF7146261F0ECF9EA14 /* _NetworkHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _NetworkHelper.m; path = Sources/Network/_NetworkHelper.m; sourceTree = ""; }; + 1DA07A8171CBA9CDAC5CE5A2645C2E49 /* icon_file_type_json@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_json@3x.png"; path = "Sources/Resources/FileType/icon_file_type_json@3x.png"; sourceTree = ""; }; + 1DFA72AC4B634B331CA595958950892B /* ZFNetworkSpeedMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFNetworkSpeedMonitor.h; path = ZFPlayer/Classes/ControlView/ZFNetworkSpeedMonitor.h; sourceTree = ""; }; + 1E21C3482D5F817D7C3938CA7A798412 /* SwiftEntryKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftEntryKit.swift; path = Source/SwiftEntryKit.swift; sourceTree = ""; }; + 1E9DED0E3D0CB531BE11C27B2B3B19FB /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; + 1EED2BD33A4FC27A7C38784DD85CBB4B /* MATileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATileOverlay.h; path = AMapNaviKit.framework/Headers/MATileOverlay.h; sourceTree = ""; }; + 1F0150D93E8B0A4B8E32A1A5257C66CC /* DDWebImageKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDWebImageKit_Private-dummy.m"; sourceTree = ""; }; + 1F505445BD68A8281393443496A82F74 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 1F55966CA2AB8BCB2A79DFF16C0ED571 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + 1F72BDA850E28B35A0C4B3384B672BBB /* icon_file_type_sql@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_sql@2x.png"; path = "Sources/Resources/FileType/icon_file_type_sql@2x.png"; sourceTree = ""; }; + 1F7775F5276148B719610F95A0FD178C /* UIView+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Shadow.swift"; path = "Source/Extensions/UIView+Shadow.swift"; sourceTree = ""; }; + 1FA129BD4704A825D62671824D714E04 /* MAUserLocationRepresentation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAUserLocationRepresentation.h; path = AMapNaviKit.framework/Headers/MAUserLocationRepresentation.h; sourceTree = ""; }; + 1FDAB911230C494462E0458E0390A689 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 1FDD2C26B3868F1F27A17E4392C5916F /* AMapLocation-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapLocation-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; 1FEA06F110D30604A9FB015A9790A954 /* DDControlsKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDControlsKit_Private; path = libDDControlsKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2013EAFEE01281A5A27141273E6254CA /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; - 20527A0CDDF3A638A56697666A1399BF /* DDTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTableViewCell.swift; path = DDControlsKit_Private/Classes/DDTableViewCell/DDTableViewCell.swift; sourceTree = ""; }; - 208979073B2FE049774A9D43E7D9D556 /* MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefresh.h; path = MJRefresh/MJRefresh.h; sourceTree = ""; }; - 208A326EA9C6B70C00A99CF4B4718698 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - 20B59AA625B59BE16A80AF0B70C53CF0 /* ZFPlayerLogManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerLogManager.m; path = ZFPlayer/Classes/Core/ZFPlayerLogManager.m; sourceTree = ""; }; - 20B61D9040B3F1E98E92815015C9F28B /* UIView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MJExtension.h"; path = "MJRefresh/UIView+MJExtension.h"; sourceTree = ""; }; - 20B7F3881B191055EF8E0F271B6A9E79 /* MATraceLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceLocation.h; path = AMapNaviKit.framework/Headers/MATraceLocation.h; sourceTree = ""; }; - 20D1C02F57769A322F11D9AD1363424A /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; - 210482A0B5EA060C10B2891EE460AB48 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; - 21300D1EABD406DF88881659F14E1FA5 /* MAPathShowRange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPathShowRange.h; path = AMapNaviKit.framework/Headers/MAPathShowRange.h; sourceTree = ""; }; - 21D2CEAF8CF027C5BBAB3E891B1C1540 /* DDMAMapView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMAMapView.m; path = DDMAMapKit_Private/Classes/DDMAMap/MapView/DDMAMapView.m; sourceTree = ""; }; - 21F9FA993D60CD14B01156676A20C167 /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; - 224C0BC57E40B54C718B6D431EA95D35 /* MJRefreshFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshFooter.m; path = MJRefresh/Base/MJRefreshFooter.m; sourceTree = ""; }; - 227AF9E6AD03AC9A3C955525A5398DA7 /* ZLPhotoPreviewSheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewSheet.swift; path = Sources/General/ZLPhotoPreviewSheet.swift; sourceTree = ""; }; - 22A8ED664031CCE5A526DCE8A7C609BB /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; - 22A98BB6EF454F042A642F277FE34C9F /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; - 22BAE7ADCF6961EFB9689B374084F1C8 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; - 22C8184B21F23343E22A9C232D399C9D /* UIView+QLContentWrap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+QLContentWrap.swift"; path = "Source/Extensions/QuickLayout/UIView+QLContentWrap.swift"; sourceTree = ""; }; - 22DB568C2F40BF105F67A00E09CBC2F3 /* ZFPlayer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZFPlayer.release.xcconfig; sourceTree = ""; }; - 22F0F259BE2F7AB0C38E4735E873F1A2 /* JXCategoryIndicatorBallView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorBallView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.h; sourceTree = ""; }; - 23497B67ACDC31BA3F0598347B9399BF /* UIScrollView+ZFPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+ZFPlayer.h"; path = "ZFPlayer/Classes/Core/UIScrollView+ZFPlayer.h"; sourceTree = ""; }; - 24403712A5AB50CB9F317E4EB3B3BC89 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; - 24410051C5E307C24C56C3335B418FF2 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderOperation.h; sourceTree = ""; }; - 246ABA10829F166DB32A96440298F4C4 /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 247E41FBB44855E2C5BCAB8AD3B9765D /* EKAttributes+StatusBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+StatusBar.swift"; path = "Source/Model/EntryAttributes/EKAttributes+StatusBar.swift"; sourceTree = ""; }; - 2494FB423FC2303D71E57FC30E17B524 /* ZFPlayer.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = ZFPlayer.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 249FB8E30AB77F8ECDEFAFC1BCBD23CA /* AMapTrackCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackCommonObj.h; path = AMapTrackKit.framework/Headers/AMapTrackCommonObj.h; sourceTree = ""; }; - 24A69A54D1197E7E6753BF749DA7D76E /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 24B8710F9AC5232F5B7CC0354EDA54E8 /* ZFSmallFloatControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSmallFloatControlView.m; path = ZFPlayer/Classes/ControlView/ZFSmallFloatControlView.m; sourceTree = ""; }; - 24C6ED8AF5E90ED6478138B344B5D5E9 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; - 24DEF378BE6451D6215F2DAD7E37F1D3 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; - 25024DCCFA9AE75D9ABA8D5F2ACD21A8 /* MJRefreshHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshHeader.h; path = MJRefresh/Base/MJRefreshHeader.h; sourceTree = ""; }; - 252055CE1DD2971E2E70122AF1255F2F /* AutoUI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AutoUI.swift; path = DDAutoUIKit_Private/Classes/AutoUI.swift; sourceTree = ""; }; - 253ADE0F23935CA3549F3997DE691DDB /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; - 253E69F79DCD88262823C30416CEE169 /* SDImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCodersManager.m; sourceTree = ""; }; - 254571B44B8DBF8CF43E277B4DAF36C4 /* JXCategoryIndicatorTriangleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorTriangleView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.h; sourceTree = ""; }; - 25555D4F66DCCF56A7D7D53D6F2CEF49 /* JXCategoryView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JXCategoryView-umbrella.h"; sourceTree = ""; }; + 200F656D7B56C8F026A33C630F0E2B05 /* icon_file_type_folder_empty@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_folder_empty@3x.png"; path = "Sources/Resources/FileType/icon_file_type_folder_empty@3x.png"; sourceTree = ""; }; + 202038FFBC274EFE488979B897EFB005 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; + 202988982154D06F97CF9C09F7F36D3B /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; + 202AF65C5E7D40BAAA6A802E0786A02C /* ZLProgressView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLProgressView.swift; path = Sources/General/ZLProgressView.swift; sourceTree = ""; }; + 205C771C1E4AFCAE74EEE07C0B824F46 /* _CacheStoragePolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _CacheStoragePolicy.m; path = Sources/CustomHTTPProtocol/_CacheStoragePolicy.m; sourceTree = ""; }; + 20765D5601E5EF57BCF5397CE3131C5E /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; + 2083522E41525D888F80775C847896D4 /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = DDWebImageKit_Private/Classes/SDWebImage/SDWebImage.h; sourceTree = ""; }; + 208D4F1DB1C2FA411CB13694E2C74EA4 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; + 2090F5642ABC4A05CB826E724F46BFA0 /* AMapSearch-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapSearch-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; + 20F7A188D45708D34BBBE7EDCBAA9F20 /* icon_file_type_ppt.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_ppt.png; path = Sources/Resources/FileType/icon_file_type_ppt.png; sourceTree = ""; }; + 2143048F86DF4193A6AB62ED73766698 /* EKRatingMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingMessage.swift; path = Source/Model/EKRatingMessage.swift; sourceTree = ""; }; + 2161026256388C28D8232ABAD4966FDB /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; + 2173E39BD968AC752FD0EBEFB56A8D87 /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderConfig.h; sourceTree = ""; }; + 21E532A54FC2C8814E17558618D645F1 /* icon_file_type_aac@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_aac@3x.png"; path = "Sources/Resources/FileType/icon_file_type_aac@3x.png"; sourceTree = ""; }; + 2208B0BE7EF934DEBD8304DC88B49B91 /* DDControlsKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDControlsKit_Private.debug.xcconfig; sourceTree = ""; }; + 2220802ABA2912C7178D5B4AABDDE5F8 /* _Sandboxer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _Sandboxer.m; path = Sources/Sandbox/_Sandboxer.m; sourceTree = ""; }; + 22490F48C5D12A07B0D21EFD1FF26A8D /* AMapNaviEleBikeDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviEleBikeDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviEleBikeDataRepresentable.h; sourceTree = ""; }; + 22575934E60F9BCE29965F971D632C77 /* icon_file_type_sql@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_sql@3x.png"; path = "Sources/Resources/FileType/icon_file_type_sql@3x.png"; sourceTree = ""; }; + 225B671B98BA8C87C23FA1FC6DAF7FC7 /* ZFPortraitViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPortraitViewController.h; path = ZFPlayer/Classes/Core/ZFPortraitViewController.h; sourceTree = ""; }; + 2285C43E3120A0E3FEF48618C47EE5C4 /* DDBasicControlsKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDBasicControlsKit_Private.release.xcconfig; sourceTree = ""; }; + 22913B21CA114DD99738F02280AA3965 /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; + 22CC4B2C133C429B61EC7357D4D30551 /* AMapLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationManager.h; path = AMapLocationKit.framework/Headers/AMapLocationManager.h; sourceTree = ""; }; + 22CCC198FDC61AF5343FA7506862A97C /* ZFKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFKVOController.h; path = ZFPlayer/Classes/Core/ZFKVOController.h; sourceTree = ""; }; + 22D9383F847715AF3A415084BE82DF15 /* AMap.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = AMap.bundle; path = AMapNaviKit.framework/AMap.bundle; sourceTree = ""; }; + 23012508A8CFF196B0877712337F1161 /* ZLClipImageDismissAnimatedTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLClipImageDismissAnimatedTransition.swift; path = Sources/Animation/ZLClipImageDismissAnimatedTransition.swift; sourceTree = ""; }; + 23734164466F2CC14AD7EAEF7AB8AF6D /* UIFont+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIFont+DDCategory/UIFont+DDCategory.h"; sourceTree = ""; }; + 2380E113FEE8B1D583C29314A3821942 /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; + 23A1266D1041088C299694028DB2CF53 /* AMapNaviManagerConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviManagerConfig.h; path = AMapNaviKit.framework/Headers/AMapNaviManagerConfig.h; sourceTree = ""; }; + 23B1AE12031D4C0C021B740DAF5993BE /* ZFSmallFloatControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSmallFloatControlView.m; path = ZFPlayer/Classes/ControlView/ZFSmallFloatControlView.m; sourceTree = ""; }; + 23B84BAEEAD377E91D196E70E2B6CEC5 /* AMapSearchKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchKit.h; path = AMapSearchKit.framework/Headers/AMapSearchKit.h; sourceTree = ""; }; + 23EF9BD363F0C6965095DA3196AAEAD4 /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; + 23FB985D2DB41ABB93FC464B4BD3AA55 /* JXCategoryIndicatorImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorImageView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.h; sourceTree = ""; }; + 244DE358E37D514D5FDEA10CADC99C49 /* RTLManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RTLManager.m; path = Sources/RLTManager/RTLManager.m; sourceTree = ""; }; + 247056364BE55913A6DFA421B386C5DF /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQKeyboardManagerSwift/IQTextView/IQTextView.swift; sourceTree = ""; }; + 24A42DA131B6172FC74C85FD26849C80 /* UIImage+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIImage+DDCategory/UIImage+DDCategory.h"; sourceTree = ""; }; + 24B6EF4A7CF9F4B2B8978FD328BF57C7 /* ZFIJKPlayerManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFIJKPlayerManager.m; path = ZFPlayer/Classes/ijkplayer/ZFIJKPlayerManager.m; sourceTree = ""; }; + 24CCF3C35DA3585E483D2267C1DA0147 /* CrashDetailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrashDetailViewController.swift; path = Sources/App/CrashDetailViewController.swift; sourceTree = ""; }; + 25555966968F40FC4641AF597DAA69D8 /* JXCategoryTitleVerticalZoomCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomCell.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.m; sourceTree = ""; }; + 256C2BBEBC4A20949DB0CA4976169269 /* _ObjcLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _ObjcLog.h; path = Sources/Logs/_ObjcLog.h; sourceTree = ""; }; + 25819363277052090C61BE046C2A311B /* ControlEvent+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlEvent+Driver.swift"; sourceTree = ""; }; + 25868FCD3C484616ED262D3F7E9C31E0 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; 25BA22D5958BA548603A19AAB93FA26A /* Pods-OrderScheduling.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-OrderScheduling.modulemap"; sourceTree = ""; }; - 25E13C3EEFE446F4D5C60A9EDE560D57 /* DDBaseButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseButton.h; path = DDBasicControlsKit_Private/Classes/DDBaseButton/DDBaseButton.h; sourceTree = ""; }; - 2629C8C75F7544CA7AC76890EB779187 /* DDWebImageKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDWebImageKit_Private.modulemap; sourceTree = ""; }; - 2652ABDB0AE856157EB24ACDE7F1C109 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - 26F34E8B6ED13862BF710C2B32F82048 /* IQNSArray+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQNSArray+Sort.swift"; path = "IQKeyboardManagerSwift/Categories/IQNSArray+Sort.swift"; sourceTree = ""; }; - 270215BAF27EE60E6F706702FB984C9E /* SDImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGIFCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGIFCoder.m; sourceTree = ""; }; - 27309093A7F1D490ACA8CA5F9A42F1AC /* SwiftEntryKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftEntryKit-dummy.m"; sourceTree = ""; }; - 27F03F4441D9C818900AE909D10AD49A /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 282D19080AF20F9B1BA46222C48E79C6 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; - 28309C32D0F8167AB37CA6049A0F2996 /* DDBasicControlsKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDBasicControlsKit_Private-prefix.pch"; sourceTree = ""; }; - 2872E11E1C1649690A1AE0E1D0289464 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; - 2874484DB0A3A35CDC391EAFE70B3BFA /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; - 28B339F8840A1ACF9C6A0EEC4F1756FA /* DDLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDLabel.swift; path = DDControlsKit_Private/Classes/DDLabel/DDLabel.swift; sourceTree = ""; }; - 28D1C4AA6F82692EFEA3FECF570F304C /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalHeader.m; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.m; sourceTree = ""; }; - 28FB29DA3123736C7E215143607466F9 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; - 290D19C0FB873DC76A4ABC3C2405F91A /* MACircleRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACircleRenderer.h; path = AMapNaviKit.framework/Headers/MACircleRenderer.h; sourceTree = ""; }; - 29127FC8D58201928F65FC47C03F110E /* ZFLandscapeWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandscapeWindow.m; path = ZFPlayer/Classes/Core/ZFLandscapeWindow.m; sourceTree = ""; }; - 2912F2AD4810AF34402597A8AD3BBE52 /* JXCategoryViewAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryViewAnimator.h; path = Sources/Common/JXCategoryViewAnimator.h; sourceTree = ""; }; - 2935D3C057FBAA6BA91FEB6E1C86AA43 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateHeader.h; path = MJRefresh/Custom/Header/MJRefreshStateHeader.h; sourceTree = ""; }; - 295309D3D89C264FC62A9F4F35F03F66 /* AMapSearchObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchObj.h; path = AMapSearchKit.framework/Headers/AMapSearchObj.h; sourceTree = ""; }; - 299701559FAB874E2652BA6F06552CBB /* JXCategoryCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryCollectionView.m; path = Sources/Common/JXCategoryCollectionView.m; sourceTree = ""; }; - 29AA1A8B6BE56F500A96454977C1D1E5 /* AMapNavi-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapNavi-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; - 29C24471798AF7B7F245278CC18F8986 /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; - 2A06B54A8457BDFAD948FE9A9045DC7D /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; - 2A0A051F9D46BFFEEDA4CCBA9DE4DFA2 /* SDAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImage.h; sourceTree = ""; }; - 2A2FC9CF73EEF60997FA732CC06BE234 /* UINavigationBar+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationBar+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationBar+DDCategory/UINavigationBar+DDCategory.h"; sourceTree = ""; }; - 2A63A9FE78162032ED95AF901744A034 /* MACircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACircle.h; path = AMapNaviKit.framework/Headers/MACircle.h; sourceTree = ""; }; - 2A6AB47529E4D2B7FA3F9DE128F564C6 /* Infallible+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Zip+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+Zip+arity.swift"; sourceTree = ""; }; - 2AD762B63EAF569EBE6407A06D88B95A /* String+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+ZLPhotoBrowser.swift"; path = "Sources/Extensions/String+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 2AE402459F6D4CE991232BF8CEFEA31F /* NSBezierPath+SDRoundedCorners.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBezierPath+SDRoundedCorners.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m"; sourceTree = ""; }; - 2B1E87B5F4F52E5B8427C9B7735C2B82 /* AMapNaviHUDView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviHUDView.h; path = AMapNaviKit.framework/Headers/AMapNaviHUDView.h; sourceTree = ""; }; - 2B6C883C3324294052FC3299E85375C4 /* DDProgressHUDKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDProgressHUDKit_Private-dummy.m"; sourceTree = ""; }; - 2C361B8A805D198E77C68F1CB6A9565D /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; - 2C511C1289D5487B6805A6FF8493FC99 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; - 2C604E62D9D0E0BE5335F770E114C364 /* EKPopUpMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKPopUpMessageView.swift; path = Source/MessageViews/EKPopUpMessageView.swift; sourceTree = ""; }; - 2C7FF24B0375D4BD20770A85FD4F886C /* AMapTrackError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackError.h; path = AMapTrackKit.framework/Headers/AMapTrackError.h; sourceTree = ""; }; - 2C8CE83F179D95664AB66EBA5B8D3D25 /* AMapURLSearchConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearchConfig.h; path = AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h; sourceTree = ""; }; - 2C8F4D62748AF8F7FC5EFB3507824011 /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWeakProxy.h; sourceTree = ""; }; - 2CE60E12C0A9D0C204A6C13325B8DC39 /* DDProgressHUD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDProgressHUD.swift; path = DDProgressHUDKit_Private/Classes/DDProgressHUD.swift; sourceTree = ""; }; - 2D0A1920F3720D0E27D9006898CCA800 /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - 2D175CE9E7E0AE9DCAF675F0B5C8DF62 /* AMapFoundation-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapFoundation-NO-IDFA.release.xcconfig"; sourceTree = ""; }; - 2D577522565702C2275ADE18C6DEFB9D /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + 2606BF073ED1C36ADE1A3C41F209B677 /* UIScreen+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScreen+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIScreen+DDCategory/UIScreen+DDCategory.h"; sourceTree = ""; }; + 267AF367F19E8311D957C67CA690AEF4 /* SDImageAWebPCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAWebPCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAWebPCoder.m; sourceTree = ""; }; + 26C52C781C452E599DAAE2A422D5B2AC /* _OCLogStoreManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _OCLogStoreManager.h; path = Sources/Logs/_OCLogStoreManager.h; sourceTree = ""; }; + 272686D4A5F7C20D07B917D15F484D22 /* QLCompatibility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QLCompatibility.swift; path = Source/Extensions/QuickLayout/QLCompatibility.swift; sourceTree = ""; }; + 274970F044AF576D1DD25CE778B8A75F /* AMapTrackTerminalObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackTerminalObj.h; path = AMapTrackKit.framework/Headers/AMapTrackTerminalObj.h; sourceTree = ""; }; + 27641B45EBDE3281D2AE9E24E137D642 /* MAOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlay.h; path = AMapNaviKit.framework/Headers/MAOverlay.h; sourceTree = ""; }; + 2765BC72119437D2DD5A8D2CD950903A /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = ""; }; + 2775A9D996B9DB4FDA18A18CF110EABB /* ZLPhotoBrowser.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = ZLPhotoBrowser.bundle; path = Sources/ZLPhotoBrowser.bundle; sourceTree = ""; }; + 278575DC613BC14FB058C498698F6B80 /* DDWebImageKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDWebImageKit_Private-prefix.pch"; sourceTree = ""; }; + 27A215E415949FE7A5E224EB198C3672 /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; + 27E22905142190EF0B7035F47C722D4F /* EKAttributes+Precedence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Precedence.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Precedence.swift"; sourceTree = ""; }; + 282C216D764C2B43B3E2F7FC13035FFF /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager.swift; sourceTree = ""; }; + 288B87DE2A9B1FCCA16A93D2860F3B7B /* UIRectCorner+Short.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRectCorner+Short.swift"; path = "Source/Extensions/UIRectCorner+Short.swift"; sourceTree = ""; }; + 28C2F4526FBFD0D012ADEA6705535EBE /* MJRefresh.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.release.xcconfig; sourceTree = ""; }; + 297614BCE46996073F62966B3254CAFC /* ZFFloatView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFFloatView.m; path = ZFPlayer/Classes/Core/ZFFloatView.m; sourceTree = ""; }; + 297D14C33E9EF9C657A066281CE55BB8 /* UIView+ZFFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+ZFFrame.h"; path = "ZFPlayer/Classes/ControlView/UIView+ZFFrame.h"; sourceTree = ""; }; + 29FBB3D167B8DF7BCFE9BD71DDDFB265 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; + 2A21382378B3B4CDBD91596FA801A46B /* EKRatingSymbolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingSymbolView.swift; path = Source/MessageViews/MessagesUtils/EKRatingSymbolView.swift; sourceTree = ""; }; + 2A36AE6CBE75F741A87DB76207DD70FF /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 2A83B64A488CD482E4ABCBEDDC7958B4 /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; + 2AD66C3F696FC3552D246289D86A689C /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + 2B43F372D78CE88CFD54405E74161ED7 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateHeader.h; path = MJRefresh/Custom/Header/MJRefreshStateHeader.h; sourceTree = ""; }; + 2B76F23F9088B7EA57A464FF8546A456 /* RTLManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RTLManager.h; path = Sources/RLTManager/RTLManager.h; sourceTree = ""; }; + 2BB0DF11CD844E256388256F6E16FD52 /* UIImage+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIImage+DDCategory/UIImage+DDCategory.m"; sourceTree = ""; }; + 2BE80AF0E3A430CA28CC3D73F7868541 /* icon_file_type_mpg.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_mpg.png; path = Sources/Resources/FileType/icon_file_type_mpg.png; sourceTree = ""; }; + 2BE85FE72A1123D80C8A7CA095073318 /* ZLPhotoPreviewPopInteractiveTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewPopInteractiveTransition.swift; path = Sources/Animation/ZLPhotoPreviewPopInteractiveTransition.swift; sourceTree = ""; }; + 2C1C4A3E2178000E5EFB7C49B94F661B /* JPush.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JPush.release.xcconfig; sourceTree = ""; }; + 2C61171400441C18A9F3BC0FEFB91AE1 /* SwiftEntryKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftEntryKit.modulemap; sourceTree = ""; }; + 2C70D262D9E322F57BD2275470F7107C /* IQKeyboardManagerConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstants.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift; sourceTree = ""; }; + 2C7547C00E2A45DF6BED4083EFBB9BC1 /* JXCategoryDotView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotView.h; path = Sources/Dot/JXCategoryDotView.h; sourceTree = ""; }; + 2C92CF4B3E4D7092073D7CCA02A72D21 /* SharedSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Concurrency.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Concurrency.swift"; sourceTree = ""; }; + 2CB15C0D1BBC42BF51EA29ABAA2E9F0C /* SDAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView.m; sourceTree = ""; }; + 2D1A9AC22D036AC0B4A4806FA073E98F /* GradientView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientView.swift; path = Source/Utils/GradientView.swift; sourceTree = ""; }; + 2D43BCA94A4D06A5FDE9A191CD974961 /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift; sourceTree = ""; }; + 2D46E25BA0E500D15D0D9CF8F9112A5C /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + 2D678719356F613B1AD8D9E9745A2913 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; + 2D6AED8ECFF2278AD92D73718DAF6DBD /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIButton+WebCache.m"; sourceTree = ""; }; + 2DBA92B6BFF642C08F8B160F078141D9 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; + 2DD10332BF756A24EF46B238AD204B65 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; 2DE47AF6516BB19369CA020EA7C48A4A /* DDNetworkingOfAlamofireKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDNetworkingOfAlamofireKit_Private; path = libDDNetworkingOfAlamofireKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E26E70BCBF1109FB105618F23DD6BB6 /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQKeyboardManagerSwift/IQTextView/IQTextView.swift; sourceTree = ""; }; - 2E39C269A97D6536ED5317FC0B2D7563 /* MJRefresh.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = MJRefresh.bundle; path = MJRefresh/MJRefresh.bundle; sourceTree = ""; }; - 2E62954B5176FBEB5F64B748589079EE /* ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoBrowser.swift; path = Sources/General/ZLPhotoBrowser.swift; sourceTree = ""; }; - 2E9F06E32F7D9FF514B903A5EFBF3C7C /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOperation.h; sourceTree = ""; }; - 2ED7BA9FD4828987FE817B3C2971E6C3 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; - 2EECC4113B6D446184136B6B159D83B5 /* Bool+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bool+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Bool+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 2F3E093732F9246792C0B6E687DD9D44 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCache.h"; sourceTree = ""; }; - 2F4BF232B50ADCB60D50D62600432E7F /* FontUtil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FontUtil.swift; path = DDFontKit_Private/Classes/FontUtil.swift; sourceTree = ""; }; - 2F5CABA123490D4070674BFB696C67E4 /* SDDisplayLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDisplayLink.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDisplayLink.m; sourceTree = ""; }; - 2FFE94E872A20CDFA4F6734001B4F3F9 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; - 3034FF9BD293C66A3A2BB3508E2B15FB /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - 308266C5025283F1E98CAA23584FCA85 /* IQUIView+IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbar.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift"; sourceTree = ""; }; - 30839F4CA2C472A4EFC81A353C0EDCD0 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - 308E6FA61D35B8BECD5CF36E6BDC548E /* JXCategoryTitleVerticalZoomView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomView.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.m; sourceTree = ""; }; - 30CE98C5D6023BE278175EF15E59EF33 /* DDFontKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDFontKit_Private-dummy.m"; sourceTree = ""; }; - 30E8807653D14DD2266B0694899F4F4D /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCache.m"; sourceTree = ""; }; - 310DC8974BD185BD7CF87285C93A1993 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; - 313BA2413E18C186F215E2194646CB41 /* ZFNetworkSpeedMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFNetworkSpeedMonitor.h; path = ZFPlayer/Classes/ControlView/ZFNetworkSpeedMonitor.h; sourceTree = ""; }; - 31481247B46DCC1FDAC9F3CCB44C3674 /* DDBasicControlsKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDBasicControlsKit_Private.modulemap; sourceTree = ""; }; - 315B39C073CAA6A425972C95E18E3C61 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoadersManager.h; sourceTree = ""; }; - 31BCAE2909EA8487A425DDA239179276 /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; - 3224D28CD890FD6D23C05B0B0373F9DE /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; - 32637B6BAFD95E5FAE84D0BC42233279 /* UIImage+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIImage+DDCategory/UIImage+DDCategory.h"; sourceTree = ""; }; - 32B6C9FC55421EC0891EEB77051191F0 /* ZLThumbnailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLThumbnailViewController.swift; path = Sources/General/ZLThumbnailViewController.swift; sourceTree = ""; }; - 32F89603EFBEC1D47085F0A56EFEC7D4 /* NSMutableParagraphStyle+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableParagraphStyle+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableParagraphStyle+DDCategory.h"; sourceTree = ""; }; - 332AC59D916C977A7B455CE0861008EC /* DDScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDScrollView.swift; path = DDControlsKit_Private/Classes/DDScrollView/DDScrollView.swift; sourceTree = ""; }; - 332BF5D077B7A87A2D9B883F238DB39E /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; - 33864E7FE4618F867F0D52B425BE2A89 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIButton+WebCache.h"; sourceTree = ""; }; - 33B95914A89EBCDBD86D04944B5B9EEA /* DDBaseViewModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseViewModel.m; path = DDBasicControlsKit_Private/Classes/DDBaseViewModel/DDBaseViewModel.m; sourceTree = ""; }; - 33DD2FD2E3BC2DB13C32E3C54B9D5C40 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; - 33F710F7F397E96CB625FE408833B0E9 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; - 34319F6AE82891AE29F59BA2C6C6BD58 /* UIApplication+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIApplication+DDCategory/UIApplication+DDCategory.m"; sourceTree = ""; }; - 343F6F3830F7B1B5BEC510FC0FEBE7BB /* ZFPlayerMediaControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerMediaControl.h; path = ZFPlayer/Classes/Core/ZFPlayerMediaControl.h; sourceTree = ""; }; - 34431EE38E4AF581D27534BB78461290 /* JXCategoryTitleVerticalZoomView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomView.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.h; sourceTree = ""; }; - 3470646136BC8BA56DEB5445F07DEE77 /* Array+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Array+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 347C0076DEC0BB5A07137B78524E04C3 /* ZFPersentInteractiveTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPersentInteractiveTransition.m; path = ZFPlayer/Classes/Core/ZFPersentInteractiveTransition.m; sourceTree = ""; }; - 34C2756B00AC88A396952D626B495CC4 /* AMapLocation-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapLocation-NO-IDFA.release.xcconfig"; sourceTree = ""; }; - 34D02251B3BFF0BEA261D2342EAEA473 /* EKStyleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKStyleView.swift; path = Source/Infra/EKStyleView.swift; sourceTree = ""; }; - 34DD58A54E7FDEC80E1477F08DCF7F30 /* DDCategoryKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDCategoryKit_Private.release.xcconfig; sourceTree = ""; }; - 34E7F440D1D3ABCFEECA0BF4F45C70C1 /* IQKeyboardReturnKeyHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnKeyHandler.swift; path = IQKeyboardManagerSwift/IQKeyboardReturnKeyHandler.swift; sourceTree = ""; }; - 3530D9C328D172A5E9E52705CE33873F /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - 356FACAC7B5F24F8514CA5DC7EB5A21E /* SDFileAttributeHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDFileAttributeHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDFileAttributeHelper.m; sourceTree = ""; }; - 358A43A99728CB81B2ABE942903DED92 /* MAHeatMapVectorGridOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorGridOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorGridOverlayRenderer.h; sourceTree = ""; }; + 2E339D403618E1B612E6234948887728 /* icon_file_type_plist@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_plist@2x.png"; path = "Sources/Resources/FileType/icon_file_type_plist@2x.png"; sourceTree = ""; }; + 2E605D0A3BFB2EBC612897D59AAB49DC /* AMapNaviWalkManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkManager.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkManager.h; sourceTree = ""; }; + 2E8E9BEF4F1EF1B81499B3EFDB71695D /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + 2F2C4C8E57DD9187CE7CE4C87FE90D8A /* icon_file_type_pages@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_pages@2x.png"; path = "Sources/Resources/FileType/icon_file_type_pages@2x.png"; sourceTree = ""; }; + 2F583D9600D5B7FA64D080F0E12AF4C8 /* icon_file_type_pdf@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_pdf@3x.png"; path = "Sources/Resources/FileType/icon_file_type_pdf@3x.png"; sourceTree = ""; }; + 2FBC0E98FA5DCECB6588876945A7C2DC /* UIImageView+DDWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+DDWebCache.m"; path = "DDWebImageKit_Private/Classes/DDWebImage/UIImageView+DDWebCache.m"; sourceTree = ""; }; + 2FE7FF23BEC03F2C9E6D5F8B26E9560D /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + 2FF4EF6D2E392361DDB5AD7E17ED2BE9 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + 2FFB695E09CFC9D707CF70E7382E58F7 /* NSURL+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURL+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSUrl+DDCategory/NSURL+DDCategory.h"; sourceTree = ""; }; + 302C164B897C7495BE1D74BF7811A9CD /* DDTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTableViewCell.swift; path = DDControlsKit_Private/Classes/DDTableViewCell/DDTableViewCell.swift; sourceTree = ""; }; + 30B1718F14FC3EFEDB25A9FEEB147CE5 /* DDMANaviManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMANaviManager.m; path = DDMAMapKit_Private/Classes/DDMANaviManager/DDMANaviManager.m; sourceTree = ""; }; + 30D183E521CC8CD86A339C5481D98365 /* JCore-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "JCore-xcframeworks.sh"; sourceTree = ""; }; + 30D7FA7D9363D22F7E6AC2527568EAFC /* RxCollectionViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxCollectionViewReactiveArrayDataSource.swift; sourceTree = ""; }; + 30E1D55FBC7E28012473EEB652949FD7 /* icon_file_type_java@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_java@2x.png"; path = "Sources/Resources/FileType/icon_file_type_java@2x.png"; sourceTree = ""; }; + 312365A735D9F0FBD101347DF84BCDBB /* icon_file_type_swift.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_swift.png; path = Sources/Resources/FileType/icon_file_type_swift.png; sourceTree = ""; }; + 31431E4F7783CA6DECF230375B22B68F /* ZLEditImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditImageViewController.swift; path = Sources/Edit/ZLEditImageViewController.swift; sourceTree = ""; }; + 3151AB255E960BB2CCD8D4CD30C3D422 /* NSTextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextView+Rx.swift"; path = "RxCocoa/macOS/NSTextView+Rx.swift"; sourceTree = ""; }; + 3174809B0F67CE51752DDC4F231FAAE6 /* UIView+ZFFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+ZFFrame.m"; path = "ZFPlayer/Classes/ControlView/UIView+ZFFrame.m"; sourceTree = ""; }; + 31ABF7C35506912286BA9B2330822BFE /* MAHeatMapVectorGridOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorGridOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorGridOverlayRenderer.h; sourceTree = ""; }; + 31C5CC48E46B0EA7862196C2AE9F4875 /* IQUIView+IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbar.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift"; sourceTree = ""; }; + 326ECD71DB8C1B3A59010955353BE8C9 /* SDImageAWebPCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAWebPCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAWebPCoder.h; sourceTree = ""; }; + 32B551D0819473A60747E18B4C14A1DB /* UIViewController+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIViewController+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 32C1D5C5D2BFD3F08AE56FA809151A76 /* UITextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+Rx.swift"; path = "RxCocoa/iOS/UITextField+Rx.swift"; sourceTree = ""; }; + 32D774E2D779AAC49B8B03E710852AB4 /* EKNotificationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNotificationMessage.swift; path = Source/Model/EKNotificationMessage.swift; sourceTree = ""; }; + 32D8F7FADD3ABF41571DF3F4CAB89F5A /* DDMAMapKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDMAMapKit_Private-prefix.pch"; sourceTree = ""; }; + 32E9BE4062F875B91F2F06F973F6A3BA /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDNetworkingOfAlamofireKit_Private.debug.xcconfig; sourceTree = ""; }; + 32FF6E478C4EA552462AA91836D97973 /* ZLPhotoPreviewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewCell.swift; path = Sources/General/ZLPhotoPreviewCell.swift; sourceTree = ""; }; + 3300A74A1DB6FB59FD24F4E026746728 /* ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; sourceTree = ""; }; + 33199B0101934631304EF568C920275F /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalHeader.h; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.h; sourceTree = ""; }; + 333A64D70D3E61CF1D8B7206D5568B6F /* UITabBarController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITabBarController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITabBarController+DDCategory/UITabBarController+DDCategory.h"; sourceTree = ""; }; + 33568C1BEBEDCE39BBD51BF468C70EE3 /* CocoaDebugSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebugSettings.swift; path = Sources/Core/CocoaDebugSettings.swift; sourceTree = ""; }; + 33761B007481B9B60FD6C6F2A8F99769 /* _ImageResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _ImageResources.m; path = Sources/Sandbox/_ImageResources.m; sourceTree = ""; }; + 33A71CB8AD0761E6670E870EE105C59A /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCacheOperation.m"; sourceTree = ""; }; + 3407D50EC70483FDA9E32E0E3739FDA5 /* DDNavigationControllerDelegateReceiver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDNavigationControllerDelegateReceiver.m; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDNavigationControllerDelegateReceiver.m; sourceTree = ""; }; + 34125CF1458331C6F25E7C793B1F4D79 /* MAIndoorInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAIndoorInfo.h; path = AMapNaviKit.framework/Headers/MAIndoorInfo.h; sourceTree = ""; }; + 34203AC5A0D15836A79B5843F12CA326 /* UIColor+SDHexString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+SDHexString.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/UIColor+SDHexString.m"; sourceTree = ""; }; + 342139A14FF4D75200976E7F5B7A8B80 /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDefine.h; sourceTree = ""; }; + 34330979B1BE85E0E3F88A24EBBD9325 /* ZFLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLoadingView.h; path = ZFPlayer/Classes/ControlView/ZFLoadingView.h; sourceTree = ""; }; + 34637880E2337056CAADD8E4A1805D25 /* DDBasicControlsKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDBasicControlsKit_Private-prefix.pch"; sourceTree = ""; }; + 3480149906C7B359B9F9BFB647326F50 /* _CustomHTTPProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _CustomHTTPProtocol.m; path = Sources/CustomHTTPProtocol/_CustomHTTPProtocol.m; sourceTree = ""; }; + 34A33C7DAE56667B386823668A449AA9 /* icon_file_type_mp4.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_mp4.png; path = Sources/Resources/FileType/icon_file_type_mp4.png; sourceTree = ""; }; + 34B04C9C41BDA03F867994EE028D919B /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; + 34BA8B989C8FDFFD02055DDC2247C462 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 34DAA9BC397A3FAFAA86E321CD99AB39 /* UIApplication+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIApplication+DDCategory/UIApplication+DDCategory.h"; sourceTree = ""; }; + 34DB5BB7577231DBDF520EAC89E18916 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 34FB247C87DECC020200EDD0F3DFF8EF /* JXCategoryDotCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotCellModel.h; path = Sources/Dot/JXCategoryDotCellModel.h; sourceTree = ""; }; + 3533A414351489BABC7EA1F60292F9CB /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; + 35399BE715F8DEC8BE673752C91846AE /* AMapSearchError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchError.h; path = AMapSearchKit.framework/Headers/AMapSearchError.h; sourceTree = ""; }; + 353B71F6984CB923BDFE4334EB21C789 /* UIScrollView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIScrollView+DDCategory/UIScrollView+DDCategory.m"; sourceTree = ""; }; + 35452E6BBD8DBB01F77B48962C993349 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; + 357A8F177F9FD2E2ABEABC3DFD1BC0FB /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + 357F8EDD989A03B5C81A0CCCA538C691 /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; + 359946FB2FF6AAC3622279A18EF017D3 /* YYImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYImage.debug.xcconfig; sourceTree = ""; }; 35BC09180850FDD03C450D14BD310714 /* DDProgressHUDKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDProgressHUDKit_Private; path = libDDProgressHUDKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 35C09C50C9838F729DC091AE4670FDF0 /* DDNavigationControllerDelegateReceiver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDNavigationControllerDelegateReceiver.h; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDNavigationControllerDelegateReceiver.h; sourceTree = ""; }; - 3638708737B9B113A86B5B125252EDEA /* ZFPlayerMediaPlayback.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerMediaPlayback.h; path = ZFPlayer/Classes/Core/ZFPlayerMediaPlayback.h; sourceTree = ""; }; - 36578A8C271722BB62B2C9A2C59D036B /* DDColorKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDColorKit_Private.modulemap; sourceTree = ""; }; - 36775DB63F8830B51329D407EC250ACA /* UITableView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITableView+DDCategory/UITableView+DDCategory.m"; sourceTree = ""; }; - 36869151AB46F5DDFF906AF8C831175B /* MAPolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAPolylineRenderer.h; sourceTree = ""; }; - 370366858CA842942EC2D63A5BB95B7F /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; - 37419015D2FB2786D8DEE83BB5EBDF64 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; - 37B388A14BCD2F2D6914B57584ED1AC5 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; - 37B6FC71CAEE8CABAE8792BA19335D56 /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImage.m; sourceTree = ""; }; - 37DB43D7CDFD7829549D69AFF4090564 /* MAMapCustomStyleOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapCustomStyleOptions.h; path = AMapNaviKit.framework/Headers/MAMapCustomStyleOptions.h; sourceTree = ""; }; - 37FFE786666F4F117875D90064508688 /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = ""; }; - 3807C6FEBE7FFE10B504C8EE5EB0A37B /* ZFLandscapeViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandscapeViewController.h; path = ZFPlayer/Classes/Core/ZFLandscapeViewController.h; sourceTree = ""; }; - 384994743AC9F75E27A3CDA4F1A47799 /* JXCategoryCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryCollectionView.h; path = Sources/Common/JXCategoryCollectionView.h; sourceTree = ""; }; - 385B33E58D048629804CEF8234843042 /* DDColorKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDColorKit_Private-prefix.pch"; sourceTree = ""; }; - 385FE6D9FEA4E825C5CE500B4F2D5452 /* MKAnnotationView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MKAnnotationView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImageMapKit/MapKit/MKAnnotationView+WebCache.h"; sourceTree = ""; }; - 38A821F5526BB8E5FBA6333F5A388009 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheConfig.h; sourceTree = ""; }; - 38DA9729758C0BADCA3E7AD9D88CB972 /* AMapNaviDriveDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveDataRepresentable.h; sourceTree = ""; }; - 38DEB0B043750586E18ADC9024266F10 /* DDImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDImage.swift; path = DDControlsKit_Private/Classes/DDImage/DDImage.swift; sourceTree = ""; }; - 38EF432FE02378DD4289660DBA7C9EA4 /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView+WebCache.h"; sourceTree = ""; }; - 38F770A3EED67057327DBE18FA251D3D /* AMapTrackHistoryObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackHistoryObj.h; path = AMapTrackKit.framework/Headers/AMapTrackHistoryObj.h; sourceTree = ""; }; - 38FE1025C74543255E008560111EE3AF /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - 39057264458F80C8862F4BDD19C3E375 /* AMapNaviKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapNaviKit.framework; sourceTree = ""; }; - 390FECAACB630E47B5EF76D29F773B01 /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; - 393126E20D6C9DD39A1E8C7B465B8C41 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageManager.h; sourceTree = ""; }; - 394570F9DDF81CD9B94EFE0886DBD34F /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; - 395785F4A9D0B715647139740347B1FD /* JXCategoryIndicatorCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorCell.m; path = Sources/Indicator/JXCategoryIndicatorCell.m; sourceTree = ""; }; - 397269411299DA946869109B9E51C13C /* UITextView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITextView+DDCategory/UITextView+DDCategory.m"; sourceTree = ""; }; - 398E132E5A43118FB9EA9492E9455982 /* EKAttributes+Presets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Presets.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Presets.swift"; sourceTree = ""; }; - 39A8C69FB90EE16E87E8806C322221EB /* JXCategoryTitleCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleCellModel.m; path = Sources/Title/JXCategoryTitleCellModel.m; sourceTree = ""; }; - 39B7431B7EF76FF0CE3887FCF17FD0B9 /* JXCategoryImageCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageCell.m; path = Sources/Image/JXCategoryImageCell.m; sourceTree = ""; }; - 39BBD3F935B2B11E444B325BDF8FB4E4 /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoGifFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h; sourceTree = ""; }; - 39C37F77F2ED64936210961C80DE2B95 /* DDLogKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDLogKit_Private.modulemap; sourceTree = ""; }; - 3A2ACBC11F7C71AC47CE26B1F1909987 /* DDFontKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDFontKit_Private.release.xcconfig; sourceTree = ""; }; - 3A44003C39DF4D200FEFFA6DCDA0BD8B /* MAPolygonRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolygonRenderer.h; path = AMapNaviKit.framework/Headers/MAPolygonRenderer.h; sourceTree = ""; }; - 3A5E8489AE981A60B2815DA654642FCD /* MAMapVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapVersion.h; path = AMapNaviKit.framework/Headers/MAMapVersion.h; sourceTree = ""; }; - 3A5FCF1C630A2AF151F136A1395016D1 /* ZLPhotoManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoManager.swift; path = Sources/General/ZLPhotoManager.swift; sourceTree = ""; }; - 3A894F8F6802090FDB5911EBF1C17689 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; - 3AE5362F4592E63A0E24BDE44E9B42ED /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - 3B3AFF81F7F9BA120A787EAACA759CFC /* Sources_DDMAMap */ = {isa = PBXFileReference; includeInIndex = 1; name = Sources_DDMAMap; path = DDMAMapKit_Private/Assets/Sources_DDMAMap; sourceTree = ""; }; - 3B4F334EC664074DAFA36EF236B3D3DC /* IQKeyboardManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Toolbar.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Toolbar.swift"; sourceTree = ""; }; - 3B63B91FB14D6BC5149A241BB9B98281 /* MAGroundOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGroundOverlay.h; path = AMapNaviKit.framework/Headers/MAGroundOverlay.h; sourceTree = ""; }; - 3BD58C350DD433AD985B5BF47438E6E9 /* DDMAMapKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDMAMapKit_Private.release.xcconfig; sourceTree = ""; }; - 3C27622A58C8B6DF947096DB8C5F2C27 /* NSObject+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSObject+DDCategory/NSObject+DDCategory.m"; sourceTree = ""; }; - 3C32556B7118AF696249225F0A517348 /* ESTabBarItemContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemContainer.swift; path = Sources/ESTabBarItemContainer.swift; sourceTree = ""; }; - 3C4476265B1F808102F32AC298F2611C /* DDTimerManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTimerManager.h; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerManager.h; sourceTree = ""; }; - 3C6211C3F66BA00109F8CCD3F3BD8BCD /* ZLEditImageConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditImageConfiguration.swift; path = Sources/General/ZLEditImageConfiguration.swift; sourceTree = ""; }; - 3CBE580BDBDD64676B6A7A80D71C96AE /* ZFPlayerNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerNotification.m; path = ZFPlayer/Classes/Core/ZFPlayerNotification.m; sourceTree = ""; }; - 3D187095D15A35DAEB7BB6B89C1140F1 /* SwiftEntryKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftEntryKit.swift; path = Source/SwiftEntryKit.swift; sourceTree = ""; }; - 3D8C9277ED75483A7CE4839B89FC67FC /* JXCategoryNumberCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberCell.m; path = Sources/Number/JXCategoryNumberCell.m; sourceTree = ""; }; - 3DAC19BC76A2A9E920FF049E5A75E2FE /* MJRefreshNormalTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalTrailer.m; path = MJRefresh/Custom/Trailer/MJRefreshNormalTrailer.m; sourceTree = ""; }; - 3DDA264E674D7AEBAC8EDE33C6246BAB /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 3DEEB0A1E76125FB49FD5575003252EB /* UIView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIView+DDCategory/UIView+DDCategory.h"; sourceTree = ""; }; - 3E61050A2A3084F4E34A20F4D7D72AF6 /* JXCategoryNumberCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberCell.h; path = Sources/Number/JXCategoryNumberCell.h; sourceTree = ""; }; - 3E6FE2B6B31B4400D2DECAD7E2C599E1 /* ZLInputTextViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLInputTextViewController.swift; path = Sources/Edit/ZLInputTextViewController.swift; sourceTree = ""; }; - 3E75EA48C375542518B6FAAF7152FDA1 /* SDAnimatedImagePlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImagePlayer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImagePlayer.m; sourceTree = ""; }; - 3EA65439CC45CC46BEEFC2F6AF289CAF /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - 3EDAE2DB4597E1846378B61C64D566F7 /* MAShape.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAShape.h; path = AMapNaviKit.framework/Headers/MAShape.h; sourceTree = ""; }; - 3F0AB1AB9FF0770ADDEEB86B21822D94 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - 3F38FFF90202D9E904AA825348B55FF9 /* EKAttributes+PositionConstraints.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+PositionConstraints.swift"; path = "Source/Model/EntryAttributes/EKAttributes+PositionConstraints.swift"; sourceTree = ""; }; - 3F50D16D806F61359147DC51BBC05EA3 /* ZLEnlargeButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEnlargeButton.swift; path = Sources/General/ZLEnlargeButton.swift; sourceTree = ""; }; + 35EA4E93FCBC467AD822BE4F995ABCEC /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoStateFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h; sourceTree = ""; }; + 36038E1EEBBFD4A6AB608812D2A5B2D6 /* DDMAMapView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMAMapView.h; path = DDMAMapKit_Private/Classes/DDMAMap/MapView/DDMAMapView.h; sourceTree = ""; }; + 361ECF3A3A95BFDBAC9E1A2A7EBCBEC1 /* AMapTrack-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapTrack-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; + 365CF9EAC66E9651EF91E99791A62E4D /* _OCLogHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _OCLogHelper.h; path = Sources/Logs/_OCLogHelper.h; sourceTree = ""; }; + 36A74E28F6ED5316496C2F41F4DB224B /* MJRefreshStateHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateHeader.m; path = MJRefresh/Custom/Header/MJRefreshStateHeader.m; sourceTree = ""; }; + 36BF4E3AB852252F1FB150426A1B871A /* AMapNaviCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCommonObj.h; path = AMapNaviKit.framework/Headers/AMapNaviCommonObj.h; sourceTree = ""; }; + 36C7D8BFF9719DBD302B4748DFF5916F /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 3722F8ECDCBAC3E8F9B7A2D51A23D261 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 372378286FFDD27160E7F6A38BBC541B /* JXCategoryView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JXCategoryView.modulemap; sourceTree = ""; }; + 3729B5556D1432D618769806F36CA693 /* ESTabBarItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItem.swift; path = Sources/ESTabBarItem.swift; sourceTree = ""; }; + 377DF829D349D888C2564A28054D721F /* icon_file_type_jpg.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_jpg.png; path = Sources/Resources/FileType/icon_file_type_jpg.png; sourceTree = ""; }; + 3784A3DB789650F932D9963F4C17199D /* icon_file_type_css.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_css.png; path = Sources/Resources/FileType/icon_file_type_css.png; sourceTree = ""; }; + 37947F46197D4B01F887E80DBED6DA85 /* UIImageView+DDWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+DDWebCache.h"; path = "DDWebImageKit_Private/Classes/DDWebImage/UIImageView+DDWebCache.h"; sourceTree = ""; }; + 3797D1DD5B1A0F195846CE836CB19152 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 37B806A74D685E4D9B0C9D8245773FE4 /* icon_file_type_psd@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_psd@3x.png"; path = "Sources/Resources/FileType/icon_file_type_psd@3x.png"; sourceTree = ""; }; + 37E6C43294F379C1F73632E527FF4D91 /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackNormalFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h; sourceTree = ""; }; + 37E9275CE4749660A4D4C0D4DCAD4714 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; + 3817018A176F32841665B6299C9348AF /* JXCategoryIndicatorLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.h; sourceTree = ""; }; + 3823CE3B2382A22A586BE19EC92D84BD /* DDProgressHUDKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDProgressHUDKit_Private-dummy.m"; sourceTree = ""; }; + 3843D64B5FA179D9BACFAF17D396593D /* NSBundle+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSBundle+DDCategory/NSBundle+DDCategory.h"; sourceTree = ""; }; + 3846F37A5DA9E2C5B2D4B14769A73D4D /* DDMALocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMALocationManager.h; path = DDMAMapKit_Private/Classes/DDMALocation/DDMALocationManager.h; sourceTree = ""; }; + 384B2AC82BAF1E717744E5FBB92C93B4 /* ESTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarController.swift; path = Sources/ESTabBarController.swift; sourceTree = ""; }; + 3851579D6D7B9A1DEB336BE3C3CC978E /* ZLProgressHUD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLProgressHUD.swift; path = Sources/General/ZLProgressHUD.swift; sourceTree = ""; }; + 388B33C8E16AA4A048B560995394CE79 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + 38DED3DD8577511260037661E9F0E9D5 /* JXCategoryNumberCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberCell.m; path = Sources/Number/JXCategoryNumberCell.m; sourceTree = ""; }; + 3913BF4827BA4EE43A7156EF0DCFD54E /* UISlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISlider+Rx.swift"; path = "RxCocoa/iOS/UISlider+Rx.swift"; sourceTree = ""; }; + 392A2D5795D643C123CD2DE3DCCFC789 /* MAGltfOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGltfOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAGltfOverlayRenderer.h; sourceTree = ""; }; + 392DF53475D40453169A04A7799D9234 /* DDTimerKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDTimerKit_Private-umbrella.h"; sourceTree = ""; }; + 392F075778AF340B5CD7F0333BCF0D71 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; + 39CE4F9D8921452FC69767BA88FBD584 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + 39E4A9E9749600FE0A5A2FC3D4DAF2F3 /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + 3A7A457F33ADAAA5F1C81E024A9F9932 /* UICollectionViewCell+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionViewCell+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UICollectionViewCell+DDCategory/UICollectionViewCell+DDCategory.m"; sourceTree = ""; }; + 3A82B5B9C3E96F4257A115BD9DDABDF4 /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; + 3AC7D02A9346AFC288F0369BF341AF0F /* JXCategoryTitleVerticalZoomCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomCellModel.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.h; sourceTree = ""; }; + 3AD747C5387B5EF1AFCEAB6E0E2EBD19 /* AMapNavi-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapNavi-NO-IDFA.release.xcconfig"; sourceTree = ""; }; + 3B3EE9CAD1093B1F8DC4640F0210CD8D /* _ObjcLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _ObjcLog.m; path = Sources/Logs/_ObjcLog.m; sourceTree = ""; }; + 3B5FA71DA9D399A61A1B3A2B1825C3F3 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoderHelper.h; sourceTree = ""; }; + 3B69C15BE754BEB413C6AD5E9143D74F /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 3BBBC12620DACF92FE7EA6C5B7144D83 /* DDNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDNavigationController.swift; path = DDControlsKit_Private/Classes/DDNavigationController/DDNavigationController.swift; sourceTree = ""; }; + 3BCAF3ADB58D918A41D1EA64FA171AF7 /* icon_file_type_numbers.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_numbers.png; path = Sources/Resources/FileType/icon_file_type_numbers.png; sourceTree = ""; }; + 3BEBB0FAE7374602846D24C0F96C1743 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + 3C107F6D383119F70BD50EBABA675821 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + 3C1CFA549F47D268857F856F9A6EED99 /* ZLInputTextViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLInputTextViewController.swift; path = Sources/Edit/ZLInputTextViewController.swift; sourceTree = ""; }; + 3C36B204109042DD0B6FDBF102A97CDB /* MJRefreshNormalTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalTrailer.m; path = MJRefresh/Custom/Trailer/MJRefreshNormalTrailer.m; sourceTree = ""; }; + 3C4C1454733F931C037B8E923AC7F3A7 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + 3C88A907B7E61712111EE763E83B8A24 /* _CustomHTTPProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _CustomHTTPProtocol.h; path = Sources/CustomHTTPProtocol/_CustomHTTPProtocol.h; sourceTree = ""; }; + 3C9CDFEF16400783A779D32A17B03C48 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; + 3CBBF5AE8829A849AFE181302ED7537E /* icon_file_type_jar@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_jar@3x.png"; path = "Sources/Resources/FileType/icon_file_type_jar@3x.png"; sourceTree = ""; }; + 3CDC75464A4FDBC01657C883EBDF5C32 /* _DeviceUtil+Constant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "_DeviceUtil+Constant.m"; path = "Sources/Core/_DeviceUtil+Constant.m"; sourceTree = ""; }; + 3D0434DDDC1823859FCDECE653536246 /* CocoaDebugDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaDebugDeviceInfo.h; path = Sources/Core/CocoaDebugDeviceInfo.h; sourceTree = ""; }; + 3D5226857639A9DF4EE4B0CBD9523CAA /* icon_file_type_zip@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_zip@3x.png"; path = "Sources/Resources/FileType/icon_file_type_zip@3x.png"; sourceTree = ""; }; + 3D5526E0FFE0685D30706502CD85B2D5 /* EKProcessingNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKProcessingNoteMessageView.swift; path = Source/MessageViews/Notes/EKProcessingNoteMessageView.swift; sourceTree = ""; }; + 3D9B676F65F950B53F9EC5AAF0E544DB /* DDBasicControls.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBasicControls.h; path = DDBasicControlsKit_Private/Classes/DDBasicControls.h; sourceTree = ""; }; + 3DA31BA934F80F388C213CEFDAC5AF4B /* MAPolygon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolygon.h; path = AMapNaviKit.framework/Headers/MAPolygon.h; sourceTree = ""; }; + 3E0F4EB84375C126C05AD4FE05EB4252 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + 3E882F0B7D1156EFFE6F670EF0AF29F1 /* DriveRouteCustomAnnotation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DriveRouteCustomAnnotation.m; path = DDMAMapKit_Private/Classes/DDMAMap/Annotation/DriveRouteCustomAnnotation.m; sourceTree = ""; }; + 3E9347B94D188E86576BDFFA19D080BC /* CrashLogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrashLogger.swift; path = Sources/App/CrashLogger.swift; sourceTree = ""; }; + 3E9EF3947148E56802D9E0E4193AA18D /* DDViewControllerAnimatedTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDViewControllerAnimatedTransition.m; path = DDBasicControlsKit_Private/Classes/DDBaseAnimation/DDTransitionAnimation/DDViewControllerAnimatedTransition.m; sourceTree = ""; }; + 3EC5F9CBF003D39ED3B23C49C1028217 /* UIView+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIView+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 3ED17A8A9108C517DFC5DAF611ED244B /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; + 3EDFD7BDDDA8AE33A4419C70C81D19E2 /* SDDisplayLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDisplayLink.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDisplayLink.m; sourceTree = ""; }; + 3F07ADB91B9C983ECCDAAE0828FFBD0F /* SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SharedSequence.swift; path = RxCocoa/Traits/SharedSequence/SharedSequence.swift; sourceTree = ""; }; + 3F0A7AEB2004A9CC2420BAEB4690AEEB /* _FileInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FileInfo.m; path = Sources/Sandbox/_FileInfo.m; sourceTree = ""; }; + 3F0BCB6DD102AF78527E8D8C2DD306EC /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 3F13B0B9EB7C597E3AABDD93B7F89E29 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + 3F1E830694888D939F71C1DCB3E20E29 /* DDBasicControlsKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDBasicControlsKit_Private.debug.xcconfig; sourceTree = ""; }; + 3F53F469511231694565C34CFA8BCED3 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; + 3F64D68BD1FFCA26EE4906BE8D20FBC2 /* SDImageHEICCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageHEICCoder.h; sourceTree = ""; }; 3F659DC98613325346A7F6AF56D2E619 /* DDTimerKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDTimerKit_Private; path = libDDTimerKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F82291D5FAF4348E043E63A57061AF5 /* ZLCameraConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCameraConfiguration.swift; path = Sources/General/ZLCameraConfiguration.swift; sourceTree = ""; }; - 3FA40E7819141FA2A6B27F428C1B99F8 /* ZFReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFReachabilityManager.m; path = ZFPlayer/Classes/Core/ZFReachabilityManager.m; sourceTree = ""; }; - 3FF4EE0F844907B1BF4B6102C6722538 /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; - 4021748C8A97A2B92883ED1E1C597188 /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; - 4077B2CFC3AD50394AA33347D58C9AB3 /* DDAutoUIKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDAutoUIKit_Private-dummy.m"; sourceTree = ""; }; - 40AAC458A5DF678D006FD42DB1C7764A /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - 40E8A77D2026BAD1ED9079B005A68462 /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MemoryCacheCost.m"; sourceTree = ""; }; - 41064A94194F7191F85D64A6943EC379 /* EKButtonBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKButtonBarView.swift; path = Source/MessageViews/MessagesUtils/EKButtonBarView.swift; sourceTree = ""; }; - 41068E0465DBA0197798A284D433A385 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; - 412C13005896D925DE3EC008436D4B65 /* MJRefreshConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConfig.h; path = MJRefresh/MJRefreshConfig.h; sourceTree = ""; }; - 419EF9BE4CB6783AF29FBF2DB73FBE58 /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; - 41B858E531AE6AE607619785C35746CD /* ZFKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFKVOController.m; path = ZFPlayer/Classes/Core/ZFKVOController.m; sourceTree = ""; }; - 41D625B23707C5A6FD4FB96DB186C0FA /* JXCategoryBaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseView.m; path = Sources/Base/JXCategoryBaseView.m; sourceTree = ""; }; - 424F5813A5DD5E9D00807E1211C07D11 /* DDBaseTextField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTextField.h; path = DDBasicControlsKit_Private/Classes/DDBaseTextField/DDBaseTextField.h; sourceTree = ""; }; - 425A9BABB24C27BAAE7820163D1EAED4 /* SDWebImageDownloaderDecryptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderDecryptor.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderDecryptor.m; sourceTree = ""; }; - 426FB4F89F04B290CDA0C0AEC927667E /* MAOfflineItemCommonCity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemCommonCity.h; path = AMapNaviKit.framework/Headers/MAOfflineItemCommonCity.h; sourceTree = ""; }; - 42AD855323940AF0FA5852047AAC08F9 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - 42CBC31700ADDCDED927606D136AAC88 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; - 42D0EDAFDA0C0FE5B10887DC21F24494 /* AMapTrackTerminalObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackTerminalObj.h; path = AMapTrackKit.framework/Headers/AMapTrackTerminalObj.h; sourceTree = ""; }; + 3F72DD9BF6A57A73D87876DB50A405B8 /* MAPathShowRange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPathShowRange.h; path = AMapNaviKit.framework/Headers/MAPathShowRange.h; sourceTree = ""; }; + 3F8B19B991C60C84770762CF5A3BB073 /* ZLImageStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImageStickerView.swift; path = Sources/Edit/ZLImageStickerView.swift; sourceTree = ""; }; + 3F8E5F4FDFA28759E66AA13DB7D63232 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; + 3FB25EFCCAB9C389BD32A7DDA910A385 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; + 3FDE358714555492C683865C73355812 /* DDBaseLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseLabel.h; path = DDBasicControlsKit_Private/Classes/DDBaseLabel/DDBaseLabel.h; sourceTree = ""; }; + 3FFDFD27413F89A9AAAC163FF1FDB9E4 /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift; sourceTree = ""; }; + 4020F6E15072DA006116819BF5EB984A /* MAPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolyline.h; path = AMapNaviKit.framework/Headers/MAPolyline.h; sourceTree = ""; }; + 40596AD095D9775CB950F35D2383018A /* IQNSArray+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQNSArray+Sort.swift"; path = "IQKeyboardManagerSwift/Categories/IQNSArray+Sort.swift"; sourceTree = ""; }; + 4063F3A966CB4DF8C78BCCB3082F3ED6 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxRelay/Observable+Bind.swift"; sourceTree = ""; }; + 406996F5B768FABBDF3880A235CE0C93 /* icon_file_type_ttf@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ttf@2x.png"; path = "Sources/Resources/FileType/icon_file_type_ttf@2x.png"; sourceTree = ""; }; + 4071607ED4AF2496F4E5EC7F9B7AD86B /* AMapLocationVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationVersion.h; path = AMapLocationKit.framework/Headers/AMapLocationVersion.h; sourceTree = ""; }; + 40CAFB3E1A3C9EC8AADBEDCAB9655044 /* ZLAlbumListController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListController.swift; path = Sources/General/ZLAlbumListController.swift; sourceTree = ""; }; + 414066C6BD8182D3942E4A7C9097FCFF /* DDMAMapKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDMAMapKit_Private.modulemap; sourceTree = ""; }; + 41940DCED3D4DB7D1DB7DAA34B5A3EF7 /* ZFPlayer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZFPlayer.modulemap; sourceTree = ""; }; + 41956AF245AFA272DEA39B75395CCF7C /* icon_file_type_tif.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_tif.png; path = Sources/Resources/FileType/icon_file_type_tif.png; sourceTree = ""; }; + 41BA120647981210C54376CF0EFC2B8E /* icon_file_type_dll.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_dll.png; path = Sources/Resources/FileType/icon_file_type_dll.png; sourceTree = ""; }; + 41CE46C63B37A5D33C48C61B25672C66 /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheKeyFilter.h; sourceTree = ""; }; + 41DA1776EB5EE843FAACE27C5B63BD29 /* icon_file_type_wav.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_wav.png; path = Sources/Resources/FileType/icon_file_type_wav.png; sourceTree = ""; }; + 41DA7BCDAE94A98BD8E44603B7561ECD /* MAOfflineItemCommonCity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemCommonCity.h; path = AMapNaviKit.framework/Headers/MAOfflineItemCommonCity.h; sourceTree = ""; }; + 4231CB6840B98A21E28B12FA5625E30E /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; + 423325EF7A506D2BA4AC69417BA87CBF /* ZFReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFReachabilityManager.h; path = ZFPlayer/Classes/Core/ZFReachabilityManager.h; sourceTree = ""; }; + 42424C55EF21C0E1DB97E7B99703C4E3 /* AMapTrackManagerOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackManagerOptions.h; path = AMapTrackKit.framework/Headers/AMapTrackManagerOptions.h; sourceTree = ""; }; + 4249BBE478EF2E3FBBF7A5C90D38FD21 /* JXCategoryViewDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryViewDefines.h; path = Sources/Common/JXCategoryViewDefines.h; sourceTree = ""; }; + 4295F3E1B3BCB6803EADC1A8C7F6EFF8 /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; + 429CFC393F7F3ADE3883738A8CBD8A58 /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; + 42BA7194E9F03790D099E5732F3EFC61 /* Bubble.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bubble.swift; path = Sources/Window/Bubble.swift; sourceTree = ""; }; + 42DF41FF1634D3EC263413438BCF3E69 /* MAArc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAArc.h; path = AMapNaviKit.framework/Headers/MAArc.h; sourceTree = ""; }; 42F10DB6CED6AC3E9AA446F86C16A0F5 /* DDBasicControlsKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDBasicControlsKit_Private; path = libDDBasicControlsKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 42F1F8A90648A57000C2E53206F0B6D9 /* SDImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageFrame.m; sourceTree = ""; }; - 43C91497524DD5BFEDC9EFAFD029D312 /* SDImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCodersManager.h; sourceTree = ""; }; - 43F03E8327402318BA1A5AA38D9E45E2 /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; - 441554C44216A89888333215AA012A51 /* DDCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDCollectionView.swift; path = DDControlsKit_Private/Classes/DDCollectionView/DDCollectionView.swift; sourceTree = ""; }; - 452349DDBDA49A5CE96DA6A4332B3996 /* DDTimerKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDTimerKit_Private-umbrella.h"; sourceTree = ""; }; - 45C5F51CBD07626BCBD5E758A70D036D /* UIEdgeInsets+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIEdgeInsets+Utils.swift"; path = "Source/Extensions/UIEdgeInsets+Utils.swift"; sourceTree = ""; }; - 45FB77BEE7BC93528CC532F4039DF95D /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+GIF.m"; sourceTree = ""; }; - 4616707B7FE6FD330C217690452CBAE0 /* DDTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTextView.swift; path = DDControlsKit_Private/Classes/DDTextView/DDTextView.swift; sourceTree = ""; }; - 4651A79F291EA6D02ABD3F279B3BF08D /* AMapNaviEleBikeDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviEleBikeDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviEleBikeDataRepresentable.h; sourceTree = ""; }; - 472D0CAC5BE65093CB3FAB7F08CBFFFB /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; - 47837799E96C7ABF8530E2D107A740D1 /* RTLManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RTLManager.h; path = Sources/RLTManager/RTLManager.h; sourceTree = ""; }; - 478980E00140A7CE7382FB4325FEAD1E /* ZFPlayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerView.h; path = ZFPlayer/Classes/Core/ZFPlayerView.h; sourceTree = ""; }; - 47936CCF8C062F9463A88F805DC55094 /* ESTabBarItemMoreContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemMoreContentView.swift; path = Sources/ESTabBarItemMoreContentView.swift; sourceTree = ""; }; - 4807DC95FB8C4F8B7678DCBF9370900E /* ZLEditVideoViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditVideoViewController.swift; path = Sources/Edit/ZLEditVideoViewController.swift; sourceTree = ""; }; - 483A1BA953D3086D2A373D36C0ED9AC9 /* MAAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotation.h; path = AMapNaviKit.framework/Headers/MAAnnotation.h; sourceTree = ""; }; + 435B0CAE533059D8B1E7A87953401EBC /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; + 43629C4CBA79734CC5B9A86B1A49B0D3 /* ZLGeneralDefine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLGeneralDefine.swift; path = Sources/General/ZLGeneralDefine.swift; sourceTree = ""; }; + 438C6CD8A02963264200D05FA421D328 /* NSMutableParagraphStyle+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableParagraphStyle+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableParagraphStyle+DDCategory.h"; sourceTree = ""; }; + 43A1D4A3D5B329B16873C03056465EFD /* _HttpDatasource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _HttpDatasource.h; path = Sources/Network/_HttpDatasource.h; sourceTree = ""; }; + 43E80B98787AAB9E1C1DBCF2BE50C7E8 /* YYSpriteSheetImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSpriteSheetImage.h; path = YYImage/YYSpriteSheetImage.h; sourceTree = ""; }; + 44560875A14BC7385B2A9BB91E1DAADA /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; + 44A0205707C395CF6289D195ED3561F4 /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; + 451D48E6699DF469F31FD0E1C09E5913 /* Cell+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Cell+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Cell+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 452FE9734D18B4F41FA59FA7633467A5 /* ZFSpeedLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSpeedLoadingView.h; path = ZFPlayer/Classes/ControlView/ZFSpeedLoadingView.h; sourceTree = ""; }; + 45335757B0CD41AB3866D5604062C4C6 /* DDFontKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDFontKit_Private-dummy.m"; sourceTree = ""; }; + 45801C16EF5022F462431010C77066DA /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; + 45A3D403E041C10537136FB00827FCC0 /* _OCLogModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _OCLogModel.h; path = Sources/Logs/_OCLogModel.h; sourceTree = ""; }; + 45B0BCC572A3186F0C25FCC951C5F538 /* JXCategoryIndicatorBackgroundView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorBackgroundView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.h; sourceTree = ""; }; + 45B32DE9A7B9C5A89720EC3645D759C8 /* UILabel+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UILabel+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UILabel+DDCategory/UILabel+DDCategory.m"; sourceTree = ""; }; + 45C89D3311ED6264C6A655D6D9741205 /* MJRefreshHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshHeader.h; path = MJRefresh/Base/MJRefreshHeader.h; sourceTree = ""; }; + 45D34DD4BB3C41323EDE89435C136B4A /* icon_file_type_pdf.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_pdf.png; path = Sources/Resources/FileType/icon_file_type_pdf.png; sourceTree = ""; }; + 45E729D11A5D024BCDF6DD21A36B68A9 /* RxCocoa-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-umbrella.h"; sourceTree = ""; }; + 45FDBD593805940EDAF359AC358532C2 /* MAAnimatedAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnimatedAnnotation.h; path = AMapNaviKit.framework/Headers/MAAnimatedAnnotation.h; sourceTree = ""; }; + 4601D9DE2D1D6CFC7EA8CAEABD2D7190 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+HighlightedWebCache.h"; sourceTree = ""; }; + 46369D49C39FA43FEB6E2CB335B2D68E /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; + 4639D836AC8D7FD9BBE84301D50FBD4B /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 4657FAB864B78FF24C0BF5D22415C23A /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = ""; }; + 46B7AF1FD44150FD6515B898BC210115 /* _NSLogHook.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _NSLogHook.m; path = Sources/Logs/_NSLogHook.m; sourceTree = ""; }; + 46CD5DCDA2EE10784833C2FE871EB186 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; + 4707DAEFEF2D0D697E34210939D2A7CC /* UITabBarController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITabBarController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITabBarController+DDCategory/UITabBarController+DDCategory.m"; sourceTree = ""; }; + 47280309748C5AFBDC2CEA24B312CF8D /* icon_file_type_7z@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_7z@2x.png"; path = "Sources/Resources/FileType/icon_file_type_7z@2x.png"; sourceTree = ""; }; + 475ACE05910F20ADC1B94F33C8B02779 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + 477B33D611D48B0972EBAF937D76C204 /* DDTimerKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDTimerKit_Private.debug.xcconfig; sourceTree = ""; }; + 47B5E166EA08AB6B72ACD5362243EEF3 /* NSAttributedString+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSAttributedString+DDCategory.h"; sourceTree = ""; }; + 47ED4C6AF5D8765CBA6634C8D568D18F /* ZFPlayer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZFPlayer.release.xcconfig; sourceTree = ""; }; + 47F7520C38F34FB120B0043BBF995549 /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoStateFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m; sourceTree = ""; }; + 4804F29A7E83F1106BB8285DA3EBE325 /* Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Infallible.swift; path = RxSwift/Traits/Infallible/Infallible.swift; sourceTree = ""; }; + 4806C5FA6DFBDA1F4812B1DEE62DBEEB /* SDMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDMemoryCache.h; sourceTree = ""; }; + 480707A4943B403A355FFAED8254A766 /* icon_file_type_default@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_default@2x.png"; path = "Sources/Resources/FileType/icon_file_type_default@2x.png"; sourceTree = ""; }; + 4845116CA504AA336CF0A105DFC0D522 /* NetworkViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkViewController.swift; path = Sources/Network/NetworkViewController.swift; sourceTree = ""; }; 484C4661DAB5EADAD81249F2FB129619 /* Pods-OrderScheduling-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-OrderScheduling-dummy.m"; sourceTree = ""; }; - 48904A2ACA54F39C73F57654E996D349 /* DDTableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTableView.swift; path = DDControlsKit_Private/Classes/DDTableView/DDTableView.swift; sourceTree = ""; }; - 4896508A94FFAD7C7F2D67778469114C /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - 49210FBEC4B6952840D0FD08F21D4539 /* ZLPhotoConfiguration+Chaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ZLPhotoConfiguration+Chaining.swift"; path = "Sources/General/ZLPhotoConfiguration+Chaining.swift"; sourceTree = ""; }; - 49636A4D9AAB73B4C3358AE69FE540B9 /* UIViewController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIViewController+DDCategory/UIViewController+DDCategory.m"; sourceTree = ""; }; - 497BA4A8702676F2B7E91C882C273CC6 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - 499CDE5D5569981AF7D2160EC56D6EA5 /* ZFUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFUtilities.m; path = ZFPlayer/Classes/ControlView/ZFUtilities.m; sourceTree = ""; }; - 49E61FF3E31D880F908200A0FAE04D3B /* DDBaseTabBarController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTabBarController.h; path = DDBasicControlsKit_Private/Classes/DDBaseTabBarController/DDBaseTabBarController.h; sourceTree = ""; }; - 49E72BCF4378429B72E9D07935C03E46 /* SDWebImageDownloaderDecryptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderDecryptor.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderDecryptor.h; sourceTree = ""; }; - 4A152A69D2085D0B22F6FEF4C90593C3 /* DDBasicControls.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBasicControls.h; path = DDBasicControlsKit_Private/Classes/DDBasicControls.h; sourceTree = ""; }; - 4A516D7E3E2523A33D4FA5B989ED0376 /* SDImageAWebPCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAWebPCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAWebPCoder.h; sourceTree = ""; }; - 4A638BF5751BE46B7DDB1F0276B2836E /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; - 4A6AF21223B24F018A05A4873B47C70C /* ZFPlayerControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerControlView.m; path = ZFPlayer/Classes/ControlView/ZFPlayerControlView.m; sourceTree = ""; }; - 4A87474A73D15BE198DC44C93AC10FAB /* SDmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDmetamacros.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDmetamacros.h; sourceTree = ""; }; - 4A9A0CCE2635C7D6BE55AE4BE1190453 /* MAUserLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAUserLocation.h; path = AMapNaviKit.framework/Headers/MAUserLocation.h; sourceTree = ""; }; - 4AA8AB240F4D65F6AAEAA184FBBF6D83 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDNetworkingOfAlamofireKit_Private.release.xcconfig; sourceTree = ""; }; - 4AA8C0469D027698CEB004F38088B4B1 /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - 4AB9AE9567BD8A36DDDF2F7C2E19AF07 /* DDTimerKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDTimerKit_Private-prefix.pch"; sourceTree = ""; }; - 4ACE8BD874F4FEEB79865EE3C4C9CEB4 /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJExtension.h"; path = "MJRefresh/UIScrollView+MJExtension.h"; sourceTree = ""; }; - 4B5F2B41A5993D845A431D40A82DB9AC /* ZFPlayerLogManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerLogManager.h; path = ZFPlayer/Classes/Core/ZFPlayerLogManager.h; sourceTree = ""; }; - 4B8C82A5FF5CAACF83CF8332CE7474E0 /* MAMultiPointOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPointOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiPointOverlayRenderer.h; sourceTree = ""; }; - 4BDB5536AF3861ACACAA4837F303F233 /* MAGltfOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGltfOverlay.h; path = AMapNaviKit.framework/Headers/MAGltfOverlay.h; sourceTree = ""; }; - 4BF3D6B5257E4D26D410F75DD07CABAA /* JXCategoryDotCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotCell.h; path = Sources/Dot/JXCategoryDotCell.h; sourceTree = ""; }; - 4C16D8C7CAC7C86DD477EABB84CAB943 /* ZFPortraitControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPortraitControlView.m; path = ZFPlayer/Classes/ControlView/ZFPortraitControlView.m; sourceTree = ""; }; - 4C578E3B01D6804F6A0918DFB12CC45F /* DDViewControllerAnimatedTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDViewControllerAnimatedTransition.m; path = DDBasicControlsKit_Private/Classes/DDBaseAnimation/DDTransitionAnimation/DDViewControllerAnimatedTransition.m; sourceTree = ""; }; - 4C616D73C4D59FA9980D5AFB3E84FC37 /* DDTimerKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDTimerKit_Private.debug.xcconfig; sourceTree = ""; }; - 4D1ACD85302EE253410BA0B555A96D91 /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; - 4D442EFD74FBFE6317BA17E473F3D58B /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - 4D59B292C647A9948B4BC9990018AEC5 /* SDFileAttributeHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDFileAttributeHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDFileAttributeHelper.h; sourceTree = ""; }; - 4D9A04B8AE2F030790550FCCF2A03F03 /* DDCategoryKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDCategoryKit_Private-prefix.pch"; sourceTree = ""; }; - 4DAF0174A817D62CBB9B0474E336B94A /* SDImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoderHelper.h; sourceTree = ""; }; - 4DAF90EB5E46CF4493F1246AFE6637F8 /* MJRefreshTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshTrailer.m; path = MJRefresh/Base/MJRefreshTrailer.m; sourceTree = ""; }; - 4DEA01466DF987E8972735315BF18716 /* CGFloat+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGFloat+ZLPhotoBrowser.swift"; path = "Sources/Extensions/CGFloat+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 4E049E600DF27057625A4710D8FFDB7E /* JXCategoryIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorView.m; path = Sources/Indicator/JXCategoryIndicatorView.m; sourceTree = ""; }; - 4E275EDBD1EBEA831F0CF651123E68DA /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 4EA46A509DB66E3D4AAE3F782624487E /* ZFPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZFPlayer-prefix.pch"; sourceTree = ""; }; - 4EBC522DF739FDB75DFE316CF30F9E7F /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 4ECF212570173475918737F0157DCD1F /* MJRefreshConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConfig.m; path = MJRefresh/MJRefreshConfig.m; sourceTree = ""; }; - 4F69157DC9ADD23A6763AFBD3FCB2D0A /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; - 4F734BB4F86F6962F672D7EDF71F0E01 /* UIViewController+ZFPlayerRotation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+ZFPlayerRotation.m"; path = "ZFPlayer/Classes/Core/UIViewController+ZFPlayerRotation.m"; sourceTree = ""; }; - 4F9DA43B175F92BCFEB6F2EE07B05992 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; - 4FBE818D0EFDEFE0E5A9C609A0CF7DF3 /* SDImageGraphics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGraphics.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGraphics.m; sourceTree = ""; }; - 4FC24766384F98D6B46DEBBF116F196E /* MAHeatMapTileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapTileOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapTileOverlay.h; sourceTree = ""; }; - 4FEABAAF319552DABBFA1DFC3BCEA94D /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 4FFAA5EC3AB76FDB0DB14DDCDE1EC8F8 /* JXCategoryNumberView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberView.h; path = Sources/Number/JXCategoryNumberView.h; sourceTree = ""; }; - 501245C4E1EC2E396632EF831E649C9F /* CALayer+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+DDCategory.h"; path = "DDCategoryKit_Private/Classes/CALayer+DDCategory/CALayer+DDCategory.h"; sourceTree = ""; }; - 50155224DA38B46CA193134BCB257A49 /* UICollectionView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UICollectionView+DDCategory/UICollectionView+DDCategory.h"; sourceTree = ""; }; - 501976E1B0BB5A36F3A436A8013F96F4 /* ZLPhotoBrowser.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = ZLPhotoBrowser.bundle; path = Sources/ZLPhotoBrowser.bundle; sourceTree = ""; }; - 50379E580ABE8786CE45B4666BFFAB49 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 503D31810957DFF93B999EB28F4A1271 /* MATileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATileOverlay.h; path = AMapNaviKit.framework/Headers/MATileOverlay.h; sourceTree = ""; }; - 50716B9CB0FF04147D96C5C2FCBB59E6 /* EKAttributes+BackgroundStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+BackgroundStyle.swift"; path = "Source/Model/EntryAttributes/EKAttributes+BackgroundStyle.swift"; sourceTree = ""; }; - 508455EE35704123049704C9BB38DF20 /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - 511D15671C4786E1630047EB2EB7EF6C /* EKNotificationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNotificationMessage.swift; path = Source/Model/EKNotificationMessage.swift; sourceTree = ""; }; - 5151F72B728E7C5CEB8B31367DE84C9C /* ZLPhotoConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoConfiguration.swift; path = Sources/General/ZLPhotoConfiguration.swift; sourceTree = ""; }; - 5165B9B4A88E168CC5E99C94C95954F0 /* UIImage+ExtendedCacheData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ExtendedCacheData.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ExtendedCacheData.h"; sourceTree = ""; }; - 518123CD2864BF9353C581D7DCFABE36 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; - 52BD8DE8D0E7BE2117BAF4CD76536A4E /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; - 52D7E92ABB652E1F265EE8CE4C2CE3E1 /* AMapFoundationConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationConst.h; path = AMapFoundationKit.framework/Headers/AMapFoundationConst.h; sourceTree = ""; }; - 530C188C2800BC141A0D3DA7E5DEFD70 /* UIColor+JXAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+JXAdd.m"; path = "Sources/Common/UIColor+JXAdd.m"; sourceTree = ""; }; - 531FAEA37CD7FEE5EF55FA16C55B238B /* SDImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoder.m; sourceTree = ""; }; - 5322839F97FCDCD8C82F1542E40857D1 /* UIImage+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIImage+DDCategory/UIImage+DDCategory.m"; sourceTree = ""; }; - 532465459BEE78E683CEF713BFA81415 /* EKAttributes+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Position.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Position.swift"; sourceTree = ""; }; - 5338EB039DDDA1CEB0687DF578E85AF0 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; - 535B5FA00524A8D33FF056E2959E60DA /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 53797366CA62EDC29999EEC6F78FEF98 /* MATraceReplayOverlayRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MATraceReplayOverlayRender.m; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlayRender.m; sourceTree = ""; }; - 5385C442FC256F4F6538B9E0B814CD37 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; - 53B187DD06A307C5E93833AF12678D27 /* JXCategoryImageCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageCell.h; path = Sources/Image/JXCategoryImageCell.h; sourceTree = ""; }; - 53B45E5B44F2A15C7607E4D777D7BF2F /* NSAttributedString+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSAttributedString+DDCategory.m"; sourceTree = ""; }; - 53F7F7AB35EC8BFE034F730B003CA459 /* ZFFloatView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFFloatView.m; path = ZFPlayer/Classes/Core/ZFFloatView.m; sourceTree = ""; }; - 543AE45AA06B1CE15C268F26F424989B /* MACustomBuildingOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomBuildingOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MACustomBuildingOverlayRenderer.h; sourceTree = ""; }; - 544042E3DCBE5ED3D22D13E2865E761D /* SDDisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDisplayLink.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDisplayLink.h; sourceTree = ""; }; - 54B41AA168CD2E6E2D564F588515AB56 /* NSObject+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSObject+DDCategory/NSObject+DDCategory.h"; sourceTree = ""; }; - 561EC9FEB48CCE69B0E0E07CF2DD068C /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; - 562A74AC6BD2A4EE50E1CA898255F162 /* DDBaseImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseImageView.h; path = DDBasicControlsKit_Private/Classes/DDBaseImageView/DDBaseImageView.h; sourceTree = ""; }; - 563C81F01AC1F279FE5E4DBB8F16CC23 /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; - 5663CA1A072365E079AB0279D374A49B /* ZLPhotoBrowser.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZLPhotoBrowser.debug.xcconfig; sourceTree = ""; }; - 567EAFB0A2437DAA61EB2930754AC866 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - 56E023294987DB2AFF4A531BB11561CC /* EKAttributes+HapticFeedback.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+HapticFeedback.swift"; path = "Source/Model/EntryAttributes/EKAttributes+HapticFeedback.swift"; sourceTree = ""; }; - 56FD8B0BC93F0A40C0A7F0B79785DC6F /* AMapLocationVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationVersion.h; path = AMapLocationKit.framework/Headers/AMapLocationVersion.h; sourceTree = ""; }; - 5722603773923F40AC88EE045FF00EAE /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; - 5765507A19EFB05632E1A9F99AD581A0 /* MAPointAnnotation+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MAPointAnnotation+DDCategory.m"; path = "DDMAMapKit_Private/Classes/DDMAMap/Annotation/MAPointAnnotation+DDCategory.m"; sourceTree = ""; }; - 58EF45C259FC525460EEF12880FB679C /* DDCategoryKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDCategoryKit_Private-umbrella.h"; sourceTree = ""; }; - 593F35D092636E3E23F968C96B14DCE1 /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; - 594C93B6F642773CF64788AE8C1BCC93 /* AMapSearch-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapSearch-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; - 59D3583760F4609DA9EAFFC1C7B1BE0B /* IQKeyboardManagerConstantsInternal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstantsInternal.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstantsInternal.swift; sourceTree = ""; }; - 5A1AEC1E660AF085ABEBF2AAD768816C /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = ""; }; - 5A1FCE805EDB0F8589AAADAE24B30367 /* UIView+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIView+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 5A851FFDD2FC740B4366B48BAF8380EB /* ESTabBarItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItem.swift; path = Sources/ESTabBarItem.swift; sourceTree = ""; }; - 5ACBD05DD12303A27FD6995F7CEBCB09 /* EKAttributes+UserInteraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+UserInteraction.swift"; path = "Source/Model/EntryAttributes/EKAttributes+UserInteraction.swift"; sourceTree = ""; }; - 5AF9FA40572C352E073A51DD58F5E03B /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - 5B6789AACD3E823A92C0A1D2C00A8751 /* MJRefreshStateHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateHeader.m; path = MJRefresh/Custom/Header/MJRefreshStateHeader.m; sourceTree = ""; }; - 5B6A47BB23E188DF596140DC7D896BBE /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = ""; }; - 5B74D76532B29E618B6266AAD2C1B9E1 /* ZFKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFKVOController.h; path = ZFPlayer/Classes/Core/ZFKVOController.h; sourceTree = ""; }; - 5B77AE0195A469E8CBAD7B4B8B557268 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = ""; }; - 5B8C14CFBCDDDAFCA75A6A384CD76543 /* EKAttributes+FrameStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+FrameStyle.swift"; path = "Source/Model/EntryAttributes/EKAttributes+FrameStyle.swift"; sourceTree = ""; }; - 5BB5BB6118935C6D43A74C150F4350DE /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoGifFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.m; sourceTree = ""; }; - 5BCE3F8F0E6D5D7B2A382B20DFA08B4D /* UIImageView+DDWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+DDWebCache.m"; path = "DDWebImageKit_Private/Classes/DDWebImage/UIImageView+DDWebCache.m"; sourceTree = ""; }; - 5BCED3633699245A942F59210469022C /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; - 5BFC4181B79FA655AAA1EC7197475E7B /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJExtension.m"; path = "MJRefresh/UIScrollView+MJExtension.m"; sourceTree = ""; }; - 5C27C6EE509E6F2B2333242F5AEF03E7 /* EKXStatusBarMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKXStatusBarMessageView.swift; path = Source/MessageViews/Notes/EKXStatusBarMessageView.swift; sourceTree = ""; }; - 5C41ED0BB3D1C1CE92C96C281FF2B318 /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; - 5C462A9856B6AC698726C7E83C7D0CFD /* EntryAppearanceDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EntryAppearanceDescriptor.swift; path = Source/MessageViews/MessagesUtils/EntryAppearanceDescriptor.swift; sourceTree = ""; }; - 5C692F8F5F79CEA290005199366E27CD /* DDBaseViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseViewController.h; path = DDBasicControlsKit_Private/Classes/DDBaseViewController/DDBaseViewController.h; sourceTree = ""; }; - 5C90FB76D8A8A80CAFC59D0BF15853CD /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; - 5C91EC8EBED91E3A221F6BBB65215305 /* UIColor+Hue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+Hue.swift"; path = "DDColorKit_Private/Classes/UIColor+Hue.swift"; sourceTree = ""; }; - 5CAC3B4B274DC9AA16D13F3C6D4335CE /* SDWebImageDownloaderResponseModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderResponseModifier.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m; sourceTree = ""; }; - 5CB29478D24215B095F17948BDE075E9 /* MJRefresh-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-umbrella.h"; sourceTree = ""; }; - 5CC23B2D54EECEB52CCE2F2CC7B3D36D /* JXCategoryTitleCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleCellModel.h; path = Sources/Title/JXCategoryTitleCellModel.h; sourceTree = ""; }; - 5CDD64B4F6D049953AEEEAF686B88DC5 /* AMapNavi-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapNavi-NO-IDFA.release.xcconfig"; sourceTree = ""; }; - 5CF0191F1FD51A0714A5FAB29D3E7BBA /* ZFFloatView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFFloatView.h; path = ZFPlayer/Classes/Core/ZFFloatView.h; sourceTree = ""; }; - 5D114F395E51127CF5ECDB366D2A4DEE /* DDBaseCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseCollectionView.h; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionView/DDBaseCollectionView.h; sourceTree = ""; }; - 5D25E8493C5F426405582C10AC054738 /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; - 5D29945FD9C14C6F2842E96007B5B0EF /* ZLAlbumListController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListController.swift; path = Sources/General/ZLAlbumListController.swift; sourceTree = ""; }; - 5D33591D62AB244E9E0ADF969AFCC384 /* EKEntryView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKEntryView.swift; path = Source/Infra/EKEntryView.swift; sourceTree = ""; }; - 5D4FDC4BA56692F2C1F78D7B88D63FB9 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; - 5D647536CAF6559787DFBE7388D30812 /* DDWebImageKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDWebImageKit_Private-umbrella.h"; sourceTree = ""; }; - 5D67B030548BC7A4FFBC4DB476395BC7 /* EKButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKButtonView.swift; path = Source/MessageViews/MessagesUtils/EKButtonView.swift; sourceTree = ""; }; - 5D79775F2A42B4043C03F10F1752C5F7 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshGifHeader.h; path = MJRefresh/Custom/Header/MJRefreshGifHeader.h; sourceTree = ""; }; + 485A1E31CA76C2CB76984010E8AB90C9 /* JXCategoryTitleVerticalZoomView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomView.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.h; sourceTree = ""; }; + 486FFE5216F1D5BBA41A7FB01B58F3C0 /* AMapNaviDriveView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveView.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveView.h; sourceTree = ""; }; + 48797AD6305C93F025E75C51E6DA7ABE /* JXCategoryIndicatorDotLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorDotLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.m; sourceTree = ""; }; + 488189D5CE93F305B16631ED9CC972EF /* MATraceLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceLocation.h; path = AMapNaviKit.framework/Headers/MATraceLocation.h; sourceTree = ""; }; + 4894A4D401E462050F1E424EF22C9CDC /* DDMAMapKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDMAMapKit_Private-dummy.m"; sourceTree = ""; }; + 489EADA04FDF1F7B0A71324CE71A5DDF /* MAGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGeometry.h; path = AMapNaviKit.framework/Headers/MAGeometry.h; sourceTree = ""; }; + 48B0F84BA68B7E880F6A9A79EF2D4823 /* _icon_file_type_mail@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_mail@2x.png"; path = "Sources/Resources/images/_icon_file_type_mail@2x.png"; sourceTree = ""; }; + 48EF8CC20FEADBBE4AE7C8A0736ED5F7 /* AMapGeoFenceError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceError.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceError.h; sourceTree = ""; }; + 490D6141BC7C52A85616B23EBF3636AB /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; + 4961A239F83749E08AB9F8DAEB0F3C06 /* icon_file_type_folder_empty.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_folder_empty.png; path = Sources/Resources/FileType/icon_file_type_folder_empty.png; sourceTree = ""; }; + 49A6583AE8EE2EAD248AC86F487484BC /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAsyncBlockOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAsyncBlockOperation.m; sourceTree = ""; }; + 49BEF17818C26E2B34EAC221195FC900 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 49C968A461FE24545FFF566A050BBB2D /* DDColorKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDColorKit_Private-umbrella.h"; sourceTree = ""; }; + 49D962C2241B646AF3FE2C3AF957F6FE /* DDBasicControlsKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDBasicControlsKit_Private.modulemap; sourceTree = ""; }; + 49E6607FD1EAA74F98C024F1330DF502 /* icon_file_type_dat@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dat@3x.png"; path = "Sources/Resources/FileType/icon_file_type_dat@3x.png"; sourceTree = ""; }; + 49EAB945120E58B1123D68CDB84CDC14 /* icon_file_type_ipa@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ipa@2x.png"; path = "Sources/Resources/FileType/icon_file_type_ipa@2x.png"; sourceTree = ""; }; + 4A2DF036951A656B7E776DD298567C88 /* SwiftEntryKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.debug.xcconfig; sourceTree = ""; }; + 4A321F3A5FDD05A145C6CC8E2C38EB41 /* _DeviceUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _DeviceUtil.h; path = Sources/Core/_DeviceUtil.h; sourceTree = ""; }; + 4A68C48493CAE8119467B3DB7E9640EF /* ZLEditImageConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditImageConfiguration.swift; path = Sources/General/ZLEditImageConfiguration.swift; sourceTree = ""; }; + 4A90495DFC369FA0650426F1480B4202 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + 4A98B60A3A7C85B8BABE1CBA0A866F66 /* DDBaseCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseCollectionView.h; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionView/DDBaseCollectionView.h; sourceTree = ""; }; + 4AB2D444BE5BCD706857F41DAFCB255C /* MJRefreshConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConfig.h; path = MJRefresh/MJRefreshConfig.h; sourceTree = ""; }; + 4AD4DECB9CD5B0B2774ECDAC2810A354 /* _OCLoggerFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _OCLoggerFormat.h; path = Sources/Logs/_OCLoggerFormat.h; sourceTree = ""; }; + 4B13C8B5B46A245089FD6C811E9C11D1 /* DDBaseLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseLabel.m; path = DDBasicControlsKit_Private/Classes/DDBaseLabel/DDBaseLabel.m; sourceTree = ""; }; + 4B2259831A09B5840229059EAB752E7E /* icon_file_type_md@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_md@2x.png"; path = "Sources/Resources/FileType/icon_file_type_md@2x.png"; sourceTree = ""; }; + 4B36A1F27599C1D59D2B7E46905F5012 /* JXCategoryIndicatorRainbowLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorRainbowLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.m; sourceTree = ""; }; + 4B39E3962E974CE3491057975174B00B /* DDMASearch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMASearch.m; path = DDMAMapKit_Private/Classes/DDMASearch/DDMASearch.m; sourceTree = ""; }; + 4B6D55411B7A280E43658F269DFCFC6F /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; + 4BBA1963D019C42804EFBE4A89F484C1 /* SDImageCachesManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCachesManager.m; sourceTree = ""; }; + 4BCD1E119EF09EFC1D9D0EFAD6EFBCB5 /* ZLPhotoBrowser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZLPhotoBrowser-prefix.pch"; sourceTree = ""; }; + 4BD568CD0EBF5989F34C549797DA0F83 /* UICollectionView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UICollectionView+DDCategory/UICollectionView+DDCategory.h"; sourceTree = ""; }; + 4BDABD901A950BB4EF3A36EE4C9DF982 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + 4BEA22F4B9B346A9D189B47F731AE47A /* ZLPhotoBrowser.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZLPhotoBrowser.modulemap; sourceTree = ""; }; + 4C1DB5562CEF58D19CDD713DBB0E5789 /* DDWebImageKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDWebImageKit_Private.modulemap; sourceTree = ""; }; + 4C2BB3224EACF6972EC94E842550C338 /* DDBaseTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTextView.m; path = DDBasicControlsKit_Private/Classes/DDBaseTextView/DDBaseTextView.m; sourceTree = ""; }; + 4C3B82CC9D3F2021348E86B3EE099A8C /* QLUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QLUtils.swift; path = Source/Extensions/QuickLayout/QLUtils.swift; sourceTree = ""; }; + 4C3C52471C2A8443B73F8CF9D5BAB74A /* icon_file_type_gif.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_gif.png; path = Sources/Resources/FileType/icon_file_type_gif.png; sourceTree = ""; }; + 4C577058C70E34703A8E5FE13457CE27 /* icon_file_type_eps.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_eps.png; path = Sources/Resources/FileType/icon_file_type_eps.png; sourceTree = ""; }; + 4C77FFA0170DA3FA5F7955F0003296B3 /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; + 4C806F7325FE14469162E414D55A508E /* JXCategoryTitleImageCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageCellModel.h; path = Sources/TitleImage/JXCategoryTitleImageCellModel.h; sourceTree = ""; }; + 4C8378D9D1AD91F71B7C3B3A2115FD96 /* DriveRouteCustomAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DriveRouteCustomAnnotation.h; path = DDMAMapKit_Private/Classes/DDMAMap/Annotation/DriveRouteCustomAnnotation.h; sourceTree = ""; }; + 4CDE81641989250528C2AEA96FDBE899 /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; + 4CEDA3B312801352788DD24C4C11F9DF /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackStateFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h; sourceTree = ""; }; + 4CFE977779E1304F07912798C970B6EC /* SDImageLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoader.m; sourceTree = ""; }; + 4D078FAD90F01881953B87840D8CDE6A /* JXCategoryIndicatorBallView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorBallView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.h; sourceTree = ""; }; + 4D09BC56089080167CFC15C561D74B5A /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJRefresh.m"; path = "MJRefresh/UIScrollView+MJRefresh.m"; sourceTree = ""; }; + 4D37C7EE6221D8448DF8C80C8A9BB73F /* JXCategoryImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageView.m; path = Sources/Image/JXCategoryImageView.m; sourceTree = ""; }; + 4D3DC3E8048CB0F73CC75585ED74AB62 /* icon_file_type_json.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_json.png; path = Sources/Resources/FileType/icon_file_type_json.png; sourceTree = ""; }; + 4D87E1BF59E2257918E645AAF157E352 /* icon_file_type_apk@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_apk@3x.png"; path = "Sources/Resources/FileType/icon_file_type_apk@3x.png"; sourceTree = ""; }; + 4DA8ED199660898627219339D054444D /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; + 4DC01DCC64DF8FAB229F237EAA37C65C /* ZLAlbumListCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListCell.swift; path = Sources/General/ZLAlbumListCell.swift; sourceTree = ""; }; + 4E67771D06F40179910FE4D0374A1347 /* icon_file_type_mov@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mov@2x.png"; path = "Sources/Resources/FileType/icon_file_type_mov@2x.png"; sourceTree = ""; }; + 4ECB8629B253CCC3616FEA82F7271763 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + 4F877D61A39633CEC5C88D3CFA2BB51C /* ZLPhotoUIConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoUIConfiguration.swift; path = Sources/General/ZLPhotoUIConfiguration.swift; sourceTree = ""; }; + 4FE0F6BC4CC6203A7CE28853A12EC020 /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; + 4FFA0EE393B7D8DF6309C4867CB6344C /* JXCategoryBaseCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseCellModel.h; path = Sources/Base/JXCategoryBaseCellModel.h; sourceTree = ""; }; + 500B07BC50D685A807AA7723E64F8386 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; + 501305C91F02F0F5D231C8DC9C560AA1 /* JXCategoryFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryFactory.m; path = Sources/Common/JXCategoryFactory.m; sourceTree = ""; }; + 5016A0B13580110CFCE358F01E8F6C9C /* DDBaseTextField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTextField.h; path = DDBasicControlsKit_Private/Classes/DDBaseTextField/DDBaseTextField.h; sourceTree = ""; }; + 5051D25AF47144FBB56E5B965BBB1072 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; + 5060D406C19911FB6F29BF6175AF4A36 /* SDDeviceHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDeviceHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDeviceHelper.m; sourceTree = ""; }; + 50D6B036523002ADA4FE18B400419C81 /* DDNetworkingOfAlamofireKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDNetworkingOfAlamofireKit_Private.modulemap; sourceTree = ""; }; + 50EF1FCB16FACFB0F71C31EFD03B9F0C /* NetworkCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = NetworkCell.xib; path = Sources/Resources/NetworkCell.xib; sourceTree = ""; }; + 50F1482CAB992E221BAF025F3B864CC0 /* _FileTableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FileTableViewCell.m; path = Sources/Sandbox/_FileTableViewCell.m; sourceTree = ""; }; + 510115309C5E5C3D7D55CA1F94836B89 /* ZLEditVideoViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditVideoViewController.swift; path = Sources/Edit/ZLEditVideoViewController.swift; sourceTree = ""; }; + 5116DB3E2A1CC1CB1A624257275A029E /* EKAccessoryNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAccessoryNoteMessageView.swift; path = Source/MessageViews/Notes/EKAccessoryNoteMessageView.swift; sourceTree = ""; }; + 514A796BA5918A07B59162378DF6AEEB /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + 5153C289FD9234C12DEFEEB328777D74 /* JXCategoryIndicatorLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.m; sourceTree = ""; }; + 515B2C9AB5CF15C7D66B7F0C3670B7BD /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observable+Concurrency.swift"; sourceTree = ""; }; + 516EE0BCE989A20EDEF6EA9A7B865D2C /* icon_file_type_tif@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_tif@2x.png"; path = "Sources/Resources/FileType/icon_file_type_tif@2x.png"; sourceTree = ""; }; + 51E2A6EB9F8AA911A064BF7816E24E6C /* UIScrollView+ZFPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+ZFPlayer.h"; path = "ZFPlayer/Classes/Core/UIScrollView+ZFPlayer.h"; sourceTree = ""; }; + 52556A1A417EE172A615B9B52639EC12 /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; + 529EC13E4DA7A8021EC6970BB4D6F100 /* UIBarButtonItem+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBarButtonItem+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIBarButtonItem+DDCategory/UIBarButtonItem+DDCategory.m"; sourceTree = ""; }; + 52AA68691FC9E4E94E031B243488575E /* DDBaseAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseAttributedString.m; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseAttributedString.m; sourceTree = ""; }; + 52BE2B43568ACAA29D1CEBFCAD14D910 /* _BacktraceLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _BacktraceLogger.h; path = Sources/Monitor/_BacktraceLogger.h; sourceTree = ""; }; + 530AC8406474C2FF49D2DE4451052522 /* YYImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-umbrella.h"; sourceTree = ""; }; + 53112E8541FCEB4A59514D220C23D23A /* _SandboxerHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _SandboxerHelper.h; path = Sources/Sandbox/_SandboxerHelper.h; sourceTree = ""; }; + 53576596FC3721E08C8FED23391DD075 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; + 536499E7E864E05E411D0AAF7233CC0C /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; + 54094C2ADED64A6C5EE77EE08150DB77 /* MAUserLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAUserLocation.h; path = AMapNaviKit.framework/Headers/MAUserLocation.h; sourceTree = ""; }; + 5514FA498E749651463965DEEB02CE6B /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; + 55451B9DB44C1673B63426F059553D6F /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + 55DF446960764DD8E3CB39B650E90BA4 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = ""; }; + 561A9119738151A77D9B35474367C159 /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; + 561BB4A372C65E21AAAA5F129E7D91C8 /* DDMALocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMALocationManager.m; path = DDMAMapKit_Private/Classes/DDMALocation/DDMALocationManager.m; sourceTree = ""; }; + 564474044C92A98ACCE361F180324E19 /* AMapNaviRideDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviRideDataRepresentable.h; sourceTree = ""; }; + 569BD9C4ED53D209BAF80A944B0487B1 /* ZFLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLoadingView.m; path = ZFPlayer/Classes/ControlView/ZFLoadingView.m; sourceTree = ""; }; + 56CDFFAA431E30C72862C8262C36F484 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; + 56E370A65E1D3A6978315C3BE2C80EDC /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + 56F23A8C07C5654CE1AF291E81116DA9 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; + 5729015A4D3A765C8AD57FB209C4EAF1 /* JXCategoryBaseCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseCell.m; path = Sources/Base/JXCategoryBaseCell.m; sourceTree = ""; }; + 573B1AF3D94C6E783F8E4E5DA996E230 /* DDLogKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDLogKit_Private.debug.xcconfig; sourceTree = ""; }; + 57662FFA2736D194858B0B3823874044 /* icon_file_type_doc@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_doc@3x.png"; path = "Sources/Resources/FileType/icon_file_type_doc@3x.png"; sourceTree = ""; }; + 5769099EA89AA9CE484BB972CC70346A /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 576BDF4FA045F98BA3A7080888EA51B5 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCache.h"; sourceTree = ""; }; + 5770C58E46703810AC53EDB60F37429B /* MJRefreshConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConst.h; path = MJRefresh/MJRefreshConst.h; sourceTree = ""; }; + 577A91A3F7759F072F7A3C28C56DDB52 /* SDImageCacheDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheDefine.h; sourceTree = ""; }; + 57D799A802EB821040CEBAE32A8A7A2C /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; + 57DC046B1411F6C04408E64BF494413F /* DDAutoUIKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDAutoUIKit_Private-umbrella.h"; sourceTree = ""; }; + 57E0B15D6E0BEDE72D4FC3A186852877 /* icon_file_type_swift@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_swift@3x.png"; path = "Sources/Resources/FileType/icon_file_type_swift@3x.png"; sourceTree = ""; }; + 57E42F40C3594BFA82636BC9E97EA5CE /* icon_file_type_apk.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_apk.png; path = Sources/Resources/FileType/icon_file_type_apk.png; sourceTree = ""; }; + 57F2E4B03E7560E056C879FB10AB5B54 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 581C639326EBE86B231445FE4712AA35 /* DDScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDScrollView.swift; path = DDControlsKit_Private/Classes/DDScrollView/DDScrollView.swift; sourceTree = ""; }; + 583B55AA08514F7D4A60AF3E77A69349 /* DDBaseViewModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseViewModel.h; path = DDBasicControlsKit_Private/Classes/DDBaseViewModel/DDBaseViewModel.h; sourceTree = ""; }; + 589B71D691EC20C84896798F60FA08A7 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + 58A99566F927893258588E633BD0D0EE /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; + 58F527AE5401DDF13793CDD60001D53A /* RxCocoa.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.debug.xcconfig; sourceTree = ""; }; + 590987DF13678ADDD6547E393C74A77C /* ZFOrientationObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFOrientationObserver.m; path = ZFPlayer/Classes/Core/ZFOrientationObserver.m; sourceTree = ""; }; + 593F178483C803DB545FEABE76F4228B /* JXCategoryIndicatorParamsModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorParamsModel.h; path = Sources/Common/JXCategoryIndicatorParamsModel.h; sourceTree = ""; }; + 595AEEB12C4598C9FE42D3D765AE0F78 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; + 59954F472C21AC5B68E04E9D32CE390C /* ZLLanguageDefine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLLanguageDefine.swift; path = Sources/General/ZLLanguageDefine.swift; sourceTree = ""; }; + 59BF12F40CE3E6A89E9D07CFC48ABD1B /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; + 59C3FB209840D3D8DF61CE90BD98341E /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + 59CE1D3307EC288911BEA1BD4062E9E1 /* UINavigationController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationController+DDCategory/UINavigationController+DDCategory.m"; sourceTree = ""; }; + 59E97F91016D9AAF9695B7ACC583647D /* icon_file_type_pages@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_pages@3x.png"; path = "Sources/Resources/FileType/icon_file_type_pages@3x.png"; sourceTree = ""; }; + 5A310034DAEDE8A172F7E32625CBACCB /* DDTimerKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDTimerKit_Private-prefix.pch"; sourceTree = ""; }; + 5A373E8956556B6CB5D0A5CD1EF59AFB /* JXCategoryCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryCollectionView.h; path = Sources/Common/JXCategoryCollectionView.h; sourceTree = ""; }; + 5A461B3425A19154EC99595624E006AA /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; + 5A63F40C635AD7BB4A18DB4DC6E60559 /* _icon_file_type_up@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_up@2x.png"; path = "Sources/Resources/images/_icon_file_type_up@2x.png"; sourceTree = ""; }; + 5A642FE3DC7A3D51B94016D1A782B623 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSButton+WebCache.h"; sourceTree = ""; }; + 5A6703B5AD0BC90165C97778E9997503 /* SDWebImageError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageError.h; sourceTree = ""; }; + 5B36D869B5B6C27E8F52EAD14F83DF88 /* icon_file_type_png.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_png.png; path = Sources/Resources/FileType/icon_file_type_png.png; sourceTree = ""; }; + 5B50E0ECEE27712F8BE8EAC93C4A8191 /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheKeyFilter.m; sourceTree = ""; }; + 5B7470406CCB43F46F05C6BE886A91F7 /* DDProgressHUDKit_Private-ProgressHud */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "DDProgressHUDKit_Private-ProgressHud"; path = ProgressHud.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 5B7A4D62C35A6470D65059B5C32DDD11 /* ZLImageNavController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImageNavController.swift; path = Sources/General/ZLImageNavController.swift; sourceTree = ""; }; + 5B86E194203D71390609E6FC2CE91A28 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = ""; }; + 5B918BE6829E36B093B33911AD580C61 /* DDToastKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDToastKit_Private.release.xcconfig; sourceTree = ""; }; + 5BE135D7C93E10224C984D1E794C1C85 /* DDCategoryKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDCategoryKit_Private.modulemap; sourceTree = ""; }; + 5BE779030EA9A3CB390888BA48336C10 /* EKRatingSymbolsContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingSymbolsContainerView.swift; path = Source/MessageViews/MessagesUtils/EKRatingSymbolsContainerView.swift; sourceTree = ""; }; + 5C1DD4EDBB47A8F695E3B74F2FFC9766 /* AMapNaviDriveDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveDataRepresentable.h; sourceTree = ""; }; + 5CB821C7A46C645AE504CDB6E9B54D35 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; + 5D1A9167FA3EC0FC795900F21B99FC5E /* DDProgressHUDKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDProgressHUDKit_Private.release.xcconfig; sourceTree = ""; }; + 5D34DACF3E54E6EFA34965CC0DCB6418 /* ZFSpeedLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSpeedLoadingView.m; path = ZFPlayer/Classes/ControlView/ZFSpeedLoadingView.m; sourceTree = ""; }; + 5D3B2D20A8BEBCD3020E65D187598DC7 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoFooter.m; path = MJRefresh/Base/MJRefreshAutoFooter.m; sourceTree = ""; }; 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = Alamofire; path = libAlamofire.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 5D8AA99CAFA66EB05ADEE591537B032D /* DDTimerObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTimerObject.m; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerObject.m; sourceTree = ""; }; - 5D9687C419B03846899E64FB9770E01E /* EKFormMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKFormMessageView.swift; path = Source/MessageViews/EKFormMessageView.swift; sourceTree = ""; }; - 5D9C48B591819713D8D984844B4EE13B /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; - 5DA9D9F7B79109B3F127640D90AAF62B /* ZFPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ZFPlayer-dummy.m"; sourceTree = ""; }; - 5E1C38843F08E7E4DAE570688887AC3C /* AMapNaviRideManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideManager.h; path = AMapNaviKit.framework/Headers/AMapNaviRideManager.h; sourceTree = ""; }; - 5E446B9633C1F1437CB7D0E71FE366FE /* UIImage+Metadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Metadata.h"; sourceTree = ""; }; - 5E46AF19AAB498E7202B93FD78FC57A8 /* ZLPhotoBrowser-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZLPhotoBrowser-umbrella.h"; sourceTree = ""; }; - 5E6CD31AA54A4187467F87F2C5E2C18D /* JXCategoryDotCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotCellModel.m; path = Sources/Dot/JXCategoryDotCellModel.m; sourceTree = ""; }; - 5E8635ED28005201B7A807CF6555CC3A /* JXCategoryListContainerRTLCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryListContainerRTLCell.m; path = Sources/Common/JXCategoryListContainerRTLCell.m; sourceTree = ""; }; - 5EA55FF04BB751BBC77C98C1B25455A5 /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = en.lproj; path = Sources/en.lproj; sourceTree = ""; }; - 5F34AC9EC7DF0BF4466C6B227A7A73B9 /* IQUIScrollView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIScrollView+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIScrollView+Additions.swift"; sourceTree = ""; }; - 5F7E5E56069B2F427832F2A54D927DD2 /* AMapTrackKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapTrackKit.framework; sourceTree = ""; }; - 5FA8378238071A9A00AB37063F1B001C /* MAOfflineItemMunicipality.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemMunicipality.h; path = AMapNaviKit.framework/Headers/MAOfflineItemMunicipality.h; sourceTree = ""; }; - 6010F70FF57799D9BCCC14DA558B0C7C /* JXCategoryTitleCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleCell.h; path = Sources/Title/JXCategoryTitleCell.h; sourceTree = ""; }; - 6088984D4D01AEBB2DA07667D34F95FC /* DDWebImageKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDWebImageKit_Private-prefix.pch"; sourceTree = ""; }; - 60A31780F1F6B07863193305CAE8B190 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; - 60AF47368B67D4F6E6EB9DD4C92B5F03 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; - 6133BD806850238E0AE755B74262A517 /* MJRefreshConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConst.m; path = MJRefresh/MJRefreshConst.m; sourceTree = ""; }; - 61730E29F6F735A1BE072AEE87933D91 /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - 61791E227983B70E7D756E3872BF12C3 /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift; sourceTree = ""; }; - 61A611919ACFBC90E57197827857F43A /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; - 61F5ACA2414AEE712D1ACA5C1EE3C366 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - 6210FA73F4021CDFD8EDD338A6CFFCA4 /* JXCategoryView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JXCategoryView.modulemap; sourceTree = ""; }; - 627F8AF38A09862B53847700AEC52899 /* JXCategoryFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryFactory.m; path = Sources/Common/JXCategoryFactory.m; sourceTree = ""; }; - 62AC6FC10F28F035D5A5C26EAAEDF26B /* DDOCLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOCLog.h; path = DDLogKit_Private/Classes/OCLog/DDOCLog.h; sourceTree = ""; }; - 62C3A20ACC97D735DC973538555F83FD /* MATraceReplayOverlayRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceReplayOverlayRender.h; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlayRender.h; sourceTree = ""; }; - 63050318E24A30075008D921E1C4B748 /* UICollectionViewCell+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionViewCell+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UICollectionViewCell+DDCategory/UICollectionViewCell+DDCategory.h"; sourceTree = ""; }; - 6305D964E18FE87C797A5C2FD354860A /* JXCategoryIndicatorLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.m; sourceTree = ""; }; - 63104D7A857EB9E34F39BB661B5742AF /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; - 6323E22682E823FB3CEE920AFC4B3B5C /* DDBaseModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseModel.m; path = DDBasicControlsKit_Private/Classes/DDBaseModel/DDBaseModel.m; sourceTree = ""; }; - 642E84188A6B1C3D9511AFFB474BC49D /* EKAttributes+LifecycleActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+LifecycleActions.swift"; path = "Source/Model/EntryAttributes/EKAttributes+LifecycleActions.swift"; sourceTree = ""; }; - 643DF71A7E5871FC0C5809F2D6040241 /* SDGraphicsImageRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDGraphicsImageRenderer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDGraphicsImageRenderer.m; sourceTree = ""; }; - 6493A2D3F4534C74F900F18BCF78DA06 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; - 64A4347492E5BF73D38A079432A4FB04 /* DDLogKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDLogKit_Private.debug.xcconfig; sourceTree = ""; }; - 653BE9F1051FB0AC8D04F6F32313E836 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; - 6541609031B4BD5911B87723211257B0 /* EKColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKColor.swift; path = Source/Model/EKColor.swift; sourceTree = ""; }; - 654EE5923C77DAC717AB3469C9763D33 /* UIScreen+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScreen+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIScreen+DDCategory/UIScreen+DDCategory.h"; sourceTree = ""; }; - 655AB7FF6E44FB57461847F841BC5C8B /* DDMASearch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMASearch.m; path = DDMAMapKit_Private/Classes/DDMASearch/DDMASearch.m; sourceTree = ""; }; - 658D7971D018584C37E370513D3C8DB9 /* DDView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDView.swift; path = DDControlsKit_Private/Classes/DDView/DDView.swift; sourceTree = ""; }; - 65CF9830C75A4FCA22355791EB5B9765 /* DDBaseCollectionViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseCollectionViewCell.h; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionViewCell/DDBaseCollectionViewCell.h; sourceTree = ""; }; - 65D88C27F8761BCE9CD6369FAB4CA712 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; - 6625A80FE0D78E6AA0FF9F014D5905B3 /* AMapNaviRoute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRoute.h; path = AMapNaviKit.framework/Headers/AMapNaviRoute.h; sourceTree = ""; }; - 663D9CC5B894B88B9FD06CC237A71651 /* JXCategoryIndicatorBallView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorBallView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.m; sourceTree = ""; }; - 66759E5F4390DB94C4C82C3E95DBC797 /* ESTabBarController-swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "ESTabBarController-swift.debug.xcconfig"; sourceTree = ""; }; - 667969625420EC6DE948A4AB786C3AD2 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MultiFormat.m"; sourceTree = ""; }; - 66843C6EAED70171F5724F6D55D583CE /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 6686189FFA11CE8679DF194908FA7304 /* JXCategoryNumberCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberCellModel.h; path = Sources/Number/JXCategoryNumberCellModel.h; sourceTree = ""; }; - 66862513F4F0673A25B5298E4D72837C /* DDMAMapKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDMAMapKit_Private.debug.xcconfig; sourceTree = ""; }; - 668787B27569EE41CE1A625CE78D9D78 /* ZFPlayer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZFPlayer-umbrella.h"; sourceTree = ""; }; - 66AA1EB09594CB6D39637156E85AE376 /* ZLProgressView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLProgressView.swift; path = Sources/General/ZLProgressView.swift; sourceTree = ""; }; - 67065C000F264388D70142FA26E93F82 /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; - 6741C57460124218FAE6BFDF8A1F14FB /* MATraceReplayOverlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MATraceReplayOverlay.m; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay.m; sourceTree = ""; }; - 67788FE7FBDBC7140FED13AB7EE5AF18 /* JXCategoryTitleImageCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageCell.m; path = Sources/TitleImage/JXCategoryTitleImageCell.m; sourceTree = ""; }; - 67790054FA039EF438FD99727782441A /* SDImageGraphics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGraphics.h; sourceTree = ""; }; - 678EC303D67919808287FC2F5A797398 /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; - 67BD6EAB79253B89427DD5574B55ACD4 /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; - 67C3E3BA208F663F942C6C0A7758AE8E /* SDImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoder.h; sourceTree = ""; }; - 67F3CB69B8373ACF80F013EE7B521CDE /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; - 68081FD334F8368F3621E211F156F843 /* MKAnnotationView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MKAnnotationView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImageMapKit/MapKit/MKAnnotationView+WebCache.m"; sourceTree = ""; }; - 682D2D3A90ECD6E5B5B62A63A7A335C6 /* ZFOrientationObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFOrientationObserver.m; path = ZFPlayer/Classes/Core/ZFOrientationObserver.m; sourceTree = ""; }; - 684FD478DDEC916460E0BDF2E33327DE /* AMapNaviTrafficBarView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviTrafficBarView.h; path = AMapNaviKit.framework/Headers/AMapNaviTrafficBarView.h; sourceTree = ""; }; - 68AE864C1138567749460BA64467D3E3 /* AMapNaviStatisticsInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviStatisticsInfo.h; path = AMapNaviKit.framework/Headers/AMapNaviStatisticsInfo.h; sourceTree = ""; }; - 68B79E3D728E062ED9A85D5974994553 /* AMapFoundationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapFoundationKit.framework; sourceTree = ""; }; - 6966D76B5209FED98C73A83E9B3ACBB8 /* ZLCustomAlertProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCustomAlertProtocol.swift; path = Sources/General/ZLCustomAlertProtocol.swift; sourceTree = ""; }; - 69801524D244E6009A56696B3054FD7A /* MJRefreshStateTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateTrailer.h; path = MJRefresh/Custom/Trailer/MJRefreshStateTrailer.h; sourceTree = ""; }; - 698E2D31AA01029B79D2A973F4723225 /* DDLogKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDLogKit_Private-prefix.pch"; sourceTree = ""; }; - 69B2E597F0470C0466C8B49A8335DE35 /* JXCategoryIndicatorCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorCellModel.h; path = Sources/Indicator/JXCategoryIndicatorCellModel.h; sourceTree = ""; }; - 69BC25304A9853A7B03ED8E48E32EB77 /* ZFPlayerController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerController.h; path = ZFPlayer/Classes/Core/ZFPlayerController.h; sourceTree = ""; }; - 69D5BBA437CFDB4295DC0C3950519A4D /* UIGestureRecognizer+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIGestureRecognizer+Rx.swift"; path = "RxCocoa/iOS/UIGestureRecognizer+Rx.swift"; sourceTree = ""; }; - 69F15CF6E1AFD468546DAFF7506A8EBB /* JXCategoryTitleVerticalZoomCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomCell.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.h; sourceTree = ""; }; - 6A18F6AE19F18B97B7F1FECE279EC3DB /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIButton+WebCache.m"; sourceTree = ""; }; - 6A311D7DBB05B458B3E1C949116A17A9 /* ZFNetworkSpeedMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFNetworkSpeedMonitor.m; path = ZFPlayer/Classes/ControlView/ZFNetworkSpeedMonitor.m; sourceTree = ""; }; - 6A3254A0EE7344F763D13C10C98FF398 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCacheOperation.h"; sourceTree = ""; }; - 6A5988DA008902FB9184C7A050349E5F /* JXCategoryIndicatorParamsModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorParamsModel.m; path = Sources/Common/JXCategoryIndicatorParamsModel.m; sourceTree = ""; }; - 6A60422D889F7E1EBF46471F13714391 /* EKAttributes+PopBehavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+PopBehavior.swift"; path = "Source/Model/EntryAttributes/EKAttributes+PopBehavior.swift"; sourceTree = ""; }; - 6A6B8A60505AAC4D33D7CC0A4311A195 /* SwiftToast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftToast.swift; path = DDToastKit_Private/Classes/SwiftToast.swift; sourceTree = ""; }; - 6A70FD457784DA34D4D7D48DF315F2F4 /* DDAF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAF.swift; path = DDNetworkingOfAlamofireKit_Private/Classes/DDAF.swift; sourceTree = ""; }; - 6AB3796E5C58A658B4D38654593DC2C9 /* JXCategoryListContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryListContainerView.h; path = Sources/Common/JXCategoryListContainerView.h; sourceTree = ""; }; - 6AE52761D29B87759A8CDB4D298680E6 /* DDProgressHUDKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDProgressHUDKit_Private.release.xcconfig; sourceTree = ""; }; - 6AFBB287432EE07870BD518798194174 /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageTransition.m; sourceTree = ""; }; - 6B04C021800239F336FA695C490CFEC4 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; - 6B1DFE91466158CB3760DA71B4800771 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 6B5B2E4061F11E1EA28782ED15945358 /* RxPickerViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDataSourceProxy.swift; sourceTree = ""; }; - 6B71D4B70FBFDFE5B3B5466E2B0A8B9E /* MJRefreshConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshConst.h; path = MJRefresh/MJRefreshConst.h; sourceTree = ""; }; - 6B991895339B324F8088470B8491A5F9 /* AMapTrack-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapTrack-NO-IDFA.release.xcconfig"; sourceTree = ""; }; - 6BDC9E26F11F599D8EB229E1B149FA82 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - 6C02DE55002B281536BE541DD08385DA /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = ""; }; - 6C459BF9C873EF2EB81A7909B9460B60 /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; - 6CD33F9239DCD92AE5B361E71866A69B /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; - 6D59E6FB80756876AC41A8DB39AB7648 /* DDBaseTableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTableViewCell.m; path = DDBasicControlsKit_Private/Classes/DDBaseTableViewCell/DDBaseTableViewCell.m; sourceTree = ""; }; - 6D95B408D442F1D74B1B939C0C40B90E /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; - 6DAFB9504EBCC935E9887080A81973E9 /* ESTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarController.swift; path = Sources/ESTabBarController.swift; sourceTree = ""; }; - 6DEE2FAE47BF7AD86130215490E180B1 /* ZLPhotoPreviewAnimatedTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewAnimatedTransition.swift; path = Sources/Animation/ZLPhotoPreviewAnimatedTransition.swift; sourceTree = ""; }; - 6E0157BD9804628CE27EC39DBAE623DF /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackStateFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m; sourceTree = ""; }; - 6E5E878503CF9093906C0EA0502070CF /* EKWrapperView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWrapperView.swift; path = Source/Infra/EKWrapperView.swift; sourceTree = ""; }; - 6E71AA808FC388FEEDE593611367F8E7 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; - 6E80C5B0533597E77317F8BFB34D5E2F /* DDBaseTableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTableViewCell.h; path = DDBasicControlsKit_Private/Classes/DDBaseTableViewCell/DDBaseTableViewCell.h; sourceTree = ""; }; - 6EA671FB9E889EDCE0789CA1CFA71F64 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; - 6ECB134020AA4FC09A7244CB741EC159 /* DDBasicControlsKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDBasicControlsKit_Private.release.xcconfig; sourceTree = ""; }; - 6ED0E50D2232B77CA85206A7E467DBFC /* DDMAMapKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDMAMapKit_Private.modulemap; sourceTree = ""; }; + 5D99618A33D683582ED29799F3082502 /* CocoaDebug-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CocoaDebug-dummy.m"; sourceTree = ""; }; + 5DC4CE8D9611DBE3D99EA727F70965C8 /* UIImage+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIImage+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 5DDCD50BDAAE3ED5FBB5E515F75F45AE /* ZFPlayer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZFPlayer-prefix.pch"; sourceTree = ""; }; + 5E2C2011163B454BEB84A27D8E9F41D5 /* Observable+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Bind.swift"; path = "RxCocoa/Common/Observable+Bind.swift"; sourceTree = ""; }; + 5E415AE10176B57FD8983570EAD67302 /* ZLAnimationUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAnimationUtils.swift; path = Sources/General/ZLAnimationUtils.swift; sourceTree = ""; }; + 5EB3B350FA46D67DFC8BEBCABD13498F /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + 5EB4216F48ED37926FAE41D0F52BDEEC /* AMapFoundationConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationConst.h; path = AMapFoundationKit.framework/Headers/AMapFoundationConst.h; sourceTree = ""; }; + 5EC8A259F7CBEF82A6214292605E1935 /* SDWebImageDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDefine.m; sourceTree = ""; }; + 5ECB289F23A6B096DECEA6997FE789BF /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = ""; }; + 5ED89A2112EF877A197D4408A31F7DDB /* AMapNaviLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviLocation.h; path = AMapNaviKit.framework/Headers/AMapNaviLocation.h; sourceTree = ""; }; + 5F21F5A1996A2CB042983AB6BF476F74 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoadersManager.h; sourceTree = ""; }; + 5F57032C78ABDA0D4533CA8CF11CE1E1 /* ZFNetworkSpeedMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFNetworkSpeedMonitor.m; path = ZFPlayer/Classes/ControlView/ZFNetworkSpeedMonitor.m; sourceTree = ""; }; + 5FA8D0AD25360B4BACAA497B38562E57 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; + 5FE3C80FE32DBEF44FE4DD9E045FCD9F /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; + 5FFA2323C9AEA8B12EE5EBDDB96E2975 /* AMapLocationCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationCommonObj.h; path = AMapLocationKit.framework/Headers/AMapLocationCommonObj.h; sourceTree = ""; }; + 600CA5EEB51D75209E0D8B002BB3FDC8 /* ZLPhotoUIConfiguration+Chaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ZLPhotoUIConfiguration+Chaining.swift"; path = "Sources/General/ZLPhotoUIConfiguration+Chaining.swift"; sourceTree = ""; }; + 605EC3D6466D590B4047CA4E21A352DC /* DDOCLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOCLog.h; path = DDLogKit_Private/Classes/OCLog/DDOCLog.h; sourceTree = ""; }; + 606C8A68CC790974E048B521DE868D1A /* HapticFeedbackGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HapticFeedbackGenerator.swift; path = Source/Utils/HapticFeedbackGenerator.swift; sourceTree = ""; }; + 6089847F6E4723EED1BC17DE510141B8 /* DDNetworkingOfAlamofireKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDNetworkingOfAlamofireKit_Private-dummy.m"; sourceTree = ""; }; + 60D55AA4185BEAA30031398F5B24BA39 /* UIImage+ExtendedCacheData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ExtendedCacheData.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ExtendedCacheData.h"; sourceTree = ""; }; + 60F42705BFD948A9ABABCD477FD07CF3 /* ESTabBarController-swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ESTabBarController-swift-umbrella.h"; sourceTree = ""; }; + 610115B7DAACAAE236361F3624DA6D5A /* ZFVolumeBrightnessView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFVolumeBrightnessView.m; path = ZFPlayer/Classes/ControlView/ZFVolumeBrightnessView.m; sourceTree = ""; }; + 614DF6BF0E33E89BF4EA1560F1A35C6A /* icon_file_type_db@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_db@3x.png"; path = "Sources/Resources/FileType/icon_file_type_db@3x.png"; sourceTree = ""; }; + 615881E559DCB533D73CF680630E3B99 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; + 61AFE71C0E7A558FC0DD53E4FDF9E1FA /* AMapLocationRegionObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationRegionObj.h; path = AMapLocationKit.framework/Headers/AMapLocationRegionObj.h; sourceTree = ""; }; + 61E2833224F3C79CD8F0EA3536EAF435 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; + 61E929C70B1C815A4FCBC8B4B963CDFB /* JXCategoryViewAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryViewAnimator.m; path = Sources/Common/JXCategoryViewAnimator.m; sourceTree = ""; }; + 61F96138C88255AC5FD28BB76AC87BE3 /* DDBaseCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseCollectionView.m; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionView/DDBaseCollectionView.m; sourceTree = ""; }; + 62141920E972919AEB5BD571FDFF19AE /* ZFPlayerNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerNotification.m; path = ZFPlayer/Classes/Core/ZFPlayerNotification.m; sourceTree = ""; }; + 622601D94F636350A320C8D7B6543038 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; + 623F55AFA996FF2389E51259F54E3E52 /* UIApplication+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIApplication+DDCategory/UIApplication+DDCategory.m"; sourceTree = ""; }; + 62950EB201C90A8FC96A6B70F464A594 /* DDMATrackManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMATrackManager.m; path = DDMAMapKit_Private/Classes/DDMATrackManager/DDMATrackManager.m; sourceTree = ""; }; + 62AA14FA39E0E8749A6C68A321A0C150 /* MJRefreshFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshFooter.m; path = MJRefresh/Base/MJRefreshFooter.m; sourceTree = ""; }; + 6313517A50C286FB6EE1A619CF24431A /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; + 6313C18942829D3298016A4A1A979723 /* EKAttributes+Presets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Presets.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Presets.swift"; sourceTree = ""; }; + 63304CB36B0021135E45F114DD81E894 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; + 63DE44606FAA04C4C198B814BF2AB78F /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; + 643044E360C6C18CDC710EC9533627D9 /* MAOverlayPathRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlayPathRenderer.h; path = AMapNaviKit.framework/Headers/MAOverlayPathRenderer.h; sourceTree = ""; }; + 646ACD40BA2BE84E6E566B4D5A5CED94 /* SDDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDDiskCache.m; sourceTree = ""; }; + 647C5E2E97FCC5E93212289929566092 /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; + 64C7483249D21B9EDAE06AFCBBAEDA66 /* AMapNaviVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviVersion.h; path = AMapNaviKit.framework/Headers/AMapNaviVersion.h; sourceTree = ""; }; + 64E43DF856A859731E85B85F81BF4292 /* ZFPresentTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPresentTransition.m; path = ZFPlayer/Classes/Core/ZFPresentTransition.m; sourceTree = ""; }; + 64F903F1F90BCF9FD590B82EAEC962E1 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + 650890C5C96788446BC0AB73AF0DAA8A /* AMapFoundationKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationKit.h; path = AMapFoundationKit.framework/Headers/AMapFoundationKit.h; sourceTree = ""; }; + 65387F921CCB222EB665FD7FE640FD50 /* EKButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKButtonView.swift; path = Source/MessageViews/MessagesUtils/EKButtonView.swift; sourceTree = ""; }; + 65422B5BF9CFEDCC0E4F9310DA33EFF7 /* icon_file_type_gif@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_gif@3x.png"; path = "Sources/Resources/FileType/icon_file_type_gif@3x.png"; sourceTree = ""; }; + 65585A6255E9A668F126C3349E9764A6 /* RequestCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestCompression.swift; path = Source/RequestCompression.swift; sourceTree = ""; }; + 6562F933E6A10E559B004E17FDBC9A2A /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; }; + 658C095E5CC3516D60599C57E0AA9B42 /* JXCategoryTitleCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleCell.h; path = Sources/Title/JXCategoryTitleCell.h; sourceTree = ""; }; + 6593FDB1B26356CFC6F7E3A56EC9B4EF /* EKPopUpMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKPopUpMessage.swift; path = Source/Model/EKPopUpMessage.swift; sourceTree = ""; }; + 659D7722A37717A7CB378A9282AD1239 /* icon_file_type_ppt@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ppt@2x.png"; path = "Sources/Resources/FileType/icon_file_type_ppt@2x.png"; sourceTree = ""; }; + 65BB21C1EA3F15703D1E8A1246CCCCA7 /* icon_file_type_css@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_css@2x.png"; path = "Sources/Resources/FileType/icon_file_type_css@2x.png"; sourceTree = ""; }; + 665515CE26D997748A0075BB0B943E29 /* ESTabBarController-swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ESTabBarController-swift-prefix.pch"; sourceTree = ""; }; + 66642D16110D01BDD287A6EA7F0EF68C /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + 66A9E46A2CB756450E0B2CE0B9A0B6F9 /* icon_file_type_flv.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_flv.png; path = Sources/Resources/FileType/icon_file_type_flv.png; sourceTree = ""; }; + 66AF7A3EEC3FBA941E81EA458AA88D5A /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManagerOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageCachesManagerOperation.h; sourceTree = ""; }; + 66C1FF6946B5863537648C801D89F002 /* icon_file_type_avi@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_avi@3x.png"; path = "Sources/Resources/FileType/icon_file_type_avi@3x.png"; sourceTree = ""; }; + 66E1A19B3D5EDB9E0111E74A67A6CD54 /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; + 66FFBC38A9898C5058C0271555FA8699 /* ColorUtil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ColorUtil.swift; path = DDColorKit_Private/Classes/ColorUtil.swift; sourceTree = ""; }; + 6710250DFA070B076930CDD59BD363CA /* MAMultiPoint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPoint.h; path = AMapNaviKit.framework/Headers/MAMultiPoint.h; sourceTree = ""; }; + 678922BF7FDA5955BFD767DFC4FDA4BE /* UINavigationBar+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationBar+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationBar+DDCategory/UINavigationBar+DDCategory.h"; sourceTree = ""; }; + 67B20A4AE241E845727879B4F452A22D /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSData+ImageContentType.m"; sourceTree = ""; }; + 67B71FDDE414C99386D453003271124D /* UITextField+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITextField+DDCategory/UITextField+DDCategory.h"; sourceTree = ""; }; + 67C917A4BB9FA9AFE1CDD65EBEB9F94C /* icon_file_type_xls@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_xls@2x.png"; path = "Sources/Resources/FileType/icon_file_type_xls@2x.png"; sourceTree = ""; }; + 67DBC594505CCECC09CB8216A7CB2FE7 /* SDWebImageIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageIndicator.m; sourceTree = ""; }; + 67ECFFD6055E790B0839D8D775E34880 /* AMapNaviBaseManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviBaseManager.h; path = AMapNaviKit.framework/Headers/AMapNaviBaseManager.h; sourceTree = ""; }; + 683C92114218A4E0562D60FFD4A02FDE /* NSBezierPath+SDRoundedCorners.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBezierPath+SDRoundedCorners.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/NSBezierPath+SDRoundedCorners.m"; sourceTree = ""; }; + 6898885DC20EE70D9C1EB74772737EA4 /* Array+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Array+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 68F7CE761E8B7C8EA898B643B192B321 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + 69449E87C701E39D533A06C15DBCB358 /* MATraceReplayOverlay+Addition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MATraceReplayOverlay+Addition.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay+Addition.h"; sourceTree = ""; }; + 69945F5F3F6ADBB63B04C275CAFAD210 /* DDToastKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDToastKit_Private.modulemap; sourceTree = ""; }; + 69C984B11025247B51467F3152C160F4 /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoNormalFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m; sourceTree = ""; }; + 69DCFE14960926048D2D49F5296A358A /* AMapNaviInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviInfo.h; path = AMapNaviKit.framework/Headers/AMapNaviInfo.h; sourceTree = ""; }; + 69F3E819D0775573D756676F918A674F /* DDColorKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDColorKit_Private.debug.xcconfig; sourceTree = ""; }; + 6A5903B342232AEB7EFAF370F1A4B8BB /* Manager.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = Manager.storyboard; path = Sources/Resources/Manager.storyboard; sourceTree = ""; }; + 6A5C37F6119925C6F77086DEB398E81A /* DDBaseImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseImageView.h; path = DDBasicControlsKit_Private/Classes/DDBaseImageView/DDBaseImageView.h; sourceTree = ""; }; + 6A676864DC0CCA136AFBF902CE9695EA /* DDBaseViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseViewController.m; path = DDBasicControlsKit_Private/Classes/DDBaseViewController/DDBaseViewController.m; sourceTree = ""; }; + 6A96B08E07305C7873319B2946342FCF /* NSMutableAttributedString+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableAttributedString+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableAttributedString+DDCategory.m"; sourceTree = ""; }; + 6AC1063A0826DF37092BEF1775A0E765 /* DDColorKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDColorKit_Private-prefix.pch"; sourceTree = ""; }; + 6BC706F6CDAC74F3D654F27505250022 /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; + 6BD087915E49C6DD5E043CABD67719AF /* DDCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDCollectionView.swift; path = DDControlsKit_Private/Classes/DDCollectionView/DDCollectionView.swift; sourceTree = ""; }; + 6C7663DE3DF45FBD23B4A5766F5A03E8 /* SDImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoder.h; sourceTree = ""; }; + 6CDF52C63CB219CFD5414F3812B9B163 /* DDControlsKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDControlsKit_Private-umbrella.h"; sourceTree = ""; }; + 6D86370ED1E2307B6DCAC4441D61F632 /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; + 6E3E285D4EBEC82A6ABCB6B33EAFA3C6 /* UIColor+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+Utils.swift"; path = "Source/Extensions/UIColor+Utils.swift"; sourceTree = ""; }; + 6E3F40101C68228DF69C6B42A4137AEE /* ZLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLFilter.swift; path = Sources/Edit/ZLFilter.swift; sourceTree = ""; }; 6EEB8B1CB2BF24B44DEEDC1B058B22E2 /* DDMAMapKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDMAMapKit_Private; path = libDDMAMapKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F277C340A7A006E94FF23EE5D81E3F0 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - 6FB1B2F49C8CB24BBC41080E0F609131 /* Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decode.swift; path = RxSwift/Observables/Decode.swift; sourceTree = ""; }; - 6FD1FA40D8217077DF5F77ACECAD9F05 /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; - 709E03F2D2329C6B0C579E955BBB2001 /* UIButton+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIButton+DDCategory/UIButton+DDCategory.m"; sourceTree = ""; }; - 70AC6387273B76F2447DA736EF05CE80 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; - 70B522161334143A91883444A329E8AA /* AMapNaviBaseManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviBaseManager.h; path = AMapNaviKit.framework/Headers/AMapNaviBaseManager.h; sourceTree = ""; }; + 6EFB5E830B88FC8B3C12A34B9ECA6B49 /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshNormalHeader.m; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.m; sourceTree = ""; }; + 6F007975EB3CD4AF6C6D2D01729BB001 /* DDMAMapKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDMAMapKit_Private-umbrella.h"; sourceTree = ""; }; + 6F4E4B2CF19AA0A97913BED55A4EC9E6 /* PrimitiveSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Concurrency.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Concurrency.swift"; sourceTree = ""; }; + 6FC34A057C93B6E8B9925875DADE5792 /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOAnimatedCoder.m; sourceTree = ""; }; + 70111DAB4693A7745F67A56095F9EDDD /* AMapURLSearchType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearchType.h; path = AMapFoundationKit.framework/Headers/AMapURLSearchType.h; sourceTree = ""; }; + 701C17A99372BE7088969F793D8EBC60 /* DDAutoUIKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDAutoUIKit_Private.release.xcconfig; sourceTree = ""; }; + 708C41F6E9E6746DC8F5675084D4C46E /* YYAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAnimatedImageView.m; path = YYImage/YYAnimatedImageView.m; sourceTree = ""; }; + 70B6A5340E1BF2478695B9C553EBC6FE /* DDAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAlamofire.swift; path = DDNetworkingOfAlamofireKit_Private/Classes/DDAlamofire.swift; sourceTree = ""; }; + 70C29F27FE3DBAB14F76FE7EFA0950F6 /* ZLClipImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLClipImageViewController.swift; path = Sources/Edit/ZLClipImageViewController.swift; sourceTree = ""; }; + 70E56F65C2A70177FAA7D31FFE6A73A2 /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJExtension.m"; path = "MJRefresh/UIScrollView+MJExtension.m"; sourceTree = ""; }; + 70EFCC49C3641FB1AEF7AAF01EE84770 /* UIDatePicker+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIDatePicker+Rx.swift"; path = "RxCocoa/iOS/UIDatePicker+Rx.swift"; sourceTree = ""; }; 71067D1F0754E977C6E009846B257042 /* DDBasicControlsKit_Private-DDBaseViewController */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "DDBasicControlsKit_Private-DDBaseViewController"; path = DDBaseViewController.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 713B7D34CF9565F9866E27AEF91E554C /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; - 716BF48456AAC3B160433F522407F42C /* SDImageAWebPCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAWebPCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAWebPCoder.m; sourceTree = ""; }; - 71AB1A031D043B30D99E49690ED3F80D /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = ""; }; - 71AC7BCD1812B821E5F06595D29FE590 /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; - 71B3D71F408EDE136CBBFB3B205E76D9 /* ZLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLFilter.swift; path = Sources/Edit/ZLFilter.swift; sourceTree = ""; }; - 71C6EA2E8F4430153FB0CBB07B761F1F /* EKNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNoteMessageView.swift; path = Source/MessageViews/Notes/EKNoteMessageView.swift; sourceTree = ""; }; - 71EE95AFC1A598411065F4380A2C617A /* UISearchBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchBar+Rx.swift"; path = "RxCocoa/iOS/UISearchBar+Rx.swift"; sourceTree = ""; }; - 72503BDFC7A65E3D8D24320D59918FD2 /* AMapSearch-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapSearch-NO-IDFA.release.xcconfig"; sourceTree = ""; }; - 728E9BC93B4609B142EE2207684DB916 /* JXCategoryIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorView.h; path = Sources/Indicator/JXCategoryIndicatorView.h; sourceTree = ""; }; - 729B4A35FE50FA2C52E97EFD6D71D8EF /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; - 72CC2CB602B141DBF4D7ED0D72116E5E /* RxSearchBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift; sourceTree = ""; }; - 72F7F1963252E7C08B2C13F75EB0C4A1 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - 730A0DDF48D4CDDB8BB1378A1DD6EAD4 /* RxTableViewReactiveArrayDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewReactiveArrayDataSource.swift; path = RxCocoa/iOS/DataSources/RxTableViewReactiveArrayDataSource.swift; sourceTree = ""; }; - 7325F9F0795CB1412150D7C078F378CB /* ZLAlbumListCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListCell.swift; path = Sources/General/ZLAlbumListCell.swift; sourceTree = ""; }; - 732D127F9888E847605A93115B6FB2A5 /* ZFLandscapeWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandscapeWindow.h; path = ZFPlayer/Classes/Core/ZFLandscapeWindow.h; sourceTree = ""; }; - 733C68337175011F89791D45C841D3AF /* AMapSearchKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchKit.h; path = AMapSearchKit.framework/Headers/AMapSearchKit.h; sourceTree = ""; }; - 73AF0ACD82FCD087067C42D8DACDAF22 /* MJRefreshFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshFooter.h; path = MJRefresh/Base/MJRefreshFooter.h; sourceTree = ""; }; - 73BFAEEAA83D4D1D9E09793FAA92EE32 /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = ""; }; - 73F9897B9AA3A9FAD18712FED479E441 /* DDAutoUIKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDAutoUIKit_Private.modulemap; sourceTree = ""; }; - 73FFA9A27DA8200EE6A34BE8EF31865E /* RxCollectionViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; - 7407C365243B38752BEC41386DC423FE /* PrimitiveSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Concurrency.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Concurrency.swift"; sourceTree = ""; }; - 7417192B4C1D7F1D8CFAF2AA1AC69F09 /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Debug.swift"; sourceTree = ""; }; - 748BB1DB6EAECC67D4D73F077E64AAA6 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+HighlightedWebCache.h"; sourceTree = ""; }; - 7494706A6103037E9AE0BAB70B47791F /* MATraceReplayOverlay+Addition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MATraceReplayOverlay+Addition.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay+Addition.h"; sourceTree = ""; }; - 74C0CEF207216535BC2D646F46790388 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; - 74E38760679F934E8A00EB1FA8ABD601 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSButton+WebCache.h"; sourceTree = ""; }; - 75290406963A318E803AF8EACD628DF4 /* SDImageHEICCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageHEICCoder.m; sourceTree = ""; }; - 7547CD1C1642410F94AAF3BE75CC26CF /* AMapLocationKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationKit.h; path = AMapLocationKit.framework/Headers/AMapLocationKit.h; sourceTree = ""; }; - 758F1ADDC82F7BCCB943A59C8537B285 /* EKAttributes+WindowLevel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+WindowLevel.swift"; path = "Source/Model/EntryAttributes/EKAttributes+WindowLevel.swift"; sourceTree = ""; }; - 759C40D040475B81C9AD43CE725B5771 /* MAOfflineMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineMap.h; path = AMapNaviKit.framework/Headers/MAOfflineMap.h; sourceTree = ""; }; - 75C26E18D5BBE4E9FDFB13171AD79AE4 /* MAPinAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPinAnnotationView.h; path = AMapNaviKit.framework/Headers/MAPinAnnotationView.h; sourceTree = ""; }; - 75D1141D41D37C9177AD39190835097C /* UITabBar+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBar+Rx.swift"; path = "RxCocoa/iOS/UITabBar+Rx.swift"; sourceTree = ""; }; - 75EB752D1459AC050F285FEEC9B46042 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Transform.h"; sourceTree = ""; }; - 7652795C678E014507695AD5757A184C /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - 76A129310BE2AD2BCCAD9DDDEE41760B /* AMapNaviDriveManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveManager.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveManager.h; sourceTree = ""; }; - 76A32A87B597F8FEF9BFB976DCF1D24F /* JXCategoryViewAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryViewAnimator.m; path = Sources/Common/JXCategoryViewAnimator.m; sourceTree = ""; }; - 76FAFA8931DDDC485CC2BF0225EEBE28 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - 774DF6AAB3E8877F3BA3288ED84402FB /* UITabBarController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITabBarController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITabBarController+DDCategory/UITabBarController+DDCategory.m"; sourceTree = ""; }; - 77557C199EB3DF9A2B4F5C1D3C46E8BC /* EKRatingSymbolsContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingSymbolsContainerView.swift; path = Source/MessageViews/MessagesUtils/EKRatingSymbolsContainerView.swift; sourceTree = ""; }; - 77599CAE925776771AE4A255E20182C8 /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; - 77889065E57D4409FDDFAD10BD23CD8B /* UILabel+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UILabel+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UILabel+DDCategory/UILabel+DDCategory.m"; sourceTree = ""; }; - 779DA9E9A107C88A96F5CD2E19933DE7 /* UIFont+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIFont+DDCategory/UIFont+DDCategory.h"; sourceTree = ""; }; - 779F3A97073B497A65E751F00B699E6D /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; - 779FF4F794EBD1E104C275C7801C5A4A /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; - 77E9D3270BDA1B3EB763FC6FCCC9C289 /* MAMapStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapStatus.h; path = AMapNaviKit.framework/Headers/MAMapStatus.h; sourceTree = ""; }; - 77EA6B0EF2745F7938084A803C51B8B6 /* SDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWeakProxy.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWeakProxy.m; sourceTree = ""; }; - 784760F2E1450336B98D33BA94DB2D4F /* EKAttributes+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Shadow.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Shadow.swift"; sourceTree = ""; }; - 78A5D9E4E3522499EF576035BF8644E8 /* UIFont+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIFont+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIFont+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 78E4D5D9061137C3840627DC7A22F6E6 /* SDWebImageOptionsProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOptionsProcessor.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOptionsProcessor.m; sourceTree = ""; }; - 797EA6F95F919704E4D20B03FEAE2B2C /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - 79B8181D6BCDAB95A21B487E3C4FE3C5 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; - 79BE26D8EEF45461D2CD0155D6F836A2 /* MJRefreshNormalTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalTrailer.h; path = MJRefresh/Custom/Trailer/MJRefreshNormalTrailer.h; sourceTree = ""; }; - 7A3A7FD72C8B92A58F51548332217FB5 /* MAMultiTexturePolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiTexturePolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiTexturePolylineRenderer.h; sourceTree = ""; }; - 7A5C7412A60E5D3158BF0ADABEF2215C /* ZLPhotoPreviewPopInteractiveTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewPopInteractiveTransition.swift; path = Sources/Animation/ZLPhotoPreviewPopInteractiveTransition.swift; sourceTree = ""; }; - 7A5D43B4C65369E680311C7B1A74332C /* AMapFoundationVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationVersion.h; path = AMapFoundationKit.framework/Headers/AMapFoundationVersion.h; sourceTree = ""; }; - 7A774E04009B4CA3DD1212705F57DD67 /* AMapUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapUtility.h; path = AMapFoundationKit.framework/Headers/AMapUtility.h; sourceTree = ""; }; - 7A96D44B80709B17AF6D5CD258437126 /* ESTabBarController-swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ESTabBarController-swift-umbrella.h"; sourceTree = ""; }; - 7AA6C8B50A7424F50A202E1778A6908A /* RxRelay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxRelay.modulemap; sourceTree = ""; }; - 7AC98EB90DD6B5DD9F1BF265AA9B796C /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - 7AEC9A1A5103532A79771360F6382660 /* MAOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlay.h; path = AMapNaviKit.framework/Headers/MAOverlay.h; sourceTree = ""; }; - 7B1658EF88CA595AEA0831619F2E5916 /* ZFPlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayer.h; path = ZFPlayer/Classes/Core/ZFPlayer.h; sourceTree = ""; }; - 7B4198240636303ED58E9B45404649A6 /* JXCategoryNumberCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberCellModel.m; path = Sources/Number/JXCategoryNumberCellModel.m; sourceTree = ""; }; - 7BD55BA9B48C8F8041A3826CB6F4D63F /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; - 7BDAC755C5BF3B76A4E4C6365C7B1599 /* DDCategoryKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDCategoryKit_Private.debug.xcconfig; sourceTree = ""; }; - 7BDB694CD0EA8E55CC2F6F7C1F790511 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - 7BF93B596B360779782E3FBBF7AAF012 /* ZLClipImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLClipImageViewController.swift; path = Sources/Edit/ZLClipImageViewController.swift; sourceTree = ""; }; - 7C2DD96D94B33480141CD33D7564D0E1 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; - 7C2F1F9745C892BCEC5395D95071D775 /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = ""; }; - 7C4C8486770A6B560214DDAFF13FAFDE /* DDBaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseView.m; path = DDBasicControlsKit_Private/Classes/DDBaseView/DDBaseView.m; sourceTree = ""; }; - 7CD648B156D2E4123C2C343ADEAC20C0 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; - 7CE11514ACAD215F6823B196B91536C1 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; - 7CFA1E3DA2D32F49ED0C2F03D442A8D5 /* JXCategoryTitleVerticalZoomCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomCell.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.m; sourceTree = ""; }; - 7CFC717F07F144C2227FF793A40AE410 /* AMapNaviKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviKit.h; path = AMapNaviKit.framework/Headers/AMapNaviKit.h; sourceTree = ""; }; - 7CFD85E04C9F37619C4403DBC621FE41 /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOAnimatedCoder.h; sourceTree = ""; }; - 7DBDB4F120884A32F25656B278C509BE /* RxRelay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.release.xcconfig; sourceTree = ""; }; - 7DCE973E96BAB683283538BA4415167F /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 7DF83D127B227A9481F4A34DF48B3C8F /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheKeyFilter.m; sourceTree = ""; }; - 7E5E737EDFD33953938E4CB48647A583 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - 7E86C08389839652DB411FD40EF02462 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; - 7E86E34E8835F13A9AC605275B4D705D /* ZFOrientationObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFOrientationObserver.h; path = ZFPlayer/Classes/Core/ZFOrientationObserver.h; sourceTree = ""; }; - 7F21B48E883DAA6EA7FDEE4D688AB37F /* NSMutableAttributedString+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableAttributedString+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableAttributedString+DDCategory.h"; sourceTree = ""; }; - 7F590CF1C5A6E49555234D4348AB6BA7 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - 7FA48DAAA19AA9182D06BF5F9BB74F36 /* DDBasicControlsKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDBasicControlsKit_Private-dummy.m"; sourceTree = ""; }; - 7FB6B859A25DB4F5D6AAC46DE278752C /* UITabBarController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITabBarController+Rx.swift"; path = "RxCocoa/iOS/UITabBarController+Rx.swift"; sourceTree = ""; }; - 7FD0DAD9D140A5C9932DEFAC4C3D1EF5 /* DDNetworkingOfAlamofireKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDNetworkingOfAlamofireKit_Private.modulemap; sourceTree = ""; }; - 8014D5D304D99221B496DD34F80D230C /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCompat.m; sourceTree = ""; }; - 801CF86B61B8D3662503E065018435E6 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; - 803F891D2788EC97DE6ACB80C74B862C /* JXCategoryIndicatorComponentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorComponentView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.h; sourceTree = ""; }; + 71085E406FD3583B05B1ED4E671AFC08 /* SDGraphicsImageRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDGraphicsImageRenderer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDGraphicsImageRenderer.h; sourceTree = ""; }; + 7122E66334E6C1133CDF561CF8B34109 /* UITableViewCell+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableViewCell+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITableViewCell+DDCategory/UITableViewCell+DDCategory.h"; sourceTree = ""; }; + 713D707AC3CBA3593195D75FB79C1172 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 71B64DD9C5577AA315CC42CB7D1CF461 /* EKAttributes+BackgroundStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+BackgroundStyle.swift"; path = "Source/Model/EntryAttributes/EKAttributes+BackgroundStyle.swift"; sourceTree = ""; }; + 71E782BBB5EC32D8D3AB0992CDE2439F /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+GIF.h"; sourceTree = ""; }; + 71ED8CFA2F352F4BBEFA552B628FC639 /* icon_file_type_numbers@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_numbers@2x.png"; path = "Sources/Resources/FileType/icon_file_type_numbers@2x.png"; sourceTree = ""; }; + 71F82D1D28119315A073B86B0D5B8848 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; + 723C7571AD36733C6B6E8D841D53AD8A /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 724DBEC4492D1F52D56DCC43EE91243E /* icon_file_type_java.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_java.png; path = Sources/Resources/FileType/icon_file_type_java.png; sourceTree = ""; }; + 7288E751385A0027F4AFB7C50169DFB3 /* UIColor+SDHexString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+SDHexString.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/UIColor+SDHexString.h"; sourceTree = ""; }; + 72C695B2E5DDC428541E2AAED042CBED /* ZFPresentTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPresentTransition.h; path = ZFPlayer/Classes/Core/ZFPresentTransition.h; sourceTree = ""; }; + 72D2C0C9FC00BB93FA5260ED05C91663 /* CocoaDebug-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaDebug-umbrella.h"; sourceTree = ""; }; + 72DC251730330FF1CA08CA758A2C039F /* icon_file_type_flv@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_flv@2x.png"; path = "Sources/Resources/FileType/icon_file_type_flv@2x.png"; sourceTree = ""; }; + 72F31428F76D5D2D5620B71B27985958 /* DriveRouteCustomAnnotationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DriveRouteCustomAnnotationView.m; path = DDMAMapKit_Private/Classes/DDMAMap/AnnotationView/DriveRouteCustomAnnotationView.m; sourceTree = ""; }; + 73A4F0A21434450965381BD1A4F12503 /* UILabel+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UILabel+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UILabel+DDCategory/UILabel+DDCategory.h"; sourceTree = ""; }; + 73A59FA9D835B6A1D275F9E30C6E7E06 /* SwiftEntryKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-prefix.pch"; sourceTree = ""; }; + 73CC10486B113A63DB08EBF71D2BE3B2 /* SDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWeakProxy.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWeakProxy.m; sourceTree = ""; }; + 73D211CF3D5CCD86F4B4DEB55EE82F64 /* SDWebImageDownloaderDecryptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderDecryptor.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderDecryptor.h; sourceTree = ""; }; + 73DCAEAA669CED59467BF661C1778B03 /* icon_file_type_dat@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dat@2x.png"; path = "Sources/Resources/FileType/icon_file_type_dat@2x.png"; sourceTree = ""; }; + 742E300B2DABB7C574386A0B50C1C89D /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+GIF.m"; sourceTree = ""; }; + 745406A4D088BA4EC192EC68949FBE84 /* icon_file_type_folder_empty@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_folder_empty@2x.png"; path = "Sources/Resources/FileType/icon_file_type_folder_empty@2x.png"; sourceTree = ""; }; + 747FC698D87DE63C92975D0806134123 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; + 7568F23D5DBDF76EE3CFF3B5C1F6E76C /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCacheOperation.h"; sourceTree = ""; }; + 757C6CB011B0513672C9709D00F26B80 /* EKWindowProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWindowProvider.swift; path = Source/Infra/EKWindowProvider.swift; sourceTree = ""; }; + 76040B9F9791E5BEA10329D8B991B389 /* DDCategoryKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDCategoryKit_Private.release.xcconfig; sourceTree = ""; }; + 7607C7845532CD19451FCAF5D8FAA594 /* DDMANaviManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMANaviManager.h; path = DDMAMapKit_Private/Classes/DDMANaviManager/DDMANaviManager.h; sourceTree = ""; }; + 760DC51BA1CCE59F4EECBD3F4322A9AD /* MATileOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATileOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MATileOverlayRenderer.h; sourceTree = ""; }; + 763077C36964E5620A66FFE6910B1FE6 /* MJRefresh.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.debug.xcconfig; sourceTree = ""; }; + 7638C80BE4CBCF67C36C322AFE42306C /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; + 764FBB181EACB0E4640DE034189E6EB0 /* JXCategoryTitleImageCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageCellModel.m; path = Sources/TitleImage/JXCategoryTitleImageCellModel.m; sourceTree = ""; }; + 765E8672678E1C09D202F65FFA51093E /* UIColor+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIColor+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 769A998FECDFBEBE1BCB5AE00554A7C5 /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = ""; }; + 76A1859FBB95A911F738D3276EDA4D21 /* SDAssociatedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAssociatedObject.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAssociatedObject.m; sourceTree = ""; }; + 76B3653366E301F55DAB1AA5003BE86D /* icon_file_type_md.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_md.png; path = Sources/Resources/FileType/icon_file_type_md.png; sourceTree = ""; }; + 76BF6DB0787788233C1DAEFA57DE5848 /* DDTimerKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDTimerKit_Private.modulemap; sourceTree = ""; }; + 77007457819878C66B2C8873BA8B4EE4 /* MAPointAnnotation+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MAPointAnnotation+DDCategory.m"; path = "DDMAMapKit_Private/Classes/DDMAMap/Annotation/MAPointAnnotation+DDCategory.m"; sourceTree = ""; }; + 777C7F8307F4AD27D1BA1F5E024ABE04 /* _Sandboxer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _Sandboxer.h; path = Sources/Sandbox/_Sandboxer.h; sourceTree = ""; }; + 777FB59B60228033273CFB4A403A5916 /* MAHeatMapVectorGridOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorGridOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorGridOverlay.h; sourceTree = ""; }; + 77A08C07A53B05F112F9FF09FA9C7D2E /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; + 77AB1809577F05CF5AF082C3BBE243AB /* AMapLocationKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationKit.h; path = AMapLocationKit.framework/Headers/AMapLocationKit.h; sourceTree = ""; }; + 77E39033B717CE2548373E33A165F4F1 /* _RunloopMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RunloopMonitor.m; path = Sources/Monitor/_RunloopMonitor.m; sourceTree = ""; }; + 782191E1A03F33C0F53E199A14033766 /* AMapTrack-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapTrack-NO-IDFA.release.xcconfig"; sourceTree = ""; }; + 784084F4E7B8A34E85EC702DCA5F5A48 /* _fishhook.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _fishhook.h; path = Sources/fishhook/_fishhook.h; sourceTree = ""; }; + 7856DD22C3CCDB580650D09E46F26E10 /* RxRelay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-umbrella.h"; sourceTree = ""; }; + 7869A89417FE726C9D5C3110522B94C4 /* RxTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTarget.swift; path = RxCocoa/Common/RxTarget.swift; sourceTree = ""; }; + 787AD0A98748983B3934B0956C698C0A /* _FilePreviewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FilePreviewController.h; path = Sources/Sandbox/_FilePreviewController.h; sourceTree = ""; }; + 7899D9109AB189BCD35FE32864942BBD /* DDControlsKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDControlsKit_Private-dummy.m"; sourceTree = ""; }; + 78A05C2C4B4341A8495E9935DFD46BC0 /* ZFKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFKVOController.m; path = ZFPlayer/Classes/Core/ZFKVOController.m; sourceTree = ""; }; + 7964C64FDDE769F97B3708C2789305A9 /* JXCategoryViewAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryViewAnimator.h; path = Sources/Common/JXCategoryViewAnimator.h; sourceTree = ""; }; + 798B1F31B12771422E0517E8CDFBF8E4 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; + 79A69AC341B03033B46431E34FEDC675 /* SDImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageFrame.m; sourceTree = ""; }; + 79AC532787351D8F40CD663668907140 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloader.h; sourceTree = ""; }; + 79EB54B7A0D1D7AA3003395D4D68C6C9 /* NSObject+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx.swift"; path = "RxCocoa/Foundation/NSObject+Rx.swift"; sourceTree = ""; }; + 7A06D22A64C758FF847C801B71FD01CE /* EKAttributes+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Shadow.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Shadow.swift"; sourceTree = ""; }; + 7A26BA476D1799A4662A2CE412BACB30 /* DDNetworkingOfAlamofireKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDNetworkingOfAlamofireKit_Private-prefix.pch"; sourceTree = ""; }; + 7A3D5F34836EA55BA9044EBCC4CA6FF9 /* DDImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDImage.swift; path = DDControlsKit_Private/Classes/DDImage/DDImage.swift; sourceTree = ""; }; + 7A575E760BD80DEC8041FD3D509FD96A /* EKWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWindow.swift; path = Source/Infra/EKWindow.swift; sourceTree = ""; }; + 7A69706F8BEEE9AB0FEFF51167078120 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloader.m; sourceTree = ""; }; + 7A85CD73D9538F007FF27995D5E48862 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + 7AC33097DF29A7025CD9FD3DB16E3B0B /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; + 7B149E5E85148DAADE6E69C9C8BD02C8 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; + 7B406984239E0A7C2E354E908323FAE4 /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView+WebCache.h"; sourceTree = ""; }; + 7BA85E09426160281B9523DA7958077D /* SDAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImage.h; sourceTree = ""; }; + 7BA9FBB83619EDC9803422FDD8142205 /* JXCategoryTitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleView.h; path = Sources/Title/JXCategoryTitleView.h; sourceTree = ""; }; + 7BBD6DD2E41A775A3C550D9EE456C222 /* icon_file_type_ipa.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_ipa.png; path = Sources/Resources/FileType/icon_file_type_ipa.png; sourceTree = ""; }; + 7BBE51C4347468E4FB1ECACADFCA130E /* icon_file_type_pdf@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_pdf@2x.png"; path = "Sources/Resources/FileType/icon_file_type_pdf@2x.png"; sourceTree = ""; }; + 7BDE959BBDC979EA7249428CD4181A54 /* DDTimerManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTimerManager.m; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerManager.m; sourceTree = ""; }; + 7BE3D6EA2CEDFF691F321FD65C345199 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; + 7BED7273BEA06FFD5C93ABD93D4E0352 /* _DebugConsoleLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _DebugConsoleLabel.h; path = Sources/Monitor/_DebugConsoleLabel.h; sourceTree = ""; }; + 7BF4AA55E6514D3D502566EB617C3471 /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = en.lproj; path = Sources/en.lproj; sourceTree = ""; }; + 7C0CA20E72B701AC9AC4D19BF8597D1F /* DDBaseModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseModel.m; path = DDBasicControlsKit_Private/Classes/DDBaseModel/DDBaseModel.m; sourceTree = ""; }; + 7C16038A594C665F60D4805698B72E42 /* DDBaseImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseImage.m; path = DDBasicControlsKit_Private/Classes/DDBaseImage/DDBaseImage.m; sourceTree = ""; }; + 7C353766033767D7665EE9C4D3DF4360 /* UICollectionViewCell+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionViewCell+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UICollectionViewCell+DDCategory/UICollectionViewCell+DDCategory.h"; sourceTree = ""; }; + 7C3F2F8FF73B12B6233F77A27DE174A3 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 7C4710E76E3E7D2D93F5E1EBB6E9E1C9 /* icon_file_type_xls@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_xls@3x.png"; path = "Sources/Resources/FileType/icon_file_type_xls@3x.png"; sourceTree = ""; }; + 7C4F9B2C9EB402F75D3A3697B0B8B70E /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + 7C730C74B36DD27B1EB54A6F2B885FE1 /* ZLPhotoBrowser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ZLPhotoBrowser-dummy.m"; sourceTree = ""; }; + 7CA4EF7C3C138E3278557BB9E6AE0301 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 7CB628C1973540DFEAA1868D098FBAAE /* ZFPlayerLogManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerLogManager.m; path = ZFPlayer/Classes/Core/ZFPlayerLogManager.m; sourceTree = ""; }; + 7CF3F4B59DA866250F9E9434CB9F437B /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 7CF864BC6FE042C7B90DCE11EA8080B1 /* DDCategoryKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDCategoryKit_Private.debug.xcconfig; sourceTree = ""; }; + 7D052BA31A4EFF0AE6AA2E1DFA1C0F27 /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; + 7D0CCB251930D8993780CDCE5B2A8EB5 /* JXCategoryIndicatorCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorCellModel.m; path = Sources/Indicator/JXCategoryIndicatorCellModel.m; sourceTree = ""; }; + 7D1547A7353DD9FF4B5E75AB49605788 /* UIScrollView+ZFPlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+ZFPlayer.m"; path = "ZFPlayer/Classes/Core/UIScrollView+ZFPlayer.m"; sourceTree = ""; }; + 7D28F839FA262B3A7345F53AB4EEAB7F /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + 7D69CADBCA313A715654179BE2398DF7 /* SDInternalMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDInternalMacros.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDInternalMacros.h; sourceTree = ""; }; + 7D79A2708BDE3C85726D40206166DECF /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + 7D8A0C37CA47FF6E6A7EB6D4BECD4E63 /* DDMutableAttributedString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDMutableAttributedString.swift; path = DDControlsKit_Private/Classes/DDAttributedString/DDMutableAttributedString.swift; sourceTree = ""; }; + 7DA48CB4D3F63FA5B99AF1F6CE7A33AC /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + 7DADB4B09E4E87B0C4E2B1EB1123CFE4 /* Bundle+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bundle+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Bundle+ZLPhotoBrowser.swift"; sourceTree = ""; }; + 7DE2F8437EA87F882D81131D1C5E0B81 /* MABaseOverlay+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MABaseOverlay+DDCategory.m"; path = "DDMAMapKit_Private/Classes/DDMAMap/Overlay/MABaseOverlay+DDCategory.m"; sourceTree = ""; }; + 7DF0B91A9D93C2202EF209EC6E175D75 /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSButton+WebCache.m"; sourceTree = ""; }; + 7E2D5C198AAB5B7D72CCE70C7FB9DCEF /* AppInfoViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppInfoViewController.swift; path = Sources/App/AppInfoViewController.swift; sourceTree = ""; }; + 7E36471C66E02380CBB5543709BA9DB6 /* JXCategoryTitleImageCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageCell.h; path = Sources/TitleImage/JXCategoryTitleImageCell.h; sourceTree = ""; }; + 7E779901DFF54A4C5899624A3B299989 /* icon_file_type_jar.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_jar.png; path = Sources/Resources/FileType/icon_file_type_jar.png; sourceTree = ""; }; + 7EC593FAEC7457806959AEEBDD0C5E1C /* JXCategoryView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryView.h; path = Sources/JXCategoryView.h; sourceTree = ""; }; + 7EEFF07276DDB76FAE2C135FACF5B135 /* SDImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoder.m; sourceTree = ""; }; + 7F05FEBBCB595D644C000725FCFF4F65 /* JXCategoryIndicatorBackgroundView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorBackgroundView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.m; sourceTree = ""; }; + 7F1A73CC7DF2170CB5CCEE41F48033EE /* CrashStoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrashStoreManager.swift; path = Sources/App/CrashStoreManager.swift; sourceTree = ""; }; + 7F5667EA7028400F694EB265B1515E39 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; + 7F56CC6C5852793D1E431A1281B50E62 /* SDImageGraphics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGraphics.h; sourceTree = ""; }; + 7F61107954704ADA20D3EC8B85F2EE63 /* ZFPlayer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ZFPlayer-dummy.m"; sourceTree = ""; }; + 7F78019412227F10B3BC4D39E02C6A82 /* SDDeviceHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDeviceHelper.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDeviceHelper.h; sourceTree = ""; }; + 7FE782D0A0BB573EB18B21B1E709542E /* EKAttributes+PositionConstraints.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+PositionConstraints.swift"; path = "Source/Model/EntryAttributes/EKAttributes+PositionConstraints.swift"; sourceTree = ""; }; + 801AFA3074293BB5F63336A60CCFD90D /* icon_file_type_wmv.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_wmv.png; path = Sources/Resources/FileType/icon_file_type_wmv.png; sourceTree = ""; }; + 809A7A37E348DB1B78CC8C1FB317103A /* ZLTextStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLTextStickerView.swift; path = Sources/Edit/ZLTextStickerView.swift; sourceTree = ""; }; + 809A8A2E507878672B7D9191500FD2EA /* DDBaseMutableAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseMutableAttributedString.h; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseMutableAttributedString.h; sourceTree = ""; }; 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = RxSwift; path = libRxSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 80BF1F9CFB9B8752DE1B9089BA5AB4C6 /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDefine.h; sourceTree = ""; }; - 80DB2630784A3A152B901F46B59A2212 /* EKSimpleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKSimpleMessage.swift; path = Source/Model/EKSimpleMessage.swift; sourceTree = ""; }; - 813F6C310E3587D8132D0082CD334FE5 /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; - 818837704BE878EA31F3506CB02438F0 /* Observable+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Concurrency.swift"; path = "RxSwift/Observable+Concurrency.swift"; sourceTree = ""; }; - 82667D5B8675B8C43444121CEFAF2C43 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageRep.h; sourceTree = ""; }; - 82781153788193EAAF79519318B5AE5A /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; - 827D8783BB6345B7C7A5EA7BA9BE2D94 /* DDBaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseView.h; path = DDBasicControlsKit_Private/Classes/DDBaseView/DDBaseView.h; sourceTree = ""; }; - 82C7E92DB64EB4AEDDA8F9859554DCAF /* UITableView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITableView+DDCategory/UITableView+DDCategory.h"; sourceTree = ""; }; - 82D8968847F6D70906F256A6653FF777 /* ZLClipImageDismissAnimatedTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLClipImageDismissAnimatedTransition.swift; path = Sources/Animation/ZLClipImageDismissAnimatedTransition.swift; sourceTree = ""; }; - 831C0CFA95B7C57057FF308E5E5D244D /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackNormalFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h; sourceTree = ""; }; - 8337ED7199242369BE499CE1095D04E1 /* DDControlsKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDControlsKit_Private-dummy.m"; sourceTree = ""; }; - 839D63C13C29D11E2F4CF2FA79B7C9AF /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOCoder.h; sourceTree = ""; }; - 83E719F0D96701257685AE242836F9EB /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; - 8475CE286E56A5E8C8499499FD93D8C0 /* ZFLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLoadingView.h; path = ZFPlayer/Classes/ControlView/ZFLoadingView.h; sourceTree = ""; }; - 849B4500BDADD2D3508BAB1DD7142582 /* MAMultiColoredPolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiColoredPolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiColoredPolylineRenderer.h; sourceTree = ""; }; - 84A7511A332C54E935D5AC0AB33FE5E5 /* DriveRouteCustomAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DriveRouteCustomAnnotation.h; path = DDMAMapKit_Private/Classes/DDMAMap/Annotation/DriveRouteCustomAnnotation.h; sourceTree = ""; }; - 854EB0BA487481A9888B46E9C95F8B4B /* AMapSearchError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchError.h; path = AMapSearchKit.framework/Headers/AMapSearchError.h; sourceTree = ""; }; - 85D003E95D438DDD97CB1A76B2C830BD /* MAOverlayPathRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlayPathRenderer.h; path = AMapNaviKit.framework/Headers/MAOverlayPathRenderer.h; sourceTree = ""; }; - 861031F11BE515D8D78DDB7FD3228EC8 /* AMapNaviWalkView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkView.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkView.h; sourceTree = ""; }; - 8640D7EB45FCDF96BABAD093783B1878 /* EntryCachingHeuristic.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EntryCachingHeuristic.swift; path = Source/Infra/EntryCachingHeuristic.swift; sourceTree = ""; }; - 8664ED1B2E901F6B41B7265AB84506C5 /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManagerOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageCachesManagerOperation.m; sourceTree = ""; }; - 86C26ECC2EAF058C1B394CFB72C92711 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 8725FA1C93DACCF9BBF4A0683C2D440F /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSButton+WebCache.m"; sourceTree = ""; }; - 87536304E59ED71CF57DC4697C61C671 /* DDBaseMutableAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseMutableAttributedString.m; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseMutableAttributedString.m; sourceTree = ""; }; - 87599920109E890FAD115A4A832D2506 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; - 875DB0046FB6C0EC237887E08B7E17C5 /* DDTimerKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDTimerKit_Private-dummy.m"; sourceTree = ""; }; - 879527E7F5BF79EC255ED8AAF132CADA /* MATouchPoi.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATouchPoi.h; path = AMapNaviKit.framework/Headers/MATouchPoi.h; sourceTree = ""; }; - 87C35924A4EAB7B77383AE1BD363BDC7 /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; - 87F0D2335771C22F985D925E822A8C33 /* MBProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MBProgressHUD.h; path = DDProgressHUDKit_Private/Classes/MBProgressHUD.h; sourceTree = ""; }; - 87FC369F276C543CB0E1A3A5AFF3A837 /* MABaseOverlay+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MABaseOverlay+DDCategory.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Overlay/MABaseOverlay+DDCategory.h"; sourceTree = ""; }; - 8927D86058320768A614A5562A2D2FB2 /* JXCategoryBaseCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseCell.m; path = Sources/Base/JXCategoryBaseCell.m; sourceTree = ""; }; - 8936E5794577F96960E48780C5E9B6EA /* AMapGeoFenceRegionObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceRegionObj.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceRegionObj.h; sourceTree = ""; }; - 8938634BB278CC0931339FDF9DBC0D2F /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - 89B70F11A598B4BCB708755C942B19B3 /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackGifFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.m; sourceTree = ""; }; - 89E158078F914247606BD5C50D62DB6D /* DDLogKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDLogKit_Private-dummy.m"; sourceTree = ""; }; - 8A36963C052BB1C9CE0EDC070B0BC8BD /* EKTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKTextField.swift; path = Source/MessageViews/MessagesUtils/EKTextField.swift; sourceTree = ""; }; - 8A72604213B03111C26B3A09CC5CE966 /* JXCategoryNumberView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberView.m; path = Sources/Number/JXCategoryNumberView.m; sourceTree = ""; }; - 8A81E752F390FA2CFA808E4FD762DC67 /* JXCategoryIndicatorRainbowLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorRainbowLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.h; sourceTree = ""; }; - 8AD1E0CCFE8132D270AFDC99921A6B58 /* UIImageView+DDWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+DDWebCache.h"; path = "DDWebImageKit_Private/Classes/DDWebImage/UIImageView+DDWebCache.h"; sourceTree = ""; }; - 8AEEF526AB6E4D69C198CC2E82C472C3 /* Bundle+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bundle+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Bundle+ZLPhotoBrowser.swift"; sourceTree = ""; }; - 8AF674DC92F6594A8BCE55144406461C /* DDBaseScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseScrollView.m; path = DDBasicControlsKit_Private/Classes/DDBaseScrollView/DDBaseScrollView.m; sourceTree = ""; }; - 8AFC80F41FA2D3BD5BBE590D190844EF /* DDButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDButton.swift; path = DDControlsKit_Private/Classes/DDButton/DDButton.swift; sourceTree = ""; }; + 80AE357B7349C17E56DEAEC460A741BE /* _icon_file_type_sandbox@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_sandbox@2x.png"; path = "Sources/Resources/images/_icon_file_type_sandbox@2x.png"; sourceTree = ""; }; + 80FB05AD2A105056CD2D3A9A64311EEC /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; + 81021486B3A7FB8A422282FAD9D08943 /* UITableView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITableView+DDCategory/UITableView+DDCategory.m"; sourceTree = ""; }; + 811599DA63CDE13CF47830E83A723FD4 /* AMapNaviCompositeUserConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeUserConfig.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeUserConfig.h; sourceTree = ""; }; + 811AB5883718661229CA4D3F5EE88647 /* DDMATrackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMATrackManager.h; path = DDMAMapKit_Private/Classes/DDMATrackManager/DDMATrackManager.h; sourceTree = ""; }; + 81388E340BBB4975051A60FFBB9DF8AC /* AMapFoundationVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationVersion.h; path = AMapFoundationKit.framework/Headers/AMapFoundationVersion.h; sourceTree = ""; }; + 815535EAA9BBFA9C0BA82BBF93522BFB /* YYAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAnimatedImageView.h; path = YYImage/YYAnimatedImageView.h; sourceTree = ""; }; + 8179EF63984555E942581FFE006B2CC2 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 8198EFA82489CB4D76B6DC3090176B15 /* ZLWeakProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLWeakProxy.swift; path = Sources/General/ZLWeakProxy.swift; sourceTree = ""; }; + 81B873BD5D6B7FD912871EACBDE48559 /* SDImageLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoader.h; sourceTree = ""; }; + 81CF4E927B710273AE961E13F494A8BE /* _HttpModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _HttpModel.h; path = Sources/Network/_HttpModel.h; sourceTree = ""; }; + 81D1924AB898DCB278D9383DB46FC74A /* JXCategoryNumberView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberView.h; path = Sources/Number/JXCategoryNumberView.h; sourceTree = ""; }; + 81E6C4D1ABE099A1EAF7D26C061E833F /* icon_file_type_plist.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_plist.png; path = Sources/Resources/FileType/icon_file_type_plist.png; sourceTree = ""; }; + 81EA9211A58B0185D3FAE7B18D9E131A /* DDNavigationControllerDelegateReceiver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDNavigationControllerDelegateReceiver.h; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDNavigationControllerDelegateReceiver.h; sourceTree = ""; }; + 81F2C51D5B6D97462503054D6D667748 /* JXCategoryView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JXCategoryView-prefix.pch"; sourceTree = ""; }; + 821BCFCD1C0E93354341CD0C1E94E404 /* EKAttributes+UserInteraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+UserInteraction.swift"; path = "Source/Model/EntryAttributes/EKAttributes+UserInteraction.swift"; sourceTree = ""; }; + 8232BD8CA165E7D31E2BCAC71952040D /* UICollectionViewLayout+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionViewLayout+MJRefresh.h"; path = "MJRefresh/UICollectionViewLayout+MJRefresh.h"; sourceTree = ""; }; + 823DA6254203A66F262F2DF6C0671BA6 /* MAParticleOverlayOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlayOptions.h; path = AMapNaviKit.framework/Headers/MAParticleOverlayOptions.h; sourceTree = ""; }; + 82741C113DC6FE1F25390FCC73139BC3 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; + 828BE2BB4941E9FB01A272702FA16F70 /* icon_file_type_bin@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_bin@2x.png"; path = "Sources/Resources/FileType/icon_file_type_bin@2x.png"; sourceTree = ""; }; + 829B7180E473D666918D83A6D6F87622 /* SDImageAssetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAssetManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageAssetManager.m; sourceTree = ""; }; + 82E7452B17A8D11C1D63C83076053639 /* DDBaseCollectionViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseCollectionViewCell.h; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionViewCell/DDBaseCollectionViewCell.h; sourceTree = ""; }; + 82F50EBA6187811DB37C287872CFB004 /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; + 836A9B12B1C7097700E7E05C74726D4C /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; + 838296138C4D3B284D622B8D597C9A74 /* ZLEmbedAlbumListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEmbedAlbumListView.swift; path = Sources/General/ZLEmbedAlbumListView.swift; sourceTree = ""; }; + 839D72BE7E724A572E34B4ECE7FE1EBC /* AMapSearchObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchObj.h; path = AMapSearchKit.framework/Headers/AMapSearchObj.h; sourceTree = ""; }; + 83B58209C3742C6143A6EAAD44077FCC /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 83D055B0E49A63B2ACDD635735428784 /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCache.m; sourceTree = ""; }; + 83FAF88E6173127A0923C2565B51DF58 /* _CanonicalRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _CanonicalRequest.m; path = Sources/CustomHTTPProtocol/_CanonicalRequest.m; sourceTree = ""; }; + 846F0345F02A92E7432F3057F6E5CE10 /* UITableViewCell+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableViewCell+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITableViewCell+DDCategory/UITableViewCell+DDCategory.m"; sourceTree = ""; }; + 84D208193D7D31EB91FBE19F5220386F /* DDLogKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDLogKit_Private-umbrella.h"; sourceTree = ""; }; + 851883344E384E61499414D74B69C88B /* UIImageView+ZFCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+ZFCache.m"; path = "ZFPlayer/Classes/ControlView/UIImageView+ZFCache.m"; sourceTree = ""; }; + 852B796C6F48BF2F463B8A5EDD213862 /* ZLAlbumListModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListModel.swift; path = Sources/General/ZLAlbumListModel.swift; sourceTree = ""; }; + 8530375FCFE95700172E0597DDBDF4E5 /* icon_file_type_mp3@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mp3@3x.png"; path = "Sources/Resources/FileType/icon_file_type_mp3@3x.png"; sourceTree = ""; }; + 853F285A17FD9AB5E40BA5192CED5D4C /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWeakProxy.h; sourceTree = ""; }; + 856F798880D87F8BB4B7689286986319 /* ZLPhotoPreviewAnimatedTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewAnimatedTransition.swift; path = Sources/Animation/ZLPhotoPreviewAnimatedTransition.swift; sourceTree = ""; }; + 85732C1F78BB2933416293539FBF7AB5 /* icon_file_type_php@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_php@3x.png"; path = "Sources/Resources/FileType/icon_file_type_php@3x.png"; sourceTree = ""; }; + 85837A3E0FBD2E0D167E65DF62CEF1D5 /* DDTimerKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDTimerKit_Private.release.xcconfig; sourceTree = ""; }; + 85936B333071BC6A678A2FDAA5B47324 /* ZLAddPhotoCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAddPhotoCell.swift; path = Sources/General/ZLAddPhotoCell.swift; sourceTree = ""; }; + 85A936A211DDE8F3FDBDA0A4C12EDFB5 /* SDImageAssetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAssetManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageAssetManager.h; sourceTree = ""; }; + 860E1C2D9B4B04FEAE87E32087A3CCE8 /* icon_file_type_avi@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_avi@2x.png"; path = "Sources/Resources/FileType/icon_file_type_avi@2x.png"; sourceTree = ""; }; + 860EC7EE1404D54A1ECB4F9252120439 /* JXCategoryIndicatorCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorCell.h; path = Sources/Indicator/JXCategoryIndicatorCell.h; sourceTree = ""; }; + 8612E66D87909083DFBD4164C911F5EA /* Color.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Color.swift; path = Sources/Window/Color.swift; sourceTree = ""; }; + 862D884892F879DDA2835CC79E59A0AB /* MACustomBuildingOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomBuildingOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MACustomBuildingOverlayRenderer.h; sourceTree = ""; }; + 8631B800FD236C9D9D5E4E309DDC5C39 /* DDBaseModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseModel.h; path = DDBasicControlsKit_Private/Classes/DDBaseModel/DDBaseModel.h; sourceTree = ""; }; + 8654CCD91C506713D9C88FC96FB46DC2 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshGifHeader.h; path = MJRefresh/Custom/Header/MJRefreshGifHeader.h; sourceTree = ""; }; + 86959CF16F4A53D98753FFDE5F383D91 /* icon_file_type_png@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_png@3x.png"; path = "Sources/Resources/FileType/icon_file_type_png@3x.png"; sourceTree = ""; }; + 872235AB72C42A2D034CCD39639D1F97 /* SDImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGIFCoder.h; sourceTree = ""; }; + 87566E683515949A0015CE477ECCE416 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; + 87589B205DE37A70F4745F79C3014AF1 /* UIView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIView+DDCategory/UIView+DDCategory.h"; sourceTree = ""; }; + 87794F049F27B49F66F72C441BB854A3 /* ZFOrientationObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFOrientationObserver.h; path = ZFPlayer/Classes/Core/ZFOrientationObserver.h; sourceTree = ""; }; + 87E7A17E1F7653F51C7619ED850555E5 /* icon_file_type_bmp@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_bmp@3x.png"; path = "Sources/Resources/FileType/icon_file_type_bmp@3x.png"; sourceTree = ""; }; + 8818E96E52012BEFBD3F408134D42BCF /* icon_file_type_mpg@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mpg@2x.png"; path = "Sources/Resources/FileType/icon_file_type_mpg@2x.png"; sourceTree = ""; }; + 885960370D802DB7C9EC2F5B075D510B /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Internal.swift"; sourceTree = ""; }; + 887173C85A442C4EA67F81D252044EF9 /* ZFFloatView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFFloatView.h; path = ZFPlayer/Classes/Core/ZFFloatView.h; sourceTree = ""; }; + 88B44A45620D633F0F79B1D622A8A460 /* DDBaseCollectionViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseCollectionViewCell.m; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionViewCell/DDBaseCollectionViewCell.m; sourceTree = ""; }; + 891114E38395C01CDD65C6836ACFEA9F /* icon_file_type_wmv@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_wmv@2x.png"; path = "Sources/Resources/FileType/icon_file_type_wmv@2x.png"; sourceTree = ""; }; + 89DB460498789073CB561878CF1A5964 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; + 8A25CD916A9ED3604CEB6D14492B9237 /* AMapNaviKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviKit.h; path = AMapNaviKit.framework/Headers/AMapNaviKit.h; sourceTree = ""; }; + 8A383286F59DE5021E792C9B80EEAA65 /* MAMVTTileOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMVTTileOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAMVTTileOverlayRenderer.h; sourceTree = ""; }; + 8A5C9A9A50DF2136936174C2BEC5CEDC /* ZFPlayerNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerNotification.h; path = ZFPlayer/Classes/Core/ZFPlayerNotification.h; sourceTree = ""; }; + 8A7EA480D2BC34E9668D56C14531309C /* DDColorKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDColorKit_Private.release.xcconfig; sourceTree = ""; }; + 8AAF7B486A6FEE93FFF2B0639DB88EEB /* _QNSURLSessionDemux.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _QNSURLSessionDemux.m; path = Sources/CustomHTTPProtocol/_QNSURLSessionDemux.m; sourceTree = ""; }; + 8AB5955BC96F01A1FCF0425FF6927D95 /* DDTimerObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTimerObject.h; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerObject.h; sourceTree = ""; }; + 8ABD5B73612BCE0E068DCAF67262B8EE /* JXCategoryDotCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotCellModel.m; path = Sources/Dot/JXCategoryDotCellModel.m; sourceTree = ""; }; + 8ACF17CABB17BCC3DDD55B00AFE3387D /* icon_file_type_midi@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_midi@2x.png"; path = "Sources/Resources/FileType/icon_file_type_midi@2x.png"; sourceTree = ""; }; + 8AFE0287F2557ED8052A4A9951AEC45B /* icon_file_type_psd@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_psd@2x.png"; path = "Sources/Resources/FileType/icon_file_type_psd@2x.png"; sourceTree = ""; }; 8B1880AC825E74CCE495FAE2385D03D2 /* Pods-OrderScheduling-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-OrderScheduling-acknowledgements.markdown"; sourceTree = ""; }; - 8BAB945E9A5E55C45B8B8311921A8E65 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 8BB6A78FA3CA57E72A16D49037211694 /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; - 8BC297E8E71331FFCC4C4B1B6A49729F /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - 8BE385C4035EE2E56664FF35189A5E03 /* IQUITextFieldView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITextFieldView+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUITextFieldView+Additions.swift"; sourceTree = ""; }; - 8C147CBA828D0FE420F62A6F1E479286 /* AMapSearchAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchAPI.h; path = AMapSearchKit.framework/Headers/AMapSearchAPI.h; sourceTree = ""; }; - 8C744DED48882A6985631E1322A1BED1 /* JXCategoryDotCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotCellModel.h; path = Sources/Dot/JXCategoryDotCellModel.h; sourceTree = ""; }; - 8CBDEBA5C0D99DE54BD347AAF4841013 /* AMapNearbyUploadInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNearbyUploadInfo.h; path = AMapSearchKit.framework/Headers/AMapNearbyUploadInfo.h; sourceTree = ""; }; - 8D02D85D9009C076DBC3EA97C242F441 /* Binder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Binder.swift; path = RxSwift/Binder.swift; sourceTree = ""; }; - 8D56042C4797A1D002B32F37BF49B5E8 /* NSAttributedString+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSAttributedString+DDCategory.h"; sourceTree = ""; }; - 8D6008F0896B2B85E119CF6E31C4F8B4 /* SDAnimatedImagePlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImagePlayer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImagePlayer.h; sourceTree = ""; }; - 8DB43169300F19C3F024AC479DE04767 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSImage+Compatibility.h"; sourceTree = ""; }; - 8DDEA765E320050FD94B6F7AB382CC09 /* AMapTrackVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackVersion.h; path = AMapTrackKit.framework/Headers/AMapTrackVersion.h; sourceTree = ""; }; - 8DDF1C7F1CE9A6ED5210FF605A8CC6B2 /* DDColorKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDColorKit_Private.release.xcconfig; sourceTree = ""; }; - 8DF49A57FA5196B94936EB68BB5D8971 /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; - 8E0B48279EDB2355D19A0E691CF7F084 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - 8E1AD584E618AB9D345298F2CD2ACB85 /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; - 8E4470E849FB996A5CB9E09D74B0CB43 /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = DDWebImageKit_Private/Classes/SDWebImage/SDWebImage.h; sourceTree = ""; }; - 8E56C647712E112123CD9BFC001DE303 /* AMapTrackTrackObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackTrackObj.h; path = AMapTrackKit.framework/Headers/AMapTrackTrackObj.h; sourceTree = ""; }; - 8E5CCD3838C0968E1115CDA3D47B1DEB /* JXCategoryIndicatorComponentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorComponentView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.m; sourceTree = ""; }; - 8E7FE97D98A6687D74971988BE5E1F63 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; - 8E9F5D6A46BD08B8C946B40877101316 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; - 8EEC50449E91205E91CAE0AC48D213B8 /* SDWebImageDownloaderResponseModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderResponseModifier.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h; sourceTree = ""; }; - 8F204E8DBFD0829BEA425A4B9098F9E0 /* RxPickerViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift; sourceTree = ""; }; - 8FA5B24A252AC17F4DD0BBD9E460EF4B /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; - 903D9CDB7ED4DB9B376A88D2220F6EAC /* EKWindowProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWindowProvider.swift; path = Source/Infra/EKWindowProvider.swift; sourceTree = ""; }; - 905308C5F0862D639CBDEEA2DEBA0F38 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/PrimitiveSequence/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; - 90B758F32A2589954169583859CF859A /* ZLWeakProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLWeakProxy.swift; path = Sources/General/ZLWeakProxy.swift; sourceTree = ""; }; - 9211D1E5A9E9ADA94FA6F36EBBD6C69B /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; - 921636E5901828DF64651E08BAB42C27 /* UINavigationBar+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationBar+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationBar+DDCategory/UINavigationBar+DDCategory.m"; sourceTree = ""; }; - 9218AE1DDF28858CC993CF0588C28CCF /* DriveRouteCustomAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DriveRouteCustomAnnotationView.h; path = DDMAMapKit_Private/Classes/DDMAMap/AnnotationView/DriveRouteCustomAnnotationView.h; sourceTree = ""; }; - 921F3E94E99466B3F2EEDFFAE9A18289 /* JXCategoryIndicatorDotLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorDotLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.m; sourceTree = ""; }; - 925B87A2FF60BB1C56BBA452A0F19630 /* IQKeyboardManager+UIKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UIKeyboardNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+UIKeyboardNotification.swift"; sourceTree = ""; }; - 93302FD048F05C28A20840CB29A518B5 /* ESTabBarController-swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "ESTabBarController-swift.release.xcconfig"; sourceTree = ""; }; - 9339DC4713C9F7B26810C40B1FC88B24 /* ZFLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLoadingView.m; path = ZFPlayer/Classes/ControlView/ZFLoadingView.m; sourceTree = ""; }; - 93428110C0FF0C16E99FDC636C6A91E3 /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; - 93654571E7FDB26E786C36FE0C048ED0 /* ZFLandscapeViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandscapeViewController.m; path = ZFPlayer/Classes/Core/ZFLandscapeViewController.m; sourceTree = ""; }; - 9368D27A739E89A76D60B05B1F244248 /* DDFontKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDFontKit_Private.debug.xcconfig; sourceTree = ""; }; - 93B2C843A3BD08681E9C6D7B4A57BC9F /* JXCategoryDotCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotCell.m; path = Sources/Dot/JXCategoryDotCell.m; sourceTree = ""; }; - 93D8E1DC22B5C3AE073615700D1B0D05 /* RequestCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestCompression.swift; path = Source/RequestCompression.swift; sourceTree = ""; }; - 94B22ABA3C74CC2836D0004485BE2A5E /* DDMAGeometry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMAGeometry.m; path = DDMAMapKit_Private/Classes/DDMAUtil/DDMAGeometry.m; sourceTree = ""; }; - 94BDD6AB182AF707EE218C2F7956DBE2 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - 94D7566C14EE432A5F7F6D920ADB0013 /* SDAssociatedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAssociatedObject.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAssociatedObject.h; sourceTree = ""; }; - 94E2423E6D633C89D295A10654A160B6 /* DDFontKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDFontKit_Private.modulemap; sourceTree = ""; }; - 954003773FFB5EE910CB1D59C7BCCCC6 /* DDBaseImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseImage.h; path = DDBasicControlsKit_Private/Classes/DDBaseImage/DDBaseImage.h; sourceTree = ""; }; - 95894F130F7AA2F134A3BD7CCF5ABF78 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - 95C00C565F380008DE13EE2EA336630A /* ZLPhotoBrowser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ZLPhotoBrowser-dummy.m"; sourceTree = ""; }; - 95CD5B8683F7570F6AC7373E711DB84E /* AMapNaviCompositeAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeAnnotation.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeAnnotation.h; sourceTree = ""; }; - 95DE1C7EF55726AD7C526D5805F2770F /* SDImageTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageTransformer.h; sourceTree = ""; }; - 95DFA4E6548D2EE4B145E7FAAE7E629C /* EKAlertMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAlertMessageView.swift; path = Source/MessageViews/EKAlertMessageView.swift; sourceTree = ""; }; - 966C1174D3B5AD235E9BFDB3BC2D1AF4 /* NSMutableAttributedString+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableAttributedString+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableAttributedString+DDCategory.m"; sourceTree = ""; }; - 966E16A687DC93F02AAF387C056259B5 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = ""; }; - 96A94C24E85F1A39324BB60895B0D6F0 /* MAIndoorInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAIndoorInfo.h; path = AMapNaviKit.framework/Headers/MAIndoorInfo.h; sourceTree = ""; }; - 96CB71287DC47764EA3D00DFF00A504B /* NSBundle+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+MJRefresh.m"; path = "MJRefresh/NSBundle+MJRefresh.m"; sourceTree = ""; }; - 96D1997EB4F57C08C9D72FB8AD1FB798 /* MAMapKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapKit.h; path = AMapNaviKit.framework/Headers/MAMapKit.h; sourceTree = ""; }; - 96D8E9D65B5B66026B82C3B460946FDA /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 96E89F65F46227D013A084E4182B4E6A /* ZLPhotoBrowser.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZLPhotoBrowser.release.xcconfig; sourceTree = ""; }; - 96F8530AF1A4CE4F14FB5BAB19C36369 /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheSerializer.m; sourceTree = ""; }; - 9732FA176F09A99C701C81AE75310FF1 /* SDAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView.h; sourceTree = ""; }; - 97337246D62C0228D67F9B756A75C357 /* SDImageAssetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAssetManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageAssetManager.m; sourceTree = ""; }; - 974280124F141ACD4B94A27601F945AB /* UIWindow+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWindow+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIWindow+DDCategory/UIWindow+DDCategory.h"; sourceTree = ""; }; - 976CADF28C805C22D6C666530FA1A8BB /* AMapURLSearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearch.h; path = AMapFoundationKit.framework/Headers/AMapURLSearch.h; sourceTree = ""; }; - 977940CC99E17343BB8F09D69A454385 /* SDWebImageOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOperation.m; sourceTree = ""; }; - 9781C797B43E5FC55BFF99EA95EB9E71 /* GradientView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientView.swift; path = Source/Utils/GradientView.swift; sourceTree = ""; }; + 8B4116E268D5FD9A8497D0306ABC1988 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; + 8B9AEC57BA412B2E5DDFEF11B021E99A /* IJKMediaFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IJKMediaFramework.framework; path = ZFPlayer/Classes/ijkplayer/IJKMediaFramework.framework; sourceTree = ""; }; + 8B9BC6FE7DB81AFF38BFF1A4D69D17B2 /* SDImageTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageTransformer.m; sourceTree = ""; }; + 8BB2DF1EEEF958DF43C72E24A813C3E4 /* icon_file_type_txt@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_txt@2x.png"; path = "Sources/Resources/FileType/icon_file_type_txt@2x.png"; sourceTree = ""; }; + 8BCC49987977111E1B2313EC30816CB1 /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackGifFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.m; sourceTree = ""; }; + 8C106F75BE1715CD89348364DD1F7796 /* URLSession+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSession+Rx.swift"; path = "RxCocoa/Foundation/URLSession+Rx.swift"; sourceTree = ""; }; + 8C3214AB5B50314AF60549A01C00CBAD /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; + 8C4BDC5815F30FB6000FA625FB07C091 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + 8C786CB38C947E76BAB33BF14D1285B8 /* DDBaseTableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTableViewCell.m; path = DDBasicControlsKit_Private/Classes/DDBaseTableViewCell/DDBaseTableViewCell.m; sourceTree = ""; }; + 8C7CB10EE02F25B205C4358C6435AF9F /* _CanonicalRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _CanonicalRequest.h; path = Sources/CustomHTTPProtocol/_CanonicalRequest.h; sourceTree = ""; }; + 8C99745F89745AA2B6E89B0F54B8B233 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; + 8CC4025545D131B43E6293B7FB19159B /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderConfig.m; sourceTree = ""; }; + 8CD8850B13F43C0BC9BE45990C981ABB /* MAMapView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapView.h; path = AMapNaviKit.framework/Headers/MAMapView.h; sourceTree = ""; }; + 8CDB8B9FFB25A64BEF71AB5F39665916 /* DDViewControllerAnimatedTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDViewControllerAnimatedTransition.h; path = DDBasicControlsKit_Private/Classes/DDBaseAnimation/DDTransitionAnimation/DDViewControllerAnimatedTransition.h; sourceTree = ""; }; + 8CF3BA6F15C6A09BAD8B19B6109689FA /* JXCategoryTitleCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleCellModel.m; path = Sources/Title/JXCategoryTitleCellModel.m; sourceTree = ""; }; + 8D2A8148E50402FF0756F4994DCAEDF3 /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 8D2E30DC9A36BFE996CC0A065FB540AC /* AMapNearbySearchManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNearbySearchManager.h; path = AMapSearchKit.framework/Headers/AMapNearbySearchManager.h; sourceTree = ""; }; + 8D4B94D42B88D253987B6F2965EC6FEE /* SwiftToast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftToast.swift; path = DDToastKit_Private/Classes/SwiftToast.swift; sourceTree = ""; }; + 8D4E24A25872848664EB526CC8383A9E /* MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefresh.h; path = MJRefresh/MJRefresh.h; sourceTree = ""; }; + 8D8063ED5058BAADD5D3E2D8A5A64C9E /* MABaseOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MABaseOverlay.h; path = AMapNaviKit.framework/Headers/MABaseOverlay.h; sourceTree = ""; }; + 8DBCFF3001A906045C8076CDE7776471 /* _DirectoryContentsTableViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _DirectoryContentsTableViewController.m; path = Sources/Sandbox/_DirectoryContentsTableViewController.m; sourceTree = ""; }; + 8DCF49DCCC5956750763898F0F39A996 /* DDBaseButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseButton.h; path = DDBasicControlsKit_Private/Classes/DDBaseButton/DDBaseButton.h; sourceTree = ""; }; + 8DFB613F880A8309DA637E1FA2D9810D /* MAOfflineMapViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineMapViewController.h; path = AMapNaviKit.framework/Headers/MAOfflineMapViewController.h; sourceTree = ""; }; + 8E0C4A32EAB5B902DFF9D29FB6408315 /* DDProgressHUDKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDProgressHUDKit_Private-umbrella.h"; sourceTree = ""; }; + 8E2D37897A2AA56949F42EF40D749748 /* MACircleRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACircleRenderer.h; path = AMapNaviKit.framework/Headers/MACircleRenderer.h; sourceTree = ""; }; + 8E8832855848F9B3DF35AE4AFFE349EA /* DDMAMapView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMAMapView.m; path = DDMAMapKit_Private/Classes/DDMAMap/MapView/DDMAMapView.m; sourceTree = ""; }; + 8E9326CB1ABF28EF88B9668F713EF3B8 /* icon_file_type_swift@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_swift@2x.png"; path = "Sources/Resources/FileType/icon_file_type_swift@2x.png"; sourceTree = ""; }; + 8EDFDF5DE32B1420620E3DA678484153 /* icon_file_type_fla@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_fla@2x.png"; path = "Sources/Resources/FileType/icon_file_type_fla@2x.png"; sourceTree = ""; }; + 8EF3BF6E053EB2A09D6561A278A938DA /* JXCategoryTitleCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleCell.m; path = Sources/Title/JXCategoryTitleCell.m; sourceTree = ""; }; + 8F1145E3F0DAC09BCAF37050B0DF2FC8 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCompat.m; sourceTree = ""; }; + 8F6FBA43DAB8E1E0569FBB30704EC16D /* icon_file_type_php.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_php.png; path = Sources/Resources/FileType/icon_file_type_php.png; sourceTree = ""; }; + 8F7898692E7B9390B2312B771D4CD37F /* icon_file_type_dmg.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_dmg.png; path = Sources/Resources/FileType/icon_file_type_dmg.png; sourceTree = ""; }; + 8F792321836EDC30C29ACFCF5B8A2CAE /* _RX.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RX.m; path = RxCocoa/Runtime/_RX.m; sourceTree = ""; }; + 8F7E6D4DA16A359E37CEC2ED6EDD992F /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + 8F8538B24BFE493297452EE8163DCEC2 /* JXCategoryIndicatorComponentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorComponentView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.h; sourceTree = ""; }; + 8F8CEC9D2C49B697B6BF79FCDC9D7A9D /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + 8F9252A6A84AC16BC2DE99DEFEBDC8B6 /* Sources_DDMAMap */ = {isa = PBXFileReference; includeInIndex = 1; name = Sources_DDMAMap; path = DDMAMapKit_Private/Assets/Sources_DDMAMap; sourceTree = ""; }; + 8FB338D5E003BBA10A12C821B455E538 /* MAPinAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPinAnnotationView.h; path = AMapNaviKit.framework/Headers/MAPinAnnotationView.h; sourceTree = ""; }; + 8FFA85824FA51D9640282D909F8983BC /* icon_file_type_apk@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_apk@2x.png"; path = "Sources/Resources/FileType/icon_file_type_apk@2x.png"; sourceTree = ""; }; + 903C1559987741E384E0FC0E402C778B /* icon_file_type_aac.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_aac.png; path = Sources/Resources/FileType/icon_file_type_aac.png; sourceTree = ""; }; + 90563EEA416B7523480D2B48369FE45E /* ZLImagePreviewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImagePreviewController.swift; path = Sources/General/ZLImagePreviewController.swift; sourceTree = ""; }; + 90741A21E002BF4E8B024B2C14CE675C /* AMapServices.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapServices.h; path = AMapFoundationKit.framework/Headers/AMapServices.h; sourceTree = ""; }; + 907FFE77A6E2E8D0AFAED4D2A918E4FB /* RxNavigationControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxNavigationControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift; sourceTree = ""; }; + 909A792E575A314B1EC563E9E76DA0BC /* DriveRouteCustomAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DriveRouteCustomAnnotationView.h; path = DDMAMapKit_Private/Classes/DDMAMap/AnnotationView/DriveRouteCustomAnnotationView.h; sourceTree = ""; }; + 90B6CB58CE68A5C1855BC42AA68DE4B7 /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAsyncBlockOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAsyncBlockOperation.h; sourceTree = ""; }; + 911EDDA287C4616228B6B25276B76F1E /* DDBaseImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseImage.h; path = DDBasicControlsKit_Private/Classes/DDBaseImage/DDBaseImage.h; sourceTree = ""; }; + 91636193B0594088919464D754A2225D /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + 9196348F4813BC726BC72CA4A03E88A5 /* ZFReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFReachabilityManager.m; path = ZFPlayer/Classes/Core/ZFReachabilityManager.m; sourceTree = ""; }; + 91C48094DF6458C9650D3C38A39EEF8D /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 91DAF635D13731883FAB5B7413C6E5B7 /* icon_file_type_mpg@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mpg@3x.png"; path = "Sources/Resources/FileType/icon_file_type_mpg@3x.png"; sourceTree = ""; }; + 9214DC038F67A2FB96427609C690F487 /* MAArcRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAArcRenderer.h; path = AMapNaviKit.framework/Headers/MAArcRenderer.h; sourceTree = ""; }; + 921FA5384780405008DEE3178FE308BE /* NSControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSControl+Rx.swift"; path = "RxCocoa/macOS/NSControl+Rx.swift"; sourceTree = ""; }; + 922AA1D8757C0DC87DF762C74FAEC8D6 /* icon_file_type_dat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_dat.png; path = Sources/Resources/FileType/icon_file_type_dat.png; sourceTree = ""; }; + 922E4395BE3B97043236ADB05B8B25B2 /* AMapNaviTrafficBarView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviTrafficBarView.h; path = AMapNaviKit.framework/Headers/AMapNaviTrafficBarView.h; sourceTree = ""; }; + 9276E19EA10918FAD67901F4F8D02727 /* MJRefreshStateTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateTrailer.m; path = MJRefresh/Custom/Trailer/MJRefreshStateTrailer.m; sourceTree = ""; }; + 929AAA4094A0C1B99A367A2EF713A435 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift; sourceTree = ""; }; + 929EC8D404C18BDCA7CC5879A7F0D908 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; }; + 92A21FFA8FF761302C68EF115CBC9781 /* icon_file_type_7z@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_7z@3x.png"; path = "Sources/Resources/FileType/icon_file_type_7z@3x.png"; sourceTree = ""; }; + 92CC84469CB61EF7C42220DC2727D651 /* DDFontKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDFontKit_Private-prefix.pch"; sourceTree = ""; }; + 92CEC1C73FC61581B43E096DACCF1385 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MultiFormat.m"; sourceTree = ""; }; + 92E59BBBC367B7DEDCE914676B3B06E5 /* DDControlsKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDControlsKit_Private-prefix.pch"; sourceTree = ""; }; + 92F2BD4340DD2CE69C76686E835BB9AC /* icon_file_type_svg@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_svg@2x.png"; path = "Sources/Resources/FileType/icon_file_type_svg@2x.png"; sourceTree = ""; }; + 930C3EF2BBF607CCF83A19A3A0286F67 /* icon_file_type_avi.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_avi.png; path = Sources/Resources/FileType/icon_file_type_avi.png; sourceTree = ""; }; + 93CFF206F4BABB0B6806DE6326AC9830 /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; + 940B40FA429911BC2F885748BA6E613F /* YYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImage.h; path = YYImage/YYImage.h; sourceTree = ""; }; + 940CEFC0CDB83E38DCC7FB4BA6C25D45 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + 94623C6E84EBDEA05365925B3E42F7EA /* icon_file_type_bin@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_bin@3x.png"; path = "Sources/Resources/FileType/icon_file_type_bin@3x.png"; sourceTree = ""; }; + 94739AE9231877B95FEAC1DC8B9629FA /* _ImageController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _ImageController.m; path = Sources/Sandbox/_ImageController.m; sourceTree = ""; }; + 947967ED7A04ACB1A60BD383D2CE005C /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; + 947EB76FDD899CE8994F5370E76EE405 /* DDView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDView.swift; path = DDControlsKit_Private/Classes/DDView/DDView.swift; sourceTree = ""; }; + 948C8FE0345D9E9DB8E6BD000769BE60 /* DDBaseTabBarController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTabBarController.m; path = DDBasicControlsKit_Private/Classes/DDBaseTabBarController/DDBaseTabBarController.m; sourceTree = ""; }; + 949C1F8D1B2B40BDAB788E8CCD627D2C /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + 94BE2D691841E3C83D5A525A14EC3725 /* CALayer+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+DDCategory.m"; path = "DDCategoryKit_Private/Classes/CALayer+DDCategory/CALayer+DDCategory.m"; sourceTree = ""; }; + 94D89F47126A1A9C5969FE6EAA09D968 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 9540A0D71D6307CD476B6EF28EF04932 /* AMapTrackKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackKit.h; path = AMapTrackKit.framework/Headers/AMapTrackKit.h; sourceTree = ""; }; + 95480C3872E4E17C74617FBFBF8025A9 /* DDWebImageKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDWebImageKit_Private.release.xcconfig; sourceTree = ""; }; + 9550D821A875DFF44B6B4AC6EF1DC651 /* Driver+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Driver+Subscription.swift"; path = "RxCocoa/Traits/Driver/Driver+Subscription.swift"; sourceTree = ""; }; + 9574B3F12903DAA53C1E60A37609E5FE /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAPNGCoder.m; sourceTree = ""; }; + 95E7C8CAE8DBC7FD87C0FB53B69224B1 /* DDLogKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDLogKit_Private.release.xcconfig; sourceTree = ""; }; + 95EC0D47E9F7C789A10A9A84006B7A12 /* SDAnimatedImagePlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImagePlayer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImagePlayer.h; sourceTree = ""; }; + 961FF22E241057D2CED938356B4D7FEF /* UIColor+JXAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+JXAdd.m"; path = "Sources/Common/UIColor+JXAdd.m"; sourceTree = ""; }; + 962F601B8263E4CA09F2D4FADA8067D8 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + 9647AD81359A09805FD5F7AD9D6FABD2 /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 96A66ED5931A90FB16DF33C0985DB482 /* DDBaseTableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTableViewCell.h; path = DDBasicControlsKit_Private/Classes/DDBaseTableViewCell/DDBaseTableViewCell.h; sourceTree = ""; }; + 96F050184FB736FCA8E788FA87A84C1B /* MAHeatMapVectorOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorOverlay.h; sourceTree = ""; }; + 972C56BF1C604E865ECE0EBB1FE1B5C3 /* FPSCounter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FPSCounter.swift; path = Sources/Monitor/FPSCounter.swift; sourceTree = ""; }; + 9755AE68334B8FF894133F825CC1A03A /* _QNSURLSessionDemux.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _QNSURLSessionDemux.h; path = Sources/CustomHTTPProtocol/_QNSURLSessionDemux.h; sourceTree = ""; }; 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = SnapKit; path = libSnapKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 97D8416E6135BA849934B91093F53989 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; - 97FAC41216A15D7AD5D0C02514B8CA51 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; - 9854ADF8FEC2614C5F8273A696EAF7FA /* UIView+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+MJExtension.m"; path = "MJRefresh/UIView+MJExtension.m"; sourceTree = ""; }; - 98ABFA3B07BDBE091ECEE25A94EAC095 /* AMap.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = AMap.bundle; path = AMapNaviKit.framework/AMap.bundle; sourceTree = ""; }; - 98F0F795D73BA1DAE3604BF60BB5920E /* DDToastKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDToastKit_Private.modulemap; sourceTree = ""; }; - 9904261E3BD7FEC0A0193292B51B956B /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 991F88C8553AF29F5C9DEC88D44DFBC0 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; - 992692C3535B0478376ACF5B0D59D56D /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = RxSwift/Observables/CompactMap.swift; sourceTree = ""; }; - 9936F548F4EF8E3EFC5479663FAC7D6D /* MAGroundOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGroundOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAGroundOverlayRenderer.h; sourceTree = ""; }; - 993B88C17EA39942EAF00D7DC1E7C038 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; - 9941E15EB8A09605824C30F58D214B01 /* MAUserLocationRepresentation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAUserLocationRepresentation.h; path = AMapNaviKit.framework/Headers/MAUserLocationRepresentation.h; sourceTree = ""; }; - 994DAC831982F01CBED9971316C4D6CA /* UINavigationItem+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationItem+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationItem+DDCategory/UINavigationItem+DDCategory.h"; sourceTree = ""; }; - 99659605CC6BDAA93B2723E365F27DCC /* UIButton+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIButton+DDCategory/UIButton+DDCategory.h"; sourceTree = ""; }; - 99A62C47EA5F142B96247DD76F5FB2FA /* NSImage+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSImage+Compatibility.m"; sourceTree = ""; }; - 99F08FF721312B8FA11B22A4E2A3C53A /* UIView+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Shadow.swift"; path = "Source/Extensions/UIView+Shadow.swift"; sourceTree = ""; }; - 99FAD8F1401AD4E3D5B7EA785EDB66F4 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; - 9A01E7E6BEC5F1E23232428A2B402761 /* ZLPhotoPreviewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewController.swift; path = Sources/General/ZLPhotoPreviewController.swift; sourceTree = ""; }; - 9A17298BF441E0F25E58BD861854C2A6 /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; - 9A5169F6B86F0226E3F4FE9F47E00F33 /* DDMASearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMASearch.h; path = DDMAMapKit_Private/Classes/DDMASearch/DDMASearch.h; sourceTree = ""; }; - 9A6F470D6F4CF8DDF628297AA612407B /* AMapTrackKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackKit.h; path = AMapTrackKit.framework/Headers/AMapTrackKit.h; sourceTree = ""; }; - 9AF92D3317BD34217929AE7AF04D4F07 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; - 9BD58E7B9EAD0150D99F8E6D3461DB26 /* JXCategoryImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageView.m; path = Sources/Image/JXCategoryImageView.m; sourceTree = ""; }; - 9BE6283F27F854F61D59F3EE61D359F4 /* JXCategoryTitleImageCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageCellModel.m; path = Sources/TitleImage/JXCategoryTitleImageCellModel.m; sourceTree = ""; }; - 9C558730A006A4D80DC49040CED2A09C /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOptionsProcessor.h; sourceTree = ""; }; - 9C7A974011A607C28F0319125B6A950D /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 979AAA9893B6D31EF32637E9EC3493FD /* MAMultiPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPolyline.h; path = AMapNaviKit.framework/Headers/MAMultiPolyline.h; sourceTree = ""; }; + 97B39A0D2DC0C43C54F35FDD4047A028 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + 97E5D58BE5237EAB0EA9E8DEFA925352 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + 982477569E3EB6F86B8FB5A7791B986D /* ZFIJKPlayerManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFIJKPlayerManager.h; path = ZFPlayer/Classes/ijkplayer/ZFIJKPlayerManager.h; sourceTree = ""; }; + 982D61ADADEE5D8110D1C49284224F0D /* Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Driver.swift; path = RxCocoa/Traits/Driver/Driver.swift; sourceTree = ""; }; + 988CEC3CB765946E5797477E8AD564B6 /* ZFPlayerGestureControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerGestureControl.m; path = ZFPlayer/Classes/Core/ZFPlayerGestureControl.m; sourceTree = ""; }; + 98EE3E07F6815E5BE8819CC66BA1F2C8 /* YYImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YYImage.modulemap; sourceTree = ""; }; + 991E147CDBC8CF53D3271A8D060D23B7 /* ZFPlayerControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerControlView.m; path = ZFPlayer/Classes/ControlView/ZFPlayerControlView.m; sourceTree = ""; }; + 9940F23A637099B5774D684A5DA5C70F /* Infallible+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Concurrency.swift"; path = "RxSwift/Traits/Infallible/Infallible+Concurrency.swift"; sourceTree = ""; }; + 9948C61B8BE2950E5F2D7AD7F62E84A9 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; + 998F2EF7CA010F5BE6B3AF5410AA8E21 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxScrollViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxScrollViewDelegateProxy.swift; sourceTree = ""; }; + 99A4ACAE8590761148A34EE4BA8ECC85 /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOptionsProcessor.h; sourceTree = ""; }; + 99AEAF8E27EEC3F979CA9B4953ED141B /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 9A6694246383FB0B90A39B64DE064EC4 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOperation.h; sourceTree = ""; }; + 9A76F5B4DAE2CAD1FCBEE17C7E99C861 /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Position.swift"; sourceTree = ""; }; + 9AA25CF3BF61A17A848A04D7F3AAE151 /* LogCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LogCell.swift; path = Sources/Logs/LogCell.swift; sourceTree = ""; }; + 9AD814516B99F8E8466A35B289BC93AC /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = ""; }; + 9ADA5DBFCFC6BE3CC0BF6FC177142F93 /* ESTabBarItemContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemContainer.swift; path = Sources/ESTabBarItemContainer.swift; sourceTree = ""; }; + 9ADB8A867E3D033928DC1A532F54396E /* IQUITextFieldView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITextFieldView+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUITextFieldView+Additions.swift"; sourceTree = ""; }; + 9B00FE860D64B125D39C944C6002EF2E /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 9B09A19F6805BCB15C5FC4680BFB97F4 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; + 9B0BA25799FFE106F7D92A133ECC951C /* JXCategoryIndicatorProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorProtocol.h; path = Sources/Common/JXCategoryIndicatorProtocol.h; sourceTree = ""; }; + 9B3D0FBC96E808C6F3E27201A0CD2761 /* UIViewController+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIViewController+DDCategory/UIViewController+DDCategory.m"; sourceTree = ""; }; + 9B43E391FAC25B1430B051C01F2A5EE6 /* EKWrapperView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWrapperView.swift; path = Source/Infra/EKWrapperView.swift; sourceTree = ""; }; + 9B60F6FEE657E935500F64BAE82892F1 /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; + 9BE9EAEF614E8E7AC2ABAA5B4F0CA508 /* AMapTrackTrackObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackTrackObj.h; path = AMapTrackKit.framework/Headers/AMapTrackTrackObj.h; sourceTree = ""; }; + 9C0450964E953CF7004984DB0E9AFAA1 /* EKEntryView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKEntryView.swift; path = Source/Infra/EKEntryView.swift; sourceTree = ""; }; + 9C6F686EF4084ED71CDD7BDB9DF1AAC8 /* icon_file_type_bin.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_bin.png; path = Sources/Resources/FileType/icon_file_type_bin.png; sourceTree = ""; }; + 9C7BE8A39C183603451277A91C36E44C /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoNormalFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h; sourceTree = ""; }; + 9C94AFC36A0D7601FD8A0EA42E477D63 /* icon_file_type_txt.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_txt.png; path = Sources/Resources/FileType/icon_file_type_txt.png; sourceTree = ""; }; + 9CAD22AF2ABD2A1E14DE04D76D00A4CF /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = ""; }; 9CB241779EEAD809AC3180FD5B56FDF4 /* DDFontKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDFontKit_Private; path = libDDFontKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D1AC152DCA93396597586627D18E492 /* DDBaseAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseAttributedString.h; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseAttributedString.h; sourceTree = ""; }; - 9D29FBB6F7B90CE9AC9A5B7B3BD3A504 /* DDImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDImageView.swift; path = DDControlsKit_Private/Classes/DDImageView/DDImageView.swift; sourceTree = ""; }; + 9D20A286540C08FC50B2A9B10CFD4D12 /* icon_file_type_mp4@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mp4@3x.png"; path = "Sources/Resources/FileType/icon_file_type_mp4@3x.png"; sourceTree = ""; }; + 9D280A441EEE7D02EF4662E636543BE7 /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; 9D4B74A4386EF8F53603612D83CA68C9 /* DDColorKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDColorKit_Private; path = libDDColorKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D72F7196D11384008CA1257A9B05370 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - 9D8796F8C274AA030685AAC3E8BC31BA /* ZFPresentTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPresentTransition.h; path = ZFPlayer/Classes/Core/ZFPresentTransition.h; sourceTree = ""; }; + 9D666DC2506921944E4C3621CFBAB0EB /* jpush-ios-5.0.1.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = "jpush-ios-5.0.1.xcframework"; sourceTree = ""; }; + 9D8F63D7746B25B0E3DAE236385E3615 /* YYImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCoder.m; path = YYImage/YYImageCoder.m; 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; }; - 9DC5828DBF304CC18AFF4DB339965BF7 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; - 9EE074B9498B78418C3AF7D78F32BDE0 /* JXCategoryTitleImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageView.h; path = Sources/TitleImage/JXCategoryTitleImageView.h; sourceTree = ""; }; - 9F2CF71799A5E230E34F7E1EE95EBE41 /* ZFPortraitViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPortraitViewController.m; path = ZFPlayer/Classes/Core/ZFPortraitViewController.m; sourceTree = ""; }; - 9F2E7855DD23E12C990502A4702ED070 /* EKAccessoryNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAccessoryNoteMessageView.swift; path = Source/MessageViews/Notes/EKAccessoryNoteMessageView.swift; sourceTree = ""; }; - 9FA5D421BE56B6A9BAEE42C4EEA24B13 /* MAParticleOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlay.h; path = AMapNaviKit.framework/Headers/MAParticleOverlay.h; sourceTree = ""; }; - 9FCB5969328993F09530BA6325DAD0A6 /* DDFontKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDFontKit_Private-prefix.pch"; sourceTree = ""; }; - 9FEEF2FBC582877E4F1C20642D5DC196 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; - A0047834C78CA8E8DD5C0B6364E97A45 /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSData+ImageContentType.m"; sourceTree = ""; }; - A09C312BB4DD540B0A8EF71B8ABA386F /* DDMALocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMALocationManager.m; path = DDMAMapKit_Private/Classes/DDMALocation/DDMALocationManager.m; sourceTree = ""; }; - A0BB89BC04C015262FA535E7D8EEC056 /* EKSimpleMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKSimpleMessageView.swift; path = Source/MessageViews/EKSimpleMessageView.swift; sourceTree = ""; }; - A0F2997BC7CE173A0C2626E2F2C0D1D4 /* JXCategoryDotView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotView.h; path = Sources/Dot/JXCategoryDotView.h; sourceTree = ""; }; - A153CB9EFC27F4874D61DFD418A066BF /* DDBasicControlsKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDBasicControlsKit_Private.debug.xcconfig; sourceTree = ""; }; - A15A8A9CE96410BC34464FEC8FDF1F0F /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; - A15EE5A2B9983C9E4356CB92E183195A /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; - A1711E90128068125A8C2B8F49751963 /* ZFPlayerGestureControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerGestureControl.m; path = ZFPlayer/Classes/Core/ZFPlayerGestureControl.m; sourceTree = ""; }; - A1CB999F9AF8102C75B2628D52172A6C /* DDBaseLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseLabel.h; path = DDBasicControlsKit_Private/Classes/DDBaseLabel/DDBaseLabel.h; sourceTree = ""; }; - A1E1575C0D7C3447DAC4942AE29C93ED /* AMapNearbySearchManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNearbySearchManager.h; path = AMapSearchKit.framework/Headers/AMapNearbySearchManager.h; sourceTree = ""; }; - A2ADBDCE0E67450DA4405BA7567BA35D /* UIView+Responder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Responder.swift"; path = "Source/Utils/UIView+Responder.swift"; sourceTree = ""; }; - A2D926051E80660C0DC4462304615993 /* ZFSliderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSliderView.h; path = ZFPlayer/Classes/ControlView/ZFSliderView.h; sourceTree = ""; }; - A2DDE6CC79F0085CD04BEEF2DCCFC9A4 /* ZLPhotoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoModel.swift; path = Sources/General/ZLPhotoModel.swift; sourceTree = ""; }; - A33002554CB161847BB170C38091DC1C /* ZFPlayerController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerController.m; path = ZFPlayer/Classes/Core/ZFPlayerController.m; sourceTree = ""; }; - A35899FB046A3FF6D8BB8E334801F016 /* _RXObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXObjCRuntime.h; path = RxCocoa/Runtime/include/_RXObjCRuntime.h; sourceTree = ""; }; - A384DFFA8CDF0CD36E185BDDA873C37E /* DDTimerObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTimerObject.h; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerObject.h; sourceTree = ""; }; - A3A433C6862640B5AFCB1ADBCD2F39FB /* RxCocoa-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxCocoa-dummy.m"; sourceTree = ""; }; - A40168800344847972A4825C2FAB8150 /* AMapTrackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackManager.h; path = AMapTrackKit.framework/Headers/AMapTrackManager.h; sourceTree = ""; }; - A41E654289BAD1E62B7744A07C80983D /* EKAttributes+Precedence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Precedence.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Precedence.swift"; sourceTree = ""; }; - A4293DAC3DE80A9D4A1CD783916B41DC /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; - A44C65585B3723DAE2F092C843998FAF /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; - A454A2C8FCB98799077B1E44521E8B3E /* JXCategoryTitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleView.h; path = Sources/Title/JXCategoryTitleView.h; sourceTree = ""; }; - A48F91D027A2F3558667F28CF756E889 /* UINavigationItem+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationItem+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationItem+DDCategory/UINavigationItem+DDCategory.m"; sourceTree = ""; }; - A4DF653BE2DF009743DF04E86F057AA2 /* SDInternalMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDInternalMacros.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDInternalMacros.h; sourceTree = ""; }; - A5141CC65F037F8A5A0084529BDA5B2F /* DDBaseNavigationController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseNavigationController.h; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDBaseNavigationController.h; sourceTree = ""; }; - A529E541E350313960BF06504229E2FB /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; - A52B0113F2EA61CFDF9586666EC94E43 /* UIImageView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIImageView+DDCategory/UIImageView+DDCategory.m"; sourceTree = ""; }; - A5363A88DF630846BBE5DF0747A6CA19 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; - A55E2D8DDA363B404C78CE9DE3C043BC /* JXCategoryDotView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotView.m; path = Sources/Dot/JXCategoryDotView.m; sourceTree = ""; }; - A568F8F84ED86D22002787BA311D2ECA /* RxCocoaObjCRuntimeError+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RxCocoaObjCRuntimeError+Extensions.swift"; path = "RxCocoa/Common/RxCocoaObjCRuntimeError+Extensions.swift"; sourceTree = ""; }; - A58197BCDBCAC149E2968A89A283304B /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - A5B7BDD3D744ABC74AAAD38C90F4A6C3 /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextStorageDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift; sourceTree = ""; }; - A615CB9A6B2205C360A689AEAAE96D54 /* JXCategoryIndicatorCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorCellModel.m; path = Sources/Indicator/JXCategoryIndicatorCellModel.m; sourceTree = ""; }; - A653FAECD50D1B1F8A81EBBF20283CF3 /* AMapGeoFenceError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceError.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceError.h; sourceTree = ""; }; - A69D3E95D171D695738BDB897F99C037 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; - A6D0FE43A137D54060C4C59A9EA5AC65 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; - A6E789DAA341F3F6952B2547575114E6 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; - A77FC8F4F23ECFC586439110A52E8F00 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; - A7EEEA9A5515EA80316E2B9FCE92DEF7 /* EKRatingSymbolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingSymbolView.swift; path = Source/MessageViews/MessagesUtils/EKRatingSymbolView.swift; sourceTree = ""; }; - A84D73311CCB4840D6EB8B25D6A8894D /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; }; - A84DE09CCC11F7CD9BA52AD791D74C9C /* JXCategoryFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryFactory.h; path = Sources/Common/JXCategoryFactory.h; sourceTree = ""; }; - A85800C43FC5374FFF6FE49EEAD196FF /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = ""; }; - A85E0AD00BC262A2C7DBF753B12E800D /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; - A86803CA59904D98C1BBF8F503A28D68 /* Date+Dispatch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+Dispatch.swift"; path = "RxSwift/Date+Dispatch.swift"; sourceTree = ""; }; - A8713D7E2B7B61CCBF4FB794340D2F13 /* UIViewController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIViewController+DDCategory/UIViewController+DDCategory.h"; sourceTree = ""; }; - A871485905A7B9D5085AB9063F7C2B6E /* DriveRouteCustomAnnotation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DriveRouteCustomAnnotation.m; path = DDMAMapKit_Private/Classes/DDMAMap/Annotation/DriveRouteCustomAnnotation.m; sourceTree = ""; }; - A89BA3B8469200CEF4095F468F3579B3 /* MAOfflineItemNationWide.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemNationWide.h; path = AMapNaviKit.framework/Headers/MAOfflineItemNationWide.h; sourceTree = ""; }; - A8B0B366F617F88B519007C71635C00E /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; - A8CF610938030111A136AB5E11B31E91 /* IQKeyboardManagerConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstants.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift; sourceTree = ""; }; - A8E5CF2AF75161BA15D45A8147CA4B06 /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAsyncBlockOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAsyncBlockOperation.h; sourceTree = ""; }; + 9DB84BD73E094F58416237AAC901B492 /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackStateFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m; sourceTree = ""; }; + 9DFCC74D6C43B4E4B90A7722C8094235 /* NSObject+CocoaDebug.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+CocoaDebug.h"; path = "Sources/Categories/NSObject+CocoaDebug.h"; sourceTree = ""; }; + 9E42017CC0692D3CEDD794B4B3440E61 /* ZFPlayer.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = ZFPlayer.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9E447C0DC9643C75C630771D47581B9E /* JCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JCore.release.xcconfig; sourceTree = ""; }; + 9E49BA7F52B953A1AA1746DC56534085 /* MKAnnotationView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MKAnnotationView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImageMapKit/MapKit/MKAnnotationView+WebCache.m"; sourceTree = ""; }; + 9E4EEDBF4C41CDDEA8AF51F582F55B36 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + 9EE564A52606F12F0F3275E2456A4E2B /* YYImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCoder.h; path = YYImage/YYImageCoder.h; sourceTree = ""; }; + 9EF9C95586D47D74A8FC45DF8F4059AF /* UIColor+Hue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+Hue.swift"; path = "DDColorKit_Private/Classes/UIColor+Hue.swift"; sourceTree = ""; }; + 9F2A940BA0380A35740283D9BA249393 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; + 9F4CBD7F4377293698C30AB705D9B9E7 /* _icon_file_type_down@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_down@2x.png"; path = "Sources/Resources/images/_icon_file_type_down@2x.png"; sourceTree = ""; }; + 9F707967819FD72D13860AE06B6EC84A /* MJRefresh-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-umbrella.h"; sourceTree = ""; }; + 9F751B9A87B36BB0373D780CDD36BD83 /* SDMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDMemoryCache.m; sourceTree = ""; }; + 9F81B8892C14CDDB82C7324A4E6E742C /* MAMapCustomStyleOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapCustomStyleOptions.h; path = AMapNaviKit.framework/Headers/MAMapCustomStyleOptions.h; sourceTree = ""; }; + 9FFDB5924275478272D8CD4AD9A5114E /* SDWebImageDownloaderDecryptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderDecryptor.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderDecryptor.m; sourceTree = ""; }; + A01F139F13CC37F3AD2C7A4BC8A4B67E /* icon_file_type_css@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_css@3x.png"; path = "Sources/Resources/FileType/icon_file_type_css@3x.png"; sourceTree = ""; }; + A0326BA4C1CBA03BFF9AFEA22E6E9AF8 /* GPBMessage+CocoaDebug.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "GPBMessage+CocoaDebug.m"; path = "Sources/Categories/GPBMessage+CocoaDebug.m"; sourceTree = ""; }; + A033673D62BAF39030762360AA0CA16A /* JXCategoryIndicatorTriangleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorTriangleView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.m; sourceTree = ""; }; + A06F5CCBF3ABBBCCCD169A144F7BE906 /* icon_file_type_plist@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_plist@3x.png"; path = "Sources/Resources/FileType/icon_file_type_plist@3x.png"; sourceTree = ""; }; + A08A4EE64F0E2FDD8E0CD8CD54AC6402 /* MAGroundOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGroundOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAGroundOverlayRenderer.h; sourceTree = ""; }; + A0B91B2214FB3918FE02FBA9C67B04BD /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; + A0C0FDAF9B5B0CBB0756844F8FC0353A /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift; sourceTree = ""; }; + A0C90363DD6E0270C9EB008F83B3E379 /* ControlProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlProperty.swift; path = RxCocoa/Traits/ControlProperty.swift; sourceTree = ""; }; + A0FC29662FE91D3035E3D2941E43BAF7 /* NSMutableParagraphStyle+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableParagraphStyle+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableParagraphStyle+DDCategory.m"; sourceTree = ""; }; + A106143348F1333947CBC2C400C4FD94 /* NSObject+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSObject+DDCategory/NSObject+DDCategory.h"; sourceTree = ""; }; + A1308D15BDD130B9571E429B8D10B69B /* SDImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCodersManager.m; sourceTree = ""; }; + A13297A64E857B8AD8F9E9419F670A6E /* UITextView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITextView+DDCategory/UITextView+DDCategory.h"; sourceTree = ""; }; + A14167FCFD0FB32EDC2EF68674B490AA /* SDFileAttributeHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDFileAttributeHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDFileAttributeHelper.m; sourceTree = ""; }; + A19594D6544446ACE96BC3BEE6F97EC0 /* AMapNaviHeaderHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviHeaderHandler.h; path = AMapNaviKit.framework/Headers/AMapNaviHeaderHandler.h; sourceTree = ""; }; + A1BD1915A468B2C4832E4402397782B5 /* NSBundle+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSBundle+DDCategory/NSBundle+DDCategory.m"; sourceTree = ""; }; + A20445C988AE70DEE2558BF1E4105D37 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MemoryCacheCost.h"; sourceTree = ""; }; + A205ECCD51534499941438F03CA91240 /* DDProgressHUDKit_Private.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = DDProgressHUDKit_Private.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + A22433DD0FCC11569BF1ED1DA2C6087F /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextStorage+Rx.swift"; path = "RxCocoa/iOS/NSTextStorage+Rx.swift"; sourceTree = ""; }; + A2591C5900E69E11DC928717847FD730 /* JXCategoryListContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryListContainerView.h; path = Sources/Common/JXCategoryListContainerView.h; sourceTree = ""; }; + A262AE8C7922BD7C250E88772C5DE106 /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Debug.swift"; sourceTree = ""; }; + A271C7006084BC6628CAA997172CEB57 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; + A27EBB43AC3768A0BAB24706F9A698B8 /* DDBaseScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseScrollView.m; path = DDBasicControlsKit_Private/Classes/DDBaseScrollView/DDBaseScrollView.m; sourceTree = ""; }; + A2FD3727D7402747D9C5A84EAAE2007F /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = ""; }; + A34CCBF5B2957428FF0A2D400597EEFA /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageTransition.m; sourceTree = ""; }; + A3C354AD191C0D21BF9E480D1884055C /* DDLogKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDLogKit_Private.modulemap; sourceTree = ""; }; + A3CB535411D2AA2BDD90D9ECF0BF97AA /* EKAttributes+Animation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Animation.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Animation.swift"; sourceTree = ""; }; + A3D28071364468245FA4464264EA168E /* DDBaseTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTextView.h; path = DDBasicControlsKit_Private/Classes/DDBaseTextView/DDBaseTextView.h; sourceTree = ""; }; + A423CAEC955CB372147CE758EC1FF588 /* EKXStatusBarMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKXStatusBarMessageView.swift; path = Source/MessageViews/Notes/EKXStatusBarMessageView.swift; sourceTree = ""; }; + A423E9E36352B4BA950B642BC6DFA20E /* DDWebImageKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDWebImageKit_Private-umbrella.h"; sourceTree = ""; }; + A461FFB68020429AD99C16763F0F0249 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDNetworkingOfAlamofireKit_Private.release.xcconfig; sourceTree = ""; }; + A4B6C9873F99770F3A41016B3E508B5C /* _DirectoryContentsTableViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _DirectoryContentsTableViewController.h; path = Sources/Sandbox/_DirectoryContentsTableViewController.h; sourceTree = ""; }; + A4BAC0A5FD4986193CD1B5A7316D179A /* ObservableConvertibleType+Infallible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Infallible.swift"; path = "RxSwift/Traits/Infallible/ObservableConvertibleType+Infallible.swift"; sourceTree = ""; }; + A4E10B350675FF2055B4EDB7EBA35071 /* _FileTableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FileTableViewCell.h; path = Sources/Sandbox/_FileTableViewCell.h; sourceTree = ""; }; + A4FA1F868A3A43634938664865A98205 /* DDTimerManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTimerManager.h; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerManager.h; sourceTree = ""; }; + A520DCEC9DAEE3B368019BA755DCA97F /* JXCategoryIndicatorImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorImageView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.m; sourceTree = ""; }; + A527FEE8FF018382A2BD90616BEEEA6B /* UIBarButtonItem+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBarButtonItem+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIBarButtonItem+DDCategory/UIBarButtonItem+DDCategory.h"; sourceTree = ""; }; + A53508503B18916CD33E25A91EEEFAB3 /* DDTableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTableView.swift; path = DDControlsKit_Private/Classes/DDTableView/DDTableView.swift; sourceTree = ""; }; + A59F9B1672DA8B3A328ED59E513E4E87 /* ZFLandScapeControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandScapeControlView.h; path = ZFPlayer/Classes/ControlView/ZFLandScapeControlView.h; sourceTree = ""; }; + A5A2921ABDE59DF12F4D0D661B6FB6E9 /* ZFPlayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerView.m; path = ZFPlayer/Classes/Core/ZFPlayerView.m; sourceTree = ""; }; + A5AADD6017D2D14DD71326BB2C1D9C61 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; + A5D8DE58E07633D41B684E0120EA1BC5 /* DDMAGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMAGeometry.h; path = DDMAMapKit_Private/Classes/DDMAUtil/DDMAGeometry.h; sourceTree = ""; }; + A5DADF3FBFA5A8BC48164AC69E127E42 /* MAParticleOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAParticleOverlayRenderer.h; sourceTree = ""; }; + A5F9F8CA5936ABC03BDE8F94DFA1C482 /* RxWKNavigationDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxWKNavigationDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift; sourceTree = ""; }; + A61BB0F031A49A83E63EBCE9E3F8885B /* NSBezierPath+SDRoundedCorners.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBezierPath+SDRoundedCorners.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h"; sourceTree = ""; }; + A63380366516F55AD567515566FAAE60 /* ZLThumbnailPhotoCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLThumbnailPhotoCell.swift; path = Sources/General/ZLThumbnailPhotoCell.swift; sourceTree = ""; }; + A69EBB35E5A703BD76BAB395808990C9 /* ZLThumbnailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLThumbnailViewController.swift; path = Sources/General/ZLThumbnailViewController.swift; sourceTree = ""; }; + A6E27F616F1CDA24CF7F44A2A4108CB1 /* DDMAMapKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDMAMapKit_Private.release.xcconfig; sourceTree = ""; }; + A6F5E0D832D5221D399157728B94B8ED /* icon_file_type_jar@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_jar@2x.png"; path = "Sources/Resources/FileType/icon_file_type_jar@2x.png"; sourceTree = ""; }; + A7159BC15080B6D23EE5AED04FB62812 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + A7377E7AB1D6BB4250BF0B50F8F19337 /* networking_loading.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = networking_loading.gif; path = DDProgressHUDKit_Private/Assets/networking_loading.gif; sourceTree = ""; }; + A77DCFEF27A70B1296E16F375F8BA474 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + A7BD3B315CF1E49C0DF1C0C47A1A4D81 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; + A820F356866C8E7F8B702B6C41D07B20 /* ZLPhotoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoModel.swift; path = Sources/General/ZLPhotoModel.swift; sourceTree = ""; }; + A836F3B050521214D88BE3D972DB6F48 /* UICollectionView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UICollectionView+DDCategory/UICollectionView+DDCategory.m"; sourceTree = ""; }; + A83F0EAC2F38F82A2B1FB87464E24E6D /* UIScrollView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIScrollView+Rx.swift"; path = "RxCocoa/iOS/UIScrollView+Rx.swift"; sourceTree = ""; }; + A8AC11EEC33593FCFBEE21E8D2183D81 /* icon_file_type_xml@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_xml@2x.png"; path = "Sources/Resources/FileType/icon_file_type_xml@2x.png"; sourceTree = ""; }; + A8BAF2D64A36C00E0C3F1A0E0E2818D4 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = IQKeyboardManagerSwift; path = libIQKeyboardManagerSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; A9132D6AA90D7BC2B6C7A08B065F87A9 /* DDToastKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDToastKit_Private; path = libDDToastKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - A97E3CA24BAF967F0DD559FF3D3BA7B3 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - A9A05A3D0785506C922906560F5667D7 /* EKProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKProperty.swift; path = Source/Model/EKProperty.swift; sourceTree = ""; }; - A9CB1447FEB6029A8840B0C7857C97D7 /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoNormalFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h; sourceTree = ""; }; - A9F12B4F49F6C86C604E888D6F2E420E /* JXCategoryBaseCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseCellModel.h; path = Sources/Base/JXCategoryBaseCellModel.h; sourceTree = ""; }; - AA04CD0F23CC9878683C6F6FD5F29DDF /* ZFPlayerNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerNotification.h; path = ZFPlayer/Classes/Core/ZFPlayerNotification.h; sourceTree = ""; }; - AA3A2761EDCB9294D6DF93CDFD4FEAF6 /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Internal.swift"; sourceTree = ""; }; - AA3D6A5E27C75ED67BEE680197D2F7FA /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - AA7E8C40551B5BDFBD6835BC5E5084EB /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; - AAF3AD1C4A2BCD31EE459373C4F300B4 /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; - AAFD7B653317A6D1B0029D18CEAA4EA9 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - AB25F6E0D99E2BBFBA2B8783348F9B11 /* DDBaseImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseImageView.m; path = DDBasicControlsKit_Private/Classes/DDBaseImageView/DDBaseImageView.m; sourceTree = ""; }; - ABC71BC4AF6B30F4B08640F5D54C2855 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; - AC005FCC0C60BD128CACB42A3B99D407 /* ZLPhotoUIConfiguration+Chaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ZLPhotoUIConfiguration+Chaining.swift"; path = "Sources/General/ZLPhotoUIConfiguration+Chaining.swift"; sourceTree = ""; }; - AC3609EE554BB3D89F33695B3AD6BCE0 /* SDImageIOAnimatedCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoderInternal.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h; sourceTree = ""; }; - AC3923BB5E36EC5C07DD3877E6F1939E /* DDBasicControlsKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDBasicControlsKit_Private-umbrella.h"; sourceTree = ""; }; - AC3ECD4F7AA4F16AAE4A1C9C185C0122 /* ZFPortraitViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPortraitViewController.h; path = ZFPlayer/Classes/Core/ZFPortraitViewController.h; sourceTree = ""; }; - AC4D8BD20897FBDD375E72960E6EB3EC /* MAMultiPoint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPoint.h; path = AMapNaviKit.framework/Headers/MAMultiPoint.h; sourceTree = ""; }; - AC69D4F61B89850BCFF0C31C1781888F /* UITextView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITextView+DDCategory/UITextView+DDCategory.h"; sourceTree = ""; }; - AC6ABAB14579C0D4ADC5228470A170CD /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheConfig.m; sourceTree = ""; }; - AC9A93005C646FFDA2725621E466EE8B /* DDMANaviManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMANaviManager.h; path = DDMAMapKit_Private/Classes/DDMANaviManager/DDMANaviManager.h; sourceTree = ""; }; - ACC46CA284F43B04464EC0C31CAF25B9 /* MAPointAnnotation+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MAPointAnnotation+DDCategory.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Annotation/MAPointAnnotation+DDCategory.h"; sourceTree = ""; }; - ACC61BF0BBED308843A63B4535A47E74 /* AMapLocationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapLocationKit.framework; sourceTree = ""; }; + A9486955003D2704C9BC2CFFF3DC1602 /* IQKeyboardManager+OrientationNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+OrientationNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+OrientationNotification.swift"; sourceTree = ""; }; + A96E5BD551A629C9E2A3575308D64240 /* icon_file_type_ttf@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ttf@3x.png"; path = "Sources/Resources/FileType/icon_file_type_ttf@3x.png"; sourceTree = ""; }; + A971EC747DCD78B6D881A4AE2F5C34AC /* JXCategoryImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageView.h; path = Sources/Image/JXCategoryImageView.h; sourceTree = ""; }; + A97B1FCE7B36565B5898F94FD4645630 /* ControlEvent+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlEvent+Signal.swift"; path = "RxCocoa/Traits/Signal/ControlEvent+Signal.swift"; sourceTree = ""; }; + A98880E9F4494AB401E32E2E503E92FD /* GPBMessage+CocoaDebug.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GPBMessage+CocoaDebug.h"; path = "Sources/Categories/GPBMessage+CocoaDebug.h"; sourceTree = ""; }; + A9A195FC48782E255DA99CFA43D3F5C4 /* EntryCachingHeuristic.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EntryCachingHeuristic.swift; path = Source/Infra/EntryCachingHeuristic.swift; sourceTree = ""; }; + AA11FD19BA6973AF54B47B980E6B8321 /* UIImage+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Transform.m"; sourceTree = ""; }; + AA41FD1CD95A52E213BF3BF80091EF73 /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOCoder.h; sourceTree = ""; }; + AA4800065E258B56665AAD606EBB4D8C /* _fishhook.c */ = {isa = PBXFileReference; includeInIndex = 1; name = _fishhook.c; path = Sources/fishhook/_fishhook.c; sourceTree = ""; }; + AA6E5F7A5C74C0ED6962916F98559CE4 /* SDWebImageTransitionInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransitionInternal.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWebImageTransitionInternal.h; sourceTree = ""; }; + AAD9DF57F5DBA886ED1556C1659C325E /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; + AADBB67F6F3BD3DC2C9677FB61DE87B2 /* ZFPlayer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZFPlayer-umbrella.h"; sourceTree = ""; }; + AB00E3B82036E5EB9B84ACE3453000DC /* SDWebImageDownloaderResponseModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderResponseModifier.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h; sourceTree = ""; }; + AB04BF235B4D1774C3BC85610FAAED66 /* SDImageCacheDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheDefine.m; sourceTree = ""; }; + AB208F7F34CCECCAFBB2D4F525D7D657 /* MATraceReplayOverlayRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceReplayOverlayRender.h; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlayRender.h; sourceTree = ""; }; + AB4A34F074551EED982A91C0E0AD7A7C /* MJRefreshComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshComponent.m; path = MJRefresh/Base/MJRefreshComponent.m; sourceTree = ""; }; + AB90B87EE2FF26A45E6239745689C539 /* _ImageResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _ImageResources.h; path = Sources/Sandbox/_ImageResources.h; sourceTree = ""; }; + AC0511679A7D8059B5DB16D2D43E630A /* MAParticleOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlay.h; path = AMapNaviKit.framework/Headers/MAParticleOverlay.h; sourceTree = ""; }; + AC40177B5BB65E283F67411A7B459858 /* MJRefreshTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshTrailer.m; path = MJRefresh/Base/MJRefreshTrailer.m; sourceTree = ""; }; + AC74B0A589401DA85BFA356909B19FC0 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSImage+Compatibility.h"; sourceTree = ""; }; + AC7BE47DFA8979F847A9E9D27691F8C5 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; ACCD14442C07FDF6FABB9413A016758F /* Pods-OrderScheduling-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-OrderScheduling-resources.sh"; sourceTree = ""; }; - ACD388ECFBA70058193504DC32919672 /* SDWebImageMapKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageMapKit.h; path = DDWebImageKit_Private/Classes/SDWebImageMapKit/SDWebImageMapKit.h; sourceTree = ""; }; - AD2AF6776DA64214898C782B9BCAA65C /* UIScrollView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIScrollView+DDCategory/UIScrollView+DDCategory.m"; sourceTree = ""; }; - AD48561C5513231F3940349131F5CFD9 /* QLUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QLUtils.swift; path = Source/Extensions/QuickLayout/QLUtils.swift; sourceTree = ""; }; - AD85BF22E05852F9453781C97E1399D6 /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoStateFooter.h; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h; sourceTree = ""; }; + ACD43254FF0BBC054356DA61427801F9 /* icon_file_type_flv@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_flv@3x.png"; path = "Sources/Resources/FileType/icon_file_type_flv@3x.png"; sourceTree = ""; }; + ACF1AA7DC1FB85C90FDCAB0A7CEE2587 /* icon_file_type_xml.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_xml.png; path = Sources/Resources/FileType/icon_file_type_xml.png; sourceTree = ""; }; + AD226C7E819A918CF720D6F13F743951 /* icon_file_type_mp3.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_mp3.png; path = Sources/Resources/FileType/icon_file_type_mp3.png; sourceTree = ""; }; + AD32871CE4968D724A1FB6A5342D72C4 /* DDWebImageKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDWebImageKit_Private.debug.xcconfig; sourceTree = ""; }; + AD5809844AE93CAD6E7F8CCE435CB4B3 /* AMapLocationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapLocationKit.framework; sourceTree = ""; }; + AD7486E7F733DEE72A2B9C23628664C6 /* icon_file_type_keynote@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_keynote@2x.png"; path = "Sources/Resources/FileType/icon_file_type_keynote@2x.png"; sourceTree = ""; }; + AD79AFDE63354DAD29B9845B19B9066A /* _DebugConsoleLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _DebugConsoleLabel.m; path = Sources/Monitor/_DebugConsoleLabel.m; sourceTree = ""; }; AD8FF1E8B0C9C12F070D79A5EC3BEE59 /* DDWebImageKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDWebImageKit_Private; path = libDDWebImageKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - AD9D7F6E14F4EED74483AFD239B73D0C /* MAOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAOverlayRenderer.h; sourceTree = ""; }; - ADCB5BB9CF089B390C36557C68ED136D /* NSBundle+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSBundle+DDCategory/NSBundle+DDCategory.m"; sourceTree = ""; }; - AEBDF32B1CEC64361D672AD75049A79A /* SDImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOCoder.m; sourceTree = ""; }; - AED76B4B938C0C7384ACF460FDB3AB16 /* ZLImagePreviewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImagePreviewController.swift; path = Sources/General/ZLImagePreviewController.swift; sourceTree = ""; }; - AEDB2515BA33F0F0816E4596638A245F /* EKAttributes+Duration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Duration.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Duration.swift"; sourceTree = ""; }; - AEE11C5436C284042CD04BC93ACF9E68 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; - AF00524DF715BD3C8811BB05939DFBAF /* KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KVORepresentable.swift; path = RxCocoa/Foundation/KVORepresentable.swift; sourceTree = ""; }; - AF3B1E8168552BA7234ECD297D5FFB80 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - AFB58603BA94186F0189A4706E513E63 /* _RXKVOObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXKVOObserver.h; path = RxCocoa/Runtime/include/_RXKVOObserver.h; sourceTree = ""; }; - B02FCA8BF9B852D1E71DA914B3190670 /* RxCocoa-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxCocoa-prefix.pch"; sourceTree = ""; }; - B04861F50E98C1996227ECF5A10CC6BF /* ZLThumbnailPhotoCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLThumbnailPhotoCell.swift; path = Sources/General/ZLThumbnailPhotoCell.swift; sourceTree = ""; }; - B05A83009C123E8C2BAC9CA401A9554B /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift; sourceTree = ""; }; - B066B7CC2C0DFD33EE1B374F94FED48E /* MAGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGeometry.h; path = AMapNaviKit.framework/Headers/MAGeometry.h; sourceTree = ""; }; - B09091E3E5CC29728A4963D01CA556A7 /* ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; sourceTree = ""; }; - B0A3779653BA7DA1F233483C9B79E953 /* MAHeatMapVectorGridOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorGridOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorGridOverlay.h; sourceTree = ""; }; - B0D6B2C65EC5921E9DC2EEC20D72BB50 /* DDAutoUIKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDAutoUIKit_Private-prefix.pch"; sourceTree = ""; }; - B0FB76280E18F322095A2C4A4D685973 /* ZLEmbedAlbumListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEmbedAlbumListView.swift; path = Sources/General/ZLEmbedAlbumListView.swift; sourceTree = ""; }; - B11AD11EACED0833C99ABEB7FFAEBFA7 /* ZLResultModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLResultModel.swift; path = Sources/General/ZLResultModel.swift; sourceTree = ""; }; - B11C36D464786DC5522CCD21CDA0EA1E /* MABaseOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MABaseOverlay.h; path = AMapNaviKit.framework/Headers/MABaseOverlay.h; sourceTree = ""; }; - B15D8ACCEEAF853ED4FB1410663992FC /* JXCategoryTitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleView.m; path = Sources/Title/JXCategoryTitleView.m; sourceTree = ""; }; - B17C471E3664304AEDC145560C9617AA /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - B1A5F61C05410B8575354F8C3C05C536 /* DDMAMapKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDMAMapKit_Private-prefix.pch"; sourceTree = ""; }; - B1B47458536B3C999E06D4706928ADA6 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; - B1E4B0243FD34029F41616C0DC0078EA /* BehaviorRelay+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BehaviorRelay+Driver.swift"; path = "RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift"; sourceTree = ""; }; - B1EA033DA39BDA88EFC4D30EAA3442C1 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - B2054A209976BE6EDED8BF328C284A31 /* RxCocoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoa.h; path = RxCocoa/RxCocoa.h; sourceTree = ""; }; - B209038F26A8AC455FEE133B84D43A99 /* MAGeodesicPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGeodesicPolyline.h; path = AMapNaviKit.framework/Headers/MAGeodesicPolyline.h; sourceTree = ""; }; - B2161CE91FDEC903D15D600D61203238 /* AMapFoundationKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapFoundationKit.h; path = AMapFoundationKit.framework/Headers/AMapFoundationKit.h; sourceTree = ""; }; - B29C8FD4F539CD32BEA4208A8E848454 /* ZLGeneralDefine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLGeneralDefine.swift; path = Sources/General/ZLGeneralDefine.swift; sourceTree = ""; }; - B2BFB733E764620323F8A3A3BF796DC2 /* DriveRouteCustomAnnotationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DriveRouteCustomAnnotationView.m; path = DDMAMapKit_Private/Classes/DDMAMap/AnnotationView/DriveRouteCustomAnnotationView.m; sourceTree = ""; }; - B2CA81E1BB6BCD74B0BA59998F1DDF29 /* DDWebImageKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDWebImageKit_Private.release.xcconfig; sourceTree = ""; }; - B2FFC04BFBF0CBED9AA4E9BF57AE514A /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; - B3657DEF096305EBE6B26BB5173C3415 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; - B36EC2EB267639DC179A22E5C82B081B /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + ADA36DCC5EC5BF0B048E74DE2570684B /* ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist"; sourceTree = ""; }; + ADA403A31FA1A88700C6F3579E62A04A /* DDBasicControlsKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDBasicControlsKit_Private-umbrella.h"; sourceTree = ""; }; + ADD76D4312B16F9A6A2F0C3275FA4117 /* ZLPhotoManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoManager.swift; path = Sources/General/ZLPhotoManager.swift; sourceTree = ""; }; + ADDA45164BAAFF659A09E440CCE01862 /* MAHeatMapTileOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapTileOverlay.h; path = AMapNaviKit.framework/Headers/MAHeatMapTileOverlay.h; sourceTree = ""; }; + ADDF6FB7B3C4DCB57D058B099F217628 /* Bool+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bool+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Bool+ZLPhotoBrowser.swift"; sourceTree = ""; }; + ADEB87385FCCDE6CB9130A92ADDDE930 /* icon_file_type_folder_not_empty@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_folder_not_empty@2x.png"; path = "Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png"; sourceTree = ""; }; + AE084786A16AF311901B49348AEE4C0E /* DDFontKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDFontKit_Private.release.xcconfig; sourceTree = ""; }; + AE0A7822B610E01B7C696A5B6459FB58 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; + AE3FDED621E68F45B1277D90644A323F /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + AE740BF7ACEE2E6ECB351733B9B7CBB9 /* DDBaseScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseScrollView.h; path = DDBasicControlsKit_Private/Classes/DDBaseScrollView/DDBaseScrollView.h; sourceTree = ""; }; + AE836B33212C1049FE177E34AA8CDF4D /* JXCategoryTitleVerticalZoomCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomCell.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.h; sourceTree = ""; }; + AE96567F6E7FC821A2A8BD096E7352DE /* icon_file_type_torrent.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_torrent.png; path = Sources/Resources/FileType/icon_file_type_torrent.png; sourceTree = ""; }; + AEB1455B94037FBC0DE808C3575DDDAB /* RxRelay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxRelay-prefix.pch"; sourceTree = ""; }; + AEBB411128EF5E6825B1917BFB7FBE6C /* UITableView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITableView+Rx.swift"; path = "RxCocoa/iOS/UITableView+Rx.swift"; sourceTree = ""; }; + AECE2B2854E05412AF6C2A7CDF8D92A7 /* JXCategoryView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JXCategoryView-umbrella.h"; sourceTree = ""; }; + AEDA709F3D2AD99F2DA5F5189FE9EC72 /* ESTabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBar.swift; path = Sources/ESTabBar.swift; sourceTree = ""; }; + AF9C526A92820BDDB9AA5A65CFC57B59 /* ZFUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFUtilities.m; path = ZFPlayer/Classes/ControlView/ZFUtilities.m; sourceTree = ""; }; + AFA47C46F82DB783B06AA39BF5149174 /* UIWindow+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWindow+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIWindow+DDCategory/UIWindow+DDCategory.h"; sourceTree = ""; }; + B01BB671CA2A4084A114B7EEAE648C7B /* icon_file_type_php@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_php@2x.png"; path = "Sources/Resources/FileType/icon_file_type_php@2x.png"; sourceTree = ""; }; + B02AF5DECFC1F7EEFF02DA3D609EF94B /* DDAutoUIKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDAutoUIKit_Private-prefix.pch"; sourceTree = ""; }; + B044A43AE4FF1C3EEB6CD643C8732214 /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = ""; }; + B075289DF9FB32E06CCA8AE484F2B4BA /* MABaseOverlay+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MABaseOverlay+DDCategory.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Overlay/MABaseOverlay+DDCategory.h"; sourceTree = ""; }; + B0957097709AC8F8DEF5624B992C16E9 /* SwiftEntryKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftEntryKit-dummy.m"; sourceTree = ""; }; + B0A91DCA9A4DA5B45D9E3EFFC052EA68 /* _NetworkHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _NetworkHelper.h; path = Sources/Network/_NetworkHelper.h; sourceTree = ""; }; + B0A987A861294231DE10A2071637DAEA /* CocoaDebug.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaDebug.debug.xcconfig; sourceTree = ""; }; + B13BF5572329B2C8D3867CA07C6F5D98 /* SDInternalMacros.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDInternalMacros.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDInternalMacros.m; sourceTree = ""; }; + B1438F7D917CF62B42D3A9801F8C3CD9 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; + B17EAB5A4B1EF1BF6308ED53A9D0A7E4 /* YYSpriteSheetImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSpriteSheetImage.m; path = YYImage/YYSpriteSheetImage.m; sourceTree = ""; }; + B19932BF518B4B4F7A57027FC1CEB288 /* AMapURLSearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearch.h; path = AMapFoundationKit.framework/Headers/AMapURLSearch.h; sourceTree = ""; }; + B1FC7027EEC244DED7B91DB13E0778E4 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; + B20658DB19586260FA8FF56A32FA4CB5 /* ZFPlayerMediaControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerMediaControl.h; path = ZFPlayer/Classes/Core/ZFPlayerMediaControl.h; sourceTree = ""; }; + B20798769083AC4AC67C8C9FB3FDB2EE /* RxRelay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxRelay.debug.xcconfig; sourceTree = ""; }; + B23978AC52BD5E2A0FC2DE78FE31AAB9 /* RxCocoa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxCocoa.release.xcconfig; sourceTree = ""; }; + B25BB49C0D295BF974701809904B187F /* WKWebView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "WKWebView+Rx.swift"; path = "RxCocoa/iOS/WKWebView+Rx.swift"; sourceTree = ""; }; + B282B8BE3943C2E357DC5E9A00264DE3 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; + B299C8CC27AF7EEB7DA1EE5C96863250 /* JXCategoryListContainerRTLCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryListContainerRTLCell.h; path = Sources/Common/JXCategoryListContainerRTLCell.h; sourceTree = ""; }; + B29C6A8B3245FB3FC72FD122B869DC9B /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; + B2B19BA25C3C330333FF8F4F6861E014 /* TextInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextInput.swift; path = RxCocoa/Common/TextInput.swift; sourceTree = ""; }; + B2B380E9E034C33BC9882A66DE3D6248 /* NSObject+Rx+RawRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+RawRepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+RawRepresentable.swift"; sourceTree = ""; }; + B3079F8DBE71A6342ABE05C00CF60848 /* UIView+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+QuickLayout.swift"; path = "Source/Extensions/QuickLayout/UIView+QuickLayout.swift"; sourceTree = ""; }; + B30BB9AD3C6391D52ED6DA4ABBB335E6 /* icon_file_type_keynote@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_keynote@3x.png"; path = "Sources/Resources/FileType/icon_file_type_keynote@3x.png"; sourceTree = ""; }; + B3236BABEDA9FBC8E0286261CC6342E2 /* RxRelay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxRelay-dummy.m"; sourceTree = ""; }; + B3316D5B9941F91751B5F093A50BD9C9 /* JXCategoryTitleVerticalZoomCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomCellModel.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.m; sourceTree = ""; }; + B39D6EA0FE7C5A23B253B2E41FCF2DF2 /* ZFPlayerLogManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerLogManager.h; path = ZFPlayer/Classes/Core/ZFPlayerLogManager.h; sourceTree = ""; }; + B3A2DDD871B8F1555E620E4E0D0160BA /* UIViewController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIViewController+DDCategory/UIViewController+DDCategory.h"; sourceTree = ""; }; B3B0956B7EBF66A8FD677D586C9C387A /* Pods-OrderScheduling */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-OrderScheduling"; path = "libPods-OrderScheduling.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - B3E62B52049065E0DCBFE83089C3B136 /* JXCategoryIndicatorRainbowLineView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorRainbowLineView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.m; sourceTree = ""; }; - B3E9DA4004384DED1EB3A0D1FACE14D2 /* MAOfflineMapViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineMapViewController.h; path = AMapNaviKit.framework/Headers/MAOfflineMapViewController.h; sourceTree = ""; }; - B415E192D01230D9E586DD05F954ADAB /* RxCocoa.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxCocoa.modulemap; sourceTree = ""; }; - B4676921490D6EFFB674DAD7EAFF50CC /* MACustomBuildingOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomBuildingOverlay.h; path = AMapNaviKit.framework/Headers/MACustomBuildingOverlay.h; sourceTree = ""; }; - B471269D354A80FFCDFEAE4BC9CD92BC /* DDMANaviManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMANaviManager.m; path = DDMAMapKit_Private/Classes/DDMANaviManager/DDMANaviManager.m; sourceTree = ""; }; - B48EF9BD2FFEF3F8EDEA9BDCEC0C88D1 /* EKWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKWindow.swift; path = Source/Infra/EKWindow.swift; sourceTree = ""; }; - B4989F3C262104D3605709E7C55F833F /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - B50B9A36BEB291CF2AFC1CB63C7443DD /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; - B51DCF5361619CF1F74D7D4DC2369764 /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = DDToastKit_Private/Classes/Toast.swift; sourceTree = ""; }; - B528F577C6A4091B45ACD3A38668CAB2 /* ControlEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlEvent.swift; path = RxCocoa/Traits/ControlEvent.swift; sourceTree = ""; }; - B5446E77012E65A051C648874F3E2513 /* EKMessageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKMessageContentView.swift; path = Source/MessageViews/EKMessageContentView.swift; sourceTree = ""; }; - B5B14834441D138736577878040354FB /* DDMutableAttributedString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDMutableAttributedString.swift; path = DDControlsKit_Private/Classes/DDAttributedString/DDMutableAttributedString.swift; sourceTree = ""; }; - B5C4D96349F0B74A2EDEDF5D9C4FA813 /* ZFPlayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerView.m; path = ZFPlayer/Classes/Core/ZFPlayerView.m; sourceTree = ""; }; - B5C56A9BFFAA90DED7DEC6B31223DE3D /* DDBaseNavigationController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseNavigationController.m; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDBaseNavigationController.m; sourceTree = ""; }; - B5CAE433DC066B69381954C853EF5020 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoFooter.h; path = MJRefresh/Base/MJRefreshAutoFooter.h; sourceTree = ""; }; - B6AEFADC413840BC110C5CA69E6E9319 /* JXCategoryView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JXCategoryView-dummy.m"; sourceTree = ""; }; - B6FA8D76394737257410373E15F306E0 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageManager.m; sourceTree = ""; }; - B71128C7081CD2E8ECF7C5E7C8426449 /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoNormalFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m; sourceTree = ""; }; - B73224BE8EA3D3AEEC6BE72C19AEE578 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; }; - B749E3C431FC2E72C48A7D27EC67CEFC /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - B7546BE56E3F369444941CDB3F9F6E1F /* ZLAnimationUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAnimationUtils.swift; path = Sources/General/ZLAnimationUtils.swift; sourceTree = ""; }; - B767986E2E048850DCB496A1B51358DC /* RxSearchControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxSearchControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift; sourceTree = ""; }; - B7A587E2BFF90A250B19A4B4A6850DBD /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; - B7B19EEAA0FFA17D0D0EBB0EF0BB6BF0 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderRequestModifier.m; sourceTree = ""; }; - B8405C7EAB0498644B815AAC4D1B6FC3 /* DDToastKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDToastKit_Private-dummy.m"; sourceTree = ""; }; - B84A8C33175F17CAC11C7792A0BACE7C /* JXCategoryImageCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageCellModel.h; path = Sources/Image/JXCategoryImageCellModel.h; sourceTree = ""; }; - B85081E24B9B538EF7BF75AEE7CAD46A /* JXCategoryImageCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageCellModel.m; path = Sources/Image/JXCategoryImageCellModel.m; sourceTree = ""; }; - B8844290A47A458D6576CEE826EDA0B4 /* MAMultiPointOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPointOverlay.h; path = AMapNaviKit.framework/Headers/MAMultiPointOverlay.h; sourceTree = ""; }; - B95617A8C444FCDB5FABEB908FB55073 /* MAConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAConfig.h; path = AMapNaviKit.framework/Headers/MAConfig.h; sourceTree = ""; }; - B963F2D9036B685C58BA3B1C6BE5C43E /* ZLFetchImageOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLFetchImageOperation.swift; path = Sources/General/ZLFetchImageOperation.swift; sourceTree = ""; }; + B3E1F2C5BFE9F76376BFC1AB5DE0E68E /* SDWebImageDownloaderResponseModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderResponseModifier.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderResponseModifier.m; sourceTree = ""; }; + B3F02C5E19D2B002A170E07904689E42 /* AMapNaviRideView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideView.h; path = AMapNaviKit.framework/Headers/AMapNaviRideView.h; sourceTree = ""; }; + B3FA92F1AFBC541F37F50BCA5F09A09C /* icon_file_type_keynote.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_keynote.png; path = Sources/Resources/FileType/icon_file_type_keynote.png; sourceTree = ""; }; + B40D5F1A930C2BF3381C0DC550907252 /* _RXDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXDelegateProxy.m; path = RxCocoa/Runtime/_RXDelegateProxy.m; sourceTree = ""; }; + B4145C883CC26963CE25A5B3FDA3A58B /* MJRefreshStateTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshStateTrailer.h; path = MJRefresh/Custom/Trailer/MJRefreshStateTrailer.h; sourceTree = ""; }; + B48840F0AD051EAEF7F001A7EF226FDE /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + B48DC8B4BF07AD1187EED8C861D2692A /* ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; sourceTree = ""; }; + B4B7C54000D4D91CD87CB985E48B8E0D /* MJRefreshConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConst.m; path = MJRefresh/MJRefreshConst.m; sourceTree = ""; }; + B4BF81A19A0DFA7763E9F7602B005F87 /* icon_file_type_html.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_html.png; path = Sources/Resources/FileType/icon_file_type_html.png; sourceTree = ""; }; + B4C5196758626CA70DDFF6580EB823F1 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; + B4E5B91D2B4254B192C7C4246BDD1BB7 /* KVORepresentable+CoreGraphics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+CoreGraphics.swift"; path = "RxCocoa/Foundation/KVORepresentable+CoreGraphics.swift"; sourceTree = ""; }; + B512276839E7B249A0C7AFE547F65ACC /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + B54C2BBA7ACBAF0D492337784A8B547D /* EKBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKBackgroundView.swift; path = Source/Infra/EKBackgroundView.swift; sourceTree = ""; }; + B577CA7712339985EC493598557264DA /* DDToastKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDToastKit_Private-umbrella.h"; sourceTree = ""; }; + B580A060D2DB39A0F9AA47F8894A7130 /* UITableView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITableView+DDCategory/UITableView+DDCategory.h"; sourceTree = ""; }; + B59EEB9CE9700F3E4E88F30D73ABE058 /* EKRatingMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingMessageView.swift; path = Source/MessageViews/EKRatingMessageView.swift; sourceTree = ""; }; + B61E09A9B6E403F65A967A5B21C4B037 /* icon_file_type_gif@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_gif@2x.png"; path = "Sources/Resources/FileType/icon_file_type_gif@2x.png"; sourceTree = ""; }; + B62AD383D0E0EDF3B60834DFA6295454 /* UIImage+ExtendedCacheData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ExtendedCacheData.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ExtendedCacheData.m"; sourceTree = ""; }; + B6623FE4FD6470889E5E93D1F805A1C7 /* icon_file_type_js@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_js@3x.png"; path = "Sources/Resources/FileType/icon_file_type_js@3x.png"; sourceTree = ""; }; + B681033CA259210BCDEA159F03D9D213 /* JXCategoryImageCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageCellModel.h; path = Sources/Image/JXCategoryImageCellModel.h; sourceTree = ""; }; + B68C70E5E938196160AA37D74521E717 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; + B6B1BB982303FA5B06434D36F6FC0E3C /* UIFont+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIFont+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIFont+DDCategory/UIFont+DDCategory.m"; sourceTree = ""; }; + B6C8AEB3296BF301DBFB0B68C48F5835 /* AMapGeoFenceManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceManager.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceManager.h; sourceTree = ""; }; + B6C9045D199C3287E9111C3A54DDB235 /* EKStyleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKStyleView.swift; path = Source/Infra/EKStyleView.swift; sourceTree = ""; }; + B6D96537566760B368826AA7713EC498 /* icon_file_type_js@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_js@2x.png"; path = "Sources/Resources/FileType/icon_file_type_js@2x.png"; sourceTree = ""; }; + B6DE01356E6995721A48739BB3C93E22 /* UIApplication+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+Rx.swift"; path = "RxCocoa/iOS/UIApplication+Rx.swift"; sourceTree = ""; }; + B73D78339A89506F1241E6911B5E22CD /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + B75077AE63C06AA137953FA696C25256 /* DDBaseViewModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseViewModel.m; path = DDBasicControlsKit_Private/Classes/DDBaseViewModel/DDBaseViewModel.m; sourceTree = ""; }; + B765863068CB068898657EB3F34EF2FD /* SDImageGraphics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGraphics.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGraphics.m; sourceTree = ""; }; + B77BE7006CB6C35625EA47C53199DB07 /* AMapGeoFenceRegionObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceRegionObj.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceRegionObj.h; sourceTree = ""; }; + B7A36BC6791D3EE238787A592A476BEA /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDDiskCache.h; sourceTree = ""; }; + B7B0F3A8BAFF51E3825FF70A74F4BC6A /* UIView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+MJExtension.h"; path = "MJRefresh/UIView+MJExtension.h"; sourceTree = ""; }; + B83A83B31C1292637B193D891F2D0533 /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = DDToastKit_Private/Classes/Toast.swift; sourceTree = ""; }; + B85BB28F933857053898FE2F684653CE /* ZFSmallFloatControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSmallFloatControlView.h; path = ZFPlayer/Classes/ControlView/ZFSmallFloatControlView.h; sourceTree = ""; }; + B875175EFD0DA2D61881F7185AF48058 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; + B8B94C2FFF7A4E4A7183BF445658D6FD /* JXCategoryIndicatorParamsModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorParamsModel.m; path = Sources/Common/JXCategoryIndicatorParamsModel.m; sourceTree = ""; }; + B8ED6457B9F99F0916F2636CD240560B /* DelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxy.swift; path = RxCocoa/Common/DelegateProxy.swift; sourceTree = ""; }; + B971AC3BAFBF9866117E76EE08DF3D93 /* UIRefreshControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIRefreshControl+Rx.swift"; path = "RxCocoa/iOS/UIRefreshControl+Rx.swift"; sourceTree = ""; }; B975BF86311A33053F172E4E22C01E07 /* Pods-OrderScheduling.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OrderScheduling.release.xcconfig"; sourceTree = ""; }; - B9C3C9AB2B02E8A596AAE0DD34239125 /* DDBaseTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTextView.m; path = DDBasicControlsKit_Private/Classes/DDBaseTextView/DDBaseTextView.m; sourceTree = ""; }; - B9D9979BF7BE755FC5EE72228AAF34BC /* UIBarButtonItem+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBarButtonItem+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIBarButtonItem+DDCategory/UIBarButtonItem+DDCategory.h"; sourceTree = ""; }; - B9FC22B0CD75BDF6C79E9303E692782B /* UIApplication+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIApplication+DDCategory/UIApplication+DDCategory.h"; sourceTree = ""; }; - BA5A5E3562C1DAEC8115E9CF0F942B58 /* JXCategoryView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JXCategoryView.debug.xcconfig; sourceTree = ""; }; - BAB111B9CFDBCC7B7ABB254E56E2DC3D /* DDTimerKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDTimerKit_Private.modulemap; sourceTree = ""; }; - BAF53ADBE1FA0BC31AFD475D5DB00950 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; - BAFFF9D92EF1882071D8629529B44D4E /* SchedulerType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/SchedulerType+SharedSequence.swift"; sourceTree = ""; }; - BB233660682AF6860E76856471E5FB06 /* UIApplication+EKAppearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+EKAppearance.swift"; path = "Source/Extensions/UIApplication+EKAppearance.swift"; sourceTree = ""; }; + B98AC045F907E5A6FAC0076AE5EE1E2D /* CocoaDebugWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebugWindow.swift; path = Sources/Window/CocoaDebugWindow.swift; sourceTree = ""; }; + B98C0CD8F6083C7813BEEEF94AE977E5 /* ZLVideoManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLVideoManager.swift; path = Sources/General/ZLVideoManager.swift; sourceTree = ""; }; + B993293104D528661EE1290999F1BFB6 /* jcore-ios-4.2.1.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = "jcore-ios-4.2.1.xcframework"; sourceTree = ""; }; + B9932BC7EC19051A0399563323BD2EFF /* DDColorKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDColorKit_Private.modulemap; sourceTree = ""; }; + B99625834DD27E2800E68F6D69C9BEEB /* NSObject+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSObject+DDCategory/NSObject+DDCategory.m"; sourceTree = ""; }; + B9CBA24F63E571BD2C393170ADD0E994 /* YYImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-prefix.pch"; sourceTree = ""; }; + BA08C9D2B09A14C57B6E0919E1D84C99 /* ZLBaseStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLBaseStickerView.swift; path = Sources/Edit/ZLBaseStickerView.swift; sourceTree = ""; }; + BA57E989F29703D32A161E1DA38B2410 /* UIView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIView+DDCategory/UIView+DDCategory.m"; sourceTree = ""; }; + BA5B361B54A7300BE159754758CBE5E8 /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + BA61F138C2388594E85DCDBAFBB0CFB4 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; + BAA407CCE25FB0E944259BB4C054EBD2 /* DDButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDButton.swift; path = DDControlsKit_Private/Classes/DDButton/DDButton.swift; sourceTree = ""; }; + BAA874DCF54E24E1EE4602F7A3C49391 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; + BAD6946AD622B4A7BD2B4543E1C53B20 /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoGifFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.m; sourceTree = ""; }; + BB004285577020CFA7433AF4A6FADEA9 /* SDImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOCoder.m; sourceTree = ""; }; + BB048F94D3C6945D5910B57B5493C34C /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift; sourceTree = ""; }; + BB105E577CDC4DF3E9AF9237F72B888D /* SDWebImageOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOperation.m; sourceTree = ""; }; + BB16D888AF1830A4655CF7BE2B586791 /* icon_file_type_md@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_md@3x.png"; path = "Sources/Resources/FileType/icon_file_type_md@3x.png"; sourceTree = ""; }; BB28130B0F4C47DC99D2DB9C80F70152 /* ZLPhotoBrowser */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = ZLPhotoBrowser; path = libZLPhotoBrowser.a; sourceTree = BUILT_PRODUCTS_DIR; }; - BB5802F48A25FCB5A75DBCB1C4AA922F /* MJRefreshComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshComponent.m; path = MJRefresh/Base/MJRefreshComponent.m; sourceTree = ""; }; - BBA0FBA4BAA61EDFD82039DE96807D9A /* JXCategoryTitleVerticalZoomCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleVerticalZoomCellModel.h; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.h; sourceTree = ""; }; - BBCE7A80F1B98B9D13BA47D4B98F458B /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; - BBD60BC8312A9DDAF45C84D812163634 /* UIScreen+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScreen+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIScreen+DDCategory/UIScreen+DDCategory.m"; sourceTree = ""; }; - BC3737BD9BE217628AAFABB32EB97129 /* AtomicInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicInt.swift; path = Platform/AtomicInt.swift; sourceTree = ""; }; + BB50A33426F3FA3ACC3303DA5E7B9B10 /* icon_file_type_svg@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_svg@3x.png"; path = "Sources/Resources/FileType/icon_file_type_svg@3x.png"; sourceTree = ""; }; + BB50A53F26CB8ED76662696E8C4A3E93 /* YYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImage.m; path = YYImage/YYImage.m; sourceTree = ""; }; + BB614ED146D1F160F1274BC773191F7E /* icon_file_type_doc.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_doc.png; path = Sources/Resources/FileType/icon_file_type_doc.png; sourceTree = ""; }; + BB6777343AC2522D2B1DDCE71A2D7A0D /* EKAlertMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAlertMessage.swift; path = Source/Model/EKAlertMessage.swift; sourceTree = ""; }; + BB8B2E683AE0C3D401AFFE52FA9381C9 /* SharedSequence+Operators+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators+arity.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators+arity.swift"; sourceTree = ""; }; + BBABCBB4C043C6194A68B0E9DBD8E006 /* JXCategoryIndicatorCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorCellModel.h; path = Sources/Indicator/JXCategoryIndicatorCellModel.h; sourceTree = ""; }; + BBC1B5F4EA783E26EE251CE31B743DE7 /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJExtension.h"; path = "MJRefresh/UIScrollView+MJExtension.h"; sourceTree = ""; }; + BBEA794A50898F92D70897F0ED03095C /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; + BC4213A57A654498B7553C05C43E5D24 /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = RxCocoa; path = libRxCocoa.a; sourceTree = BUILT_PRODUCTS_DIR; }; - BC6D00FBCB039D27719D7262F9E7CEC0 /* MAArc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAArc.h; path = AMapNaviKit.framework/Headers/MAArc.h; sourceTree = ""; }; - BCC18F059ABF4841BB4CEEFBDCD84E37 /* DDMATrackManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMATrackManager.m; path = DDMAMapKit_Private/Classes/DDMATrackManager/DDMATrackManager.m; sourceTree = ""; }; - BD1F84EE7236D71004345836CD32C28B /* MAPointAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPointAnnotation.h; path = AMapNaviKit.framework/Headers/MAPointAnnotation.h; sourceTree = ""; }; - BD28906C87A46ED4F4524C51036B55EE /* UIViewArray+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewArray+QuickLayout.swift"; path = "Source/Extensions/QuickLayout/UIViewArray+QuickLayout.swift"; sourceTree = ""; }; - BD76A4AA2E16A6A815434A8FBEF48599 /* ZLImageStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImageStickerView.swift; path = Sources/Edit/ZLImageStickerView.swift; sourceTree = ""; }; - BD799FB44D63CB12B2556C100956D9C7 /* DDTimerKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDTimerKit_Private.release.xcconfig; sourceTree = ""; }; - BD90C067D520A6E4C5B568ADEA3FBF3D /* DDCategoryKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDCategoryKit_Private.modulemap; sourceTree = ""; }; - BDAFDD618BF550A599E1A8A8F78E9301 /* RxCocoa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCocoa.swift; path = RxCocoa/RxCocoa.swift; sourceTree = ""; }; - BDE74B6BBFDF53D1347232504DE7E367 /* UIColor+SDHexString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+SDHexString.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/UIColor+SDHexString.h"; sourceTree = ""; }; - BDE9FBD8BCEBE5C945C8F09730FE9072 /* ZFReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFReachabilityManager.h; path = ZFPlayer/Classes/Core/ZFReachabilityManager.h; sourceTree = ""; }; - BDF0417145FE562FC55032EF34353886 /* MAAnimatedAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnimatedAnnotation.h; path = AMapNaviKit.framework/Headers/MAAnimatedAnnotation.h; sourceTree = ""; }; - BDF31BEF1E0A59F38D8401940AF402FC /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - BE28FD9B37D8825AF32A4EBD4EB44326 /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+MJRefresh.h"; path = "MJRefresh/UIScrollView+MJRefresh.h"; sourceTree = ""; }; - BE3030C89C892A5956B746606ACDE67A /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; - BE84043D8B731BC3F9E751E80A4E6C64 /* SDImageAssetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAssetManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageAssetManager.h; sourceTree = ""; }; - BE9936F27063F4BF84BA5308080E1836 /* AMapNaviDriveView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveView.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveView.h; sourceTree = ""; }; - BEEF4B8CA0969CE54C8317610E903939 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; - BF3DDD864C2ACD2E4B1AD0D9DCF9C1F2 /* UITextView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextView+Rx.swift"; path = "RxCocoa/iOS/UITextView+Rx.swift"; sourceTree = ""; }; - BF888BC940ECDC27897D8DE1D8A7E860 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoFooter.m; path = MJRefresh/Base/MJRefreshAutoFooter.m; sourceTree = ""; }; - BF9498DF220C329425D87229BBC99A48 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+ForceDecode.m"; sourceTree = ""; }; - BF99BC25A2F041D5EA32F2B4A0313E7C /* SDImageCacheDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheDefine.m; sourceTree = ""; }; - C07DC7BB074239198CA2AA5E67CB54AB /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+GIF.h"; sourceTree = ""; }; - C099BA92A99D4E19C562C0EC31417658 /* ZFPresentTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPresentTransition.m; path = ZFPlayer/Classes/Core/ZFPresentTransition.m; sourceTree = ""; }; - C0ABA9042B1D741E8BD83E29025EF925 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - C0BEB0DC85F193FDD402A449F5C4B012 /* ZFUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFUtilities.h; path = ZFPlayer/Classes/ControlView/ZFUtilities.h; sourceTree = ""; }; - C105B33D3B9D5168FE1E0B9AC73EED6E /* AMapFoundation-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapFoundation-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; - C1290D06DEF5987EC4CF8AE8929764C9 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; - C1314F27EB60783A2BB6A8A3356381C0 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - C187A19F7534C1425E776B316374DE8F /* ReplayRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplayRelay.swift; path = RxRelay/ReplayRelay.swift; sourceTree = ""; }; - C1970F47DB11F1485D563BFD834DAF1B /* ESTabBarItemBadgeView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemBadgeView.swift; path = Sources/ESTabBarItemBadgeView.swift; sourceTree = ""; }; - C1FD1805509910EB65B86D77730CE1A2 /* AMapNavi.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = AMapNavi.bundle; path = AMapNaviKit.framework/AMapNavi.bundle; sourceTree = ""; }; - C2370C89E7B136ECAA2D3D6DDCC46E00 /* SDImageLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoader.m; sourceTree = ""; }; - C291EB8711462A28B4CCFBD87683959F /* EKRatingMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingMessageView.swift; path = Source/MessageViews/EKRatingMessageView.swift; sourceTree = ""; }; - C323D1A4EDA5CB599CBB04834016F189 /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; - C3566B40F5550655C85824A80F7D6C3E /* AMapNaviVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviVersion.h; path = AMapNaviKit.framework/Headers/AMapNaviVersion.h; sourceTree = ""; }; - C360458B9FCEAD5C1E961F63B6020C7C /* UIImage+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIImage+ZLPhotoBrowser.swift"; sourceTree = ""; }; - C38604149FD4A82B9E4115BE1DD7D4ED /* AMapGeoFenceManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapGeoFenceManager.h; path = AMapLocationKit.framework/Headers/AMapGeoFenceManager.h; sourceTree = ""; }; + BCA1355C7CF87739933D1129491B0F00 /* EKAttributes+HapticFeedback.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+HapticFeedback.swift"; path = "Source/Model/EntryAttributes/EKAttributes+HapticFeedback.swift"; sourceTree = ""; }; + BCA78A57A5C521AE0AD74DAC06042D88 /* YYFrameImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFrameImage.m; path = YYImage/YYFrameImage.m; sourceTree = ""; }; + BCA7D7670E28A2FDAF10BEDA675E2986 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAPNGCoder.h; sourceTree = ""; }; + BCA961048C3FD9DD3B7C90C277548114 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + BCCDD7F9BB477412DAD4F5E45559A7A8 /* UINavigationBar+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UINavigationBar+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UINavigationBar+DDCategory/UINavigationBar+DDCategory.m"; sourceTree = ""; }; + BCEAFE316C1735BDCBC3E4419D032A75 /* EKContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKContentView.swift; path = Source/Infra/EKContentView.swift; sourceTree = ""; }; + BCFB5B5FA6F1A58273E7A8FC0E737B49 /* ESTabBarItemMoreContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemMoreContentView.swift; path = Sources/ESTabBarItemMoreContentView.swift; sourceTree = ""; }; + BD457A62A90FA3DF3E1C5DD2ED6DF29C /* JXCategoryFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryFactory.h; path = Sources/Common/JXCategoryFactory.h; sourceTree = ""; }; + BD473A662B5E76A288233C87974D02D2 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; }; + BD620BE7FEA8C001D6DC00E45A3F957F /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageIOAnimatedCoder.h; sourceTree = ""; }; + BD78BB40E0A69549D82EEBDE9682865F /* _SandboxerHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _SandboxerHelper.m; path = Sources/Sandbox/_SandboxerHelper.m; sourceTree = ""; }; + BD9153754226B7A88F749330E6157939 /* JsonViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JsonViewController.swift; path = Sources/Network/JsonViewController.swift; sourceTree = ""; }; + BDA39B92D3611BC488EA3148C9A51942 /* ZFLandScapeControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandScapeControlView.m; path = ZFPlayer/Classes/ControlView/ZFLandScapeControlView.m; sourceTree = ""; }; + BDCB1A721556C54C18444EAADCAEF2A6 /* DDMASearch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMASearch.h; path = DDMAMapKit_Private/Classes/DDMASearch/DDMASearch.h; sourceTree = ""; }; + BDEB8C54367873BF0F16600E31F5D840 /* MAPointAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPointAnnotation.h; path = AMapNaviKit.framework/Headers/MAPointAnnotation.h; sourceTree = ""; }; + BDEF90DD8A9F5A1DEE4D5471E1FBBEC8 /* DDBaseNavigationController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseNavigationController.h; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDBaseNavigationController.h; sourceTree = ""; }; + BE0B646AE15BC79042BAA18752D43316 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; + BE274593483FEF9BA29E1DD46FE3AC3C /* MAOfflineItemMunicipality.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItemMunicipality.h; path = AMapNaviKit.framework/Headers/MAOfflineItemMunicipality.h; sourceTree = ""; }; + BE43065127B14FB41ED5A3FF4B17238C /* DDCategoryKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDCategoryKit_Private-prefix.pch"; sourceTree = ""; }; + BE516E915F9A7A78BF0F7528C9DB13C0 /* EKAttributes+Duration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Duration.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Duration.swift"; sourceTree = ""; }; + BE5FAA05331DEAB2382FCCAC4C944A40 /* EKAlertMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAlertMessageView.swift; path = Source/MessageViews/EKAlertMessageView.swift; sourceTree = ""; }; + BE7520B6EB40C0F5B730C7C0492B5768 /* MJRefresh.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = MJRefresh.bundle; path = MJRefresh/MJRefresh.bundle; sourceTree = ""; }; + BE7B5AC4FFB0B67193CECF4A0405EB7B /* MAPointAnnotation+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MAPointAnnotation+DDCategory.h"; path = "DDMAMapKit_Private/Classes/DDMAMap/Annotation/MAPointAnnotation+DDCategory.h"; sourceTree = ""; }; + BE82696B515CA89DECB69D29E36B6910 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MultiFormat.h"; sourceTree = ""; }; + BEC3A6C6B35ADEC0E99D6B6B4690433E /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; + BF2D49B981E6A272A75D0A65F3D532EE /* JXCategoryNumberCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberCellModel.m; path = Sources/Number/JXCategoryNumberCellModel.m; sourceTree = ""; }; + BF332C0F15DD336D5F6ECB03B8CBA97D /* NSURL+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSUrl+DDCategory/NSURL+DDCategory.m"; sourceTree = ""; }; + BF6B3FC5B89BE7073011537E1638A039 /* ZFLandscapeViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandscapeViewController.m; path = ZFPlayer/Classes/Core/ZFLandscapeViewController.m; sourceTree = ""; }; + BF7FC9CEA1962224F9357DFD07B9B9BC /* DDProgressHUDKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDProgressHUDKit_Private-prefix.pch"; sourceTree = ""; }; + BF9998B286D7ACFFC4976417199AF103 /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = ""; }; + BF9F3D459AFABADDA1AEF461A0679FF1 /* Network.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = Network.storyboard; path = Sources/Resources/Network.storyboard; sourceTree = ""; }; + BFB5725F5C2BA86856F9A0670041D244 /* SDAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView.h; sourceTree = ""; }; + C00FE287114359C893BFF76BA2EB6333 /* SwiftEntryKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.release.xcconfig; sourceTree = ""; }; + C03FB02603BC186F94D97337CCC6794E /* _RXObjCRuntime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXObjCRuntime.m; path = RxCocoa/Runtime/_RXObjCRuntime.m; sourceTree = ""; }; + C0D99389FEE0FF2BE66D327274D7963A /* icon_file_type_xml@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_xml@3x.png"; path = "Sources/Resources/FileType/icon_file_type_xml@3x.png"; sourceTree = ""; }; + C0F21ECAF1DB6F1D00877026BEA6F14E /* JXCategoryTitleVerticalZoomView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomView.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.m; sourceTree = ""; }; + C0F261CC6A6D307986351911EF5D2B95 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; + C13D915F24332003C92E573FD516CF8F /* DDMAMapKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDMAMapKit_Private.debug.xcconfig; sourceTree = ""; }; + C14AB73E0D829F879456C13C3A04B984 /* _ImageController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _ImageController.h; path = Sources/Sandbox/_ImageController.h; sourceTree = ""; }; + C169784777196EC19C0640F25803E45A /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIBarButtonItem+Rx.swift"; path = "RxCocoa/iOS/UIBarButtonItem+Rx.swift"; sourceTree = ""; }; + C178AACDB90F47F9148C726177BF761A /* EntryAppearanceDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EntryAppearanceDescriptor.swift; path = Source/MessageViews/MessagesUtils/EntryAppearanceDescriptor.swift; sourceTree = ""; }; + C1FD82B04FEC1360AD44956759503138 /* EKTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKTextField.swift; path = Source/MessageViews/MessagesUtils/EKTextField.swift; sourceTree = ""; }; + C25CA52FFF974DC4D2C40EACE4E76B5D /* _SwiftLogHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _SwiftLogHelper.swift; path = Sources/Logs/_SwiftLogHelper.swift; sourceTree = ""; }; + C269D238970A3085410CCC23B6A359C9 /* JXCategoryCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryCollectionView.m; path = Sources/Common/JXCategoryCollectionView.m; sourceTree = ""; }; + C29B0549CB571681B5FC3BA81ED3B270 /* JPush.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JPush.debug.xcconfig; sourceTree = ""; }; + C2A678BD31F9CB4C156AFF04A65B0072 /* DDTimerKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDTimerKit_Private-dummy.m"; sourceTree = ""; }; + C30A94F9BB30B08DC44A51B00722FD1F /* MATraceReplayOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceReplayOverlay.h; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay.h; sourceTree = ""; }; + C3373BCF73FD06326B43D9F035754361 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; + C3490ADD06A4DDA82ACD1D5F3AF18CB2 /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheSerializer.h; sourceTree = ""; }; + C398DA457D401729A0C10EEEC3909E7D /* RxTabBarControllerDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarControllerDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift; sourceTree = ""; }; C3A46B03C308EEEB11F2A62BA5D2E8BE /* JXCategoryView */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = JXCategoryView; path = libJXCategoryView.a; sourceTree = BUILT_PRODUCTS_DIR; }; - C3F3447872C813DF528F030338891CE6 /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshAutoStateFooter.m; path = MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m; sourceTree = ""; }; - C427D458815D2DACDAEF536EFCC26D10 /* Infallible+Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Create.swift"; path = "RxSwift/Traits/Infallible/Infallible+Create.swift"; sourceTree = ""; }; - C4396CE64F6C76103A4EC2F4B8DDCD50 /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; - C45D000702D216C20DC0A6C3F36FE23C /* JXCategoryIndicatorBackgroundView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorBackgroundView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.h; sourceTree = ""; }; - C4E146BB38E6AD6486630E8F9DF14F7B /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderConfig.h; sourceTree = ""; }; - C4E90252951EBCBD1D933899DAD856B9 /* ESTabBarItemContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemContentView.swift; path = Sources/ESTabBarItemContentView.swift; sourceTree = ""; }; - C57CB228E5D43D5F2D74740EEBECAAAC /* UIColor+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIColor+ZLPhotoBrowser.swift"; sourceTree = ""; }; - C5A462DF4857A99CE461C7BED2BAF3C4 /* DDCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDCollectionViewCell.swift; path = DDControlsKit_Private/Classes/DDCollectionViewCell/DDCollectionViewCell.swift; sourceTree = ""; }; - C617AD7CE439F65A7C5F58494BB5AC85 /* DDBaseTextField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTextField.m; path = DDBasicControlsKit_Private/Classes/DDBaseTextField/DDBaseTextField.m; sourceTree = ""; }; - C621C26F9638312ED4E639142BE383FA /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - C625418106AB7EB17105865B2CAAC99C /* NSTextField+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSTextField+Rx.swift"; path = "RxCocoa/macOS/NSTextField+Rx.swift"; sourceTree = ""; }; - C6A744626628FD59D3A11A798EDD7499 /* AMapTrackManagerOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackManagerOptions.h; path = AMapTrackKit.framework/Headers/AMapTrackManagerOptions.h; sourceTree = ""; }; - C6B5D709CDDA122C94CB22C52E1CB67B /* AMapNaviRideDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviRideDataRepresentable.h; sourceTree = ""; }; - C7486AC6796E141A57182236E57AD54C /* UIColor+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+Utils.swift"; path = "Source/Extensions/UIColor+Utils.swift"; sourceTree = ""; }; - C7671CB315740AB79C657A5BBC061A40 /* JXCategoryIndicatorLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.h; sourceTree = ""; }; - C7D379ADE76E8467A45DC74F01AF011B /* UIScrollView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIScrollView+DDCategory/UIScrollView+DDCategory.h"; sourceTree = ""; }; - C7E29BA3E4CFB600E80DD5B5478E6334 /* NSSlider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSSlider+Rx.swift"; path = "RxCocoa/macOS/NSSlider+Rx.swift"; sourceTree = ""; }; - C8B21CD64E13F85AE4FDAF7C5C22535A /* SDMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDMemoryCache.h; sourceTree = ""; }; - C8C9A8FE32578BEC724D938BDCA55164 /* ZFPlayerConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerConst.h; path = ZFPlayer/Classes/Core/ZFPlayerConst.h; sourceTree = ""; }; - C8CAE56C4AE2824E7A44666D55E680BC /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; - C8F519FF500E6B43223BD4C14E6E4D2D /* DDBaseViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseViewController.m; path = DDBasicControlsKit_Private/Classes/DDBaseViewController/DDBaseViewController.m; sourceTree = ""; }; - C91F30571910471B8118FF428C7E0DAE /* DDAutoUIKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDAutoUIKit_Private.debug.xcconfig; sourceTree = ""; }; - C9286E797921F6CD5F27FC4E657E1AFA /* ColorUtil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ColorUtil.swift; path = DDColorKit_Private/Classes/ColorUtil.swift; sourceTree = ""; }; - C96CC849FB536D0DEEC488D2D424FAA2 /* RxSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.release.xcconfig; sourceTree = ""; }; - C977ACA4AFB8B25147715F669A532B7A /* ZFSpeedLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSpeedLoadingView.m; path = ZFPlayer/Classes/ControlView/ZFSpeedLoadingView.m; sourceTree = ""; }; - C9A4CFFEBF70754AA78C0EDC86BA84F4 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = ""; }; - C9B6ACC65DE55E32F7542E6C4949674B /* MAAnnotationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotationView.h; path = AMapNaviKit.framework/Headers/MAAnnotationView.h; sourceTree = ""; }; - C9BB2B08343FC2F6E05DCCEB5D374A3E /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageTransition.h; sourceTree = ""; }; - CA0FD4C321960EEE6DD63AD6C27FFE00 /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; - CA388F6B7624A40ECFB8B0637F0324E8 /* Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Signal.swift; path = RxCocoa/Traits/Signal/Signal.swift; sourceTree = ""; }; - CA3D16353BBDE4CA88918E2BD12CAB53 /* DDMAMapView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMAMapView.h; path = DDMAMapKit_Private/Classes/DDMAMap/MapView/DDMAMapView.h; sourceTree = ""; }; - CA6848716C370DF05851B5A601EDF8F1 /* ZLTextStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLTextStickerView.swift; path = Sources/Edit/ZLTextStickerView.swift; sourceTree = ""; }; - CA7C75F524799E96E906996C0CBF0E59 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - CA815D2B98648B935F01066AE001CE04 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - CAA25FF9AC89F159653CCF3B7C1F92AE /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; - CAA27CD3CE04ED7A715459910E10E127 /* DDToastKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDToastKit_Private.debug.xcconfig; sourceTree = ""; }; - CB0939F3CC0710468128B04E0D833900 /* DDWebImageKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDWebImageKit_Private-dummy.m"; sourceTree = ""; }; - CB26A46206C6831A68473FD7079779E1 /* SDWebImageIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageIndicator.m; sourceTree = ""; }; - CB57C518A721DC9DF96FCECD662C6273 /* DDNavigationControllerDelegateReceiver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDNavigationControllerDelegateReceiver.m; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDNavigationControllerDelegateReceiver.m; sourceTree = ""; }; - CB61CFEE5E63D926E49AC8024C6FDAB0 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = ""; }; - CB6EF3C6E6D4E27A4665DD136FD64159 /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; - CBA498E8511AF29C34084CF8B84D3234 /* DDCategoryKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDCategoryKit_Private-dummy.m"; sourceTree = ""; }; - CBE3C3780A2B8AC416FE89CF4E0F6472 /* ZLAdjustSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAdjustSlider.swift; path = Sources/Edit/ZLAdjustSlider.swift; sourceTree = ""; }; - CBE98BACB3EE68675B3EC34D3878FDB9 /* AMapLocationCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationCommonObj.h; path = AMapLocationKit.framework/Headers/AMapLocationCommonObj.h; sourceTree = ""; }; - CBECBCE93C9A5403D9EF13E512532D89 /* AMapSearchKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapSearchKit.framework; sourceTree = ""; }; - CCBB1E6C01CC7279B7736D9D48823EFA /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderConfig.m; sourceTree = ""; }; - CCD8139E573ED53FA58B47E40A4E577C /* EKAttributes+Validations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Validations.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Validations.swift"; sourceTree = ""; }; - CCE348878BA82693B010B31E0A60512B /* BehaviorRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorRelay.swift; path = RxRelay/BehaviorRelay.swift; sourceTree = ""; }; - CD00D29F12D980A3434AAA80BEF36D96 /* EKRatingMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRatingMessage.swift; path = Source/Model/EKRatingMessage.swift; sourceTree = ""; }; - CD1145E3EE51F2B1194D0B9926563F4B /* ZLVideoManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLVideoManager.swift; path = Sources/General/ZLVideoManager.swift; sourceTree = ""; }; - CD3239F0BB80CD66E07CDFAA1F7C7665 /* ZLBaseStickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLBaseStickerView.swift; path = Sources/Edit/ZLBaseStickerView.swift; sourceTree = ""; }; - CD674BF667C0E4B0D4D47580E28C8015 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - CD817EACB58C1321A3F04A2FE3161DCF /* AMapNaviManagerConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviManagerConfig.h; path = AMapNaviKit.framework/Headers/AMapNaviManagerConfig.h; sourceTree = ""; }; - CDC6154E7B682426348C660B31AAFA59 /* UIView+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Utils.swift"; path = "Source/Extensions/UIView+Utils.swift"; sourceTree = ""; }; - CDE2F5948EF5F76E4E5490C1BDEAE805 /* UILabel+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UILabel+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UILabel+DDCategory/UILabel+DDCategory.h"; sourceTree = ""; }; - CDEF35C33B8B72178CEB5A646DB10809 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; - CDF49441432353AADD613A3619C9DB59 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; - CE0D5B3DA69B8A1EB3202E9916551AFB /* JXCategoryIndicatorCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorCell.h; path = Sources/Indicator/JXCategoryIndicatorCell.h; sourceTree = ""; }; - CE32D2ADA8C2E778E0CEA3C761119CC8 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; - CE694CFE7BABACB378CCE4A7674AB248 /* JXCategoryView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JXCategoryView-prefix.pch"; sourceTree = ""; }; - CEB3538B65BEF242E7739D7C974EA62B /* SDImageLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoader.h; sourceTree = ""; }; - CF080BC8B714F1AA3CF8D82370E13DFF /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManagerOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageCachesManagerOperation.h; sourceTree = ""; }; - CF6C85EA9F2E676E834578471FE46D9D /* SDAssociatedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAssociatedObject.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAssociatedObject.m; sourceTree = ""; }; - CF86A8401B17CCF6ED48C720458B7A2E /* DDBaseAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseAttributedString.m; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseAttributedString.m; sourceTree = ""; }; - CFA94BCC9E1C1E290AB178D69009CC7B /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; - CFBAE3B953FAB8519A0D069E74F1AD95 /* ZFVolumeBrightnessView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFVolumeBrightnessView.h; path = ZFPlayer/Classes/ControlView/ZFVolumeBrightnessView.h; sourceTree = ""; }; - CFE3C042721479245305B79C90CDE196 /* ZFLandScapeControlView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandScapeControlView.m; path = ZFPlayer/Classes/ControlView/ZFLandScapeControlView.m; sourceTree = ""; }; - D07B9FD87A751C8DF5DFEC1F7525E304 /* DDBaseCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseCollectionView.m; path = DDBasicControlsKit_Private/Classes/DDBaseCollectionView/DDBaseCollectionView.m; sourceTree = ""; }; - D0CDF0E4E2F1C088723A932EF7287D12 /* DDFontKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDFontKit_Private-umbrella.h"; sourceTree = ""; }; - D0DD762BCFA4928914EFC99817077EC2 /* ZFLandScapeControlView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandScapeControlView.h; path = ZFPlayer/Classes/ControlView/ZFLandScapeControlView.h; sourceTree = ""; }; - D0EEBF0ED54521BD47B2D289ED339C55 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; - D102B32967A0F8B7DBFB24F571902F89 /* Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concurrency.swift; path = Source/Concurrency.swift; sourceTree = ""; }; - D12D0AA8EE644F7B7459C1A50A1A8684 /* ZLPhotoBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZLPhotoBrowser.h; path = Sources/ZLPhotoBrowser.h; sourceTree = ""; }; - D12FCD5B0D26C094865614C081E0F359 /* ZFSliderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFSliderView.m; path = ZFPlayer/Classes/ControlView/ZFSliderView.m; sourceTree = ""; }; - D17E7AD20B4509C25300DFCCFCAE2677 /* UIView+ZFFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+ZFFrame.h"; path = "ZFPlayer/Classes/ControlView/UIView+ZFFrame.h"; sourceTree = ""; }; - D1971CD9E21A78FEEF1B2019149A52E0 /* ZFPersentInteractiveTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPersentInteractiveTransition.h; path = ZFPlayer/Classes/Core/ZFPersentInteractiveTransition.h; sourceTree = ""; }; - D1B61F61B935C115A4208B5417986A35 /* ZLCustomCamera.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCustomCamera.swift; path = Sources/Camera/ZLCustomCamera.swift; sourceTree = ""; }; - D1BEDBCA4296C121B66DB749E9723410 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; - D1C5B886154DDD4E0E621E5C00B65F89 /* SDWebImageError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageError.h; sourceTree = ""; }; - D265B9F4640EF6FE9B2ACFFCC52D3CE8 /* EKContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKContentView.swift; path = Source/Infra/EKContentView.swift; sourceTree = ""; }; - D2B99DEEC285EC2CE2BE59E2D6D8C170 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; - D3291DE4FC4AB2853D55625A1AD9F2C6 /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshGifHeader.m; path = MJRefresh/Custom/Header/MJRefreshGifHeader.m; sourceTree = ""; }; - D34BB394EE803B4EFA3893617A33E8C8 /* DDBaseTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTableView.h; path = DDBasicControlsKit_Private/Classes/DDBaseTableView/DDBaseTableView.h; sourceTree = ""; }; - D34F7AE0B202B99E2CD46B687100EECD /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalHeader.h; path = MJRefresh/Custom/Header/MJRefreshNormalHeader.h; sourceTree = ""; }; - D38EEAEF315A2DD27F9AAE8B9A3BC088 /* EKRootViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRootViewController.swift; path = Source/Infra/EKRootViewController.swift; sourceTree = ""; }; - D3A9259CEA8616FA5E3BB7D0781C52C1 /* DDBaseScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseScrollView.h; path = DDBasicControlsKit_Private/Classes/DDBaseScrollView/DDBaseScrollView.h; sourceTree = ""; }; - D3BABB7664C187AC2E20DBDD42EB2323 /* DDControlsKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDControlsKit_Private.release.xcconfig; sourceTree = ""; }; - D3C5B3E35C30126A2105755413769DC8 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - D3CEB56AEAE68A582A9F006BC016353A /* MAPolygon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolygon.h; path = AMapNaviKit.framework/Headers/MAPolygon.h; sourceTree = ""; }; - D3EDCD3DEC3A368D1D0EADA3A47548BD /* JXCategoryTitleImageCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleImageCell.h; path = Sources/TitleImage/JXCategoryTitleImageCell.h; sourceTree = ""; }; - D3F65F885EFD9A7BD996249820022B9B /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - D422B3889DE69E0B78C9FBDE82D2CEFF /* DDMAMapKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDMAMapKit_Private-umbrella.h"; sourceTree = ""; }; - D46CEA7529375D9160EB72A807DF77EC /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; - D49FAE8A72DFCA2F93F4B6CF57447AEE /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; - D4F249100085D6576A786B419F4C8AF1 /* NSButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSButton+Rx.swift"; path = "RxCocoa/macOS/NSButton+Rx.swift"; sourceTree = ""; }; - D502CA91F7DC91196D935D4D2D52D299 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; - D55D871FFBCD643E9E01A02149DA4569 /* AMapNaviHeaderHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviHeaderHandler.h; path = AMapNaviKit.framework/Headers/AMapNaviHeaderHandler.h; sourceTree = ""; }; - D5B52491A324A5299B334B290E6683CD /* UIPickerView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIPickerView+Rx.swift"; path = "RxCocoa/iOS/UIPickerView+Rx.swift"; sourceTree = ""; }; - D5E4C9ABC7A7C0148C2F0A4F3343ABDF /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MultiFormat.h"; sourceTree = ""; }; - D5EC94DD26BAC8B13328FE3EC11F63E2 /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; - D6026B5132C7658EE3BCD34DC1FCD152 /* AMapLocation-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapLocation-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; - D66381B5F339AA3F0FE373C9AD62CD51 /* IQUIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+Hierarchy.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIView+Hierarchy.swift"; sourceTree = ""; }; - D6C08B1BEBDDE6AED4A18016E6475E99 /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; - D6D7F28B14988C5F94C04C7B51D0FE6B /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - D72FA0A01089199412FEA816868B7E00 /* EKAlertMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAlertMessage.swift; path = Source/Model/EKAlertMessage.swift; sourceTree = ""; }; - D7547CC7CFB8C217BE9D1B03A5E89CF9 /* SDWebImageTransitionInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransitionInternal.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDWebImageTransitionInternal.h; sourceTree = ""; }; - D7664F7D4F7433504F136DD111DE41EB /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; - D7675DF4C5361504B769BEE001B44E11 /* UICollectionView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UICollectionView+DDCategory/UICollectionView+DDCategory.m"; sourceTree = ""; }; - D7C575E483DBC943A3284018D332EFE4 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTextViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift; sourceTree = ""; }; - D7DF8E3EEBB44B06A866AA809A02034E /* UIFont+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIFont+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIFont+DDCategory/UIFont+DDCategory.m"; sourceTree = ""; }; - D81B8A45D65A5DCD02CD4D06E70D9E78 /* SDWebImageDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDefine.m; sourceTree = ""; }; - D82E638FA01F1B3E7E0C12854C89B1B3 /* DDBaseTabBarController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseTabBarController.m; path = DDBasicControlsKit_Private/Classes/DDBaseTabBarController/DDBaseTabBarController.m; sourceTree = ""; }; - D840E5834002FF5D7F31A65EA3DF14B3 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+MemoryCacheCost.h"; sourceTree = ""; }; + C3BB1472498367D7B8BCE0A8CCCF1430 /* ZFPlayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerView.h; path = ZFPlayer/Classes/Core/ZFPlayerView.h; sourceTree = ""; }; + C3C640483FBA32D66DD92D2577DAE482 /* UIButton+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Rx.swift"; path = "RxCocoa/iOS/UIButton+Rx.swift"; sourceTree = ""; }; + C3E4463C481739E0CDE5CCA8F0ACB90F /* WindowHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WindowHelper.swift; path = Sources/Window/WindowHelper.swift; sourceTree = ""; }; + C48CF078B2CC616C20140A51F080321A /* AMapSearchVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchVersion.h; path = AMapSearchKit.framework/Headers/AMapSearchVersion.h; sourceTree = ""; }; + C48EFE8D7A1A4B903D82770DB1036B3E /* EKButtonBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKButtonBarView.swift; path = Source/MessageViews/MessagesUtils/EKButtonBarView.swift; sourceTree = ""; }; + C4C067EA04D1A4B66AE9987C1E23492A /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; + C51B13F39D6336C623AF0B2F4FD07137 /* DDFontKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDFontKit_Private.debug.xcconfig; sourceTree = ""; }; + C51BB4E6B3A23242D274431668F466A8 /* JXCategoryTitleImageCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageCell.m; path = Sources/TitleImage/JXCategoryTitleImageCell.m; sourceTree = ""; }; + C53A70AC549836007D8446467D2D13D3 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + C55FFB414391135DF0AB4F126B372B4D /* PHAsset+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PHAsset+ZLPhotoBrowser.swift"; path = "Sources/Extensions/PHAsset+ZLPhotoBrowser.swift"; sourceTree = ""; }; + C56E3AD93A1F5799273B5DF30AA18E7D /* icon_file_type_doc@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_doc@2x.png"; path = "Sources/Resources/FileType/icon_file_type_doc@2x.png"; sourceTree = ""; }; + C580057FEF5E052FBB91B444870E445D /* AMapTrackCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackCommonObj.h; path = AMapTrackKit.framework/Headers/AMapTrackCommonObj.h; sourceTree = ""; }; + C5A518B0902DADEA3228A647256ADC16 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; + C5A8AF6AF0F9350A5ACA8D1CEAF8B843 /* DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDCategory.h; path = DDCategoryKit_Private/Classes/DDCategory.h; sourceTree = ""; }; + C5D4D85F6DC1B9EA120B499BE2C55B50 /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; + C5E021B41ABE05184E22C3C35EF2B42E /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackGifFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h; sourceTree = ""; }; + C5F47AA0432710CC07D960B699702F45 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + C604C0E1E00B817599732A398CA83B85 /* SDWebImageOptionsProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOptionsProcessor.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageOptionsProcessor.m; sourceTree = ""; }; + C60EBE6BA7717BB9543942BAD82F7B46 /* MAMapAccessibilityIdentifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapAccessibilityIdentifier.h; path = AMapNaviKit.framework/Headers/MAMapAccessibilityIdentifier.h; sourceTree = ""; }; + C6101559B87B19CC3CD53DA60817C0AA /* UIScreen+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScreen+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIScreen+DDCategory/UIScreen+DDCategory.m"; sourceTree = ""; }; + C61A46C539D572109B56BC820A7AB809 /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; + C642C0F14B6B038C9E3F467DA28FFD1B /* JXCategoryView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JXCategoryView.debug.xcconfig; sourceTree = ""; }; + C6873964EDB0FDCDB2144C6ED35B8665 /* icon_file_type_default.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_default.png; path = Sources/Resources/FileType/icon_file_type_default.png; sourceTree = ""; }; + C6AB99B9D4A8083047FDAC4D8A4D2F54 /* ZLResultModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLResultModel.swift; path = Sources/General/ZLResultModel.swift; sourceTree = ""; }; + C7319E8B7C03E08F51607D4C90E9FE3B /* SectionedViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SectionedViewDataSourceType.swift; path = RxCocoa/Common/SectionedViewDataSourceType.swift; sourceTree = ""; }; + C791A569FAA816328939B5EF05FACD85 /* SDImageTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageTransformer.h; sourceTree = ""; }; + C7C39B736A037EF484AAF90AA1EB65C6 /* _icon_file_type_network@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_network@2x.png"; path = "Sources/Resources/images/_icon_file_type_network@2x.png"; sourceTree = ""; }; + C7E96DDA387F1B4009C517D56483FBD3 /* Infallible+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Operators.swift"; path = "RxSwift/Traits/Infallible/Infallible+Operators.swift"; sourceTree = ""; }; + C84C36F74BD80648BBD4DCC61687CD55 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; + C8525D0892FF956B412A92AEB56C627B /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + C858FD9A8D1AB1E846F3B24607F45B02 /* MAMultiTexturePolylineRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiTexturePolylineRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiTexturePolylineRenderer.h; sourceTree = ""; }; + C859C1EDDB944B56E0DDB21E36396D00 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + C8B663943B330753FC7AF952FF097A16 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + C91739095AD2A951312E9F02096FE6F7 /* DDToastKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDToastKit_Private-dummy.m"; sourceTree = ""; }; + C92B10756CF5DE325BD86F02B5A10E29 /* _DeviceUtil+Constant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_DeviceUtil+Constant.h"; path = "Sources/Core/_DeviceUtil+Constant.h"; sourceTree = ""; }; + C94821F70B3BE076EC97C43D0532A573 /* DDFontKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDFontKit_Private.modulemap; sourceTree = ""; }; + C986F5CE038ED29E845E56A1E9DC7E61 /* UIButton+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIButton+DDCategory/UIButton+DDCategory.h"; sourceTree = ""; }; + C991A739341C85A8CCB4B866A9D1D64A /* _Swizzling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _Swizzling.h; path = Sources/Swizzling/_Swizzling.h; sourceTree = ""; }; + C9C268580A8A6C6860B5CC0C1B67C03D /* JXCategoryListContainerRTLCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryListContainerRTLCell.m; path = Sources/Common/JXCategoryListContainerRTLCell.m; sourceTree = ""; }; + C9ED8089A8DA1E80EF5A60B2EEE43A50 /* DDAttributedString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAttributedString.swift; path = DDControlsKit_Private/Classes/DDAttributedString/DDAttributedString.swift; sourceTree = ""; }; + CA1F2117F33D6A37E4A4348E9D625D0E /* DDBaseTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseTableView.h; path = DDBasicControlsKit_Private/Classes/DDBaseTableView/DDBaseTableView.h; sourceTree = ""; }; + CA4C3A23CF67AF861CBCBF4F978F7146 /* CocoaDebug */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = CocoaDebug; path = libCocoaDebug.a; sourceTree = BUILT_PRODUCTS_DIR; }; + CA4F3D002558A179FE8177770C9EF2EB /* DDBaseViewController.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = DDBaseViewController.xcassets; path = DDBasicControlsKit_Private/Assets/DDBaseViewController.xcassets; sourceTree = ""; }; + CA519685190B572CDEDBDD3602390865 /* String+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+ZLPhotoBrowser.swift"; path = "Sources/Extensions/String+ZLPhotoBrowser.swift"; sourceTree = ""; }; + CA784468F647EDFEFD5CA077A9CA1A88 /* DDToastKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDToastKit_Private.debug.xcconfig; sourceTree = ""; }; + CAAC1161FA565FD6076F82CCBCA617AF /* RxCocoaRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RxCocoaRuntime.h; path = RxCocoa/Runtime/include/RxCocoaRuntime.h; sourceTree = ""; }; + CADA9CBF64AC7C1E23199A49BDC7F30C /* AMapNaviWalkDataRepresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviWalkDataRepresentable.h; path = AMapNaviKit.framework/Headers/AMapNaviWalkDataRepresentable.h; sourceTree = ""; }; + CAED5046E29926554619C0679C3E09C2 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Transform.h"; sourceTree = ""; }; + CB0FE6642A0A77B05E2E3C62860614CC /* MALineDrawType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MALineDrawType.h; path = AMapNaviKit.framework/Headers/MALineDrawType.h; sourceTree = ""; }; + CB10303A529FCB8F2C0A1229D3B6FAA3 /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageFrame.h; sourceTree = ""; }; + CB1EEDCE4EE25CA34F89001278288AE0 /* UIImageView+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UIImageView+DDCategory/UIImageView+DDCategory.h"; sourceTree = ""; }; + CB9041DC3695C2BEA4C74E435DDBAED5 /* NSThread+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSThread+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSThread+DDCategory/NSThread+DDCategory.m"; sourceTree = ""; }; + CBAF980648397D598AFA318F31A23474 /* UICollectionViewLayout+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionViewLayout+MJRefresh.m"; path = "MJRefresh/UICollectionViewLayout+MJRefresh.m"; sourceTree = ""; }; + CBEB1D165BCCCA3B22C484B75C559623 /* MAMapVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapVersion.h; path = AMapNaviKit.framework/Headers/MAMapVersion.h; sourceTree = ""; }; + CC3707712067701A5DEF3C38B8BF857D /* DDControlsKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDControlsKit_Private.release.xcconfig; sourceTree = ""; }; + CC55F3C44F93FEE86CE75B124188BA4F /* NetworkDetailCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkDetailCell.swift; path = Sources/Network/NetworkDetailCell.swift; sourceTree = ""; }; + CC8CB1E833ADBFCCF4ED599A9D74337A /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + CCD4786054F5828F2B4D89A8B2D09071 /* CocoaDebug.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaDebug.release.xcconfig; sourceTree = ""; }; + CCF78219934B933B7CDB278A7D6CCCD9 /* AutoUI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AutoUI.swift; path = DDAutoUIKit_Private/Classes/AutoUI.swift; sourceTree = ""; }; + CDA0B9934782370D3AB5F60B1177DB5C /* CocoaDebugTool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaDebugTool.h; path = Sources/Logs/CocoaDebugTool.h; sourceTree = ""; }; + CDE8ABA4740BE03DD01D14FA5437C4C2 /* MACustomBuildingOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACustomBuildingOverlay.h; path = AMapNaviKit.framework/Headers/MACustomBuildingOverlay.h; sourceTree = ""; }; + CE1078DB3AF2EECC66870DE16D615F7E /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; + CE2A371EFD38BEAF027D16AF4FF6B1EC /* EKAttributes+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Position.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Position.swift"; sourceTree = ""; }; + CE3A51268748C9CEC36A23811202D806 /* SDImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGIFCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageGIFCoder.m; sourceTree = ""; }; + CE5E2CB13CEE1F527F64966CD160F81A /* DDCategoryKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDCategoryKit_Private-umbrella.h"; sourceTree = ""; }; + CE8BB3AD17E24CAAD87AA30EB1EC73C5 /* SDWebImageError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageError.m; sourceTree = ""; }; + CECF310F68B1B89639DC3E0CF0F419E2 /* DDBaseAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseAttributedString.h; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseAttributedString.h; sourceTree = ""; }; + CECF9298F3B2830888BF7206B417881C /* CocoaDebug-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaDebug-prefix.pch"; sourceTree = ""; }; + CF198F0D980E198B43A5671F0D758C83 /* MAShape.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAShape.h; path = AMapNaviKit.framework/Headers/MAShape.h; sourceTree = ""; }; + CF277BEFB312481916D11C124EE99F6D /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; + CF5C55652D19B094419C103BF0E20A63 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = ""; }; + D041CC02701C21074F4CB0A194E97CF8 /* icon_file_type_midi.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_midi.png; path = Sources/Resources/FileType/icon_file_type_midi.png; sourceTree = ""; }; + D065863CFD784A0438E876BEB671E5A7 /* UISwitch+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISwitch+Rx.swift"; path = "RxCocoa/iOS/UISwitch+Rx.swift"; sourceTree = ""; }; + D066F3AA176906A142EDD750D6988971 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift; sourceTree = ""; }; + D069031AFD537B5DEC4C6DE48929461C /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; + D089B5E02F35CD6664EC4F47DFBFB2DE /* MAGroundOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGroundOverlay.h; path = AMapNaviKit.framework/Headers/MAGroundOverlay.h; sourceTree = ""; }; + D09BC79BC32C5F890C7ED71FE802EE5B /* UIControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIControl+Rx.swift"; path = "RxCocoa/iOS/UIControl+Rx.swift"; sourceTree = ""; }; + D0EA00035E751ECA2F98B2E261A8690C /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; + D0ED1F20548434DE962A815E5B3E9FA7 /* UIBlockingBubble.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBlockingBubble.swift; path = Sources/Window/UIBlockingBubble.swift; sourceTree = ""; }; + D12E43A7315B8FBECC1BF95E2C584B37 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshAutoFooter.h; path = MJRefresh/Base/MJRefreshAutoFooter.h; sourceTree = ""; }; + D14743D19E84479815BD293CC3CCA50C /* AMapNavi-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapNavi-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; + D15A99B7399E1DA114D3DDBBFF53202C /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = ""; }; + D1676EF50180F64E81885E8E2BA53091 /* NetworkDetailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkDetailViewController.swift; path = Sources/Network/NetworkDetailViewController.swift; sourceTree = ""; }; + D18856F19554AA0FC8C5CE1AC43E91EC /* DDLogKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDLogKit_Private-dummy.m"; sourceTree = ""; }; + D18B4535C24110B577A58951C64CBE0D /* icon_file_type_jpg@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_jpg@3x.png"; path = "Sources/Resources/FileType/icon_file_type_jpg@3x.png"; sourceTree = ""; }; + D1B4F66505BB46511951EFFCD4326303 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; + D1D41CA30D17C00F2D4CED92B659723D /* _FileInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FileInfo.h; path = Sources/Sandbox/_FileInfo.h; sourceTree = ""; }; + D1E048D9740456DB9EE70B9B95D1E982 /* UIImage+Metadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIImage+Metadata.m"; sourceTree = ""; }; + D1E4002B89C5D2F691045BEA899F5C01 /* IQUIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+Hierarchy.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIView+Hierarchy.swift"; sourceTree = ""; }; + D1E900818658F019F4F80B3C3F5193A2 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + D1F46BC59C58B1108D31434A53959142 /* AMapNaviCompositeAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeAnnotation.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeAnnotation.h; sourceTree = ""; }; + D21A52CDAE09751CE4751A40A7AB86B4 /* RxPickerViewAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewAdapter.swift; path = RxCocoa/iOS/DataSources/RxPickerViewAdapter.swift; sourceTree = ""; }; + D25C431BA86A6B7D310E7A7CB1D2B63E /* Infallible+Bind.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+Bind.swift"; path = "RxCocoa/Common/Infallible+Bind.swift"; sourceTree = ""; }; + D337FAD32B5D70EE60C8B034320605E1 /* icon_file_type_psd.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_psd.png; path = Sources/Resources/FileType/icon_file_type_psd.png; sourceTree = ""; }; + D37199E9E711C84D90BC2C19C24727B5 /* ZLPhotoBrowser-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ZLPhotoBrowser-umbrella.h"; sourceTree = ""; }; + D390475F79E151F16AEABFF4CC4DCD5E /* icon_file_type_db.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_db.png; path = Sources/Resources/FileType/icon_file_type_db.png; sourceTree = ""; }; + D3D7171281F2DB8F383DD7B818415297 /* CocoaDebug+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CocoaDebug+Extensions.swift"; path = "Sources/Core/CocoaDebug+Extensions.swift"; sourceTree = ""; }; + D3E96BA070C54E42EBD37FA41067659D /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; + D47210A15A7A27D60A199D01A379C895 /* DDProgressHUDKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDProgressHUDKit_Private.debug.xcconfig; sourceTree = ""; }; + D4850EEC7B30F6FE57C57969D478F5D3 /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCacheSerializer.m; sourceTree = ""; }; + D4C36CE9F22DFE3D77AFBED723DA9801 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageLoadersManager.m; sourceTree = ""; }; + D4F001A9A0DF8D745FC083D8AC520544 /* icon_file_type_fla@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_fla@3x.png"; path = "Sources/Resources/FileType/icon_file_type_fla@3x.png"; sourceTree = ""; }; + D5543B0BEA6E1A185E1477F8D81805AE /* EKAttributes+LifecycleActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+LifecycleActions.swift"; path = "Source/Model/EntryAttributes/EKAttributes+LifecycleActions.swift"; sourceTree = ""; }; + D56F9B97EA8E1D50CDF755F92AEEFE14 /* AMapTrackHistoryObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackHistoryObj.h; path = AMapTrackKit.framework/Headers/AMapTrackHistoryObj.h; sourceTree = ""; }; + D5EBDF9253E0B5B5516E535816135E0A /* icon_file_type_html@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_html@3x.png"; path = "Sources/Resources/FileType/icon_file_type_html@3x.png"; sourceTree = ""; }; + D61A66A1F7AAB543DF04132119BC0D45 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; + D64D9DD770A2C2F78F1B123317FF657F /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + D6A4959BE12400ADDFD98F7A7BFCFFA7 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + D6BD6C111FE85E6271ADEEA0F149652A /* CocoaDebugViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebugViewController.swift; path = Sources/Window/CocoaDebugViewController.swift; sourceTree = ""; }; + D6DE3322A80C9797BF01921F29702179 /* icon_file_type_aac@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_aac@2x.png"; path = "Sources/Resources/FileType/icon_file_type_aac@2x.png"; sourceTree = ""; }; + D6E112CC0D476A2779399984548FD75F /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; + D71CBB8B0BD4CF56442DD54922A6B9F7 /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackFooter.m; path = MJRefresh/Base/MJRefreshBackFooter.m; sourceTree = ""; }; + D74F09F2BDAD4A00D37D3E51F87EFD46 /* AMapNaviCompositeManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeManager.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeManager.h; sourceTree = ""; }; + D75AAE78C0C56FE2FADE41D8C0F6D564 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + D78566A9F17BCE3ED23585BB08713398 /* AMapTrackKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapTrackKit.framework; sourceTree = ""; }; + D7A72D62C10B21FE6AE3AB2C59B72BDD /* ZFLandscapeViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandscapeViewController.h; path = ZFPlayer/Classes/Core/ZFLandscapeViewController.h; sourceTree = ""; }; + D7A9DBEA84A5158B7037287C0D651187 /* MAOfflineCity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineCity.h; path = AMapNaviKit.framework/Headers/MAOfflineCity.h; sourceTree = ""; }; + D7FDACF77ACACA9CAA20492301F6393C /* icon_file_type_js.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_js.png; path = Sources/Resources/FileType/icon_file_type_js.png; sourceTree = ""; }; + D83E73D157DB9EAF9D75A27F8E0FD893 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; D85B8BF3698115B7F620042AE16B7874 /* Pods-OrderScheduling-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-OrderScheduling-umbrella.h"; sourceTree = ""; }; - D85E6C2562A93E54D9EA8F7CF2B2BCD5 /* AMapNaviLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviLocation.h; path = AMapNaviKit.framework/Headers/AMapNaviLocation.h; sourceTree = ""; }; - D893572C6B777F1CAB47352C265EFCBD /* UIWindow+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWindow+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIWindow+DDCategory/UIWindow+DDCategory.m"; sourceTree = ""; }; - D8A37C157B96127F251E3B31F313AADE /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; }; - D8A50CEFDA0687C95EC61B27EEC31A9B /* ZLPhotoUIConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoUIConfiguration.swift; path = Sources/General/ZLPhotoUIConfiguration.swift; sourceTree = ""; }; - D95C9099562AED806E4F128ED491C764 /* AMapSearchVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchVersion.h; path = AMapSearchKit.framework/Headers/AMapSearchVersion.h; sourceTree = ""; }; - D960164D00192805BD53A8BA00FE1EC7 /* DDControlsKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDControlsKit_Private.debug.xcconfig; sourceTree = ""; }; - D97C320858984FF07726BAEF115CF6F6 /* ControlTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ControlTarget.swift; path = RxCocoa/Common/ControlTarget.swift; sourceTree = ""; }; - D9E6D331CAFFB710AB082155D93DB06C /* ZLEditToolCells.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditToolCells.swift; path = Sources/Edit/ZLEditToolCells.swift; sourceTree = ""; }; - D9F65D22857107DA6C30CFA83DEDBD16 /* ZLAddPhotoCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAddPhotoCell.swift; path = Sources/General/ZLAddPhotoCell.swift; sourceTree = ""; }; - D9FFDA8C8D18D25589844B9EBA43B949 /* DDAttributedString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAttributedString.swift; path = DDControlsKit_Private/Classes/DDAttributedString/DDAttributedString.swift; sourceTree = ""; }; - DA5341CC5E3147C94AB1110A86D434A1 /* ZLAlbumListModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAlbumListModel.swift; path = Sources/General/ZLAlbumListModel.swift; sourceTree = ""; }; + D86BED5DDF57322A31102B2EE1CEA2CA /* KVORepresentable+Swift.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KVORepresentable+Swift.swift"; path = "RxCocoa/Foundation/KVORepresentable+Swift.swift"; sourceTree = ""; }; + D8A33B014165C155387CE9ECBE70703A /* IQKeyboardManagerConstantsInternal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstantsInternal.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstantsInternal.swift; sourceTree = ""; }; + D8ACECD05E1DE890BF7451064B963926 /* ZFSliderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSliderView.h; path = ZFPlayer/Classes/ControlView/ZFSliderView.h; sourceTree = ""; }; + D8C0B77AA42B088DA0F5AFD59A779EC8 /* ZLPhotoBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZLPhotoBrowser.h; path = Sources/ZLPhotoBrowser.h; sourceTree = ""; }; + D8C26516A4EC50239FB11AEA20B51052 /* DDControlsKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDControlsKit_Private.modulemap; sourceTree = ""; }; + D8E0D52F8435E1535DD287BF727C7ECB /* DDBaseButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseButton.m; path = DDBasicControlsKit_Private/Classes/DDBaseButton/DDBaseButton.m; sourceTree = ""; }; + D8FE666D0F763DD3E55F82FA68FBBB77 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; + D901344A1F7B66EFA7DF198384EF44BF /* _HttpModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _HttpModel.m; path = Sources/Network/_HttpModel.m; sourceTree = ""; }; + D9478A87F6261C49EC4B909DB8C10E1B /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; + D95E2E47DE21DFFCE1A772B5621B654A /* AMapSearch-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapSearch-NO-IDFA.release.xcconfig"; sourceTree = ""; }; + D963CC84DE24F13777E777EB6608A1E3 /* FontUtil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FontUtil.swift; path = DDFontKit_Private/Classes/FontUtil.swift; sourceTree = ""; }; + D979A31D43D27BFD1C0215BDE6181482 /* JXCategoryImageCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryImageCell.h; path = Sources/Image/JXCategoryImageCell.h; sourceTree = ""; }; + D9E45ACFAB81B50B5076FE51151D95F3 /* DDBaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseView.m; path = DDBasicControlsKit_Private/Classes/DDBaseView/DDBaseView.m; sourceTree = ""; }; + DA06E78296403CFAE4F2A3E4B8C9F1FD /* UIColor+JXAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+JXAdd.h"; path = "Sources/Common/UIColor+JXAdd.h"; sourceTree = ""; }; + DA442F100B39FD73F69475AFD76D4BFB /* SDAnimatedImagePlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImagePlayer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImagePlayer.m; sourceTree = ""; }; + DA5172819E16E89FBFF0B170DF407C5B /* _OCLogHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _OCLogHelper.m; path = Sources/Logs/_OCLogHelper.m; sourceTree = ""; }; + DA581E9F074E80B66BD334558A97B8E1 /* JXCategoryImageCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageCell.m; path = Sources/Image/JXCategoryImageCell.m; sourceTree = ""; }; DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = SwiftEntryKit; path = libSwiftEntryKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DAE28CB7E6B747514C3866B4F8FCA5E2 /* JXCategoryTitleCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleCell.m; path = Sources/Title/JXCategoryTitleCell.m; sourceTree = ""; }; + DA78AD1EE0512D7B4E79D0D3B304A19F /* ObservableConvertibleType+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Signal.swift"; path = "RxCocoa/Traits/Signal/ObservableConvertibleType+Signal.swift"; sourceTree = ""; }; + DA79AD071057F08A35071A0D95AC28A3 /* UIView+QLContentWrap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+QLContentWrap.swift"; path = "Source/Extensions/QuickLayout/UIView+QLContentWrap.swift"; sourceTree = ""; }; + DABDC9FA26A2F3E72B75D1350EC51656 /* MAOfflineMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineMap.h; path = AMapNaviKit.framework/Headers/MAOfflineMap.h; sourceTree = ""; }; + DABEB4550F6B1B2F5CEBFC7A919B53D8 /* CocoaDebugDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CocoaDebugDeviceInfo.m; path = Sources/Core/CocoaDebugDeviceInfo.m; sourceTree = ""; }; + DAC45CCA3B9690828CC8C8A8EEC80E84 /* NetworkCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkCell.swift; path = Sources/Network/NetworkCell.swift; sourceTree = ""; }; + DAD5DA828BDF6C83920BF522919D91F1 /* IQKeyboardManager+UIKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UIKeyboardNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+UIKeyboardNotification.swift"; sourceTree = ""; }; + DAE53BA40B5C10D4C54F079548B261E9 /* icon_file_type_eps@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_eps@3x.png"; path = "Sources/Resources/FileType/icon_file_type_eps@3x.png"; sourceTree = ""; }; DAFE13D35532C1BA0D3624F4C38BEE8E /* DDLogKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDLogKit_Private; path = libDDLogKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DB110E7217B3CEE13CA7FE62FAA7D93C /* UIStepper+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIStepper+Rx.swift"; path = "RxCocoa/iOS/UIStepper+Rx.swift"; sourceTree = ""; }; - DB26073C862A492E3947239850F61CF5 /* EKNotificationMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNotificationMessageView.swift; path = Source/MessageViews/EKNotificationMessageView.swift; sourceTree = ""; }; - DB28E56457E9908A2BADBEEE7F587F80 /* UINavigationController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+Rx.swift"; path = "RxCocoa/iOS/UINavigationController+Rx.swift"; sourceTree = ""; }; - DB4E03CDA35D59A2CC8E483040A00E1F /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; - DB5499479918C7AAE70099CFBB08D7C4 /* ZLCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCollectionViewFlowLayout.swift; path = Sources/General/ZLCollectionViewFlowLayout.swift; sourceTree = ""; }; - DB6340183C66B2E9D27A037CDC1255F7 /* MAOfflineItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineItem.h; path = AMapNaviKit.framework/Headers/MAOfflineItem.h; sourceTree = ""; }; - DB7EA7706502558EB5C7C27F3AAAC705 /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourceProxy.swift; sourceTree = ""; }; - DB8CF011209213DE76C7F12D6097C11E /* DDSwiftLog.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDSwiftLog.swift; path = DDLogKit_Private/Classes/SwiftLog/DDSwiftLog.swift; sourceTree = ""; }; - DBA01A6E20FF38EB89024711031BE74C /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - DBC151782286E131785E4FDDF6766078 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; - DBC65021380BDE610F542575C28002F9 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - DC01802DF082B09A205D36EDB326D09B /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - DC12D42AEA5797AB04033C1C7CB8A02F /* DDWebImageKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDWebImageKit_Private.debug.xcconfig; sourceTree = ""; }; - DCAAA1A68E2CC67F36E9382AFE2D861A /* UIColor+SDHexString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+SDHexString.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/UIColor+SDHexString.m"; sourceTree = ""; }; - DCBEC95A56810B31E0A279606750B008 /* MAArcRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAArcRenderer.h; path = AMapNaviKit.framework/Headers/MAArcRenderer.h; sourceTree = ""; }; - DCC5CD697767A0969E1B44888827C110 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = ""; }; - DD537B8C2E58D29B2AB1201CE62EA2F9 /* NotificationCenter+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NotificationCenter+Rx.swift"; path = "RxCocoa/Foundation/NotificationCenter+Rx.swift"; sourceTree = ""; }; - DD90C26F2E57B0573AD939AD15D56116 /* NSThread+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSThread+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSThread+DDCategory/NSThread+DDCategory.m"; sourceTree = ""; }; - DDC5507E44FAC12FECCC414CE6D83FE2 /* AMapCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapCommonObj.h; path = AMapSearchKit.framework/Headers/AMapCommonObj.h; sourceTree = ""; }; - DDCB81702EAE525FF8DE7BDF5629BE00 /* EKAttributes+DisplayMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+DisplayMode.swift"; path = "Source/Model/EntryAttributes/EKAttributes+DisplayMode.swift"; sourceTree = ""; }; - DDF5A4A690EBD2EFB0302229151A50E4 /* ZFSpeedLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFSpeedLoadingView.h; path = ZFPlayer/Classes/ControlView/ZFSpeedLoadingView.h; sourceTree = ""; }; - DE472A0AE712A303A9D5D79DF780BB34 /* ZLProgressHUD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLProgressHUD.swift; path = Sources/General/ZLProgressHUD.swift; sourceTree = ""; }; - DE937EC2C51C0F57C368D998FA54A112 /* PublishRelay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishRelay.swift; path = RxRelay/PublishRelay.swift; sourceTree = ""; }; - DECDC9C087DB559C43AA1BB4BC070F11 /* JXCategoryIndicatorTriangleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorTriangleView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.m; sourceTree = ""; }; - DEE6A96882AC069BBD48F5F4CC3FC6CA /* MBProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = DDProgressHUDKit_Private/Classes/MBProgressHUD.m; sourceTree = ""; }; - DF008939493DF8F729DA835313213EEB /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - DF8703E15C5AACE119A44ADE5F2DCBF3 /* SDDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDDiskCache.m; sourceTree = ""; }; - E000D78F7B4FE9CACA07FBC7782E8573 /* NSError+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSError+ZLPhotoBrowser.swift"; path = "Sources/Extensions/NSError+ZLPhotoBrowser.swift"; sourceTree = ""; }; - E0079065AACBA77637F4E9377AD08133 /* UICollectionViewLayout+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UICollectionViewLayout+MJRefresh.h"; path = "MJRefresh/UICollectionViewLayout+MJRefresh.h"; sourceTree = ""; }; - E00E716CC69CC5E585205A405861E72E /* ObservableConvertibleType+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+Driver.swift"; path = "RxCocoa/Traits/Driver/ObservableConvertibleType+Driver.swift"; sourceTree = ""; }; - E04C5ABF747A086D31BF630397DADF38 /* ZFPlayerGestureControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerGestureControl.h; path = ZFPlayer/Classes/Core/ZFPlayerGestureControl.h; sourceTree = ""; }; - E07E5EA3A22530E5FF4827AB31FF1388 /* DDNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDNavigationController.swift; path = DDControlsKit_Private/Classes/DDNavigationController/DDNavigationController.swift; sourceTree = ""; }; - E085FC38F59BBE0A32DFC3BF1718F1A5 /* ZLImageNavController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLImageNavController.swift; path = Sources/General/ZLImageNavController.swift; sourceTree = ""; }; - E0ED5ACA39E178972FDA2DE5427EB107 /* MAPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolyline.h; path = AMapNaviKit.framework/Headers/MAPolyline.h; sourceTree = ""; }; - E1156D60638AF40D9BE94224511CE98F /* DDBaseModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseModel.h; path = DDBasicControlsKit_Private/Classes/DDBaseModel/DDBaseModel.h; sourceTree = ""; }; - E129F43363563308DEDEAEFF29166B90 /* JXCategoryTitleVerticalZoomCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleVerticalZoomCellModel.m; path = Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.m; sourceTree = ""; }; - E1697F9198FA29E76D1DA8DA03EDAB48 /* JXCategoryTitleImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageView.m; path = Sources/TitleImage/JXCategoryTitleImageView.m; sourceTree = ""; }; - E178C77CEFEDFA25846860B670FB30D2 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageAPNGCoder.m; sourceTree = ""; }; - E1815691576E936229D71B170B61B51E /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; - E1A8D8B1A42BD45891DB6179489AD828 /* JXCategoryIndicatorProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorProtocol.h; path = Sources/Common/JXCategoryIndicatorProtocol.h; sourceTree = ""; }; - E1ADBE6DAED45D78118E49ACD4A099FC /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - E1AF437F2DB2A8574DFA7DC9F8FC0E55 /* EKAttributes+Animation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Animation.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Animation.swift"; sourceTree = ""; }; - E1B50617C5846885B799174C6EF62E18 /* Infallible+CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Infallible+CombineLatest+arity.swift"; path = "RxSwift/Traits/Infallible/Infallible+CombineLatest+arity.swift"; sourceTree = ""; }; - E1D479A5AFC217595BD95682A2214CCE /* NSThread+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSThread+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSThread+DDCategory/NSThread+DDCategory.h"; sourceTree = ""; }; - E1EF137B5FB3A7465B998DDF44EFE49D /* DDColorKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDColorKit_Private.debug.xcconfig; sourceTree = ""; }; - E1F129383AB15E9BBA4DBBCF29CA683B /* UITextField+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITextField+DDCategory/UITextField+DDCategory.h"; sourceTree = ""; }; - E1FC0B3FDD2534E449C31E5030C4FEBD /* UICollectionViewCell+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionViewCell+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UICollectionViewCell+DDCategory/UICollectionViewCell+DDCategory.m"; sourceTree = ""; }; - E20C3C871989346D8B72A4D649C1476D /* DDBaseLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseLabel.m; path = DDBasicControlsKit_Private/Classes/DDBaseLabel/DDBaseLabel.m; sourceTree = ""; }; - E241B71AB1CC506D419A7EC8FFB99ADB /* MJRefreshComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshComponent.h; path = MJRefresh/Base/MJRefreshComponent.h; sourceTree = ""; }; - E29CBC9A74C4F1060E2B086ACDD82109 /* UITableViewCell+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableViewCell+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UITableViewCell+DDCategory/UITableViewCell+DDCategory.h"; sourceTree = ""; }; - E2BB694E41312BE3CB879A74EF438E86 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; - E2CF77683043F7A01B9D24659EF9EEB6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - E2DADE97F9F228D06F817F438D828548 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; - E379FBC419ECAAA12AEA0091BE1CCE4E /* UIBarButtonItem+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBarButtonItem+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIBarButtonItem+DDCategory/UIBarButtonItem+DDCategory.m"; sourceTree = ""; }; - E3B332A7E534B67B8F9E4AC433656AF1 /* MAHeatMapVectorOverlayRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAHeatMapVectorOverlayRender.h; path = AMapNaviKit.framework/Headers/MAHeatMapVectorOverlayRender.h; sourceTree = ""; }; - E3D22B608945B6FF514CC37D8D650A58 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDNetworkingOfAlamofireKit_Private-umbrella.h"; sourceTree = ""; }; - E4216D1779B7A2F42138D94078809E57 /* JXCategoryView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JXCategoryView.release.xcconfig; sourceTree = ""; }; - E44178D58BE22E280223ACDAC448D338 /* ZLEditImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEditImageViewController.swift; path = Sources/Edit/ZLEditImageViewController.swift; sourceTree = ""; }; - E46E183DB54302AA4E88F0424C621044 /* JXCategoryView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryView.h; path = Sources/JXCategoryView.h; sourceTree = ""; }; - E47BFCEBA74E612D0AAE14AD14FEE1E4 /* UIViewController+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIViewController+ZLPhotoBrowser.swift"; sourceTree = ""; }; - E48D32258894863E3A3C80BBD72250A9 /* UICollectionViewLayout+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UICollectionViewLayout+MJRefresh.m"; path = "MJRefresh/UICollectionViewLayout+MJRefresh.m"; sourceTree = ""; }; + DB11F8CEBB8DDD1009EB5961A24418E8 /* ZLCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCollectionViewFlowLayout.swift; path = Sources/General/ZLCollectionViewFlowLayout.swift; sourceTree = ""; }; + DB163457E4D0823651D898B78083EC72 /* icon_file_type_mp3@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_mp3@2x.png"; path = "Sources/Resources/FileType/icon_file_type_mp3@2x.png"; sourceTree = ""; }; + DB400239FC03F283ECC769B48DAA253C /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIActivityIndicatorView+Rx.swift"; path = "RxCocoa/iOS/UIActivityIndicatorView+Rx.swift"; sourceTree = ""; }; + DB8FE69168947C082172ECB601B77BCC /* RxPickerViewDataSourceType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxPickerViewDataSourceType.swift; path = RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift; sourceTree = ""; }; + DB9D8886E74A9C5ED98437A4058D3B04 /* DDTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTextView.swift; path = DDControlsKit_Private/Classes/DDTextView/DDTextView.swift; sourceTree = ""; }; + DBB1D40F2237040531011900C70CE39B /* MKAnnotationView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MKAnnotationView+WebCache.h"; path = "DDWebImageKit_Private/Classes/SDWebImageMapKit/MapKit/MKAnnotationView+WebCache.h"; sourceTree = ""; }; + DBB9002DB36B9C5CEAED15B41BC7C0C4 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackFooter.h; path = MJRefresh/Base/MJRefreshBackFooter.h; sourceTree = ""; }; + DBD521149E1CEACEF54EFDD39E91B2DD /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; + DBDDACE7ED328F95E37674D0061C6225 /* ESTabBarController-swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "ESTabBarController-swift.release.xcconfig"; sourceTree = ""; }; + DC0B3A7300BCE69E8992F61EEEAC6CA6 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + DC5A307D6157E6D8E9153EE3C871B27C /* EKRootViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKRootViewController.swift; path = Source/Infra/EKRootViewController.swift; sourceTree = ""; }; + DC6F0B44B4A60150D278513D951328CC /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + DC90215D75CD650F40B7707DD67B1E9D /* JXCategoryIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorView.m; path = Sources/Indicator/JXCategoryIndicatorView.m; sourceTree = ""; }; + DCA2840E18E7B64870B2198305FAC35D /* SDImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCodersManager.h; sourceTree = ""; }; + DCDFD311AF5193CCB0E51EC97A922A96 /* AboutViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AboutViewController.swift; path = Sources/App/AboutViewController.swift; sourceTree = ""; }; + DD01FF2B471320643647EDCA53337086 /* AMapNaviHUDView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviHUDView.h; path = AMapNaviKit.framework/Headers/AMapNaviHUDView.h; sourceTree = ""; }; + DD187A45171A7B7690A9652D2848E577 /* JXCategoryTitleImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryTitleImageView.m; path = Sources/TitleImage/JXCategoryTitleImageView.m; sourceTree = ""; }; + DD499C929BC39CC90EB960BEF78BAB59 /* JXCategoryTitleCellModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryTitleCellModel.h; path = Sources/Title/JXCategoryTitleCellModel.h; sourceTree = ""; }; + DE2B5BAE299879F373534D005E9DE151 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; + DE74DEED59FF8970B37AD36CFAE77CBC /* CocoaDebugNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebugNavigationController.swift; path = Sources/Window/CocoaDebugNavigationController.swift; sourceTree = ""; }; + DE7AEE4D0439517BDC6C7D3A38AF2D24 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; + DE8C83E2335FF938FECDF5322A551652 /* AMapFoundationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapFoundationKit.framework; sourceTree = ""; }; + DEF047E3FDD5AC10AC4C96A4E5F4C200 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageRep.m; sourceTree = ""; }; + DF0D9D8AF7275FB50A23296E5D7D19E9 /* AMapTrackVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackVersion.h; path = AMapTrackKit.framework/Headers/AMapTrackVersion.h; sourceTree = ""; }; + DF16877D5A870132D10719314A460AFD /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; + DF16DF0D95718B0AB57EB3C05FD27F3B /* _icon_file_type_bugs@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_bugs@2x.png"; path = "Sources/Resources/images/_icon_file_type_bugs@2x.png"; sourceTree = ""; }; + DF1F27260601DF00CF1776FB3ABE889C /* AMapNearbyUploadInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNearbyUploadInfo.h; path = AMapSearchKit.framework/Headers/AMapNearbyUploadInfo.h; sourceTree = ""; }; + DF29819D71E8CAF09B15248F332E0E17 /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshGifHeader.m; path = MJRefresh/Custom/Header/MJRefreshGifHeader.m; sourceTree = ""; }; + DF2D88A2F97B298B5CBEC1C8812F1470 /* CrashListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrashListViewController.swift; path = Sources/App/CrashListViewController.swift; sourceTree = ""; }; + DF31A24F094A4BD02F55F992E62176EE /* SDImageIOAnimatedCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoderInternal.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h; sourceTree = ""; }; + DF4D48378A4BC856627CA1A86511AC36 /* AMapNaviStatisticsInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviStatisticsInfo.h; path = AMapNaviKit.framework/Headers/AMapNaviStatisticsInfo.h; sourceTree = ""; }; + DF694C9AA4C6AC295CC670051DDBCB43 /* icon_file_type_ttf.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_ttf.png; path = Sources/Resources/FileType/icon_file_type_ttf.png; sourceTree = ""; }; + DF8E37C8358E84B9BAFCF9FB2546BF0B /* JXCategoryBaseCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseCell.h; path = Sources/Base/JXCategoryBaseCell.h; sourceTree = ""; }; + DFA017B9AE03666055B853A359A49E82 /* JCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JCore.debug.xcconfig; sourceTree = ""; }; + DFA3D92AC70BB7CA80578EF794CECAD0 /* icon_file_type_ogg@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ogg@3x.png"; path = "Sources/Resources/FileType/icon_file_type_ogg@3x.png"; sourceTree = ""; }; + DFCACD0845E1FF6A8AEB2F24853DF8A5 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageRep.h; sourceTree = ""; }; + DFE50F8BBA0ADE8AE150225CFCAAFE5C /* CocoaDebug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebug.swift; path = Sources/Core/CocoaDebug.swift; sourceTree = ""; }; + DFEE70218722BEFE6E0C804D15D2AE13 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; + E039412FD6350AA534EA5569A26E2DB6 /* ZFPlayerConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFPlayerConst.h; path = ZFPlayer/Classes/Core/ZFPlayerConst.h; sourceTree = ""; }; + E072C00256095FD869B8CDFF3B8D0F4B /* AMapNaviDriveManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviDriveManager.h; path = AMapNaviKit.framework/Headers/AMapNaviDriveManager.h; sourceTree = ""; }; + E088502A7D820261F0115AF74E402258 /* CGFloat+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGFloat+ZLPhotoBrowser.swift"; path = "Sources/Extensions/CGFloat+ZLPhotoBrowser.swift"; sourceTree = ""; }; + E08B33FB64157120DBE81C4BF8C7D362 /* ZFVolumeBrightnessView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFVolumeBrightnessView.h; path = ZFPlayer/Classes/ControlView/ZFVolumeBrightnessView.h; sourceTree = ""; }; + E09EF65906AA0CD6A190AAF188A300BD /* DDTimerObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTimerObject.m; path = DDTimerKit_Private/Classes/GCDTimer/DDTimerObject.m; sourceTree = ""; }; + E0BE9ED62BCC2A5093A64EB64B257B22 /* ZLEnlargeButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLEnlargeButton.swift; path = Sources/General/ZLEnlargeButton.swift; sourceTree = ""; }; + E0DBFC452AC3B043BFA4BDE1E9573883 /* EKPopUpMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKPopUpMessageView.swift; path = Source/MessageViews/EKPopUpMessageView.swift; sourceTree = ""; }; + E103DE105F7B640753D83DB7B9294159 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; + E1073962F05D7C6D5BEDB2138E26285B /* icon_file_type_torrent@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_torrent@2x.png"; path = "Sources/Resources/FileType/icon_file_type_torrent@2x.png"; sourceTree = ""; }; + E113B7AD4D1FCFFE32C7938416B623FA /* DDAutoUIKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDAutoUIKit_Private.modulemap; sourceTree = ""; }; + E16751683A27C943E18658E9119DADD7 /* ZLCameraConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCameraConfiguration.swift; path = Sources/General/ZLCameraConfiguration.swift; sourceTree = ""; }; + E173356FDCC4BEBFAF2C197B613B80E2 /* JXCategoryDotCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryDotCell.h; path = Sources/Dot/JXCategoryDotCell.h; sourceTree = ""; }; + E1B61212FD726519757AAAC3B033046B /* ESTabBarItemContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBarItemContentView.swift; path = Sources/ESTabBarItemContentView.swift; sourceTree = ""; }; + E2402DBB661C99651655A8CE9B20D8D4 /* IQToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbar.swift; path = IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift; sourceTree = ""; }; + E283EC135E4727F491B32CABAD20D414 /* AMapTrackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapTrackManager.h; path = AMapTrackKit.framework/Headers/AMapTrackManager.h; sourceTree = ""; }; + E2A03719B9035AD652AC7BCBC444963E /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + E2AF3825B06E23CDF1CEE55D7ED0987D /* icon_file_type_zip@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_zip@2x.png"; path = "Sources/Resources/FileType/icon_file_type_zip@2x.png"; sourceTree = ""; }; + E2C2F1413154B061653C7051F88C7274 /* ZLCustomCamera.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCustomCamera.swift; path = Sources/Camera/ZLCustomCamera.swift; sourceTree = ""; }; + E2F2F3D435B45F58297A6135430E0855 /* MAAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAAnnotation.h; path = AMapNaviKit.framework/Headers/MAAnnotation.h; sourceTree = ""; }; + E2F86236438EB1C7BBC06B4DC34B0A90 /* MJRefreshConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshConfig.m; path = MJRefresh/MJRefreshConfig.m; sourceTree = ""; }; + E2FD0D460E1BE7071927B07530A456C5 /* WithUnretained.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithUnretained.swift; path = RxSwift/Observables/WithUnretained.swift; sourceTree = ""; }; + E31B482FA85793071C9A0F4BA91AB0A6 /* MJRefreshHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshHeader.m; path = MJRefresh/Base/MJRefreshHeader.m; sourceTree = ""; }; + E33356663B6E92A341BA6E6AC1C08603 /* ZFPersentInteractiveTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPersentInteractiveTransition.m; path = ZFPlayer/Classes/Core/ZFPersentInteractiveTransition.m; sourceTree = ""; }; + E3625B3BCB16D80333B616881084D932 /* DDSwiftLog.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDSwiftLog.swift; path = DDLogKit_Private/Classes/SwiftLog/DDSwiftLog.swift; sourceTree = ""; }; + E39400412D2C0B31D0F5F7C326781BCB /* EKAttributes+DisplayMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+DisplayMode.swift"; path = "Source/Model/EntryAttributes/EKAttributes+DisplayMode.swift"; sourceTree = ""; }; + E3955B181F4D5000B079829F16263DA4 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheConfig.h; sourceTree = ""; }; + E3B963770CA0940533D6BD205E450057 /* AMapCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapCommonObj.h; path = AMapSearchKit.framework/Headers/AMapCommonObj.h; sourceTree = ""; }; + E3E7CDE23C874952DFAC3D9217340113 /* EKColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKColor.swift; path = Source/Model/EKColor.swift; sourceTree = ""; }; + E3F472664C5FCD4791150EF71C4E1F08 /* NSThread+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSThread+DDCategory.h"; path = "DDCategoryKit_Private/Classes/NSThread+DDCategory/NSThread+DDCategory.h"; sourceTree = ""; }; + E414A6313A05D153A70AF3CD99CB5E02 /* JXCategoryDotView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotView.m; path = Sources/Dot/JXCategoryDotView.m; sourceTree = ""; }; + E41B40BF90AC2FBA0BBB86D21D744EAD /* _OCLogStoreManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _OCLogStoreManager.m; path = Sources/Logs/_OCLogStoreManager.m; sourceTree = ""; }; + E439D24E1AF1E6DB1F78CAE0CE0EBB95 /* JXCategoryView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JXCategoryView-dummy.m"; sourceTree = ""; }; + E456F89DA8A97A284C7520FB22E7B890 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + E4644D833C977237AD4879934512C822 /* JXCategoryImageCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryImageCellModel.m; path = Sources/Image/JXCategoryImageCellModel.m; sourceTree = ""; }; + E48CB8FB4C4770025E8BD071456B8D21 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; E49D6D248DD1CEE584E6776B9164A1B2 /* MJRefresh */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = MJRefresh; path = libMJRefresh.a; sourceTree = BUILT_PRODUCTS_DIR; }; - E4BC7A254DFB001F3BF507F76C9873E5 /* ESTabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ESTabBar.swift; path = Sources/ESTabBar.swift; sourceTree = ""; }; - E4DABC79EF73794D559D11226D74E985 /* ItemEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ItemEvents.swift; path = RxCocoa/iOS/Events/ItemEvents.swift; sourceTree = ""; }; - E4E224AD503FE144840909E9274EA5F9 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; - E4F1E6F6EA16DA8B03FE0AA9B6D78545 /* MAParticleOverlayOptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlayOptions.h; path = AMapNaviKit.framework/Headers/MAParticleOverlayOptions.h; sourceTree = ""; }; - E4F3CD2FAC247BD349A40689ABE4678E /* UIImageView+ZFCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+ZFCache.m"; path = "ZFPlayer/Classes/ControlView/UIImageView+ZFCache.m"; sourceTree = ""; }; - E503856D2A5845FBF4D8229A75F08E60 /* SwiftEntryKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.release.xcconfig; sourceTree = ""; }; - E51ADE35CB1FF9A7FE7A091D7F77BAEF /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - E523A437BB3E45345F5701B913971D20 /* EKAttributes+Scroll.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Scroll.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Scroll.swift"; sourceTree = ""; }; - E52F4B8561DCECF89BF9E0DD6FFA152A /* MAGltfOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGltfOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAGltfOverlayRenderer.h; sourceTree = ""; }; - E537B01FEC3FB9D921789FE6CE6A7650 /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; - E5669AA45A9EEDDAF205EA5F5FC3709F /* UISearchController+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISearchController+Rx.swift"; path = "RxCocoa/iOS/UISearchController+Rx.swift"; sourceTree = ""; }; - E5BE6850DB0B9DEFBCD03670D36B191D /* SDAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImageView.m; sourceTree = ""; }; - E6076C4ED2EA481C1EB7A7618021A959 /* DDMAGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMAGeometry.h; path = DDMAMapKit_Private/Classes/DDMAUtil/DDMAGeometry.h; sourceTree = ""; }; - E639A11168F792B080B33FC449133FAB /* RTLManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RTLManager.m; path = Sources/RLTManager/RTLManager.m; sourceTree = ""; }; - E6514A552D80A7FEB4FD9D31F4D44ACE /* MAMultiPolyline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPolyline.h; path = AMapNaviKit.framework/Headers/MAMultiPolyline.h; sourceTree = ""; }; - E67601A73F02EA2E8C5E06F248C60A20 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - E6945884E4439E18DE0C62B1DA2DCE8D /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; - E6F9848E7543E112CF37622B127F6C01 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - E7070515A83CC341D841996959072ACC /* NSMutableParagraphStyle+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableParagraphStyle+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSMutableParagraphStyle+DDCategory.m"; sourceTree = ""; }; - E730CD4494C3277AB8D25A51F6AC13FA /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAsyncBlockOperation.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAsyncBlockOperation.m; sourceTree = ""; }; - E7379C81FF7A9D1BE25D57FCBF037CC3 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - E7C070830DB39B04D1426A1BFFC4AC5A /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; - E7F35095B25197954930E7C85CF1AF17 /* DDAutoUIKit_Private.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDAutoUIKit_Private.release.xcconfig; sourceTree = ""; }; - E815F486354B346E94F8E60D67874BEB /* SwiftEntryKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-umbrella.h"; sourceTree = ""; }; - E8A1AE7BA2A03C0A4D86F4BACB7A1AE7 /* DDColorKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDColorKit_Private-umbrella.h"; sourceTree = ""; }; - E8B76411525726A0FD8619E18F1B6CE4 /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshBackStateFooter.h; path = MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h; sourceTree = ""; }; - E9B89D737E027CD857406AAFA6ACDF79 /* IJKMediaFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IJKMediaFramework.framework; path = ZFPlayer/Classes/ijkplayer/IJKMediaFramework.framework; sourceTree = ""; }; - EAD7CD77DDEFD8EC15595A80AB8766BE /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDNetworkingOfAlamofireKit_Private.debug.xcconfig; sourceTree = ""; }; - EB3B9EEE9C0A7A3C6FFDA598887FE415 /* JXCategoryIndicatorImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorImageView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.m; sourceTree = ""; }; - EB964CF858EE225503EE17DEA69FA1A5 /* SDGraphicsImageRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDGraphicsImageRenderer.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDGraphicsImageRenderer.h; sourceTree = ""; }; - EBB1081DA01C70F27FE6BD9232EA4554 /* NSObject+Rx+KVORepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Rx+KVORepresentable.swift"; path = "RxCocoa/Foundation/NSObject+Rx+KVORepresentable.swift"; sourceTree = ""; }; - EC0A77D615174ABF6E8E44E65032BD51 /* MJRefreshTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshTrailer.h; path = MJRefresh/Base/MJRefreshTrailer.h; sourceTree = ""; }; + E49F4BAC0A353CB76120B609353902C0 /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; + E5330FCE42E661850807E3504C2FAEAC /* UIWindow+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWindow+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIWindow+DDCategory/UIWindow+DDCategory.m"; sourceTree = ""; }; + E57BA463C42E91A564F221A79B3BE237 /* UISegmentedControl+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UISegmentedControl+Rx.swift"; path = "RxCocoa/iOS/UISegmentedControl+Rx.swift"; sourceTree = ""; }; + E581A6508D640202990BAFE86C4C1C93 /* DDImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDImageView.swift; path = DDControlsKit_Private/Classes/DDImageView/DDImageView.swift; sourceTree = ""; }; + E58AC59E6C968DAB64C64D4181EBA20E /* ZLCameraCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCameraCell.swift; path = Sources/General/ZLCameraCell.swift; sourceTree = ""; }; + E606BA0CF6BD431B9384A20122FEC139 /* AMapURLSearchConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapURLSearchConfig.h; path = AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h; sourceTree = ""; }; + E619FCCD212CDB07A363DE714C48AD1C /* icon_file_type_dll@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dll@2x.png"; path = "Sources/Resources/FileType/icon_file_type_dll@2x.png"; sourceTree = ""; }; + E6201347569D456946859B9A4B25693E /* DDBaseViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseViewController.h; path = DDBasicControlsKit_Private/Classes/DDBaseViewController/DDBaseViewController.h; sourceTree = ""; }; + E670BF9D9E007D47CA9397B1C739495A /* ZFPlayerController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPlayerController.m; path = ZFPlayer/Classes/Core/ZFPlayerController.m; sourceTree = ""; }; + E695C3660CF9CBDDF2A0E98DAF882BD6 /* _AutoLaunch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _AutoLaunch.m; path = Sources/Core/_AutoLaunch.m; sourceTree = ""; }; + E6A0792A8CBDADA4D1C3244E462F1299 /* _RX.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RX.h; path = RxCocoa/Runtime/include/_RX.h; sourceTree = ""; }; + E6F2557E6986536436AF9B9D864E6F60 /* _CrashModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _CrashModel.swift; path = Sources/App/_CrashModel.swift; sourceTree = ""; }; + E7199B187182EC95737A246291767F7C /* JXCategoryDotCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryDotCell.m; path = Sources/Dot/JXCategoryDotCell.m; sourceTree = ""; }; + E72F45F5503503CE7630B7FC75994010 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + E7714ECC85EC1A167B86030CBB54913F /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; + E7800E14657319497AD768FB7089A958 /* IQUIScrollView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIScrollView+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIScrollView+Additions.swift"; sourceTree = ""; }; + E79A5EFD32400A7CAB87A509DCFC3C10 /* Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concurrency.swift; path = Source/Concurrency.swift; sourceTree = ""; }; + E7B7088F63CEA073C68AC7A43C46FE6A /* EKAttributes+Scroll.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Scroll.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Scroll.swift"; sourceTree = ""; }; + E7CF2DAC77FA25AF6A3D13055AEA1C43 /* _icon_file_type_close@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_close@2x.png"; path = "Sources/Resources/images/_icon_file_type_close@2x.png"; sourceTree = ""; }; + E81149A8C75A8306F98E8E47F933735D /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; + E812965A4A246A80759BE7BB328475FD /* NSAttributedString+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSAttributedString+DDCategory/NSAttributedString+DDCategory.m"; sourceTree = ""; }; + E844208C2DF3EB02CCD98F79C004F5B5 /* UIViewController+ZFPlayerRotation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+ZFPlayerRotation.m"; path = "ZFPlayer/Classes/Core/UIViewController+ZFPlayerRotation.m"; sourceTree = ""; }; + E881D79473CA675F17ADF107C7D4EAD5 /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageTransition.h; sourceTree = ""; }; + E88300C05CF06D352E5766FB9F67CA81 /* NSView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSView+Rx.swift"; path = "RxCocoa/macOS/NSView+Rx.swift"; sourceTree = ""; }; + E8834B086E73B6DE6B1033C95F60D48D /* CocoaDebugTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaDebugTabBarController.swift; path = Sources/Window/CocoaDebugTabBarController.swift; sourceTree = ""; }; + E891AF19AFB436DA78394A105F880987 /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; + E89AB666BEDE42D1D60C28E77539ACC6 /* Logs.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = Logs.storyboard; path = Sources/Resources/Logs.storyboard; sourceTree = ""; }; + E8CE59418876D634B4793767FCCEB2ED /* EKNotificationMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKNotificationMessageView.swift; path = Source/MessageViews/EKNotificationMessageView.swift; sourceTree = ""; }; + E92818FE9CC568ADC401AC6CB9F06F01 /* ZLPhotoBrowser.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ZLPhotoBrowser.debug.xcconfig; sourceTree = ""; }; + E99818E6F05F4B0EFC10292117AF6246 /* JXCategoryView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JXCategoryView.release.xcconfig; sourceTree = ""; }; + E9EAC610C4A7192FFD7F38A8B5135157 /* JXCategoryNumberView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryNumberView.m; path = Sources/Number/JXCategoryNumberView.m; sourceTree = ""; }; + EA24EA00277932495A3B24F44F1C8A15 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; + EA4180EE7AB752E349E648B6D278D2FA /* UIView+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Utils.swift"; path = "Source/Extensions/UIView+Utils.swift"; sourceTree = ""; }; + EAC8EF8D47BC70367C1BE3FFD7BB69D6 /* ZLPhotoConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoConfiguration.swift; path = Sources/General/ZLPhotoConfiguration.swift; sourceTree = ""; }; + EAE00621452877355103DD13DC0D5DD2 /* JXCategoryBaseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseView.m; path = Sources/Base/JXCategoryBaseView.m; sourceTree = ""; }; + EAE8837F1FC5192B6B8FFA7C38474BA7 /* UIApplication+EKAppearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+EKAppearance.swift"; path = "Source/Extensions/UIApplication+EKAppearance.swift"; sourceTree = ""; }; + EB0110BE49653D7E25CDCAC015477D2F /* _RXKVOObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _RXKVOObserver.m; path = RxCocoa/Runtime/_RXKVOObserver.m; sourceTree = ""; }; + EB0611DD85896A3010A096DA8675B449 /* icon_file_type_pages.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_pages.png; path = Sources/Resources/FileType/icon_file_type_pages.png; sourceTree = ""; }; + EB5F33C11C385915EE4FAD4FC47F8225 /* ZFLandscapeWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFLandscapeWindow.h; path = ZFPlayer/Classes/Core/ZFLandscapeWindow.h; sourceTree = ""; }; + EB735B2017BD7F0315DA38032F6E18D0 /* icon_file_type_mov.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_mov.png; path = Sources/Resources/FileType/icon_file_type_mov.png; sourceTree = ""; }; + EB9C7A00F2B5A8DAAA4D81973CAF125C /* IQUIViewController+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIViewController+Additions.swift"; path = "IQKeyboardManagerSwift/Categories/IQUIViewController+Additions.swift"; sourceTree = ""; }; + EBCC94BCB3634D6D25F0EE5A0657E7E2 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/PrimitiveSequence/Completable.swift; sourceTree = ""; }; + EBD8DCC1EBAB485093C45FC5A5CB4181 /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; + EC008F158CB87396B8F99E4A8918FE2F /* IgnoredURLsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IgnoredURLsViewController.swift; path = Sources/App/IgnoredURLsViewController.swift; sourceTree = ""; }; EC46C56D3F58BDA592A93730A005EF26 /* DDCategoryKit_Private */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = DDCategoryKit_Private; path = libDDCategoryKit_Private.a; sourceTree = BUILT_PRODUCTS_DIR; }; - EC647B90CD6DE2CD31EFF74FAB6CBE8C /* SDDeviceHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDeviceHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDDeviceHelper.m; sourceTree = ""; }; - EC6C9AC71396A13886768DAF49A2B40F /* ZLCameraCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCameraCell.swift; path = Sources/General/ZLCameraCell.swift; sourceTree = ""; }; - EC9E30FB7226708A3130A01B97DBA179 /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; - ECAD1B1F70EF1AB26421154EF6FDCDB6 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; - ECC5E1D0586A9761D91706CD197728E1 /* MATraceManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceManager.h; path = AMapNaviKit.framework/Headers/MATraceManager.h; sourceTree = ""; }; + EC59EAE9D9AE5AD809ED831668F3A4B3 /* LogViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LogViewController.swift; path = Sources/Logs/LogViewController.swift; sourceTree = ""; }; + ECB11834621762BDB5EE9808B41EBFA9 /* icon_file_type_fla.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_fla.png; path = Sources/Resources/FileType/icon_file_type_fla.png; sourceTree = ""; }; + ECB39D64CB72546A0D98B54E2960BB92 /* icon_file_type_xls.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_xls.png; path = Sources/Resources/FileType/icon_file_type_xls.png; sourceTree = ""; }; + ECB528EA98FD91BE6BAC416E0D39AD4A /* MJRefreshTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshTrailer.h; path = MJRefresh/Base/MJRefreshTrailer.h; sourceTree = ""; }; + ECCC9356BBC06A71883B78AFA88E115B /* AMapFoundation-NO-IDFA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapFoundation-NO-IDFA.debug.xcconfig"; sourceTree = ""; }; + ECE6FF75533DDF840A273E1C7977B429 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + ED1AADCC3631CD7B91181B06BA4C7D16 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + ED256439602D90879223D2EC27170330 /* NetworkDetailModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkDetailModel.swift; path = Sources/Network/NetworkDetailModel.swift; sourceTree = ""; }; ED363DD89BB17FB9F31F94524BA59CBB /* ZFPlayer */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = ZFPlayer; path = libZFPlayer.a; sourceTree = BUILT_PRODUCTS_DIR; }; - EDB6355A365726EDE0952F375385A321 /* MJRefreshStateTrailer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshStateTrailer.m; path = MJRefresh/Custom/Trailer/MJRefreshStateTrailer.m; sourceTree = ""; }; - EDDCE3830BC47A94EDCA3BB8463E0C24 /* DDControlsKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDControlsKit_Private-prefix.pch"; sourceTree = ""; }; - EE5838784174A0B70B76BFB993775DD3 /* TakeWithPredicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWithPredicate.swift; path = RxSwift/Observables/TakeWithPredicate.swift; sourceTree = ""; }; - EE6C77205CF4B2951E884CB365BCFF13 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; - EE96A5F2B943B72C1F0232E90B5E0577 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; - EED6E5DDA56664951CC4CBBE99916328 /* DDControlsKit_Private.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DDControlsKit_Private.modulemap; sourceTree = ""; }; - EF70FC9EB152D1C253A1FAAE0D28DA6A /* SwiftEntryKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.debug.xcconfig; sourceTree = ""; }; - EF9989031C197B682326AF0D8A1BC619 /* JXCategoryListContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryListContainerView.m; path = Sources/Common/JXCategoryListContainerView.m; sourceTree = ""; }; - EFF157C9C98D26B2B75B85C92D8AE8C2 /* DDBaseViewController.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = DDBaseViewController.xcassets; path = DDBasicControlsKit_Private/Assets/DDBaseViewController.xcassets; sourceTree = ""; }; - EFF534404B48A07EF9415E1B7AF2B41B /* MJRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-prefix.pch"; sourceTree = ""; }; - EFFE264ACFC2E50E41713D39E3072D71 /* DDTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDTextField.swift; path = DDControlsKit_Private/Classes/DDTextField/DDTextField.swift; sourceTree = ""; }; - F0733919B381A00997A7EEC037768C8D /* UIView+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+QuickLayout.swift"; path = "Source/Extensions/QuickLayout/UIView+QuickLayout.swift"; sourceTree = ""; }; - F0A5C59E8F03B318E4DBEB94CB7DFCAC /* ZLPhotoBrowser.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZLPhotoBrowser.modulemap; sourceTree = ""; }; - F0D7DE153DDDC520A02D60EC9314D9CE /* ZFVolumeBrightnessView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFVolumeBrightnessView.m; path = ZFPlayer/Classes/ControlView/ZFVolumeBrightnessView.m; sourceTree = ""; }; - F1266B973BC95F13049649A6DF0E8D54 /* DDMALocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMALocationManager.h; path = DDMAMapKit_Private/Classes/DDMALocation/DDMALocationManager.h; sourceTree = ""; }; - F150CCC27CF7A7E2B79C1AC22B86167F /* DDProgressHUDKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDProgressHUDKit_Private-prefix.pch"; sourceTree = ""; }; - F19F949F19BD7CEDBF253DA9DB964B88 /* ZFPlayer.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = ZFPlayer.bundle; path = ZFPlayer/Classes/ControlView/ZFPlayer.bundle; sourceTree = ""; }; - F1A6C83223505225ED5CD56A3FDAF636 /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift; sourceTree = ""; }; - F1DE485127E572C133DAE639A0E1DF7D /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; - F228F5EA0C26FB01EF43F01DD9C0086C /* _RXDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _RXDelegateProxy.h; path = RxCocoa/Runtime/include/_RXDelegateProxy.h; sourceTree = ""; }; + EDA15C3900AA50F8093752246F5C5CA0 /* MAMultiPointOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPointOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAMultiPointOverlayRenderer.h; sourceTree = ""; }; + EDB26518BCA154BA820AA6AA2FA38E6A /* icon_file_type_ogg@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_ogg@2x.png"; path = "Sources/Resources/FileType/icon_file_type_ogg@2x.png"; sourceTree = ""; }; + EDC68B35F615E8FEC0707BF57C54C41E /* JXCategoryBaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryBaseView.h; path = Sources/Base/JXCategoryBaseView.h; sourceTree = ""; }; + EDD4468D94B2C15CB196DCA2CC98200F /* AMapNaviKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapNaviKit.framework; sourceTree = ""; }; + EDE5A8D5B6DBF3676C11FFCD41C2AEF9 /* YYFrameImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFrameImage.h; path = YYImage/YYFrameImage.h; sourceTree = ""; }; + EE198990BF95973D8B7322044053757B /* AMapLocation-NO-IDFA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AMapLocation-NO-IDFA.release.xcconfig"; sourceTree = ""; }; + EE1A4A37BAEB0B8A5FC0F7332DB03907 /* icon_file_type_midi@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_midi@3x.png"; path = "Sources/Resources/FileType/icon_file_type_midi@3x.png"; sourceTree = ""; }; + EE42FE650330E11E5EE5930879665304 /* MJRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJRefresh-dummy.m"; sourceTree = ""; }; + EF280682F43D2148C1E3B33E581B4060 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + EF809F1C14EBDE190401F6C6F4811C3C /* SharedSequence+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Operators.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Operators.swift"; sourceTree = ""; }; + F0015DD4A4397A8BB2D54731EA726155 /* ZLFetchImageOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLFetchImageOperation.swift; path = Sources/General/ZLFetchImageOperation.swift; sourceTree = ""; }; + F00837519066ABB5FF0DC814BAFAB0C6 /* ZLAdjustSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLAdjustSlider.swift; path = Sources/Edit/ZLAdjustSlider.swift; sourceTree = ""; }; + F00BB25D48568A01219EAE2710414BD3 /* icon_file_type_folder_not_empty@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_folder_not_empty@3x.png"; path = "Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png"; sourceTree = ""; }; + F00F6A69B4F36369969EED08E7D69E7A /* icon_file_type_html@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_html@2x.png"; path = "Sources/Resources/FileType/icon_file_type_html@2x.png"; sourceTree = ""; }; + F02548D1626DB1ACC7949C96608ABB8D /* AMapNaviRideManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviRideManager.h; path = AMapNaviKit.framework/Headers/AMapNaviRideManager.h; sourceTree = ""; }; + F04827CB3C7B37F69432BFA0FA94DE2A /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/PrimitiveSequence/Single.swift; sourceTree = ""; }; + F053320BAA0E4449E0E6CDE9BD052D3D /* IQKeyboardManager+UITextFieldViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UITextFieldViewNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+UITextFieldViewNotification.swift"; sourceTree = ""; }; + F08B835675FC3B2B76BF524188696605 /* DDViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDViewController.swift; path = DDControlsKit_Private/Classes/DDViewController/DDViewController.swift; sourceTree = ""; }; + F0B8B9E5E18E15C51D5AE7F97C852961 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = ""; }; + F113CBD7F04D6CCC85831A9030DE9DEC /* UIFont+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIFont+ZLPhotoBrowser.swift"; path = "Sources/Extensions/UIFont+ZLPhotoBrowser.swift"; sourceTree = ""; }; + F149A0BF49AB12D6E8CF838DA7A88028 /* JXCategoryBaseCellModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryBaseCellModel.m; path = Sources/Base/JXCategoryBaseCellModel.m; sourceTree = ""; }; + F153ED8AF19374D42F694E23CFAC422F /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; + F154D250460B8C5B24F4A0D5B54C1D42 /* SDAssociatedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAssociatedObject.h; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDAssociatedObject.h; sourceTree = ""; }; + F16C763A74016E4CEB71BA0AC0355626 /* EKAttributes+FrameStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+FrameStyle.swift"; path = "Source/Model/EntryAttributes/EKAttributes+FrameStyle.swift"; sourceTree = ""; }; + F17013D18F4391E35D8585BB7CDAD224 /* _CacheStoragePolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _CacheStoragePolicy.h; path = Sources/CustomHTTPProtocol/_CacheStoragePolicy.h; sourceTree = ""; }; + F1804ADC41FCCFA1D091A5BF477542C2 /* AMapSearchKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AMapSearchKit.framework; sourceTree = ""; }; + F18557C8B77D75B06843FB4CC1455772 /* EKAttributes+PopBehavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+PopBehavior.swift"; path = "Source/Model/EntryAttributes/EKAttributes+PopBehavior.swift"; sourceTree = ""; }; + F19F57C5B7FA6BDE84D6E6A8359B9569 /* DDAF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAF.swift; path = DDNetworkingOfAlamofireKit_Private/Classes/DDAF.swift; sourceTree = ""; }; + F1C91FBF36170A4E474C8C941580EF80 /* DDBaseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseView.h; path = DDBasicControlsKit_Private/Classes/DDBaseView/DDBaseView.h; sourceTree = ""; }; + F1F8235C7C903CE7404B1B2A05110EAC /* JXCategoryIndicatorCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorCell.m; path = Sources/Indicator/JXCategoryIndicatorCell.m; sourceTree = ""; }; + F21764A6E022B8FD54299263EE75FE33 /* MAPolygonRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAPolygonRenderer.h; path = AMapNaviKit.framework/Headers/MAPolygonRenderer.h; sourceTree = ""; }; F26CCFC26F3DA09504605CC57138E371 /* Pods-OrderScheduling-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-OrderScheduling-acknowledgements.plist"; sourceTree = ""; }; - F28A6484225A3970E35587291C2B5249 /* SDImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCoderHelper.m; sourceTree = ""; }; - F2A3757E11798233F632E32FFD550392 /* DDBaseMutableAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseMutableAttributedString.h; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseMutableAttributedString.h; sourceTree = ""; }; - F2CD3FFA4345FF5CC3DF730CBD677B6B /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - F2CD951579AD83651660B6C1CBD32018 /* NSBezierPath+SDRoundedCorners.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBezierPath+SDRoundedCorners.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h"; sourceTree = ""; }; - F2D57674FDEC7DDEF723E09C180B2E25 /* AMapNaviCommonObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCommonObj.h; path = AMapNaviKit.framework/Headers/AMapNaviCommonObj.h; sourceTree = ""; }; - F30558338CD7A0BE16C2AE1871F22132 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageCompat.h; sourceTree = ""; }; - F3B8FD3A49A449B4BC1A53E8BF2F87B9 /* SDWebImageIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageIndicator.h; sourceTree = ""; }; - F41D3E1FD86B1D7D1DCBEB3E6BAD7D30 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloader.m; sourceTree = ""; }; - F4C324C3EEB34624F7BE3C05A9C244DE /* MJRefresh.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJRefresh.release.xcconfig; sourceTree = ""; }; - F4D62476424FE5F64E46973F443EAE6A /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; }; - F4F2ACE58A0E8F8EA045D1E4F2249FF1 /* JXCategoryViewDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryViewDefines.h; path = Sources/Common/JXCategoryViewDefines.h; sourceTree = ""; }; - F50475A4033EF3E9DCA18AE00A8300F3 /* UIImageView+ZFCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+ZFCache.h"; path = "ZFPlayer/Classes/ControlView/UIImageView+ZFCache.h"; sourceTree = ""; }; - F51C9A5BC162BF8F01E07E57B795DD9C /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = ""; }; - F582067C0E2AEB4033BD733077584A58 /* UINavigationController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationController+DDCategory/UINavigationController+DDCategory.h"; sourceTree = ""; }; - F60E7F3A93AAA5FD7015855B4A90317D /* IQKeyboardManager+UITextFieldViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UITextFieldViewNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+UITextFieldViewNotification.swift"; sourceTree = ""; }; - F6772E0CFEE35EC2E79B96D1639DC02A /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+MJRefresh.m"; path = "MJRefresh/UIScrollView+MJRefresh.m"; sourceTree = ""; }; - F695846CFE7F772C3CAE8CB10A598038 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = ""; }; - F6AAFCEA85426C0BA2E6B812976B4495 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "DDWebImageKit_Private/Classes/SDWebImage/Core/UIView+WebCacheOperation.m"; sourceTree = ""; }; - F6AF2382654755E74E92431384F211A0 /* IQPreviousNextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPreviousNextView.swift; path = IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift; sourceTree = ""; }; - F6BC09B9E499C7B6740FA76E7A387E7C /* SharedSequence+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SharedSequence+Concurrency.swift"; path = "RxCocoa/Traits/SharedSequence/SharedSequence+Concurrency.swift"; sourceTree = ""; }; + F29AFF0B87A3191646CDE03B5FD2655A /* ZFPortraitViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFPortraitViewController.m; path = ZFPlayer/Classes/Core/ZFPortraitViewController.m; sourceTree = ""; }; + F2BB66B4B0D0319519803097BFA2C3C0 /* DDBaseMutableAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseMutableAttributedString.m; path = DDBasicControlsKit_Private/Classes/DDBaseAttributedString/DDBaseMutableAttributedString.m; sourceTree = ""; }; + F2EAF977DC5525FEDF0932405BFDF160 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDNetworkingOfAlamofireKit_Private-umbrella.h"; sourceTree = ""; }; + F30D1178290408849727C731BA081DB4 /* icon_file_type_torrent@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_torrent@3x.png"; path = "Sources/Resources/FileType/icon_file_type_torrent@3x.png"; sourceTree = ""; }; + F32A8BFDD9D03BE153982FAE0F904008 /* SDImageCachesManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCachesManager.h; sourceTree = ""; }; + F360F8391373C6630719BDAD8D1893C7 /* SDWebImageIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageIndicator.h; sourceTree = ""; }; + F3A1982B4D02F646AB38486BDB616310 /* EKAttributes+WindowLevel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+WindowLevel.swift"; path = "Source/Model/EntryAttributes/EKAttributes+WindowLevel.swift"; sourceTree = ""; }; + F3BEE8A43CD4DE0003908883606EA82C /* icon_file_type_ogg.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_ogg.png; path = Sources/Resources/FileType/icon_file_type_ogg.png; sourceTree = ""; }; + F416FF3902925A9990E429205B441557 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxCollectionViewDataSourceProxy.swift; path = RxCocoa/iOS/Proxies/RxCollectionViewDataSourceProxy.swift; sourceTree = ""; }; + F41C96292B34C8CE5A54B54965799DF9 /* UITextField+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextField+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITextField+DDCategory/UITextField+DDCategory.m"; sourceTree = ""; }; + F43A77B13813A04E536B507B24325F9E /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + F47D662EAF91AC72245DE05D55F06692 /* ControlProperty+Driver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ControlProperty+Driver.swift"; path = "RxCocoa/Traits/Driver/ControlProperty+Driver.swift"; sourceTree = ""; }; + F490A6DAFB70111208A9E5D71E1176CB /* JPush-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "JPush-xcframeworks.sh"; sourceTree = ""; }; + F4A661007F41C2CFF1D7223154AFCDE4 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; }; + F4B4CDB7A8B822F1C80EE598C8E03C92 /* CALayer+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+DDCategory.h"; path = "DDCategoryKit_Private/Classes/CALayer+DDCategory/CALayer+DDCategory.h"; sourceTree = ""; }; + F5080634D60618E75814559AEC968C81 /* EKSimpleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKSimpleMessage.swift; path = Source/Model/EKSimpleMessage.swift; sourceTree = ""; }; + F51FDE4D3098EBAFF7C75C0424D44119 /* icon_file_type_txt@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_txt@3x.png"; path = "Sources/Resources/FileType/icon_file_type_txt@3x.png"; sourceTree = ""; }; + F571620398BBD1B127B545511F718C22 /* MATraceReplayOverlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MATraceReplayOverlay.m; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay.m; sourceTree = ""; }; + F59CCE34F0361E99F1F2CC82F5649C50 /* AMapUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapUtility.h; path = AMapFoundationKit.framework/Headers/AMapUtility.h; sourceTree = ""; }; + F5A27C346CFBA606A67600167BD64A4A /* EKProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKProperty.swift; path = Source/Model/EKProperty.swift; sourceTree = ""; }; + F5CB7D1FBB1EB0C742CE91B6A3786DE5 /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + F5CBAB2A4B7326EB4A763D01A2A9999E /* _icon_file_type_logs@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "_icon_file_type_logs@2x.png"; path = "Sources/Resources/images/_icon_file_type_logs@2x.png"; sourceTree = ""; }; + F61D710A5B6E2DB064FA411E9E680088 /* icon_file_type_sql.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = icon_file_type_sql.png; path = Sources/Resources/FileType/icon_file_type_sql.png; sourceTree = ""; }; + F640EC32F3A617317DB086010BD50CE7 /* UITextView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITextView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UITextView+DDCategory/UITextView+DDCategory.m"; sourceTree = ""; }; + F664A61CC14E86AC4EF63B162141B083 /* icon_file_type_dmg@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_dmg@3x.png"; path = "Sources/Resources/FileType/icon_file_type_dmg@3x.png"; sourceTree = ""; }; + F69504D65989BCC3049374E2A26F1725 /* JXCategoryIndicatorRainbowLineView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorRainbowLineView.h; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.h; sourceTree = ""; }; + F6ACBE320348D45BDD0AEB844A6EB1CD /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; + F6B6C333A6241EE8C24828A71133F5A7 /* icon_file_type_eps@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "icon_file_type_eps@2x.png"; path = "Sources/Resources/FileType/icon_file_type_eps@2x.png"; sourceTree = ""; }; F6D00CA03F52F8332AAD8FEEC4AFD406 /* ESTabBarController-swift */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "ESTabBarController-swift"; path = "libESTabBarController-swift.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - F7077D80B6034CBC5A3CA926DCC3E799 /* UIColor+JXAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+JXAdd.h"; path = "Sources/Common/UIColor+JXAdd.h"; sourceTree = ""; }; - F72DDCCD14BC901481CCAB57B43D784E /* PublishRelay+Signal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PublishRelay+Signal.swift"; path = "RxCocoa/Traits/Signal/PublishRelay+Signal.swift"; sourceTree = ""; }; - F7A97239815B8632CA8DFCD0492AD8AA /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - F7D66775E00968277373F1820C28F35E /* MJRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJRefresh-dummy.m"; sourceTree = ""; }; - F81E824DDC9651C992EAB2C3D61F3BC7 /* DDAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAlamofire.swift; path = DDNetworkingOfAlamofireKit_Private/Classes/DDAlamofire.swift; sourceTree = ""; }; - F83784656FA2501DB6AE967A4B117DDC /* EKBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKBackgroundView.swift; path = Source/Infra/EKBackgroundView.swift; sourceTree = ""; }; - F86DEF77DE08B1B8D64F3B9B2F81A745 /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - F908B315CC454034AD4ED0594400DDDE /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - F910859BD4B8C52A2D0186E96A47368D /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; - F92345927AC878686CB228DC54101957 /* AMapNaviCompositeManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapNaviCompositeManager.h; path = AMapNaviKit.framework/Headers/AMapNaviCompositeManager.h; sourceTree = ""; }; - F9487F721F5E52BC459A280CD0CEE2F5 /* DDBaseButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseButton.m; path = DDBasicControlsKit_Private/Classes/DDBaseButton/DDBaseButton.m; sourceTree = ""; }; - F94E7C30AF4113D40F033CE1251D8D9C /* EKAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAttributes.swift; path = Source/Model/EntryAttributes/EKAttributes.swift; sourceTree = ""; }; - F9F3C9B151518EEBDF461EEA0CA27E02 /* ESTabBarController-swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "ESTabBarController-swift.modulemap"; sourceTree = ""; }; - FA015350D4502128CD60CBFF490CE446 /* MAParticleOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAParticleOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAParticleOverlayRenderer.h; sourceTree = ""; }; - FA480296131E6545AABF25FA63D5678E /* DDViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDViewController.swift; path = DDControlsKit_Private/Classes/DDViewController/DDViewController.swift; sourceTree = ""; }; - FA54EA1BA8502520206BEAB2EA052344 /* AMapLocationRegionObj.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapLocationRegionObj.h; path = AMapLocationKit.framework/Headers/AMapLocationRegionObj.h; sourceTree = ""; }; - FA5B6E0EEEB3D115ED16F5BE81F393D6 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Rx.swift"; path = "RxCocoa/iOS/UICollectionView+Rx.swift"; sourceTree = ""; }; - FA6D73D91931193645DC5DCAACE45CC5 /* JXCategoryListContainerRTLCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryListContainerRTLCell.h; path = Sources/Common/JXCategoryListContainerRTLCell.h; sourceTree = ""; }; - FA799D43F762585DC87BF9477FA7EA29 /* MAMapAccessibilityIdentifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMapAccessibilityIdentifier.h; path = AMapNaviKit.framework/Headers/MAMapAccessibilityIdentifier.h; sourceTree = ""; }; - FA88C85CE171FACB6F13C63F97BEE7A7 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - FAA950229E998C78347D87D2CEFC1B35 /* MAMVTTileOverlayRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMVTTileOverlayRenderer.h; path = AMapNaviKit.framework/Headers/MAMVTTileOverlayRenderer.h; sourceTree = ""; }; - FAC3C52D9723B4150F80AE78A7F9B60E /* SwiftEntryKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-prefix.pch"; sourceTree = ""; }; - FACCD1C35E459F0074DF9B0C1D6EB580 /* DDMATrackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMATrackManager.h; path = DDMAMapKit_Private/Classes/DDMATrackManager/DDMATrackManager.h; sourceTree = ""; }; - FACFC8E9247EA39745A9E5F36EBB017C /* DelegateProxyType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelegateProxyType.swift; path = RxCocoa/Common/DelegateProxyType.swift; sourceTree = ""; }; - FB2F40968639A96A1E9874ABC41124D1 /* IQKeyboardManager+OrientationNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+OrientationNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+OrientationNotification.swift"; sourceTree = ""; }; + F77B9155BBC70F9B55D38B976A99B683 /* MAMultiPointOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAMultiPointOverlay.h; path = AMapNaviKit.framework/Headers/MAMultiPointOverlay.h; sourceTree = ""; }; + F78B82F686C99D5E3FCD5D28D9D3BBBE /* UIImageView+ZFCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+ZFCache.h"; path = "ZFPlayer/Classes/ControlView/UIImageView+ZFCache.h"; sourceTree = ""; }; + F7A16749187D3F3F43E376E33E90BCB1 /* MJRefresh.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJRefresh.modulemap; sourceTree = ""; }; + F7B6AF123CEE144EACF7831822CE8454 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; + F8C13B9A355AE65EEFBBA2CE61E60245 /* JXCategoryListContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryListContainerView.m; path = Sources/Common/JXCategoryListContainerView.m; sourceTree = ""; }; + F8FDDFBF3AB7514782770C7A3077435B /* AMapSearchAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMapSearchAPI.h; path = AMapSearchKit.framework/Headers/AMapSearchAPI.h; sourceTree = ""; }; + F91DF1644ECCD0CEA8FF7B982A4A5462 /* UINavigationController+DDCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+DDCategory.h"; path = "DDCategoryKit_Private/Classes/UINavigationController+DDCategory/UINavigationController+DDCategory.h"; sourceTree = ""; }; + F9222413D22638923A88F2A5F4D02920 /* IQKeyboardManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Toolbar.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager+Toolbar.swift"; sourceTree = ""; }; + F92F321BB4E55085159A166D3AE0B3AD /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; + F9301673C57E48E85A74FA402F13062B /* DDBaseNavigationController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDBaseNavigationController.m; path = DDBasicControlsKit_Private/Classes/DDBaseNavigationController/DDBaseNavigationController.m; sourceTree = ""; }; + F97B035B2FC0F02D4F46F03F4DDBC718 /* NSBundle+MJRefresh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+MJRefresh.h"; path = "MJRefresh/NSBundle+MJRefresh.h"; sourceTree = ""; }; + F98691B2EEE112D76028B2530F5D2AA4 /* MAGltfOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAGltfOverlay.h; path = AMapNaviKit.framework/Headers/MAGltfOverlay.h; sourceTree = ""; }; + F9D29974CDEE8ADF2131B49108F27AD2 /* App.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = App.storyboard; path = Sources/Resources/App.storyboard; sourceTree = ""; }; + FA078A7DC1D4D3B6ED373937ADFD1D70 /* JXCategoryNumberCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryNumberCell.h; path = Sources/Number/JXCategoryNumberCell.h; sourceTree = ""; }; + FA2DB6492F43AA2D15BFF8D2AA8388B1 /* ZLPhotoPreviewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLPhotoPreviewController.swift; path = Sources/General/ZLPhotoPreviewController.swift; sourceTree = ""; }; + FA36B1D93388624FA13B96296A5E4D8F /* DDBasicControlsKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDBasicControlsKit_Private-dummy.m"; sourceTree = ""; }; + FA5B4E35C4B11F74D66EF8CC7C02587A /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence/PrimitiveSequence.swift; sourceTree = ""; }; + FA97221CB2D9C420F680791AE34F97C3 /* SDGraphicsImageRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDGraphicsImageRenderer.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDGraphicsImageRenderer.m; sourceTree = ""; }; + FAC3567B3706057947181707CB7D441A /* JXCategoryIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JXCategoryIndicatorView.h; path = Sources/Indicator/JXCategoryIndicatorView.h; sourceTree = ""; }; + FAC6C267852CD34A0F43106AD7D937DE /* ObservableConvertibleType+SharedSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableConvertibleType+SharedSequence.swift"; path = "RxCocoa/Traits/SharedSequence/ObservableConvertibleType+SharedSequence.swift"; sourceTree = ""; }; + FB3A4CD6B9F3160D225823370B691A8D /* Signal+Subscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Signal+Subscription.swift"; path = "RxCocoa/Traits/Signal/Signal+Subscription.swift"; sourceTree = ""; }; + FB6B7C2292D4282E9FF665310BBF5782 /* MJRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJRefresh-prefix.pch"; sourceTree = ""; }; FB908FBF9F755AFB285A27A674140F71 /* DDMAMapKit_Private-DDMAMapKit_Private */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "DDMAMapKit_Private-DDMAMapKit_Private"; path = DDMAMapKit_Private.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - FBAFBD781175E6C6398E0A44BE1F8B6D /* IQToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbar.swift; path = IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift; sourceTree = ""; }; - FBBDD455178253285C1140F16938E2E8 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; - FBCEF9CC7CBCEE33F7C0C4B249F80823 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = RxRelay/Utils.swift; sourceTree = ""; }; - FC0D2CA2018F91D073ABF8D0DE886B5B /* RxTabBarDelegateProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTabBarDelegateProxy.swift; path = RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift; sourceTree = ""; }; - FC339C40C2F8ECB9DB3112F061D8CF40 /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCache.m; sourceTree = ""; }; - FC428A78E9DAD599CC8A926A5A9D5682 /* Cell+ZLPhotoBrowser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Cell+ZLPhotoBrowser.swift"; path = "Sources/Extensions/Cell+ZLPhotoBrowser.swift"; sourceTree = ""; }; - FC46BB03131E5E9E492F9CD7E63C7CB1 /* SDInternalMacros.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDInternalMacros.m; path = DDWebImageKit_Private/Classes/SDWebImage/Private/SDInternalMacros.m; sourceTree = ""; }; + FBB89CED21635507EA4C2D8E98EF0BCE /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + FBEF389579F6F14571E360859F08F9F7 /* ZFLandscapeWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ZFLandscapeWindow.m; path = ZFPlayer/Classes/Core/ZFLandscapeWindow.m; sourceTree = ""; }; + FC26E43AD2C01465DB1A7B67F800A077 /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + FC2F4DCCBFEAD560CA85A42980F44FCD /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCacheConfig.m; sourceTree = ""; }; FC6ADF39936BEB2CFFFD7E2E76154921 /* Pods-OrderScheduling.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OrderScheduling.debug.xcconfig"; sourceTree = ""; }; - FC97898A6DA63C7DF9B7C8198ADB37EA /* DDMAMapKit_Private-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDMAMapKit_Private-dummy.m"; sourceTree = ""; }; - FCA8B66E83D344385EBF7FB29AC18EBA /* ZFIJKPlayerManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZFIJKPlayerManager.h; path = ZFPlayer/Classes/ijkplayer/ZFIJKPlayerManager.h; sourceTree = ""; }; - FCB09B991E6761C590DE3A69C76C440A /* UIView+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+DDCategory.m"; path = "DDCategoryKit_Private/Classes/UIView+DDCategory/UIView+DDCategory.m"; sourceTree = ""; }; - FCF57C1D146522E48A7EEA9AA297EF02 /* DDBaseViewModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDBaseViewModel.h; path = DDBasicControlsKit_Private/Classes/DDBaseViewModel/DDBaseViewModel.h; sourceTree = ""; }; - FD3967C066C004CA8E0B6BCEC9579F93 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/PrimitiveSequence/Completable+AndThen.swift"; sourceTree = ""; }; - FD44EAAED1E671A7BCD36F1D66F6F343 /* DDAutoUIKit_Private-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDAutoUIKit_Private-umbrella.h"; sourceTree = ""; }; - FD682AFA44F8EC8B6496336C610C55A4 /* RxSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.debug.xcconfig; sourceTree = ""; }; - FD8E4E2824EAB6B2BA3BF0799C9BF4FE /* MATraceReplayOverlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MATraceReplayOverlay.h; path = DDMAMapKit_Private/Classes/DDMAMap/Trace/MATraceReplayOverlay.h; sourceTree = ""; }; - FD934287F0405AB55C78075CEB5A982E /* JXCategoryIndicatorBackgroundView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JXCategoryIndicatorBackgroundView.m; path = Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.m; sourceTree = ""; }; - FDD25499B57DC058CABA547DD181B783 /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDImageCache.h; sourceTree = ""; }; - FE952CA0D88EBB665949BF7B2530C337 /* ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; sourceTree = ""; }; - FED3277627CB31B80D833E787B106378 /* EKPopUpMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKPopUpMessage.swift; path = Source/Model/EKPopUpMessage.swift; sourceTree = ""; }; - FEDD68B76874DFA5F819713CE810A383 /* NSURL+DDCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DDCategory.m"; path = "DDCategoryKit_Private/Classes/NSUrl+DDCategory/NSURL+DDCategory.m"; sourceTree = ""; }; - FF58C1C222A1AAB5A7A5DCEEBF4FC27E /* MAOfflineProvince.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MAOfflineProvince.h; path = AMapNaviKit.framework/Headers/MAOfflineProvince.h; sourceTree = ""; }; - FF5C653DE425DA77FF764E580694FBAC /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + FC764ACA333DF29FCB7F91020048F90A /* EKAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EKAttributes.swift; path = Source/Model/EntryAttributes/EKAttributes.swift; sourceTree = ""; }; + FCA9F4F7CB3BA61106A9ABBBE912C65B /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDAnimatedImage.m; sourceTree = ""; }; + FCBA03778542A9097124F100F4DE65F8 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + FCF9D5BD39CF3E2BAC8AA3F34FCECABE /* MJRefreshNormalTrailer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJRefreshNormalTrailer.h; path = MJRefresh/Custom/Trailer/MJRefreshNormalTrailer.h; sourceTree = ""; }; + FD15F272C0470D447E79A5E015F36E7B /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = ""; }; + FD5F002178EC4134FDF10526F1743D13 /* ZFPlayer.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = ZFPlayer.bundle; path = ZFPlayer/Classes/ControlView/ZFPlayer.bundle; sourceTree = ""; }; + FE1955E8B0BA1650B135345FDEE25E78 /* DDToastKit_Private-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDToastKit_Private-prefix.pch"; sourceTree = ""; }; + FEA868AB51B667439A7B584C615DE46E /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJRefreshBackNormalFooter.m; path = MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.m; sourceTree = ""; }; + FF064347D659A8E60AB7F4DB7113B292 /* MACircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MACircle.h; path = AMapNaviKit.framework/Headers/MACircle.h; sourceTree = ""; }; + FF22E478404E00AE20BDBA76239B0347 /* _HttpDatasource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _HttpDatasource.m; path = Sources/Network/_HttpDatasource.m; sourceTree = ""; }; + FF636898D2A067D5EF99CEFE10377292 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = DDWebImageKit_Private/Classes/SDWebImage/Core/SDWebImageDownloaderOperation.h; sourceTree = ""; }; FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = RxRelay; path = libRxRelay.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FFF8D5624F6905F46FBD5577A1FBC035 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; + FFCED4D28AA92822F2E573E59FDECC57 /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift; sourceTree = ""; }; + FFD5DF1EFCCC5DABE4D97679B4BD236E /* EKAttributes+Validations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EKAttributes+Validations.swift"; path = "Source/Model/EntryAttributes/EKAttributes+Validations.swift"; sourceTree = ""; }; + FFE0A298F288D0CAE07DB657A327960F /* RxTableViewDataSourcePrefetchingProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxTableViewDataSourcePrefetchingProxy.swift; path = RxCocoa/iOS/Proxies/RxTableViewDataSourcePrefetchingProxy.swift; sourceTree = ""; }; + FFF4C5054DDCF2B3E99D0E0DB82E6F08 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; + FFF8706FC22FFDAF4CCB948313790CF1 /* ZLCustomAlertProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZLCustomAlertProtocol.swift; path = Sources/General/ZLCustomAlertProtocol.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -2868,21 +3375,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 1A6D219B347217475A502ECFEBD87DF2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 23098443C4DFA1147CAAE92E78D2E99B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 26B104F0656210639EF1E9BE82147BE7 /* Frameworks */ = { + 14142993DA032E74229312CC275FDAEE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -2896,20 +3389,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3820D23C5D6C3BF313BF6B8EDA283E04 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 53CD1BF26013DB3C220384135205E4A5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 56B8475E400E7376978326EEE1692857 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2917,13 +3396,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 59854BC4771BB5C74DF242CBFA1E798A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 60B8EAE69A40B5978C1AA1357CE89851 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2938,6 +3410,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6D50F167F659AAC8A8236B9F4CF751D3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 7531B4584030BC19F9CE3190BE20BA34 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2980,7 +3459,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 85ED3882D716E5A48B988746906E784D /* Frameworks */ = { + 87CADDC80D198655B9FC6BD2A102562E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -2994,6 +3473,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 8883783983D3D0C9A285E6E9CAF13C6B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 912C4001FB52FC3A89C08F419688D2AF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 925A0BC02B700FFE1FBFCAC4B7167920 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -3001,6 +3494,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AC00E7C41618BE00874ABE52C78FA9E7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B09F55AC7ECC3064B90B38E519E21DE1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B5D363AC2D05E0B84F283A0CA07C5955 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -3008,6 +3515,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B6C829822720D26F5A5274A2C19A9D78 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B88F8F6E2CE905ABF7D46355D81603BE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -3015,6 +3529,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BF4FADFE8720533213FCE0E273F845B5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; C3CE3F30FA784236ECFFFE204B26A29F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -3022,7 +3543,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C5B5776F510F806AEE6DA160D7791392 /* Frameworks */ = { + D3C2CF5E2CE9741089FC3202AE5F2B85 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EDD8F7A7A6117795D7C0556BCEFE95BD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -3043,7 +3571,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FCD8E07EAC023765E1275E4E770D40BF /* Frameworks */ = { + F7B7BBBD8402C4D3BE58D04C506E447B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -3053,388 +3581,297 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0039BC0ADA5A0C76424B34CAD28862B3 /* AMapSearch-NO-IDFA */ = { + 01242DEF4565D398B7F5D4AD8AAD09F6 /* Support Files */ = { isa = PBXGroup; children = ( - DDC5507E44FAC12FECCC414CE6D83FE2 /* AMapCommonObj.h */, - A1E1575C0D7C3447DAC4942AE29C93ED /* AMapNearbySearchManager.h */, - 8CBDEBA5C0D99DE54BD347AAF4841013 /* AMapNearbyUploadInfo.h */, - 8C147CBA828D0FE420F62A6F1E479286 /* AMapSearchAPI.h */, - 854EB0BA487481A9888B46E9C95F8B4B /* AMapSearchError.h */, - 733C68337175011F89791D45C841D3AF /* AMapSearchKit.h */, - 295309D3D89C264FC62A9F4F35F03F66 /* AMapSearchObj.h */, - D95C9099562AED806E4F128ED491C764 /* AMapSearchVersion.h */, - 423C287C9FA867494E8E00242C0EE222 /* Frameworks */, - D063408BBF1CAAF5661503A72BAD31DB /* Support Files */, - ); - name = "AMapSearch-NO-IDFA"; - path = "AMapSearch-NO-IDFA"; - sourceTree = ""; - }; - 0310A56CF9F571B3E2394F5331403C27 /* DDScrollView */ = { - isa = PBXGroup; - children = ( - ); - name = DDScrollView; - sourceTree = ""; - }; - 033481F28BABF20CB86D8DE170891D75 /* DDNetworkingOfAlamofireKit_Private */ = { - isa = PBXGroup; - children = ( - 6A70FD457784DA34D4D7D48DF315F2F4 /* DDAF.swift */, - F81E824DDC9651C992EAB2C3D61F3BC7 /* DDAlamofire.swift */, - 60CBDAFF00D3D510BCD3930854E3DDC2 /* Support Files */, - ); - name = DDNetworkingOfAlamofireKit_Private; - path = DDNetworkingOfAlamofireKit_Private; - sourceTree = ""; - }; - 06EC4582BA8352135543F89BCB681E81 /* UIButton+DDCategory */ = { - isa = PBXGroup; - children = ( - 99659605CC6BDAA93B2723E365F27DCC /* UIButton+DDCategory.h */, - 709E03F2D2329C6B0C579E955BBB2001 /* UIButton+DDCategory.m */, - ); - name = "UIButton+DDCategory"; - sourceTree = ""; - }; - 06FCD61E47745C4ABF7238F2618B3D70 /* OCLog */ = { - isa = PBXGroup; - children = ( - 62AC6FC10F28F035D5A5C26EAAEDF26B /* DDOCLog.h */, - ); - name = OCLog; - sourceTree = ""; - }; - 074CD6D72A8F399EC7281157AA3277B1 /* Support Files */ = { - isa = PBXGroup; - children = ( - F0A5C59E8F03B318E4DBEB94CB7DFCAC /* ZLPhotoBrowser.modulemap */, - 95C00C565F380008DE13EE2EA336630A /* ZLPhotoBrowser-dummy.m */, - 1D93D6BAF3964B054A11084A6F74A543 /* ZLPhotoBrowser-prefix.pch */, - 5E46AF19AAB498E7202B93FD78FC57A8 /* ZLPhotoBrowser-umbrella.h */, - 5663CA1A072365E079AB0279D374A49B /* ZLPhotoBrowser.debug.xcconfig */, - 96E89F65F46227D013A084E4182B4E6A /* ZLPhotoBrowser.release.xcconfig */, + 361ECF3A3A95BFDBAC9E1A2A7EBCBEC1 /* AMapTrack-NO-IDFA.debug.xcconfig */, + 782191E1A03F33C0F53E199A14033766 /* AMapTrack-NO-IDFA.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/ZLPhotoBrowser"; + path = "../Target Support Files/AMapTrack-NO-IDFA"; sourceTree = ""; }; - 08F8B9AD4CB090196E20043C614FE99A /* Alamofire */ = { + 023F3B93F9130C3DF265760A3103720D /* SDWebImage */ = { isa = PBXGroup; children = ( - DF008939493DF8F729DA835313213EEB /* AFError.swift */, - 6F277C340A7A006E94FF23EE5D81E3F0 /* Alamofire.swift */, - D49FAE8A72DFCA2F93F4B6CF57447AEE /* AlamofireExtended.swift */, - 8E7FE97D98A6687D74971988BE5E1F63 /* AuthenticationInterceptor.swift */, - 394570F9DDF81CD9B94EFE0886DBD34F /* CachedResponseHandler.swift */, - 155E658252BFB49AE6BC481503E1E5D0 /* Combine.swift */, - D102B32967A0F8B7DBFB24F571902F89 /* Concurrency.swift */, - 4FEABAAF319552DABBFA1DFC3BCEA94D /* DispatchQueue+Alamofire.swift */, - 390FECAACB630E47B5EF76D29F773B01 /* EventMonitor.swift */, - A529E541E350313960BF06504229E2FB /* HTTPHeaders.swift */, - 472D0CAC5BE65093CB3FAB7F08CBFFFB /* HTTPMethod.swift */, - E1ADBE6DAED45D78118E49ACD4A099FC /* MultipartFormData.swift */, - A6E789DAA341F3F6952B2547575114E6 /* MultipartUpload.swift */, - 497BA4A8702676F2B7E91C882C273CC6 /* NetworkReachabilityManager.swift */, - 123EA8437196FBB5BBAAF553EE28125C /* Notifications.swift */, - E7C070830DB39B04D1426A1BFFC4AC5A /* OperationQueue+Alamofire.swift */, - D6C08B1BEBDDE6AED4A18016E6475E99 /* ParameterEncoder.swift */, - B1EA033DA39BDA88EFC4D30EAA3442C1 /* ParameterEncoding.swift */, - 2FFE94E872A20CDFA4F6734001B4F3F9 /* Protected.swift */, - F910859BD4B8C52A2D0186E96A47368D /* RedirectHandler.swift */, - 010AE870904B558F643A0BF4918BD29E /* Request.swift */, - 93D8E1DC22B5C3AE073615700D1B0D05 /* RequestCompression.swift */, - 561EC9FEB48CCE69B0E0E07CF2DD068C /* RequestInterceptor.swift */, - 4F69157DC9ADD23A6763AFBD3FCB2D0A /* RequestTaskMap.swift */, - 0D97AA4136D41CC3759887BAB465F8DA /* Response.swift */, - 15D6BA9EEFDEEF9CCCC8FC7E82D67804 /* ResponseSerialization.swift */, - 1DD45BA2A6EA209B7E418B11E5564A3A /* Result+Alamofire.swift */, - D5EC94DD26BAC8B13328FE3EC11F63E2 /* RetryPolicy.swift */, - 70AC6387273B76F2447DA736EF05CE80 /* ServerTrustEvaluation.swift */, - CE32D2ADA8C2E778E0CEA3C761119CC8 /* Session.swift */, - BDF31BEF1E0A59F38D8401940AF402FC /* SessionDelegate.swift */, - 1A4D674B291CADFF476B81EB524D1364 /* StringEncoding+Alamofire.swift */, - 7BD55BA9B48C8F8041A3826CB6F4D63F /* URLConvertible+URLRequestConvertible.swift */, - 33F710F7F397E96CB625FE408833B0E9 /* URLEncodedFormEncoder.swift */, - 63104D7A857EB9E34F39BB661B5742AF /* URLRequest+Alamofire.swift */, - BBCE7A80F1B98B9D13BA47D4B98F458B /* URLSessionConfiguration+Alamofire.swift */, - FA88C85CE171FACB6F13C63F97BEE7A7 /* Validation.swift */, - 895161D184A23BD173A4E518E95EC747 /* Support Files */, + 46F711BC307B0BBEF5847972828F09BE /* Core */, + 5DD5B7206E28D4235F48A290BE6DE84F /* MapKit */, ); - name = Alamofire; - path = Alamofire; + name = SDWebImage; sourceTree = ""; }; - 093EC02BFA7F0E7FECFB02537713C5E0 /* DDToastKit_Private */ = { + 02643E85E020171255792465E40B9AD6 /* UINavigationBar+DDCategory */ = { isa = PBXGroup; children = ( - 6A6B8A60505AAC4D33D7CC0A4311A195 /* SwiftToast.swift */, - B51DCF5361619CF1F74D7D4DC2369764 /* Toast.swift */, - D257097E8C163ECFEFBF73471D84AA97 /* Support Files */, + 678922BF7FDA5955BFD767DFC4FDA4BE /* UINavigationBar+DDCategory.h */, + BCCDD7F9BB477412DAD4F5E45559A7A8 /* UINavigationBar+DDCategory.m */, ); - name = DDToastKit_Private; - path = DDToastKit_Private; + name = "UINavigationBar+DDCategory"; sourceTree = ""; }; - 094BC91BA0B99D83B7283AC41DF3539F /* UITableView+DDCategory */ = { + 055105D10F48D83A56955459076D2563 /* Overlay */ = { isa = PBXGroup; children = ( - 82C7E92DB64EB4AEDDA8F9859554DCAF /* UITableView+DDCategory.h */, - 36775DB63F8830B51329D407EC250ACA /* UITableView+DDCategory.m */, + B075289DF9FB32E06CCA8AE484F2B4BA /* MABaseOverlay+DDCategory.h */, + 7DE2F8437EA87F882D81131D1C5E0B81 /* MABaseOverlay+DDCategory.m */, ); - name = "UITableView+DDCategory"; + name = Overlay; sourceTree = ""; }; - 0A50D8F6173B9D563AC73C8D74CCA73D /* DDBaseViewController */ = { + 05C0F84426476181453FF09C43102D86 /* Development Pods */ = { isa = PBXGroup; children = ( - 5C692F8F5F79CEA290005199366E27CD /* DDBaseViewController.h */, - C8F519FF500E6B43223BD4C14E6E4D2D /* DDBaseViewController.m */, - 71A7FEF865B74E8BEF0BFED456FBE1E8 /* Resources */, + 5A6EA8B7CA21C3A33ED3DF811C0C9701 /* DDProgressHUDKit_Private */, + 1CAF2AE60F6F80354A5B31FF4495CD89 /* ZFPlayer */, ); - name = DDBaseViewController; + name = "Development Pods"; sourceTree = ""; }; - 0B8A2878CDE1996296A3FBEF65A2D1E1 /* ijkplayer */ = { + 05D9DCFB933A6F61DBC7E47F7D530CF6 /* DDBaseLabel */ = { isa = PBXGroup; children = ( - FCA8B66E83D344385EBF7FB29AC18EBA /* ZFIJKPlayerManager.h */, - 03E7F513009F9EFEF39E8285EE92C1D9 /* ZFIJKPlayerManager.m */, - D80ED0537AEA647AFCDB551574CA632F /* Frameworks */, + 3FDE358714555492C683865C73355812 /* DDBaseLabel.h */, + 4B13C8B5B46A245089FD6C811E9C11D1 /* DDBaseLabel.m */, ); - name = ijkplayer; + name = DDBaseLabel; sourceTree = ""; }; - 0D9C23219CB69CC60FF9432CFDBC2ABF /* UIScrollView+DDCategory */ = { + 06DC7D5F37052B58F97085A3A5A6CA15 /* DDMATrackManager */ = { isa = PBXGroup; children = ( - C7D379ADE76E8467A45DC74F01AF011B /* UIScrollView+DDCategory.h */, - AD2AF6776DA64214898C782B9BCAA65C /* UIScrollView+DDCategory.m */, + 811AB5883718661229CA4D3F5EE88647 /* DDMATrackManager.h */, + 62950EB201C90A8FC96A6B70F464A594 /* DDMATrackManager.m */, ); - name = "UIScrollView+DDCategory"; + name = DDMATrackManager; sourceTree = ""; }; - 0E62D5471761AEA01E1C2A6AC7E86285 /* DDMAUtil */ = { + 0A7CE94C1A6B2E0C7D9D044AAD3D5349 /* SwiftLog */ = { isa = PBXGroup; children = ( - E6076C4ED2EA481C1EB7A7618021A959 /* DDMAGeometry.h */, - 94B22ABA3C74CC2836D0004485BE2A5E /* DDMAGeometry.m */, + E3625B3BCB16D80333B616881084D932 /* DDSwiftLog.swift */, ); - name = DDMAUtil; + name = SwiftLog; sourceTree = ""; }; - 0EB6C4AB0B87D4A79C37D6DFEA78AAA6 /* NSBundle+DDCategory */ = { + 0AAA3ADEBD8D7BD61DB701501E8FFE62 /* Support Files */ = { isa = PBXGroup; children = ( - 1922A6A0E02D95253C80396B37E10287 /* NSBundle+DDCategory.h */, - ADCB5BB9CF089B390C36557C68ED136D /* NSBundle+DDCategory.m */, - ); - name = "NSBundle+DDCategory"; - sourceTree = ""; - }; - 136A75D40643FE2B0B8D1F7D4C710B37 /* Support Files */ = { - isa = PBXGroup; - children = ( - 36578A8C271722BB62B2C9A2C59D036B /* DDColorKit_Private.modulemap */, - 19ED9AFA84256D06A364CFCCEB118D95 /* DDColorKit_Private-dummy.m */, - 385B33E58D048629804CEF8234843042 /* DDColorKit_Private-prefix.pch */, - E8A1AE7BA2A03C0A4D86F4BACB7A1AE7 /* DDColorKit_Private-umbrella.h */, - E1EF137B5FB3A7465B998DDF44EFE49D /* DDColorKit_Private.debug.xcconfig */, - 8DDF1C7F1CE9A6ED5210FF605A8CC6B2 /* DDColorKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDColorKit_Private"; - sourceTree = ""; - }; - 14E6F051B83DC78F0B593EDA21535E46 /* MapKit */ = { - isa = PBXGroup; - children = ( - 385FE6D9FEA4E825C5CE500B4F2D5452 /* MKAnnotationView+WebCache.h */, - 68081FD334F8368F3621E211F156F843 /* MKAnnotationView+WebCache.m */, - ACD388ECFBA70058193504DC32919672 /* SDWebImageMapKit.h */, - ); - name = MapKit; - sourceTree = ""; - }; - 15E80423D9176FCB647AB43134B7B0A4 /* DDViewController */ = { - isa = PBXGroup; - children = ( - ); - name = DDViewController; - sourceTree = ""; - }; - 1668675CA292D902E0F4694C05C65A00 /* Pod */ = { - isa = PBXGroup; - children = ( - 9904261E3BD7FEC0A0193292B51B956B /* LICENSE */, - E2CF77683043F7A01B9D24659EF9EEB6 /* README.md */, - 2494FB423FC2303D71E57FC30E17B524 /* ZFPlayer.podspec */, - ); - name = Pod; - sourceTree = ""; - }; - 18C41E30E81C05C17A61F66E464B0B0E /* NSObject+DDCategory */ = { - isa = PBXGroup; - children = ( - 54B41AA168CD2E6E2D564F588515AB56 /* NSObject+DDCategory.h */, - 3C27622A58C8B6DF947096DB8C5F2C27 /* NSObject+DDCategory.m */, - ); - name = "NSObject+DDCategory"; - sourceTree = ""; - }; - 194C0DE220F1747CD777C84F6A388A30 /* Support Files */ = { - isa = PBXGroup; - children = ( - B415E192D01230D9E586DD05F954ADAB /* RxCocoa.modulemap */, - A3A433C6862640B5AFCB1ADBCD2F39FB /* RxCocoa-dummy.m */, - B02FCA8BF9B852D1E71DA914B3190670 /* RxCocoa-prefix.pch */, - 210482A0B5EA060C10B2891EE460AB48 /* RxCocoa-umbrella.h */, - 593F35D092636E3E23F968C96B14DCE1 /* RxCocoa.debug.xcconfig */, - 28FB29DA3123736C7E215143607466F9 /* RxCocoa.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/RxCocoa"; - sourceTree = ""; - }; - 195E5F02266E50FCF5BE5F2939003C78 /* Support Files */ = { - isa = PBXGroup; - children = ( - 8DF49A57FA5196B94936EB68BB5D8971 /* RxSwift.modulemap */, - F86DEF77DE08B1B8D64F3B9B2F81A745 /* RxSwift-dummy.m */, - 96D8E9D65B5B66026B82C3B460946FDA /* RxSwift-prefix.pch */, - 94BDD6AB182AF707EE218C2F7956DBE2 /* RxSwift-umbrella.h */, - FD682AFA44F8EC8B6496336C610C55A4 /* RxSwift.debug.xcconfig */, - C96CC849FB536D0DEEC488D2D424FAA2 /* RxSwift.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/RxSwift"; - sourceTree = ""; - }; - 1B2A7D12645B780AA53C9A2D97055BEF /* Support Files */ = { - isa = PBXGroup; - children = ( - BAB111B9CFDBCC7B7ABB254E56E2DC3D /* DDTimerKit_Private.modulemap */, - 875DB0046FB6C0EC237887E08B7E17C5 /* DDTimerKit_Private-dummy.m */, - 4AB9AE9567BD8A36DDDF2F7C2E19AF07 /* DDTimerKit_Private-prefix.pch */, - 452349DDBDA49A5CE96DA6A4332B3996 /* DDTimerKit_Private-umbrella.h */, - 4C616D73C4D59FA9980D5AFB3E84FC37 /* DDTimerKit_Private.debug.xcconfig */, - BD799FB44D63CB12B2556C100956D9C7 /* DDTimerKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDTimerKit_Private"; - sourceTree = ""; - }; - 1BDA0D668CF4110765AB7F36219B8314 /* ControlView */ = { - isa = PBXGroup; - children = ( - F50475A4033EF3E9DCA18AE00A8300F3 /* UIImageView+ZFCache.h */, - E4F3CD2FAC247BD349A40689ABE4678E /* UIImageView+ZFCache.m */, - D17E7AD20B4509C25300DFCCFCAE2677 /* UIView+ZFFrame.h */, - 1867ED0683C2B3C3CD5181FAE11897BD /* UIView+ZFFrame.m */, - D0DD762BCFA4928914EFC99817077EC2 /* ZFLandScapeControlView.h */, - CFE3C042721479245305B79C90CDE196 /* ZFLandScapeControlView.m */, - 8475CE286E56A5E8C8499499FD93D8C0 /* ZFLoadingView.h */, - 9339DC4713C9F7B26810C40B1FC88B24 /* ZFLoadingView.m */, - 313BA2413E18C186F215E2194646CB41 /* ZFNetworkSpeedMonitor.h */, - 6A311D7DBB05B458B3E1C949116A17A9 /* ZFNetworkSpeedMonitor.m */, - F19F949F19BD7CEDBF253DA9DB964B88 /* ZFPlayer.bundle */, - 00257CDC53E7411DD00B8B7D13C90DE7 /* ZFPlayerControlView.h */, - 4A6AF21223B24F018A05A4873B47C70C /* ZFPlayerControlView.m */, - 1A910660C0BC02E8C630FE027B3C1967 /* ZFPortraitControlView.h */, - 4C16D8C7CAC7C86DD477EABB84CAB943 /* ZFPortraitControlView.m */, - A2D926051E80660C0DC4462304615993 /* ZFSliderView.h */, - D12FCD5B0D26C094865614C081E0F359 /* ZFSliderView.m */, - 00CCA1156397CACC6B95796D41857CD9 /* ZFSmallFloatControlView.h */, - 24B8710F9AC5232F5B7CC0354EDA54E8 /* ZFSmallFloatControlView.m */, - DDF5A4A690EBD2EFB0302229151A50E4 /* ZFSpeedLoadingView.h */, - C977ACA4AFB8B25147715F669A532B7A /* ZFSpeedLoadingView.m */, - C0BEB0DC85F193FDD402A449F5C4B012 /* ZFUtilities.h */, - 499CDE5D5569981AF7D2160EC56D6EA5 /* ZFUtilities.m */, - CFBAE3B953FAB8519A0D069E74F1AD95 /* ZFVolumeBrightnessView.h */, - F0D7DE153DDDC520A02D60EC9314D9CE /* ZFVolumeBrightnessView.m */, - ); - name = ControlView; - sourceTree = ""; - }; - 1C00E8FE3C6837EA03B9569F2B64F5F7 /* DDBaseModel */ = { - isa = PBXGroup; - children = ( - E1156D60638AF40D9BE94224511CE98F /* DDBaseModel.h */, - 6323E22682E823FB3CEE920AFC4B3B5C /* DDBaseModel.m */, - ); - name = DDBaseModel; - sourceTree = ""; - }; - 1C1ECADC597EAE1A0F7F236288BCAC48 /* Support Files */ = { - isa = PBXGroup; - children = ( - BD90C067D520A6E4C5B568ADEA3FBF3D /* DDCategoryKit_Private.modulemap */, - CBA498E8511AF29C34084CF8B84D3234 /* DDCategoryKit_Private-dummy.m */, - 4D9A04B8AE2F030790550FCCF2A03F03 /* DDCategoryKit_Private-prefix.pch */, - 58EF45C259FC525460EEF12880FB679C /* DDCategoryKit_Private-umbrella.h */, - 7BDAC755C5BF3B76A4E4C6365C7B1599 /* DDCategoryKit_Private.debug.xcconfig */, - 34DD58A54E7FDEC80E1477F08DCF7F30 /* DDCategoryKit_Private.release.xcconfig */, + 5BE135D7C93E10224C984D1E794C1C85 /* DDCategoryKit_Private.modulemap */, + 1C3437F47A32E8BC4862BB1ADAC8692C /* DDCategoryKit_Private-dummy.m */, + BE43065127B14FB41ED5A3FF4B17238C /* DDCategoryKit_Private-prefix.pch */, + CE5E2CB13CEE1F527F64966CD160F81A /* DDCategoryKit_Private-umbrella.h */, + 7CF864BC6FE042C7B90DCE11EA8080B1 /* DDCategoryKit_Private.debug.xcconfig */, + 76040B9F9791E5BEA10329D8B991B389 /* DDCategoryKit_Private.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/DDCategoryKit_Private"; sourceTree = ""; }; - 1C4D6DFC56C706FED9D7AA790870B3F9 /* DDBasicControlsKit_Private */ = { + 0BA6C5D35C2A0C564557792086DC080C /* Support Files */ = { isa = PBXGroup; children = ( - 4A152A69D2085D0B22F6FEF4C90593C3 /* DDBasicControls.h */, - 4AA745F08516941CF89633E16A54CAD5 /* DDBaseAnimation */, - 562E66C2185BF4817A46A2FA89273E19 /* DDBaseAttributedString */, - 74A7EF229C4D91A16916A94C6A89BFEE /* DDBaseButton */, - 998B9EE1994150126483FB47D0ED407E /* DDBaseCollectionView */, - 309E6AA65FCF7D0CAC8BA7773217E373 /* DDBaseCollectionViewCell */, - CA20B5095C414F02AEA0E58529CF295D /* DDBaseImage */, - CE8C83AB6C840084D50490CC2B74B67E /* DDBaseImageView */, - DB18742FC750B5E87A02EDB1E9F257CC /* DDBaseLabel */, - 1C00E8FE3C6837EA03B9569F2B64F5F7 /* DDBaseModel */, - 953E1D59DF1FD9B3E16A58EE67C48C1B /* DDBaseNavigationController */, - F1F1F1DCFCD73D76487B94CF9661BE5C /* DDBaseScrollView */, - B6766B37CD1DEFF4A0AF22CBED607DFC /* DDBaseTabBarController */, - C7FB2EB7A1EA82597F5E57947E53268D /* DDBaseTableView */, - C9F7E41D2EE8FD5C721C1828C3F87F40 /* DDBaseTableViewCell */, - C38E68029741F92493E5CB25EE063D82 /* DDBaseTextField */, - C4F3E8E3657C7496DB98CB162B8780DA /* DDBaseTextView */, - 84C49A36D476EB749B01353964C6FF96 /* DDBaseView */, - 0A50D8F6173B9D563AC73C8D74CCA73D /* DDBaseViewController */, - 22959DC6427B95DE690DAB6FFF2CE375 /* DDBaseViewModel */, - 5738AC69738E5A7A9282B69E10F58F8F /* Support Files */, + F490A6DAFB70111208A9E5D71E1176CB /* JPush-xcframeworks.sh */, + C29B0549CB571681B5FC3BA81ED3B270 /* JPush.debug.xcconfig */, + 2C1C4A3E2178000E5EFB7C49B94F661B /* JPush.release.xcconfig */, ); - name = DDBasicControlsKit_Private; - path = DDBasicControlsKit_Private; + name = "Support Files"; + path = "../Target Support Files/JPush"; sourceTree = ""; }; - 1DC64D35DB9B8B7299CCE82945B7EF34 /* AMapTrack-NO-IDFA */ = { + 0E8FC417EA0933A904760EA4EA36862E /* AMapSearch-NO-IDFA */ = { isa = PBXGroup; children = ( - 249FB8E30AB77F8ECDEFAFC1BCBD23CA /* AMapTrackCommonObj.h */, - 2C7FF24B0375D4BD20770A85FD4F886C /* AMapTrackError.h */, - 38F770A3EED67057327DBE18FA251D3D /* AMapTrackHistoryObj.h */, - 9A6F470D6F4CF8DDF628297AA612407B /* AMapTrackKit.h */, - A40168800344847972A4825C2FAB8150 /* AMapTrackManager.h */, - C6A744626628FD59D3A11A798EDD7499 /* AMapTrackManagerOptions.h */, - 42D0EDAFDA0C0FE5B10887DC21F24494 /* AMapTrackTerminalObj.h */, - 8E56C647712E112123CD9BFC001DE303 /* AMapTrackTrackObj.h */, - 8DDEA765E320050FD94B6F7AB382CC09 /* AMapTrackVersion.h */, - 9BFE3EAF52D0277DC9CE0D580D0498FD /* Frameworks */, - 7131B14110F04C48B7F0648B78D3C611 /* Support Files */, + E3B963770CA0940533D6BD205E450057 /* AMapCommonObj.h */, + 8D2E30DC9A36BFE996CC0A065FB540AC /* AMapNearbySearchManager.h */, + DF1F27260601DF00CF1776FB3ABE889C /* AMapNearbyUploadInfo.h */, + F8FDDFBF3AB7514782770C7A3077435B /* AMapSearchAPI.h */, + 35399BE715F8DEC8BE673752C91846AE /* AMapSearchError.h */, + 23B84BAEEAD377E91D196E70E2B6CEC5 /* AMapSearchKit.h */, + 839D72BE7E724A572E34B4ECE7FE1EBC /* AMapSearchObj.h */, + C48CF078B2CC616C20140A51F080321A /* AMapSearchVersion.h */, + 12C2812970BE5005FE5EF2CB98EE9C66 /* Frameworks */, + 7DDEBD5A0241E2478EE5E01ABD37E20A /* Support Files */, ); - name = "AMapTrack-NO-IDFA"; - path = "AMapTrack-NO-IDFA"; + name = "AMapSearch-NO-IDFA"; + path = "AMapSearch-NO-IDFA"; sourceTree = ""; }; - 1E07D352093529EC9C188CE80B0A429A /* UIImage+DDCategory */ = { + 0F68F152A48F54CD13BF6B5F1E6A79BB /* DDBaseScrollView */ = { isa = PBXGroup; children = ( - 32637B6BAFD95E5FAE84D0BC42233279 /* UIImage+DDCategory.h */, - 5322839F97FCDCD8C82F1542E40857D1 /* UIImage+DDCategory.m */, + AE740BF7ACEE2E6ECB351733B9B7CBB9 /* DDBaseScrollView.h */, + A27EBB43AC3768A0BAB24706F9A698B8 /* DDBaseScrollView.m */, ); - name = "UIImage+DDCategory"; + name = DDBaseScrollView; + sourceTree = ""; + }; + 108FFEA5A6E3C89CCED3ACBB2EF70E9F /* DDWebImageKit_Private */ = { + isa = PBXGroup; + children = ( + F44A1CA7C39B8A660C762D0F6587AB3A /* DDWebImage */, + 023F3B93F9130C3DF265760A3103720D /* SDWebImage */, + 3A866C7BA14C78A78C541FCF0C593D4E /* Support Files */, + ); + name = DDWebImageKit_Private; + path = DDWebImageKit_Private; + sourceTree = ""; + }; + 1223EE3DAF27B54BA67740F22165AB53 /* DDLogKit_Private */ = { + isa = PBXGroup; + children = ( + DEC1EFAF0C56A435B33FDFFA5F4B0091 /* OCLog */, + 6394B5593C7EA6620103D0CA6BBBF197 /* Support Files */, + 0A7CE94C1A6B2E0C7D9D044AAD3D5349 /* SwiftLog */, + ); + name = DDLogKit_Private; + path = DDLogKit_Private; + sourceTree = ""; + }; + 12C2812970BE5005FE5EF2CB98EE9C66 /* Frameworks */ = { + isa = PBXGroup; + children = ( + F1804ADC41FCCFA1D091A5BF477542C2 /* AMapSearchKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 190BC8C53B97F744220D36F32F727EBA /* DDBaseTableViewCell */ = { + isa = PBXGroup; + children = ( + 96A66ED5931A90FB16DF33C0985DB482 /* DDBaseTableViewCell.h */, + 8C786CB38C947E76BAB33BF14D1285B8 /* DDBaseTableViewCell.m */, + ); + name = DDBaseTableViewCell; + sourceTree = ""; + }; + 1AA4AE2BB2A1C74DA58BE0A8ED9AB5BE /* MJRefresh */ = { + isa = PBXGroup; + children = ( + 8D4E24A25872848664EB526CC8383A9E /* MJRefresh.h */, + D12E43A7315B8FBECC1BF95E2C584B37 /* MJRefreshAutoFooter.h */, + 5D3B2D20A8BEBCD3020E65D187598DC7 /* MJRefreshAutoFooter.m */, + 188D88E88B8A4CE92A8E4D0BE56F0A87 /* MJRefreshAutoGifFooter.h */, + BAD6946AD622B4A7BD2B4543E1C53B20 /* MJRefreshAutoGifFooter.m */, + 9C7BE8A39C183603451277A91C36E44C /* MJRefreshAutoNormalFooter.h */, + 69C984B11025247B51467F3152C160F4 /* MJRefreshAutoNormalFooter.m */, + 35EA4E93FCBC467AD822BE4F995ABCEC /* MJRefreshAutoStateFooter.h */, + 47F7520C38F34FB120B0043BBF995549 /* MJRefreshAutoStateFooter.m */, + DBB9002DB36B9C5CEAED15B41BC7C0C4 /* MJRefreshBackFooter.h */, + D71CBB8B0BD4CF56442DD54922A6B9F7 /* MJRefreshBackFooter.m */, + C5E021B41ABE05184E22C3C35EF2B42E /* MJRefreshBackGifFooter.h */, + 8BCC49987977111E1B2313EC30816CB1 /* MJRefreshBackGifFooter.m */, + 37E6C43294F379C1F73632E527FF4D91 /* MJRefreshBackNormalFooter.h */, + FEA868AB51B667439A7B584C615DE46E /* MJRefreshBackNormalFooter.m */, + 4CEDA3B312801352788DD24C4C11F9DF /* MJRefreshBackStateFooter.h */, + 9DB84BD73E094F58416237AAC901B492 /* MJRefreshBackStateFooter.m */, + 0F896BC532EBFB16C23A1ADDF055A52F /* MJRefreshComponent.h */, + AB4A34F074551EED982A91C0E0AD7A7C /* MJRefreshComponent.m */, + 4AB2D444BE5BCD706857F41DAFCB255C /* MJRefreshConfig.h */, + E2F86236438EB1C7BBC06B4DC34B0A90 /* MJRefreshConfig.m */, + 5770C58E46703810AC53EDB60F37429B /* MJRefreshConst.h */, + B4B7C54000D4D91CD87CB985E48B8E0D /* MJRefreshConst.m */, + 1C1846F45289A75658C4E51988A36769 /* MJRefreshFooter.h */, + 62AA14FA39E0E8749A6C68A321A0C150 /* MJRefreshFooter.m */, + 8654CCD91C506713D9C88FC96FB46DC2 /* MJRefreshGifHeader.h */, + DF29819D71E8CAF09B15248F332E0E17 /* MJRefreshGifHeader.m */, + 45C89D3311ED6264C6A655D6D9741205 /* MJRefreshHeader.h */, + E31B482FA85793071C9A0F4BA91AB0A6 /* MJRefreshHeader.m */, + 33199B0101934631304EF568C920275F /* MJRefreshNormalHeader.h */, + 6EFB5E830B88FC8B3C12A34B9ECA6B49 /* MJRefreshNormalHeader.m */, + FCF9D5BD39CF3E2BAC8AA3F34FCECABE /* MJRefreshNormalTrailer.h */, + 3C36B204109042DD0B6FDBF102A97CDB /* MJRefreshNormalTrailer.m */, + 2B43F372D78CE88CFD54405E74161ED7 /* MJRefreshStateHeader.h */, + 36A74E28F6ED5316496C2F41F4DB224B /* MJRefreshStateHeader.m */, + B4145C883CC26963CE25A5B3FDA3A58B /* MJRefreshStateTrailer.h */, + 9276E19EA10918FAD67901F4F8D02727 /* MJRefreshStateTrailer.m */, + ECB528EA98FD91BE6BAC416E0D39AD4A /* MJRefreshTrailer.h */, + AC40177B5BB65E283F67411A7B459858 /* MJRefreshTrailer.m */, + F97B035B2FC0F02D4F46F03F4DDBC718 /* NSBundle+MJRefresh.h */, + 04DD6186EA20831357498DB649C2D851 /* NSBundle+MJRefresh.m */, + 8232BD8CA165E7D31E2BCAC71952040D /* UICollectionViewLayout+MJRefresh.h */, + CBAF980648397D598AFA318F31A23474 /* UICollectionViewLayout+MJRefresh.m */, + BBC1B5F4EA783E26EE251CE31B743DE7 /* UIScrollView+MJExtension.h */, + 70E56F65C2A70177FAA7D31FFE6A73A2 /* UIScrollView+MJExtension.m */, + 1CB3100B69E0B4D7083B0AF017B32653 /* UIScrollView+MJRefresh.h */, + 4D09BC56089080167CFC15C561D74B5A /* UIScrollView+MJRefresh.m */, + B7B0F3A8BAFF51E3825FF70A74F4BC6A /* UIView+MJExtension.h */, + 02378D2AB7E68FB22F1964DE053EF806 /* UIView+MJExtension.m */, + 703B1C55BB2C820623A17E998C466F2C /* Resources */, + 3725090156F91385BC018472F3F846AC /* Support Files */, + ); + name = MJRefresh; + path = MJRefresh; + sourceTree = ""; + }; + 1B7C12527162C08F2D4D985A98136067 /* Support Files */ = { + isa = PBXGroup; + children = ( + 1FDD2C26B3868F1F27A17E4392C5916F /* AMapLocation-NO-IDFA.debug.xcconfig */, + EE198990BF95973D8B7322044053757B /* AMapLocation-NO-IDFA.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AMapLocation-NO-IDFA"; + sourceTree = ""; + }; + 1B86D3550656D26AAF04C0807B738BCF /* Support Files */ = { + isa = PBXGroup; + children = ( + 50D6B036523002ADA4FE18B400419C81 /* DDNetworkingOfAlamofireKit_Private.modulemap */, + 6089847F6E4723EED1BC17DE510141B8 /* DDNetworkingOfAlamofireKit_Private-dummy.m */, + 7A26BA476D1799A4662A2CE412BACB30 /* DDNetworkingOfAlamofireKit_Private-prefix.pch */, + F2EAF977DC5525FEDF0932405BFDF160 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */, + 32E9BE4062F875B91F2F06F973F6A3BA /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */, + A461FFB68020429AD99C16763F0F0249 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDNetworkingOfAlamofireKit_Private"; + sourceTree = ""; + }; + 1B97B64E5A3E36BD943677BBC84FE654 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8B9AEC57BA412B2E5DDFEF11B021E99A /* IJKMediaFramework.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 1BB7017515B9B8C0E947AA4B699014F4 /* DDBaseButton */ = { + isa = PBXGroup; + children = ( + 8DCF49DCCC5956750763898F0F39A996 /* DDBaseButton.h */, + D8E0D52F8435E1535DD287BF727C7ECB /* DDBaseButton.m */, + ); + name = DDBaseButton; + sourceTree = ""; + }; + 1BD6D93B3F803600D28AF468A4F12C6C /* Resources */ = { + isa = PBXGroup; + children = ( + 2775A9D996B9DB4FDA18A18CF110EABB /* ZLPhotoBrowser.bundle */, + ); + name = Resources; + sourceTree = ""; + }; + 1CAF2AE60F6F80354A5B31FF4495CD89 /* ZFPlayer */ = { + isa = PBXGroup; + children = ( + 73AFD1582CDABC9D23A9816E2A65527E /* ControlView */, + FAE5D38C6140D189624719FED92605A2 /* Core */, + 77BA02ED71169825A2A2F8F647536ED1 /* ijkplayer */, + 259D11DBE18A8B01B0A5D3DCD6B55584 /* Pod */, + 7AE585473A9E054D13C23178C7C9632C /* Support Files */, + ); + name = ZFPlayer; + path = "/Users/zd/Downloads/iOS相关/ZFPlayer-master"; + sourceTree = ""; + }; + 1E5CF05E9FD70C3639CC82E652FDABFD /* AnnotationView */ = { + isa = PBXGroup; + children = ( + 909A792E575A314B1EC563E9E76DA0BC /* DriveRouteCustomAnnotationView.h */, + 72F31428F76D5D2D5620B71B27985958 /* DriveRouteCustomAnnotationView.m */, + ); + name = AnnotationView; sourceTree = ""; }; 1F1D631D94DD75582056095E9D9F94F9 /* Targets Support Files */ = { @@ -3445,897 +3882,1487 @@ name = "Targets Support Files"; sourceTree = ""; }; - 1F20DE4FF5F67DAB6F9C31E73F214FB9 /* NSAttributedString+DDCategory */ = { + 21FCDE2F4A86FE66F76AB28A381405AE /* DDMAMapKit_Private */ = { isa = PBXGroup; children = ( - 8D56042C4797A1D002B32F37BF49B5E8 /* NSAttributedString+DDCategory.h */, - 53B45E5B44F2A15C7607E4D777D7BF2F /* NSAttributedString+DDCategory.m */, - 7F21B48E883DAA6EA7FDEE4D688AB37F /* NSMutableAttributedString+DDCategory.h */, - 966C1174D3B5AD235E9BFDB3BC2D1AF4 /* NSMutableAttributedString+DDCategory.m */, - 32F89603EFBEC1D47085F0A56EFEC7D4 /* NSMutableParagraphStyle+DDCategory.h */, - E7070515A83CC341D841996959072ACC /* NSMutableParagraphStyle+DDCategory.m */, + 7CA52705094A0EC77EEC0CB78C43E702 /* DDMALocation */, + 9CEFE319C44DB4DC57F30E191B0ABBB2 /* DDMAMap */, + 5589ACB19C4E62A06E6EE2B5695E3C1D /* DDMANaviManager */, + 3760B36ECA81513C341DDCDB39C10236 /* DDMASearch */, + 06DC7D5F37052B58F97085A3A5A6CA15 /* DDMATrackManager */, + 83CE4CCC66DF6A7A9B5D9342767194DE /* DDMAUtil */, + 8E5FED1B91C1233A5028FF907995FE30 /* Support Files */, ); - name = "NSAttributedString+DDCategory"; + name = DDMAMapKit_Private; + path = DDMAMapKit_Private; sourceTree = ""; }; - 2097204F710BD0A828900233BBA5D9FB /* UINavigationController+DDCategory */ = { + 259D11DBE18A8B01B0A5D3DCD6B55584 /* Pod */ = { isa = PBXGroup; children = ( - F582067C0E2AEB4033BD733077584A58 /* UINavigationController+DDCategory.h */, - 1BCE17C41A390A1A354DB860A8654FAE /* UINavigationController+DDCategory.m */, + 1F505445BD68A8281393443496A82F74 /* LICENSE */, + 94D89F47126A1A9C5969FE6EAA09D968 /* README.md */, + 9E42017CC0692D3CEDD794B4B3440E61 /* ZFPlayer.podspec */, ); - name = "UINavigationController+DDCategory"; + name = Pod; sourceTree = ""; }; - 22959DC6427B95DE690DAB6FFF2CE375 /* DDBaseViewModel */ = { + 2629F27A60907318BDD219D7284AFC6C /* DDFontKit_Private */ = { isa = PBXGroup; children = ( - FCF57C1D146522E48A7EEA9AA297EF02 /* DDBaseViewModel.h */, - 33B95914A89EBCDBD86D04944B5B9EEA /* DDBaseViewModel.m */, + D963CC84DE24F13777E777EB6608A1E3 /* FontUtil.swift */, + EF2F2D6149CFCC5D3679D29F86261747 /* Support Files */, ); - name = DDBaseViewModel; + name = DDFontKit_Private; + path = DDFontKit_Private; sourceTree = ""; }; - 2410550B1FF82DA4E89997196379B9C3 /* DDWebImage */ = { + 2776A2C8C7122E957D9E8DFF67C92B73 /* DDBaseTextView */ = { isa = PBXGroup; children = ( - 8AD1E0CCFE8132D270AFDC99921A6B58 /* UIImageView+DDWebCache.h */, - 5BCE3F8F0E6D5D7B2A382B20DFA08B4D /* UIImageView+DDWebCache.m */, + A3D28071364468245FA4464264EA168E /* DDBaseTextView.h */, + 4C2BB3224EACF6972EC94E842550C338 /* DDBaseTextView.m */, ); - name = DDWebImage; + name = DDBaseTextView; sourceTree = ""; }; - 296FB46308F53610294CD5906A470E85 /* UINavigationItem+DDCategory */ = { - isa = PBXGroup; - children = ( - 994DAC831982F01CBED9971316C4D6CA /* UINavigationItem+DDCategory.h */, - A48F91D027A2F3558667F28CF756E889 /* UINavigationItem+DDCategory.m */, - ); - name = "UINavigationItem+DDCategory"; - sourceTree = ""; - }; - 2AFA65A3AF065F59E5D0798B92D02F4B /* Support Files */ = { - isa = PBXGroup; - children = ( - 39C37F77F2ED64936210961C80DE2B95 /* DDLogKit_Private.modulemap */, - 89E158078F914247606BD5C50D62DB6D /* DDLogKit_Private-dummy.m */, - 698E2D31AA01029B79D2A973F4723225 /* DDLogKit_Private-prefix.pch */, - 1515F9CEFCDBE5B07BE31D67C92FF621 /* DDLogKit_Private-umbrella.h */, - 64A4347492E5BF73D38A079432A4FB04 /* DDLogKit_Private.debug.xcconfig */, - 0CD007EE53D55A9DF36105AA394FE726 /* DDLogKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDLogKit_Private"; - sourceTree = ""; - }; - 2AFAD11580CFA7ADA17BA9DEB0730D26 /* UINavigationBar+DDCategory */ = { - isa = PBXGroup; - children = ( - 2A2FC9CF73EEF60997FA732CC06BE234 /* UINavigationBar+DDCategory.h */, - 921636E5901828DF64651E08BAB42C27 /* UINavigationBar+DDCategory.m */, - ); - name = "UINavigationBar+DDCategory"; - sourceTree = ""; - }; - 2E7C8DD5527D62A1C0FA639053697988 /* Sources */ = { - isa = PBXGroup; - children = ( - 60D17F97D87C8163FD267059035088F3 /* Resources */, - ); - name = Sources; - sourceTree = ""; - }; - 2FD92DCDAD068486A285F7D1799B2A96 /* Development Pods */ = { - isa = PBXGroup; - children = ( - CBBEA97C6D095C1CF9DDA23C1B9D5D9B /* ZFPlayer */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 30279731954EF7A8F4D245D7A3C2701E /* DDAutoUIKit_Private */ = { - isa = PBXGroup; - children = ( - 252055CE1DD2971E2E70122AF1255F2F /* AutoUI.swift */, - 7141A85E9F7B5E3D3DEB928D093C006B /* Support Files */, - ); - name = DDAutoUIKit_Private; - path = DDAutoUIKit_Private; - sourceTree = ""; - }; - 30427F5B6F3F8BDDD83DB79E48E6DAFE /* UITextView+DDCategory */ = { - isa = PBXGroup; - children = ( - AC69D4F61B89850BCFF0C31C1781888F /* UITextView+DDCategory.h */, - 397269411299DA946869109B9E51C13C /* UITextView+DDCategory.m */, - ); - name = "UITextView+DDCategory"; - sourceTree = ""; - }; - 309E6AA65FCF7D0CAC8BA7773217E373 /* DDBaseCollectionViewCell */ = { - isa = PBXGroup; - children = ( - 65CF9830C75A4FCA22355791EB5B9765 /* DDBaseCollectionViewCell.h */, - 0B160820EE1EEC3C027912046044CFF1 /* DDBaseCollectionViewCell.m */, - ); - name = DDBaseCollectionViewCell; - sourceTree = ""; - }; - 31F5AC2C357240D0EFC7051977DE753F /* SnapKit */ = { - isa = PBXGroup; - children = ( - B73224BE8EA3D3AEEC6BE72C19AEE578 /* Constraint.swift */, - 1A4EE38117FADAF6840292CB423F9CC9 /* ConstraintAttributes.swift */, - 2C511C1289D5487B6805A6FF8493FC99 /* ConstraintConfig.swift */, - 7E86C08389839652DB411FD40EF02462 /* ConstraintConstantTarget.swift */, - C1290D06DEF5987EC4CF8AE8929764C9 /* ConstraintDescription.swift */, - BAF53ADBE1FA0BC31AFD475D5DB00950 /* ConstraintDirectionalInsets.swift */, - 99FAD8F1401AD4E3D5B7EA785EDB66F4 /* ConstraintDirectionalInsetTarget.swift */, - A84D73311CCB4840D6EB8B25D6A8894D /* ConstraintDSL.swift */, - F4D62476424FE5F64E46973F443EAE6A /* ConstraintInsets.swift */, - D502CA91F7DC91196D935D4D2D52D299 /* ConstraintInsetTarget.swift */, - 97D8416E6135BA849934B91093F53989 /* ConstraintItem.swift */, - D8A37C157B96127F251E3B31F313AADE /* ConstraintLayoutGuide.swift */, - 37419015D2FB2786D8DEE83BB5EBDF64 /* ConstraintLayoutGuide+Extensions.swift */, - 65D88C27F8761BCE9CD6369FAB4CA712 /* ConstraintLayoutGuideDSL.swift */, - DB4E03CDA35D59A2CC8E483040A00E1F /* ConstraintLayoutSupport.swift */, - 6493A2D3F4534C74F900F18BCF78DA06 /* ConstraintLayoutSupportDSL.swift */, - 2ED7BA9FD4828987FE817B3C2971E6C3 /* ConstraintMaker.swift */, - 17311F74924C956A09FA029B76756E0C /* ConstraintMakerEditable.swift */, - D2B99DEEC285EC2CE2BE59E2D6D8C170 /* ConstraintMakerExtendable.swift */, - 5D9C48B591819713D8D984844B4EE13B /* ConstraintMakerFinalizable.swift */, - FFF8D5624F6905F46FBD5577A1FBC035 /* ConstraintMakerPrioritizable.swift */, - 52BD8DE8D0E7BE2117BAF4CD76536A4E /* ConstraintMakerRelatable.swift */, - E2BB694E41312BE3CB879A74EF438E86 /* ConstraintMakerRelatable+Extensions.swift */, - E67601A73F02EA2E8C5E06F248C60A20 /* ConstraintMultiplierTarget.swift */, - 653BE9F1051FB0AC8D04F6F32313E836 /* ConstraintOffsetTarget.swift */, - 6EA671FB9E889EDCE0789CA1CFA71F64 /* ConstraintPriority.swift */, - 253ADE0F23935CA3549F3997DE691DDB /* ConstraintPriorityTarget.swift */, - B50B9A36BEB291CF2AFC1CB63C7443DD /* ConstraintRelatableTarget.swift */, - 993B88C17EA39942EAF00D7DC1E7C038 /* ConstraintRelation.swift */, - 991F88C8553AF29F5C9DEC88D44DFBC0 /* ConstraintView.swift */, - 3224D28CD890FD6D23C05B0B0373F9DE /* ConstraintView+Extensions.swift */, - 5722603773923F40AC88EE045FF00EAE /* ConstraintViewDSL.swift */, - 24C6ED8AF5E90ED6478138B344B5D5E9 /* Debugging.swift */, - E2DADE97F9F228D06F817F438D828548 /* LayoutConstraint.swift */, - 22A98BB6EF454F042A642F277FE34C9F /* LayoutConstraintItem.swift */, - BE3030C89C892A5956B746606ACDE67A /* Typealiases.swift */, - 97FAC41216A15D7AD5D0C02514B8CA51 /* UILayoutSupport+Extensions.swift */, - A038464C45E90567187C24BD651B3C38 /* Support Files */, - ); - name = SnapKit; - path = SnapKit; - sourceTree = ""; - }; - 32354C96E8D5815834492E9E8179A02F /* Frameworks */ = { - isa = PBXGroup; - children = ( - ACC61BF0BBED308843A63B4535A47E74 /* AMapLocationKit.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 35F415FAE183EF4DBBCD10E1233048C6 /* Resources */ = { - isa = PBXGroup; - children = ( - 2E39C269A97D6536ED5317FC0B2D7563 /* MJRefresh.bundle */, - ); - name = Resources; - sourceTree = ""; - }; - 363C1344D470B89A6999173C56C5527E /* DDLabel */ = { + 278EB6D2997CC99CAD4C6773441E525C /* DDTextField */ = { isa = PBXGroup; children = ( ); - name = DDLabel; + name = DDTextField; sourceTree = ""; }; - 36DA32CD030837918626A9F1F8E1E0D6 /* UICollectionView+DDCategory */ = { - isa = PBXGroup; - children = ( - 50155224DA38B46CA193134BCB257A49 /* UICollectionView+DDCategory.h */, - D7675DF4C5361504B769BEE001B44E11 /* UICollectionView+DDCategory.m */, - ); - name = "UICollectionView+DDCategory"; - sourceTree = ""; - }; - 3A233AC69ABE6B22B7835F538A74C2E6 /* Support Files */ = { - isa = PBXGroup; - children = ( - 2629C8C75F7544CA7AC76890EB779187 /* DDWebImageKit_Private.modulemap */, - CB0939F3CC0710468128B04E0D833900 /* DDWebImageKit_Private-dummy.m */, - 6088984D4D01AEBB2DA07667D34F95FC /* DDWebImageKit_Private-prefix.pch */, - 5D647536CAF6559787DFBE7388D30812 /* DDWebImageKit_Private-umbrella.h */, - DC12D42AEA5797AB04033C1C7CB8A02F /* DDWebImageKit_Private.debug.xcconfig */, - B2CA81E1BB6BCD74B0BA59998F1DDF29 /* DDWebImageKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDWebImageKit_Private"; - sourceTree = ""; - }; - 3BC09E53BD32B99DF17981EC94CCFFA1 /* DDTextView */ = { - isa = PBXGroup; - children = ( - ); - name = DDTextView; - sourceTree = ""; - }; - 3CD99F58A315D64ECC0804DBB78B801A /* DDMALocation */ = { - isa = PBXGroup; - children = ( - F1266B973BC95F13049649A6DF0E8D54 /* DDMALocationManager.h */, - A09C312BB4DD540B0A8EF71B8ABA386F /* DDMALocationManager.m */, - ); - name = DDMALocation; - sourceTree = ""; - }; - 3F1AF2992C34425FCD6654EAF2008933 /* AMapLocation-NO-IDFA */ = { - isa = PBXGroup; - children = ( - A653FAECD50D1B1F8A81EBBF20283CF3 /* AMapGeoFenceError.h */, - C38604149FD4A82B9E4115BE1DD7D4ED /* AMapGeoFenceManager.h */, - 8936E5794577F96960E48780C5E9B6EA /* AMapGeoFenceRegionObj.h */, - CBE98BACB3EE68675B3EC34D3878FDB9 /* AMapLocationCommonObj.h */, - 7547CD1C1642410F94AAF3BE75CC26CF /* AMapLocationKit.h */, - 0C160CCAE9C391122533B486EE95C1B7 /* AMapLocationManager.h */, - FA54EA1BA8502520206BEAB2EA052344 /* AMapLocationRegionObj.h */, - 56FD8B0BC93F0A40C0A7F0B79785DC6F /* AMapLocationVersion.h */, - 32354C96E8D5815834492E9E8179A02F /* Frameworks */, - E98BBB7C2CC233D4532DDBCB0D261123 /* Support Files */, - ); - name = "AMapLocation-NO-IDFA"; - path = "AMapLocation-NO-IDFA"; - sourceTree = ""; - }; - 4214BDE19A2687399A07FAA19BCB258B /* DDCollectionView */ = { + 288CB231E57BCBA238E3B0036E081846 /* DDCollectionView */ = { isa = PBXGroup; children = ( ); name = DDCollectionView; sourceTree = ""; }; - 423C287C9FA867494E8E00242C0EE222 /* Frameworks */ = { + 2C5FA2099D6B05884754C7FFE5F681E0 /* UIWindow+DDCategory */ = { isa = PBXGroup; children = ( - CBECBCE93C9A5403D9EF13E512532D89 /* AMapSearchKit.framework */, + AFA47C46F82DB783B06AA39BF5149174 /* UIWindow+DDCategory.h */, + E5330FCE42E661850807E3504C2FAEAC /* UIWindow+DDCategory.m */, + ); + name = "UIWindow+DDCategory"; + sourceTree = ""; + }; + 2CA46E41453BC75A2B987DD48D67A7D6 /* Frameworks */ = { + isa = PBXGroup; + children = ( + EDD4468D94B2C15CB196DCA2CC98200F /* AMapNaviKit.framework */, ); name = Frameworks; sourceTree = ""; }; - 42E94130726A5E753DA1975F54501728 /* DDControlsKit_Private */ = { + 2E8D35790EA677F8E5DB3D772ED88B36 /* MapView */ = { isa = PBXGroup; children = ( - D9FFDA8C8D18D25589844B9EBA43B949 /* DDAttributedString.swift */, - 8AFC80F41FA2D3BD5BBE590D190844EF /* DDButton.swift */, - 441554C44216A89888333215AA012A51 /* DDCollectionView.swift */, - C5A462DF4857A99CE461C7BED2BAF3C4 /* DDCollectionViewCell.swift */, - 38DEB0B043750586E18ADC9024266F10 /* DDImage.swift */, - 9D29FBB6F7B90CE9AC9A5B7B3BD3A504 /* DDImageView.swift */, - 28B339F8840A1ACF9C6A0EEC4F1756FA /* DDLabel.swift */, - B5B14834441D138736577878040354FB /* DDMutableAttributedString.swift */, - E07E5EA3A22530E5FF4827AB31FF1388 /* DDNavigationController.swift */, - 332AC59D916C977A7B455CE0861008EC /* DDScrollView.swift */, - 48904A2ACA54F39C73F57654E996D349 /* DDTableView.swift */, - 20527A0CDDF3A638A56697666A1399BF /* DDTableViewCell.swift */, - EFFE264ACFC2E50E41713D39E3072D71 /* DDTextField.swift */, - 4616707B7FE6FD330C217690452CBAE0 /* DDTextView.swift */, - 658D7971D018584C37E370513D3C8DB9 /* DDView.swift */, - FA480296131E6545AABF25FA63D5678E /* DDViewController.swift */, - 5645C0C1FA0D6D7C855EBFE640E6C815 /* DDAttributedString */, - A682DC2F19DC09B3685A692E3565195E /* DDButton */, - 4214BDE19A2687399A07FAA19BCB258B /* DDCollectionView */, - E22B70C47DA9A5249A8830283296CA18 /* DDCollectionViewCell */, - 47FCC83E26A486E5625DC65DF0F8D94D /* DDImage */, - 82EA3BD9DFB61FCD038639D5FC12B245 /* DDImageView */, - 363C1344D470B89A6999173C56C5527E /* DDLabel */, - 6E003F1E040EA5A3E9298980CC65FC15 /* DDNavigationController */, - 0310A56CF9F571B3E2394F5331403C27 /* DDScrollView */, - 7243F4A3E3D2EEDAD572DB83253BD664 /* DDTableView */, - 4BC2B5ECFA6A2377C530E4402F1FF62D /* DDTableViewCell */, - 994FFE8744B2E059A8EA2A356CA1E4A4 /* DDTextField */, - 3BC09E53BD32B99DF17981EC94CCFFA1 /* DDTextView */, - 810727A07FBD3E39272B95EDF35CFFA6 /* DDView */, - 15E80423D9176FCB647AB43134B7B0A4 /* DDViewController */, - D04CD268675ADB564A3C19D396651FEE /* Support Files */, + 36038E1EEBBFD4A6AB608812D2A5B2D6 /* DDMAMapView.h */, + 8E8832855848F9B3DF35AE4AFFE349EA /* DDMAMapView.m */, ); - name = DDControlsKit_Private; - path = DDControlsKit_Private; + name = MapView; sourceTree = ""; }; - 46FCF03267C5F2CC466D7EA9DFB37CB6 /* Support Files */ = { + 308222D79DA470C3BFA3F79ED7417EA0 /* Support Files */ = { isa = PBXGroup; children = ( - 6210FA73F4021CDFD8EDD338A6CFFCA4 /* JXCategoryView.modulemap */, - B6AEFADC413840BC110C5CA69E6E9319 /* JXCategoryView-dummy.m */, - CE694CFE7BABACB378CCE4A7674AB248 /* JXCategoryView-prefix.pch */, - 25555D4F66DCCF56A7D7D53D6F2CEF49 /* JXCategoryView-umbrella.h */, - BA5A5E3562C1DAEC8115E9CF0F942B58 /* JXCategoryView.debug.xcconfig */, - E4216D1779B7A2F42138D94078809E57 /* JXCategoryView.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/JXCategoryView"; - sourceTree = ""; - }; - 47220D1E5B7A1C146ED339A6F2EE5EB0 /* Products */ = { - isa = PBXGroup; - children = ( - 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */, - 16ADD43AE08E88D6F7A3498152249608 /* DDAutoUIKit_Private */, - 42F10DB6CED6AC3E9AA446F86C16A0F5 /* DDBasicControlsKit_Private */, - 71067D1F0754E977C6E009846B257042 /* DDBasicControlsKit_Private-DDBaseViewController */, - EC46C56D3F58BDA592A93730A005EF26 /* DDCategoryKit_Private */, - 9D4B74A4386EF8F53603612D83CA68C9 /* DDColorKit_Private */, - 1FEA06F110D30604A9FB015A9790A954 /* DDControlsKit_Private */, - 9CB241779EEAD809AC3180FD5B56FDF4 /* DDFontKit_Private */, - DAFE13D35532C1BA0D3624F4C38BEE8E /* DDLogKit_Private */, - 6EEB8B1CB2BF24B44DEEDC1B058B22E2 /* DDMAMapKit_Private */, - FB908FBF9F755AFB285A27A674140F71 /* DDMAMapKit_Private-DDMAMapKit_Private */, - 2DE47AF6516BB19369CA020EA7C48A4A /* DDNetworkingOfAlamofireKit_Private */, - 35BC09180850FDD03C450D14BD310714 /* DDProgressHUDKit_Private */, - 3F659DC98613325346A7F6AF56D2E619 /* DDTimerKit_Private */, - A9132D6AA90D7BC2B6C7A08B065F87A9 /* DDToastKit_Private */, - AD8FF1E8B0C9C12F070D79A5EC3BEE59 /* DDWebImageKit_Private */, - F6D00CA03F52F8332AAD8FEEC4AFD406 /* ESTabBarController-swift */, - A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */, - C3A46B03C308EEEB11F2A62BA5D2E8BE /* JXCategoryView */, - E49D6D248DD1CEE584E6776B9164A1B2 /* MJRefresh */, - B3B0956B7EBF66A8FD677D586C9C387A /* Pods-OrderScheduling */, - BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */, - FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */, - 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */, - 979486118B3E90C08386079D57962701 /* SnapKit */, - DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */, - ED363DD89BB17FB9F31F94524BA59CBB /* ZFPlayer */, - BB28130B0F4C47DC99D2DB9C80F70152 /* ZLPhotoBrowser */, - ); - name = Products; - sourceTree = ""; - }; - 47FCC83E26A486E5625DC65DF0F8D94D /* DDImage */ = { - isa = PBXGroup; - children = ( - ); - name = DDImage; - sourceTree = ""; - }; - 487C13F44BB15AEE6079FC8F3F5635AD /* DDMANaviManager */ = { - isa = PBXGroup; - children = ( - AC9A93005C646FFDA2725621E466EE8B /* DDMANaviManager.h */, - B471269D354A80FFCDFEAE4BC9CD92BC /* DDMANaviManager.m */, - ); - name = DDMANaviManager; - sourceTree = ""; - }; - 4AA745F08516941CF89633E16A54CAD5 /* DDBaseAnimation */ = { - isa = PBXGroup; - children = ( - B7E577F476709A81B4F9FD6D63D282F3 /* DDTransitionAnimation */, - ); - name = DDBaseAnimation; - sourceTree = ""; - }; - 4BC2B5ECFA6A2377C530E4402F1FF62D /* DDTableViewCell */ = { - isa = PBXGroup; - children = ( - ); - name = DDTableViewCell; - sourceTree = ""; - }; - 4DD48197A0B276D87BEA55A04BC722EA /* Support Files */ = { - isa = PBXGroup; - children = ( - 7AA6C8B50A7424F50A202E1778A6908A /* RxRelay.modulemap */, - 128C9E668234BBCE22D2853342DBC41E /* RxRelay-dummy.m */, - 8E1AD584E618AB9D345298F2CD2ACB85 /* RxRelay-prefix.pch */, - 419EF9BE4CB6783AF29FBF2DB73FBE58 /* RxRelay-umbrella.h */, - 43F03E8327402318BA1A5AA38D9E45E2 /* RxRelay.debug.xcconfig */, - 7DBDB4F120884A32F25656B278C509BE /* RxRelay.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/RxRelay"; - sourceTree = ""; - }; - 4E037BE981DE93A55ABEF9DD3395C780 /* Resources */ = { - isa = PBXGroup; - children = ( - 5EA55FF04BB751BBC77C98C1B25455A5 /* en.lproj */, - ); - name = Resources; - sourceTree = ""; - }; - 515D530405C8F8D3F9D5BF9D237B2BD0 /* DDProgressHUDKit_Private */ = { - isa = PBXGroup; - children = ( - 2CE60E12C0A9D0C204A6C13325B8DC39 /* DDProgressHUD.swift */, - 87F0D2335771C22F985D925E822A8C33 /* MBProgressHUD.h */, - DEE6A96882AC069BBD48F5F4CC3FC6CA /* MBProgressHUD.m */, - 6BB3714A9B2A8ADAFB7C6E4F48C573BF /* Support Files */, - ); - name = DDProgressHUDKit_Private; - path = DDProgressHUDKit_Private; - sourceTree = ""; - }; - 518150B3961F11EEFF71FEBC63BA8501 /* UIViewController+DDCategory */ = { - isa = PBXGroup; - children = ( - A8713D7E2B7B61CCBF4FB794340D2F13 /* UIViewController+DDCategory.h */, - 49636A4D9AAB73B4C3358AE69FE540B9 /* UIViewController+DDCategory.m */, - ); - name = "UIViewController+DDCategory"; - sourceTree = ""; - }; - 562E66C2185BF4817A46A2FA89273E19 /* DDBaseAttributedString */ = { - isa = PBXGroup; - children = ( - 9D1AC152DCA93396597586627D18E492 /* DDBaseAttributedString.h */, - CF86A8401B17CCF6ED48C720458B7A2E /* DDBaseAttributedString.m */, - F2A3757E11798233F632E32FFD550392 /* DDBaseMutableAttributedString.h */, - 87536304E59ED71CF57DC4697C61C671 /* DDBaseMutableAttributedString.m */, - ); - name = DDBaseAttributedString; - sourceTree = ""; - }; - 5645C0C1FA0D6D7C855EBFE640E6C815 /* DDAttributedString */ = { - isa = PBXGroup; - children = ( - ); - name = DDAttributedString; - sourceTree = ""; - }; - 5738AC69738E5A7A9282B69E10F58F8F /* Support Files */ = { - isa = PBXGroup; - children = ( - 31481247B46DCC1FDAC9F3CCB44C3674 /* DDBasicControlsKit_Private.modulemap */, - 7FA48DAAA19AA9182D06BF5F9BB74F36 /* DDBasicControlsKit_Private-dummy.m */, - 28309C32D0F8167AB37CA6049A0F2996 /* DDBasicControlsKit_Private-prefix.pch */, - AC3923BB5E36EC5C07DD3877E6F1939E /* DDBasicControlsKit_Private-umbrella.h */, - A153CB9EFC27F4874D61DFD418A066BF /* DDBasicControlsKit_Private.debug.xcconfig */, - 6ECB134020AA4FC09A7244CB741EC159 /* DDBasicControlsKit_Private.release.xcconfig */, - FE952CA0D88EBB665949BF7B2530C337 /* ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/DDBasicControlsKit_Private"; - sourceTree = ""; - }; - 5ADF0EBF93BDA21DA5089F18082AAD68 /* SDWebImage */ = { - isa = PBXGroup; - children = ( - C9F88716BD94DF910BC8A149680CD2A4 /* Core */, - 14E6F051B83DC78F0B593EDA21535E46 /* MapKit */, - ); - name = SDWebImage; - sourceTree = ""; - }; - 5FB8F9C6649BF6BA6A32C77B29849DD8 /* IQKeyboardManagerSwift */ = { - isa = PBXGroup; - children = ( - 61791E227983B70E7D756E3872BF12C3 /* IQBarButtonItem.swift */, - B05A83009C123E8C2BAC9CA401A9554B /* IQInvocation.swift */, - 1B9C44A6CE1D11BF815E4C1C7333AF46 /* IQKeyboardManager.swift */, - 7417192B4C1D7F1D8CFAF2AA1AC69F09 /* IQKeyboardManager+Debug.swift */, - AA3A2761EDCB9294D6DF93CDFD4FEAF6 /* IQKeyboardManager+Internal.swift */, - FB2F40968639A96A1E9874ABC41124D1 /* IQKeyboardManager+OrientationNotification.swift */, - 1C18371D84390CEC73E7EE7FC86CE838 /* IQKeyboardManager+Position.swift */, - 3B4F334EC664074DAFA36EF236B3D3DC /* IQKeyboardManager+Toolbar.swift */, - 925B87A2FF60BB1C56BBA452A0F19630 /* IQKeyboardManager+UIKeyboardNotification.swift */, - F60E7F3A93AAA5FD7015855B4A90317D /* IQKeyboardManager+UITextFieldViewNotification.swift */, - A8CF610938030111A136AB5E11B31E91 /* IQKeyboardManagerConstants.swift */, - 59D3583760F4609DA9EAFFC1C7B1BE0B /* IQKeyboardManagerConstantsInternal.swift */, - 34E7F440D1D3ABCFEECA0BF4F45C70C1 /* IQKeyboardReturnKeyHandler.swift */, - 26F34E8B6ED13862BF710C2B32F82048 /* IQNSArray+Sort.swift */, - F6AF2382654755E74E92431384F211A0 /* IQPreviousNextView.swift */, - 2E26E70BCBF1109FB105618F23DD6BB6 /* IQTextView.swift */, - F1A6C83223505225ED5CD56A3FDAF636 /* IQTitleBarButtonItem.swift */, - FBAFBD781175E6C6398E0A44BE1F8B6D /* IQToolbar.swift */, - 5F34AC9EC7DF0BF4466C6B227A7A73B9 /* IQUIScrollView+Additions.swift */, - 8BE385C4035EE2E56664FF35189A5E03 /* IQUITextFieldView+Additions.swift */, - D66381B5F339AA3F0FE373C9AD62CD51 /* IQUIView+Hierarchy.swift */, - 308266C5025283F1E98CAA23584FCA85 /* IQUIView+IQKeyboardToolbar.swift */, - 09F07CCC741F0601D330E3B604E1CB74 /* IQUIViewController+Additions.swift */, - F62A3C1DE89C038AB55565643F2D7F46 /* Support Files */, - ); - name = IQKeyboardManagerSwift; - path = IQKeyboardManagerSwift; - sourceTree = ""; - }; - 601454D1D08A7C9720CA0EE998C7B948 /* ZLPhotoBrowser */ = { - isa = PBXGroup; - children = ( - CC0BA8B2892DDAAD650E8F3FED33AEDB /* Core */, - D9F1A523B49A131C657394101FCCECC8 /* Resources */, - 074CD6D72A8F399EC7281157AA3277B1 /* Support Files */, - ); - name = ZLPhotoBrowser; - path = ZLPhotoBrowser; - sourceTree = ""; - }; - 60CBDAFF00D3D510BCD3930854E3DDC2 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7FD0DAD9D140A5C9932DEFAC4C3D1EF5 /* DDNetworkingOfAlamofireKit_Private.modulemap */, - 10D89567E72F0F81A281DF6C5CA6119B /* DDNetworkingOfAlamofireKit_Private-dummy.m */, - 16E47847F012C7C5A5CCB8853B430DC9 /* DDNetworkingOfAlamofireKit_Private-prefix.pch */, - E3D22B608945B6FF514CC37D8D650A58 /* DDNetworkingOfAlamofireKit_Private-umbrella.h */, - EAD7CD77DDEFD8EC15595A80AB8766BE /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */, - 4AA8AB240F4D65F6AAEAA184FBBF6D83 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDNetworkingOfAlamofireKit_Private"; - sourceTree = ""; - }; - 60D17F97D87C8163FD267059035088F3 /* Resources */ = { - isa = PBXGroup; - children = ( - 3B3AFF81F7F9BA120A787EAACA759CFC /* Sources_DDMAMap */, - ); - name = Resources; - sourceTree = ""; - }; - 6193C585C04BFE825CEB9413A85728FE /* Trace */ = { - isa = PBXGroup; - children = ( - FD8E4E2824EAB6B2BA3BF0799C9BF4FE /* MATraceReplayOverlay.h */, - 6741C57460124218FAE6BFDF8A1F14FB /* MATraceReplayOverlay.m */, - 7494706A6103037E9AE0BAB70B47791F /* MATraceReplayOverlay+Addition.h */, - 62C3A20ACC97D735DC973538555F83FD /* MATraceReplayOverlayRender.h */, - 53797366CA62EDC29999EEC6F78FEF98 /* MATraceReplayOverlayRender.m */, - ); - name = Trace; - sourceTree = ""; - }; - 62C2C7108104E7A0108ECEE3FC80B06D /* Support Files */ = { - isa = PBXGroup; - children = ( - C105B33D3B9D5168FE1E0B9AC73EED6E /* AMapFoundation-NO-IDFA.debug.xcconfig */, - 2D175CE9E7E0AE9DCAF675F0B5C8DF62 /* AMapFoundation-NO-IDFA.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AMapFoundation-NO-IDFA"; - sourceTree = ""; - }; - 63123ECEA69E127FD409F4630C8DA2A5 /* JXCategoryView */ = { - isa = PBXGroup; - children = ( - 0B0E5F4256C81CCC180E52DAFEEC1BA6 /* JXCategoryBaseCell.h */, - 8927D86058320768A614A5562A2D2FB2 /* JXCategoryBaseCell.m */, - A9F12B4F49F6C86C604E888D6F2E420E /* JXCategoryBaseCellModel.h */, - 103A15371B7CCBA671F2E52ABA6FA49F /* JXCategoryBaseCellModel.m */, - 185F9BE2AA69C0B3459642BB61834039 /* JXCategoryBaseView.h */, - 41D625B23707C5A6FD4FB96DB186C0FA /* JXCategoryBaseView.m */, - 384994743AC9F75E27A3CDA4F1A47799 /* JXCategoryCollectionView.h */, - 299701559FAB874E2652BA6F06552CBB /* JXCategoryCollectionView.m */, - 4BF3D6B5257E4D26D410F75DD07CABAA /* JXCategoryDotCell.h */, - 93B2C843A3BD08681E9C6D7B4A57BC9F /* JXCategoryDotCell.m */, - 8C744DED48882A6985631E1322A1BED1 /* JXCategoryDotCellModel.h */, - 5E6CD31AA54A4187467F87F2C5E2C18D /* JXCategoryDotCellModel.m */, - A0F2997BC7CE173A0C2626E2F2C0D1D4 /* JXCategoryDotView.h */, - A55E2D8DDA363B404C78CE9DE3C043BC /* JXCategoryDotView.m */, - A84DE09CCC11F7CD9BA52AD791D74C9C /* JXCategoryFactory.h */, - 627F8AF38A09862B53847700AEC52899 /* JXCategoryFactory.m */, - 53B187DD06A307C5E93833AF12678D27 /* JXCategoryImageCell.h */, - 39B7431B7EF76FF0CE3887FCF17FD0B9 /* JXCategoryImageCell.m */, - B84A8C33175F17CAC11C7792A0BACE7C /* JXCategoryImageCellModel.h */, - B85081E24B9B538EF7BF75AEE7CAD46A /* JXCategoryImageCellModel.m */, - 040E0D147A4BDF98BC3461819F8A7FA6 /* JXCategoryImageView.h */, - 9BD58E7B9EAD0150D99F8E6D3461DB26 /* JXCategoryImageView.m */, - C45D000702D216C20DC0A6C3F36FE23C /* JXCategoryIndicatorBackgroundView.h */, - FD934287F0405AB55C78075CEB5A982E /* JXCategoryIndicatorBackgroundView.m */, - 22F0F259BE2F7AB0C38E4735E873F1A2 /* JXCategoryIndicatorBallView.h */, - 663D9CC5B894B88B9FD06CC237A71651 /* JXCategoryIndicatorBallView.m */, - CE0D5B3DA69B8A1EB3202E9916551AFB /* JXCategoryIndicatorCell.h */, - 395785F4A9D0B715647139740347B1FD /* JXCategoryIndicatorCell.m */, - 69B2E597F0470C0466C8B49A8335DE35 /* JXCategoryIndicatorCellModel.h */, - A615CB9A6B2205C360A689AEAAE96D54 /* JXCategoryIndicatorCellModel.m */, - 803F891D2788EC97DE6ACB80C74B862C /* JXCategoryIndicatorComponentView.h */, - 8E5CCD3838C0968E1115CDA3D47B1DEB /* JXCategoryIndicatorComponentView.m */, - 031FAE07041E743B33CD34530D22DFEA /* JXCategoryIndicatorDotLineView.h */, - 921F3E94E99466B3F2EEDFFAE9A18289 /* JXCategoryIndicatorDotLineView.m */, - 07386DE4DD5A4F79DA7930232866C82A /* JXCategoryIndicatorImageView.h */, - EB3B9EEE9C0A7A3C6FFDA598887FE415 /* JXCategoryIndicatorImageView.m */, - C7671CB315740AB79C657A5BBC061A40 /* JXCategoryIndicatorLineView.h */, - 6305D964E18FE87C797A5C2FD354860A /* JXCategoryIndicatorLineView.m */, - 048E14649FCB9C543A77DD4FF64842FC /* JXCategoryIndicatorParamsModel.h */, - 6A5988DA008902FB9184C7A050349E5F /* JXCategoryIndicatorParamsModel.m */, - E1A8D8B1A42BD45891DB6179489AD828 /* JXCategoryIndicatorProtocol.h */, - 8A81E752F390FA2CFA808E4FD762DC67 /* JXCategoryIndicatorRainbowLineView.h */, - B3E62B52049065E0DCBFE83089C3B136 /* JXCategoryIndicatorRainbowLineView.m */, - 254571B44B8DBF8CF43E277B4DAF36C4 /* JXCategoryIndicatorTriangleView.h */, - DECDC9C087DB559C43AA1BB4BC070F11 /* JXCategoryIndicatorTriangleView.m */, - 728E9BC93B4609B142EE2207684DB916 /* JXCategoryIndicatorView.h */, - 4E049E600DF27057625A4710D8FFDB7E /* JXCategoryIndicatorView.m */, - FA6D73D91931193645DC5DCAACE45CC5 /* JXCategoryListContainerRTLCell.h */, - 5E8635ED28005201B7A807CF6555CC3A /* JXCategoryListContainerRTLCell.m */, - 6AB3796E5C58A658B4D38654593DC2C9 /* JXCategoryListContainerView.h */, - EF9989031C197B682326AF0D8A1BC619 /* JXCategoryListContainerView.m */, - 3E61050A2A3084F4E34A20F4D7D72AF6 /* JXCategoryNumberCell.h */, - 3D8C9277ED75483A7CE4839B89FC67FC /* JXCategoryNumberCell.m */, - 6686189FFA11CE8679DF194908FA7304 /* JXCategoryNumberCellModel.h */, - 7B4198240636303ED58E9B45404649A6 /* JXCategoryNumberCellModel.m */, - 4FFAA5EC3AB76FDB0DB14DDCDE1EC8F8 /* JXCategoryNumberView.h */, - 8A72604213B03111C26B3A09CC5CE966 /* JXCategoryNumberView.m */, - 6010F70FF57799D9BCCC14DA558B0C7C /* JXCategoryTitleCell.h */, - DAE28CB7E6B747514C3866B4F8FCA5E2 /* JXCategoryTitleCell.m */, - 5CC23B2D54EECEB52CCE2F2CC7B3D36D /* JXCategoryTitleCellModel.h */, - 39A8C69FB90EE16E87E8806C322221EB /* JXCategoryTitleCellModel.m */, - D3EDCD3DEC3A368D1D0EADA3A47548BD /* JXCategoryTitleImageCell.h */, - 67788FE7FBDBC7140FED13AB7EE5AF18 /* JXCategoryTitleImageCell.m */, - 1C5DFA80FB0E14429FAE0675C4E90C70 /* JXCategoryTitleImageCellModel.h */, - 9BE6283F27F854F61D59F3EE61D359F4 /* JXCategoryTitleImageCellModel.m */, - 9EE074B9498B78418C3AF7D78F32BDE0 /* JXCategoryTitleImageView.h */, - E1697F9198FA29E76D1DA8DA03EDAB48 /* JXCategoryTitleImageView.m */, - 69F15CF6E1AFD468546DAFF7506A8EBB /* JXCategoryTitleVerticalZoomCell.h */, - 7CFA1E3DA2D32F49ED0C2F03D442A8D5 /* JXCategoryTitleVerticalZoomCell.m */, - BBA0FBA4BAA61EDFD82039DE96807D9A /* JXCategoryTitleVerticalZoomCellModel.h */, - E129F43363563308DEDEAEFF29166B90 /* JXCategoryTitleVerticalZoomCellModel.m */, - 34431EE38E4AF581D27534BB78461290 /* JXCategoryTitleVerticalZoomView.h */, - 308E6FA61D35B8BECD5CF36E6BDC548E /* JXCategoryTitleVerticalZoomView.m */, - A454A2C8FCB98799077B1E44521E8B3E /* JXCategoryTitleView.h */, - B15D8ACCEEAF853ED4FB1410663992FC /* JXCategoryTitleView.m */, - E46E183DB54302AA4E88F0424C621044 /* JXCategoryView.h */, - 2912F2AD4810AF34402597A8AD3BBE52 /* JXCategoryViewAnimator.h */, - 76A32A87B597F8FEF9BFB976DCF1D24F /* JXCategoryViewAnimator.m */, - F4F2ACE58A0E8F8EA045D1E4F2249FF1 /* JXCategoryViewDefines.h */, - 47837799E96C7ABF8530E2D107A740D1 /* RTLManager.h */, - E639A11168F792B080B33FC449133FAB /* RTLManager.m */, - F7077D80B6034CBC5A3CA926DCC3E799 /* UIColor+JXAdd.h */, - 530C188C2800BC141A0D3DA7E5DEFD70 /* UIColor+JXAdd.m */, - 46FCF03267C5F2CC466D7EA9DFB37CB6 /* Support Files */, - ); - name = JXCategoryView; - path = JXCategoryView; - sourceTree = ""; - }; - 651602BFDE30AA94E0CEC2AF242243E4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 68B79E3D728E062ED9A85D5974994553 /* AMapFoundationKit.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 67024E7A7E5E6DE12FC494AD047165E7 /* UILabel+DDCategory */ = { - isa = PBXGroup; - children = ( - CDE2F5948EF5F76E4E5490C1BDEAE805 /* UILabel+DDCategory.h */, - 77889065E57D4409FDDFAD10BD23CD8B /* UILabel+DDCategory.m */, - ); - name = "UILabel+DDCategory"; - sourceTree = ""; - }; - 67205D76729CAB13CD55779B99560B05 /* DDMASearch */ = { - isa = PBXGroup; - children = ( - 9A5169F6B86F0226E3F4FE9F47E00F33 /* DDMASearch.h */, - 655AB7FF6E44FB57461847F841BC5C8B /* DDMASearch.m */, - ); - name = DDMASearch; - sourceTree = ""; - }; - 6BB3714A9B2A8ADAFB7C6E4F48C573BF /* Support Files */ = { - isa = PBXGroup; - children = ( - 046DE57D9EDFB788B260AB5A453384C0 /* DDProgressHUDKit_Private.modulemap */, - 2B6C883C3324294052FC3299E85375C4 /* DDProgressHUDKit_Private-dummy.m */, - F150CCC27CF7A7E2B79C1AC22B86167F /* DDProgressHUDKit_Private-prefix.pch */, - 18C2FDBC8D0C78FD5AE84C9D9185A1FF /* DDProgressHUDKit_Private-umbrella.h */, - 0E3AEBF8D896ACBF5F41457ADFBB5F67 /* DDProgressHUDKit_Private.debug.xcconfig */, - 6AE52761D29B87759A8CDB4D298680E6 /* DDProgressHUDKit_Private.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/DDProgressHUDKit_Private"; - sourceTree = ""; - }; - 6E003F1E040EA5A3E9298980CC65FC15 /* DDNavigationController */ = { - isa = PBXGroup; - children = ( - ); - name = DDNavigationController; - sourceTree = ""; - }; - 7131B14110F04C48B7F0648B78D3C611 /* Support Files */ = { - isa = PBXGroup; - children = ( - 053B03E73524BAE1504623E93DAF6CA5 /* AMapTrack-NO-IDFA.debug.xcconfig */, - 6B991895339B324F8088470B8491A5F9 /* AMapTrack-NO-IDFA.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AMapTrack-NO-IDFA"; - sourceTree = ""; - }; - 7141A85E9F7B5E3D3DEB928D093C006B /* Support Files */ = { - isa = PBXGroup; - children = ( - 73F9897B9AA3A9FAD18712FED479E441 /* DDAutoUIKit_Private.modulemap */, - 4077B2CFC3AD50394AA33347D58C9AB3 /* DDAutoUIKit_Private-dummy.m */, - B0D6B2C65EC5921E9DC2EEC20D72BB50 /* DDAutoUIKit_Private-prefix.pch */, - FD44EAAED1E671A7BCD36F1D66F6F343 /* DDAutoUIKit_Private-umbrella.h */, - C91F30571910471B8118FF428C7E0DAE /* DDAutoUIKit_Private.debug.xcconfig */, - E7F35095B25197954930E7C85CF1AF17 /* DDAutoUIKit_Private.release.xcconfig */, + E113B7AD4D1FCFFE32C7938416B623FA /* DDAutoUIKit_Private.modulemap */, + 181A5E772C1615B6F24BE6E3F38412BF /* DDAutoUIKit_Private-dummy.m */, + B02AF5DECFC1F7EEFF02DA3D609EF94B /* DDAutoUIKit_Private-prefix.pch */, + 57DC046B1411F6C04408E64BF494413F /* DDAutoUIKit_Private-umbrella.h */, + 0F87DDFBA4484D0D5704F46641B3CC62 /* DDAutoUIKit_Private.debug.xcconfig */, + 701C17A99372BE7088969F793D8EBC60 /* DDAutoUIKit_Private.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/DDAutoUIKit_Private"; sourceTree = ""; }; - 71A7FEF865B74E8BEF0BFED456FBE1E8 /* Resources */ = { + 315D11796EB3EE2EA8C2A6FA718567FD /* NSThread+DDCategory */ = { isa = PBXGroup; children = ( - EFF157C9C98D26B2B75B85C92D8AE8C2 /* DDBaseViewController.xcassets */, + E3F472664C5FCD4791150EF71C4E1F08 /* NSThread+DDCategory.h */, + CB9041DC3695C2BEA4C74E435DDBAED5 /* NSThread+DDCategory.m */, ); - name = Resources; + name = "NSThread+DDCategory"; sourceTree = ""; }; - 7243F4A3E3D2EEDAD572DB83253BD664 /* DDTableView */ = { + 3241033F5560E3363AD9521C49BED552 /* DDBaseNavigationController */ = { isa = PBXGroup; children = ( + BDEF90DD8A9F5A1DEE4D5471E1FBBEC8 /* DDBaseNavigationController.h */, + F9301673C57E48E85A74FA402F13062B /* DDBaseNavigationController.m */, + 81EA9211A58B0185D3FAE7B18D9E131A /* DDNavigationControllerDelegateReceiver.h */, + 3407D50EC70483FDA9E32E0E3739FDA5 /* DDNavigationControllerDelegateReceiver.m */, ); - name = DDTableView; + name = DDBaseNavigationController; sourceTree = ""; }; - 7417AB6D17A3EC802E07BFC2748ED657 /* Support Files */ = { + 334A26306D0A45A954915329DB2B203D /* DDBaseImageView */ = { isa = PBXGroup; children = ( - 03BB44FC5E51BE8F4984D0D67B346B36 /* MJRefresh.modulemap */, - F7D66775E00968277373F1820C28F35E /* MJRefresh-dummy.m */, - EFF534404B48A07EF9415E1B7AF2B41B /* MJRefresh-prefix.pch */, - 5CB29478D24215B095F17948BDE075E9 /* MJRefresh-umbrella.h */, - 0DDF15B1CDB3036E5E12728D20B9B575 /* MJRefresh.debug.xcconfig */, - F4C324C3EEB34624F7BE3C05A9C244DE /* MJRefresh.release.xcconfig */, + 6A5C37F6119925C6F77086DEB398E81A /* DDBaseImageView.h */, + 010487B680031D7DD9F7CD504D25DC02 /* DDBaseImageView.m */, + ); + name = DDBaseImageView; + sourceTree = ""; + }; + 343938EEA0A7FF584E5E6E9FC07AB447 /* ZLPhotoBrowser */ = { + isa = PBXGroup; + children = ( + 3A4D3D9A95717B094DCC54770CA67988 /* Core */, + 1BD6D93B3F803600D28AF468A4F12C6C /* Resources */, + 9E242E888DA2440438741AFAD8A52DA1 /* Support Files */, + ); + name = ZLPhotoBrowser; + path = ZLPhotoBrowser; + sourceTree = ""; + }; + 3725090156F91385BC018472F3F846AC /* Support Files */ = { + isa = PBXGroup; + children = ( + F7A16749187D3F3F43E376E33E90BCB1 /* MJRefresh.modulemap */, + EE42FE650330E11E5EE5930879665304 /* MJRefresh-dummy.m */, + FB6B7C2292D4282E9FF665310BBF5782 /* MJRefresh-prefix.pch */, + 9F707967819FD72D13860AE06B6EC84A /* MJRefresh-umbrella.h */, + 763077C36964E5620A66FFE6910B1FE6 /* MJRefresh.debug.xcconfig */, + 28C2F4526FBFD0D012ADEA6705535EBE /* MJRefresh.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/MJRefresh"; sourceTree = ""; }; - 74A7EF229C4D91A16916A94C6A89BFEE /* DDBaseButton */ = { + 3760B36ECA81513C341DDCDB39C10236 /* DDMASearch */ = { isa = PBXGroup; children = ( - 25E13C3EEFE446F4D5C60A9EDE560D57 /* DDBaseButton.h */, - F9487F721F5E52BC459A280CD0CEE2F5 /* DDBaseButton.m */, + BDCB1A721556C54C18444EAADCAEF2A6 /* DDMASearch.h */, + 4B39E3962E974CE3491057975174B00B /* DDMASearch.m */, ); - name = DDBaseButton; + name = DDMASearch; sourceTree = ""; }; - 7646DF8F3FF75F459CBA7C3D900B3435 /* SwiftEntryKit */ = { + 377E3C70086F84F132BAA2696ED0369E /* UIImage+DDCategory */ = { isa = PBXGroup; children = ( - 9F2E7855DD23E12C990502A4702ED070 /* EKAccessoryNoteMessageView.swift */, - D72FA0A01089199412FEA816868B7E00 /* EKAlertMessage.swift */, - 95DFA4E6548D2EE4B145E7FAAE7E629C /* EKAlertMessageView.swift */, - F94E7C30AF4113D40F033CE1251D8D9C /* EKAttributes.swift */, - E1AF437F2DB2A8574DFA7DC9F8FC0E55 /* EKAttributes+Animation.swift */, - 50716B9CB0FF04147D96C5C2FCBB59E6 /* EKAttributes+BackgroundStyle.swift */, - DDCB81702EAE525FF8DE7BDF5629BE00 /* EKAttributes+DisplayMode.swift */, - AEDB2515BA33F0F0816E4596638A245F /* EKAttributes+Duration.swift */, - 5B8C14CFBCDDDAFCA75A6A384CD76543 /* EKAttributes+FrameStyle.swift */, - 56E023294987DB2AFF4A531BB11561CC /* EKAttributes+HapticFeedback.swift */, - 642E84188A6B1C3D9511AFFB474BC49D /* EKAttributes+LifecycleActions.swift */, - 6A60422D889F7E1EBF46471F13714391 /* EKAttributes+PopBehavior.swift */, - 532465459BEE78E683CEF713BFA81415 /* EKAttributes+Position.swift */, - 3F38FFF90202D9E904AA825348B55FF9 /* EKAttributes+PositionConstraints.swift */, - A41E654289BAD1E62B7744A07C80983D /* EKAttributes+Precedence.swift */, - 398E132E5A43118FB9EA9492E9455982 /* EKAttributes+Presets.swift */, - E523A437BB3E45345F5701B913971D20 /* EKAttributes+Scroll.swift */, - 784760F2E1450336B98D33BA94DB2D4F /* EKAttributes+Shadow.swift */, - 247E41FBB44855E2C5BCAB8AD3B9765D /* EKAttributes+StatusBar.swift */, - 5ACBD05DD12303A27FD6995F7CEBCB09 /* EKAttributes+UserInteraction.swift */, - CCD8139E573ED53FA58B47E40A4E577C /* EKAttributes+Validations.swift */, - 758F1ADDC82F7BCCB943A59C8537B285 /* EKAttributes+WindowLevel.swift */, - F83784656FA2501DB6AE967A4B117DDC /* EKBackgroundView.swift */, - 41064A94194F7191F85D64A6943EC379 /* EKButtonBarView.swift */, - 5D67B030548BC7A4FFBC4DB476395BC7 /* EKButtonView.swift */, - 6541609031B4BD5911B87723211257B0 /* EKColor.swift */, - D265B9F4640EF6FE9B2ACFFCC52D3CE8 /* EKContentView.swift */, - 5D33591D62AB244E9E0ADF969AFCC384 /* EKEntryView.swift */, - 5D9687C419B03846899E64FB9770E01E /* EKFormMessageView.swift */, - 014AF8A028499B074392AEB3C88636D8 /* EKImageNoteMessageView.swift */, - B5446E77012E65A051C648874F3E2513 /* EKMessageContentView.swift */, - 71C6EA2E8F4430153FB0CBB07B761F1F /* EKNoteMessageView.swift */, - 511D15671C4786E1630047EB2EB7EF6C /* EKNotificationMessage.swift */, - DB26073C862A492E3947239850F61CF5 /* EKNotificationMessageView.swift */, - FED3277627CB31B80D833E787B106378 /* EKPopUpMessage.swift */, - 2C604E62D9D0E0BE5335F770E114C364 /* EKPopUpMessageView.swift */, - 1307264018CD22D8DA1BA4C5F9ADAED5 /* EKProcessingNoteMessageView.swift */, - A9A05A3D0785506C922906560F5667D7 /* EKProperty.swift */, - CD00D29F12D980A3434AAA80BEF36D96 /* EKRatingMessage.swift */, - C291EB8711462A28B4CCFBD87683959F /* EKRatingMessageView.swift */, - 77557C199EB3DF9A2B4F5C1D3C46E8BC /* EKRatingSymbolsContainerView.swift */, - A7EEEA9A5515EA80316E2B9FCE92DEF7 /* EKRatingSymbolView.swift */, - D38EEAEF315A2DD27F9AAE8B9A3BC088 /* EKRootViewController.swift */, - 80DB2630784A3A152B901F46B59A2212 /* EKSimpleMessage.swift */, - A0BB89BC04C015262FA535E7D8EEC056 /* EKSimpleMessageView.swift */, - 34D02251B3BFF0BEA261D2342EAEA473 /* EKStyleView.swift */, - 8A36963C052BB1C9CE0EDC070B0BC8BD /* EKTextField.swift */, - B48EF9BD2FFEF3F8EDEA9BDCEC0C88D1 /* EKWindow.swift */, - 903D9CDB7ED4DB9B376A88D2220F6EAC /* EKWindowProvider.swift */, - 6E5E878503CF9093906C0EA0502070CF /* EKWrapperView.swift */, - 5C27C6EE509E6F2B2333242F5AEF03E7 /* EKXStatusBarMessageView.swift */, - 5C462A9856B6AC698726C7E83C7D0CFD /* EntryAppearanceDescriptor.swift */, - 8640D7EB45FCDF96BABAD093783B1878 /* EntryCachingHeuristic.swift */, - 9781C797B43E5FC55BFF99EA95EB9E71 /* GradientView.swift */, - 1B45DEDEFAD7C4D15F954904ED90CF54 /* HapticFeedbackGenerator.swift */, - 049BB5D10534634952758F357C557B39 /* QLCompatibility.swift */, - AD48561C5513231F3940349131F5CFD9 /* QLUtils.swift */, - 3D187095D15A35DAEB7BB6B89C1140F1 /* SwiftEntryKit.swift */, - BB233660682AF6860E76856471E5FB06 /* UIApplication+EKAppearance.swift */, - C7486AC6796E141A57182236E57AD54C /* UIColor+Utils.swift */, - 45C5F51CBD07626BCBD5E758A70D036D /* UIEdgeInsets+Utils.swift */, - 06E671CBC62168918B1233CCECC29DE6 /* UIRectCorner+Short.swift */, - 22C8184B21F23343E22A9C232D399C9D /* UIView+QLContentWrap.swift */, - F0733919B381A00997A7EEC037768C8D /* UIView+QuickLayout.swift */, - A2ADBDCE0E67450DA4405BA7567BA35D /* UIView+Responder.swift */, - 99F08FF721312B8FA11B22A4E2A3C53A /* UIView+Shadow.swift */, - CDC6154E7B682426348C660B31AAFA59 /* UIView+Utils.swift */, - BD28906C87A46ED4F4524C51036B55EE /* UIViewArray+QuickLayout.swift */, - EBC617E8E7795BF819D5694451F7A1CA /* Support Files */, + 24A42DA131B6172FC74C85FD26849C80 /* UIImage+DDCategory.h */, + 2BB0DF11CD844E256388256F6E16FD52 /* UIImage+DDCategory.m */, ); - name = SwiftEntryKit; - path = SwiftEntryKit; + name = "UIImage+DDCategory"; sourceTree = ""; }; - 7680D6CD6330B9D0E7123689FCB1A0A5 /* AnnotationView */ = { + 379C961D20E1DDC67D25F4399340A6F1 /* Trace */ = { isa = PBXGroup; children = ( - 9218AE1DDF28858CC993CF0588C28CCF /* DriveRouteCustomAnnotationView.h */, - B2BFB733E764620323F8A3A3BF796DC2 /* DriveRouteCustomAnnotationView.m */, + C30A94F9BB30B08DC44A51B00722FD1F /* MATraceReplayOverlay.h */, + F571620398BBD1B127B545511F718C22 /* MATraceReplayOverlay.m */, + 69449E87C701E39D533A06C15DBCB358 /* MATraceReplayOverlay+Addition.h */, + AB208F7F34CCECCAFBB2D4F525D7D657 /* MATraceReplayOverlayRender.h */, + 080D6D3724CAAF08E09EBD079BF600CA /* MATraceReplayOverlayRender.m */, ); - name = AnnotationView; + name = Trace; sourceTree = ""; }; - 7767C9B6967FE0CD9EF19BDA3D98F124 /* UITableViewCell+DDCategory */ = { + 3998F85FA0C59BE31CE2D0469426096B /* Support Files */ = { isa = PBXGroup; children = ( - E29CBC9A74C4F1060E2B086ACDD82109 /* UITableViewCell+DDCategory.h */, - 1DA22E9EAA33A9250A987DB225AE618E /* UITableViewCell+DDCategory.m */, + 49D962C2241B646AF3FE2C3AF957F6FE /* DDBasicControlsKit_Private.modulemap */, + FA36B1D93388624FA13B96296A5E4D8F /* DDBasicControlsKit_Private-dummy.m */, + 34637880E2337056CAADD8E4A1805D25 /* DDBasicControlsKit_Private-prefix.pch */, + ADA403A31FA1A88700C6F3579E62A04A /* DDBasicControlsKit_Private-umbrella.h */, + 3F1E830694888D939F71C1DCB3E20E29 /* DDBasicControlsKit_Private.debug.xcconfig */, + 2285C43E3120A0E3FEF48618C47EE5C4 /* DDBasicControlsKit_Private.release.xcconfig */, + 3300A74A1DB6FB59FD24F4E026746728 /* ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist */, ); - name = "UITableViewCell+DDCategory"; + name = "Support Files"; + path = "../Target Support Files/DDBasicControlsKit_Private"; sourceTree = ""; }; - 7E682E3CDEF9D2FEEC102880763549B9 /* Support Files */ = { + 3A4D3D9A95717B094DCC54770CA67988 /* Core */ = { isa = PBXGroup; children = ( - F9F3C9B151518EEBDF461EEA0CA27E02 /* ESTabBarController-swift.modulemap */, - 0DF18D6BA148903B65C6D1AAABCE41DE /* ESTabBarController-swift-dummy.m */, - 1AECD1F79FDA7AF20C4F45C8943CDAE7 /* ESTabBarController-swift-prefix.pch */, - 7A96D44B80709B17AF6D5CD258437126 /* ESTabBarController-swift-umbrella.h */, - 66759E5F4390DB94C4C82C3E95DBC797 /* ESTabBarController-swift.debug.xcconfig */, - 93302FD048F05C28A20840CB29A518B5 /* ESTabBarController-swift.release.xcconfig */, + 6898885DC20EE70D9C1EB74772737EA4 /* Array+ZLPhotoBrowser.swift */, + ADDF6FB7B3C4DCB57D058B099F217628 /* Bool+ZLPhotoBrowser.swift */, + 7DADB4B09E4E87B0C4E2B1EB1123CFE4 /* Bundle+ZLPhotoBrowser.swift */, + 451D48E6699DF469F31FD0E1C09E5913 /* Cell+ZLPhotoBrowser.swift */, + E088502A7D820261F0115AF74E402258 /* CGFloat+ZLPhotoBrowser.swift */, + 051B813006FEBFEB318C91E15193D000 /* NSError+ZLPhotoBrowser.swift */, + C55FFB414391135DF0AB4F126B372B4D /* PHAsset+ZLPhotoBrowser.swift */, + CA519685190B572CDEDBDD3602390865 /* String+ZLPhotoBrowser.swift */, + 765E8672678E1C09D202F65FFA51093E /* UIColor+ZLPhotoBrowser.swift */, + F113CBD7F04D6CCC85831A9030DE9DEC /* UIFont+ZLPhotoBrowser.swift */, + 5DC4CE8D9611DBE3D99EA727F70965C8 /* UIImage+ZLPhotoBrowser.swift */, + 3EC5F9CBF003D39ED3B23C49C1028217 /* UIView+ZLPhotoBrowser.swift */, + 32B551D0819473A60747E18B4C14A1DB /* UIViewController+ZLPhotoBrowser.swift */, + 85936B333071BC6A678A2FDAA5B47324 /* ZLAddPhotoCell.swift */, + F00837519066ABB5FF0DC814BAFAB0C6 /* ZLAdjustSlider.swift */, + 4DC01DCC64DF8FAB229F237EAA37C65C /* ZLAlbumListCell.swift */, + 40CAFB3E1A3C9EC8AADBEDCAB9655044 /* ZLAlbumListController.swift */, + 852B796C6F48BF2F463B8A5EDD213862 /* ZLAlbumListModel.swift */, + 5E415AE10176B57FD8983570EAD67302 /* ZLAnimationUtils.swift */, + BA08C9D2B09A14C57B6E0919E1D84C99 /* ZLBaseStickerView.swift */, + E58AC59E6C968DAB64C64D4181EBA20E /* ZLCameraCell.swift */, + E16751683A27C943E18658E9119DADD7 /* ZLCameraConfiguration.swift */, + 23012508A8CFF196B0877712337F1161 /* ZLClipImageDismissAnimatedTransition.swift */, + 70C29F27FE3DBAB14F76FE7EFA0950F6 /* ZLClipImageViewController.swift */, + DB11F8CEBB8DDD1009EB5961A24418E8 /* ZLCollectionViewFlowLayout.swift */, + FFF8706FC22FFDAF4CCB948313790CF1 /* ZLCustomAlertProtocol.swift */, + E2C2F1413154B061653C7051F88C7274 /* ZLCustomCamera.swift */, + 4A68C48493CAE8119467B3DB7E9640EF /* ZLEditImageConfiguration.swift */, + 31431E4F7783CA6DECF230375B22B68F /* ZLEditImageViewController.swift */, + 047158D21BDA2A17F2CA765069A680FD /* ZLEditToolCells.swift */, + 510115309C5E5C3D7D55CA1F94836B89 /* ZLEditVideoViewController.swift */, + 838296138C4D3B284D622B8D597C9A74 /* ZLEmbedAlbumListView.swift */, + E0BE9ED62BCC2A5093A64EB64B257B22 /* ZLEnlargeButton.swift */, + F0015DD4A4397A8BB2D54731EA726155 /* ZLFetchImageOperation.swift */, + 6E3F40101C68228DF69C6B42A4137AEE /* ZLFilter.swift */, + 43629C4CBA79734CC5B9A86B1A49B0D3 /* ZLGeneralDefine.swift */, + 5B7A4D62C35A6470D65059B5C32DDD11 /* ZLImageNavController.swift */, + 90563EEA416B7523480D2B48369FE45E /* ZLImagePreviewController.swift */, + 3F8B19B991C60C84770762CF5A3BB073 /* ZLImageStickerView.swift */, + 3C1CFA549F47D268857F856F9A6EED99 /* ZLInputTextViewController.swift */, + 59954F472C21AC5B68E04E9D32CE390C /* ZLLanguageDefine.swift */, + D8C0B77AA42B088DA0F5AFD59A779EC8 /* ZLPhotoBrowser.h */, + 099BF8279325CEBF485E03C1AC4C4825 /* ZLPhotoBrowser.swift */, + EAC8EF8D47BC70367C1BE3FFD7BB69D6 /* ZLPhotoConfiguration.swift */, + 0D229CB778DD6BCAA05786521D019414 /* ZLPhotoConfiguration+Chaining.swift */, + ADD76D4312B16F9A6A2F0C3275FA4117 /* ZLPhotoManager.swift */, + A820F356866C8E7F8B702B6C41D07B20 /* ZLPhotoModel.swift */, + 856F798880D87F8BB4B7689286986319 /* ZLPhotoPreviewAnimatedTransition.swift */, + 32FF6E478C4EA552462AA91836D97973 /* ZLPhotoPreviewCell.swift */, + FA2DB6492F43AA2D15BFF8D2AA8388B1 /* ZLPhotoPreviewController.swift */, + 2BE85FE72A1123D80C8A7CA095073318 /* ZLPhotoPreviewPopInteractiveTransition.swift */, + 1D2A86AA9593E4437AF7899EA76BAA2F /* ZLPhotoPreviewSheet.swift */, + 4F877D61A39633CEC5C88D3CFA2BB51C /* ZLPhotoUIConfiguration.swift */, + 600CA5EEB51D75209E0D8B002BB3FDC8 /* ZLPhotoUIConfiguration+Chaining.swift */, + 3851579D6D7B9A1DEB336BE3C3CC978E /* ZLProgressHUD.swift */, + 202AF65C5E7D40BAAA6A802E0786A02C /* ZLProgressView.swift */, + C6AB99B9D4A8083047FDAC4D8A4D2F54 /* ZLResultModel.swift */, + 809A7A37E348DB1B78CC8C1FB317103A /* ZLTextStickerView.swift */, + A63380366516F55AD567515566FAAE60 /* ZLThumbnailPhotoCell.swift */, + A69EBB35E5A703BD76BAB395808990C9 /* ZLThumbnailViewController.swift */, + B98C0CD8F6083C7813BEEEF94AE977E5 /* ZLVideoManager.swift */, + 8198EFA82489CB4D76B6DC3090176B15 /* ZLWeakProxy.swift */, + ); + name = Core; + sourceTree = ""; + }; + 3A866C7BA14C78A78C541FCF0C593D4E /* Support Files */ = { + isa = PBXGroup; + children = ( + 4C1DB5562CEF58D19CDD713DBB0E5789 /* DDWebImageKit_Private.modulemap */, + 1F0150D93E8B0A4B8E32A1A5257C66CC /* DDWebImageKit_Private-dummy.m */, + 278575DC613BC14FB058C498698F6B80 /* DDWebImageKit_Private-prefix.pch */, + A423E9E36352B4BA950B642BC6DFA20E /* DDWebImageKit_Private-umbrella.h */, + AD32871CE4968D724A1FB6A5342D72C4 /* DDWebImageKit_Private.debug.xcconfig */, + 95480C3872E4E17C74617FBFBF8025A9 /* DDWebImageKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDWebImageKit_Private"; + sourceTree = ""; + }; + 3BD1539EC9F1AAE0BC1215C35575AB9B /* Support Files */ = { + isa = PBXGroup; + children = ( + 0F65E660A926BDE78A3ADE80D96EAD90 /* ESTabBarController-swift.modulemap */, + 10E78EA03B45635A62E8A75AC1D9E93E /* ESTabBarController-swift-dummy.m */, + 665515CE26D997748A0075BB0B943E29 /* ESTabBarController-swift-prefix.pch */, + 60F42705BFD948A9ABABCD477FD07CF3 /* ESTabBarController-swift-umbrella.h */, + 07036F7B6AD4A7E150D2286C454F5302 /* ESTabBarController-swift.debug.xcconfig */, + DBDDACE7ED328F95E37674D0061C6225 /* ESTabBarController-swift.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/ESTabBarController-swift"; sourceTree = ""; }; - 810727A07FBD3E39272B95EDF35CFFA6 /* DDView */ = { + 3DF4FB32889F9866BA081CC89D535A86 /* Alamofire */ = { + isa = PBXGroup; + children = ( + C5F47AA0432710CC07D960B699702F45 /* AFError.swift */, + DC0B3A7300BCE69E8992F61EEEAC6CA6 /* Alamofire.swift */, + 105E47AE1B86BFF42ED5C63B86672C6F /* AlamofireExtended.swift */, + 12B5AC9085F2DEE9B7334395464B835B /* AuthenticationInterceptor.swift */, + C61A46C539D572109B56BC820A7AB809 /* CachedResponseHandler.swift */, + 91636193B0594088919464D754A2225D /* Combine.swift */, + E79A5EFD32400A7CAB87A509DCFC3C10 /* Concurrency.swift */, + BCA961048C3FD9DD3B7C90C277548114 /* DispatchQueue+Alamofire.swift */, + D069031AFD537B5DEC4C6DE48929461C /* EventMonitor.swift */, + D6A4959BE12400ADDFD98F7A7BFCFFA7 /* HTTPHeaders.swift */, + 947967ED7A04ACB1A60BD383D2CE005C /* HTTPMethod.swift */, + 4ECB8629B253CCC3616FEA82F7271763 /* MultipartFormData.swift */, + C0F261CC6A6D307986351911EF5D2B95 /* MultipartUpload.swift */, + 0E7BE130AEE55BCA246101DACEEC9C29 /* NetworkReachabilityManager.swift */, + E2A03719B9035AD652AC7BCBC444963E /* Notifications.swift */, + 4FE0F6BC4CC6203A7CE28853A12EC020 /* OperationQueue+Alamofire.swift */, + DBD521149E1CEACEF54EFDD39E91B2DD /* ParameterEncoder.swift */, + D75AAE78C0C56FE2FADE41D8C0F6D564 /* ParameterEncoding.swift */, + 023985FBC86C0039C4052D7E7A251910 /* Protected.swift */, + C4C067EA04D1A4B66AE9987C1E23492A /* RedirectHandler.swift */, + 3797D1DD5B1A0F195846CE836CB19152 /* Request.swift */, + 65585A6255E9A668F126C3349E9764A6 /* RequestCompression.swift */, + 2A83B64A488CD482E4ABCBEDDC7958B4 /* RequestInterceptor.swift */, + A7BD3B315CF1E49C0DF1C0C47A1A4D81 /* RequestTaskMap.swift */, + 2FF4EF6D2E392361DDB5AD7E17ED2BE9 /* Response.swift */, + C8525D0892FF956B412A92AEB56C627B /* ResponseSerialization.swift */, + F92F321BB4E55085159A166D3AE0B3AD /* Result+Alamofire.swift */, + E49F4BAC0A353CB76120B609353902C0 /* RetryPolicy.swift */, + 0405BCC9D7B9A0D536816C3FDD3B3D66 /* ServerTrustEvaluation.swift */, + 3FB25EFCCAB9C389BD32A7DDA910A385 /* Session.swift */, + 00168277CD215C813ED486B5C3C2A7C7 /* SessionDelegate.swift */, + 595AEEB12C4598C9FE42D3D765AE0F78 /* StringEncoding+Alamofire.swift */, + 9948C61B8BE2950E5F2D7AD7F62E84A9 /* URLConvertible+URLRequestConvertible.swift */, + E48CB8FB4C4770025E8BD071456B8D21 /* URLEncodedFormEncoder.swift */, + D3E96BA070C54E42EBD37FA41067659D /* URLRequest+Alamofire.swift */, + 3F53F469511231694565C34CFA8BCED3 /* URLSessionConfiguration+Alamofire.swift */, + 3F0BCB6DD102AF78527E8D8C2DD306EC /* Validation.swift */, + 804ABE867F7165A334161C995683C293 /* Support Files */, + ); + name = Alamofire; + path = Alamofire; + sourceTree = ""; + }; + 3E209A36FF6752EE22C8AECBAABFDCD8 /* Support Files */ = { + isa = PBXGroup; + children = ( + D14743D19E84479815BD293CC3CCA50C /* AMapNavi-NO-IDFA.debug.xcconfig */, + 3AD747C5387B5EF1AFCEAB6E0E2EBD19 /* AMapNavi-NO-IDFA.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AMapNavi-NO-IDFA"; + sourceTree = ""; + }; + 3FCF84A7D1135E451D7FFCE81C70B4DD /* UITextView+DDCategory */ = { + isa = PBXGroup; + children = ( + A13297A64E857B8AD8F9E9419F670A6E /* UITextView+DDCategory.h */, + F640EC32F3A617317DB086010BD50CE7 /* UITextView+DDCategory.m */, + ); + name = "UITextView+DDCategory"; + sourceTree = ""; + }; + 4001D9333CA6B8BEE16166DEC77E31D9 /* Support Files */ = { + isa = PBXGroup; + children = ( + 57D799A802EB821040CEBAE32A8A7A2C /* RxRelay.modulemap */, + B3236BABEDA9FBC8E0286261CC6342E2 /* RxRelay-dummy.m */, + AEB1455B94037FBC0DE808C3575DDDAB /* RxRelay-prefix.pch */, + 7856DD22C3CCDB580650D09E46F26E10 /* RxRelay-umbrella.h */, + B20798769083AC4AC67C8C9FB3FDB2EE /* RxRelay.debug.xcconfig */, + 435B0CAE533059D8B1E7A87953401EBC /* RxRelay.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/RxRelay"; + sourceTree = ""; + }; + 406B4B46478BF561840D95C402EBC391 /* Pods */ = { + isa = PBXGroup; + children = ( + 3DF4FB32889F9866BA081CC89D535A86 /* Alamofire */, + B72D0F8DB8621ED6C506173923A2CBD8 /* AMapFoundation-NO-IDFA */, + 40F8C85A5454CD6DEA3AA2F25A363626 /* AMapLocation-NO-IDFA */, + 73F53D4C00F5CD57B32AAB2AB38463E8 /* AMapNavi-NO-IDFA */, + 0E8FC417EA0933A904760EA4EA36862E /* AMapSearch-NO-IDFA */, + EFE0696C947EB3D6B84D90F03CE02EB4 /* AMapTrack-NO-IDFA */, + 9B63548E7F7CBB67B69DB2C77D4538B4 /* CocoaDebug */, + DA85237B6C26FEE4EC0A4D3580B26237 /* DDAutoUIKit_Private */, + 7E68274FF013A39D99E0E1F26F2469CA /* DDBasicControlsKit_Private */, + F0574EF402AB78DBEF88278973C51094 /* DDCategoryKit_Private */, + 6BF138FB13F62093C03749E00823E764 /* DDColorKit_Private */, + 9EE22B6F8E3F3EB769459B2700133461 /* DDControlsKit_Private */, + 2629F27A60907318BDD219D7284AFC6C /* DDFontKit_Private */, + 1223EE3DAF27B54BA67740F22165AB53 /* DDLogKit_Private */, + 21FCDE2F4A86FE66F76AB28A381405AE /* DDMAMapKit_Private */, + 4F6351683FD099BCDEB7AB993AFE7B52 /* DDNetworkingOfAlamofireKit_Private */, + 7B4B3C128D19A5D217D25A446CD15E28 /* DDTimerKit_Private */, + 62B6FC1FA8A431026835C097D00A8404 /* DDToastKit_Private */, + 108FFEA5A6E3C89CCED3ACBB2EF70E9F /* DDWebImageKit_Private */, + 4CD58DD8E0456865EFD685E408EB5683 /* ESTabBarController-swift */, + AB01253F0AAA4ACDB24CA6FAC3F581D3 /* IQKeyboardManagerSwift */, + F5F01E5079512CF77CE7A5C45A96CC29 /* JCore */, + B52F21A8FD994FA6FEA1A1BCA9DD89A0 /* JPush */, + C1E9E57D852D0DDCB78533B914DAB393 /* JXCategoryView */, + 1AA4AE2BB2A1C74DA58BE0A8ED9AB5BE /* MJRefresh */, + A04613F4FFAD3FD6658852CC4216C43C /* RxCocoa */, + 8533A6F1181C6620D924021177E59C14 /* RxRelay */, + F5875D3C31F7AB2D4441ECD026096340 /* RxSwift */, + 5D01824B3074C0B71D023A15501F740C /* SnapKit */, + 9A9A582DF229902DF5CD595A173694EB /* SwiftEntryKit */, + 584F7496F5B8EF534880C2E1863B7590 /* YYImage */, + 343938EEA0A7FF584E5E6E9FC07AB447 /* ZLPhotoBrowser */, + ); + name = Pods; + sourceTree = ""; + }; + 40F8C85A5454CD6DEA3AA2F25A363626 /* AMapLocation-NO-IDFA */ = { + isa = PBXGroup; + children = ( + 48EF8CC20FEADBBE4AE7C8A0736ED5F7 /* AMapGeoFenceError.h */, + B6C8AEB3296BF301DBFB0B68C48F5835 /* AMapGeoFenceManager.h */, + B77BE7006CB6C35625EA47C53199DB07 /* AMapGeoFenceRegionObj.h */, + 5FFA2323C9AEA8B12EE5EBDDB96E2975 /* AMapLocationCommonObj.h */, + 77AB1809577F05CF5AF082C3BBE243AB /* AMapLocationKit.h */, + 22CC4B2C133C429B61EC7357D4D30551 /* AMapLocationManager.h */, + 61AFE71C0E7A558FC0DD53E4FDF9E1FA /* AMapLocationRegionObj.h */, + 4071607ED4AF2496F4E5EC7F9B7AD86B /* AMapLocationVersion.h */, + C22D1F4927D041AE69F073840802C722 /* Frameworks */, + 1B7C12527162C08F2D4D985A98136067 /* Support Files */, + ); + name = "AMapLocation-NO-IDFA"; + path = "AMapLocation-NO-IDFA"; + sourceTree = ""; + }; + 431B212B050DAE23AA3148FB7FE39020 /* DDBaseModel */ = { + isa = PBXGroup; + children = ( + 8631B800FD236C9D9D5E4E309DDC5C39 /* DDBaseModel.h */, + 7C0CA20E72B701AC9AC4D19BF8597D1F /* DDBaseModel.m */, + ); + name = DDBaseModel; + sourceTree = ""; + }; + 448905284E8C8CC174E687817B41D4E5 /* Support Files */ = { + isa = PBXGroup; + children = ( + D8C26516A4EC50239FB11AEA20B51052 /* DDControlsKit_Private.modulemap */, + 7899D9109AB189BCD35FE32864942BBD /* DDControlsKit_Private-dummy.m */, + 92E59BBBC367B7DEDCE914676B3B06E5 /* DDControlsKit_Private-prefix.pch */, + 6CDF52C63CB219CFD5414F3812B9B163 /* DDControlsKit_Private-umbrella.h */, + 2208B0BE7EF934DEBD8304DC88B49B91 /* DDControlsKit_Private.debug.xcconfig */, + CC3707712067701A5DEF3C38B8BF857D /* DDControlsKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDControlsKit_Private"; + sourceTree = ""; + }; + 4577D0B5B5415C4B272304F942B485DD /* DDTransitionAnimation */ = { + isa = PBXGroup; + children = ( + 8CDB8B9FFB25A64BEF71AB5F39665916 /* DDViewControllerAnimatedTransition.h */, + 3E9EF3947148E56802D9E0E4193AA18D /* DDViewControllerAnimatedTransition.m */, + ); + name = DDTransitionAnimation; + sourceTree = ""; + }; + 46F711BC307B0BBEF5847972828F09BE /* Core */ = { + isa = PBXGroup; + children = ( + A61BB0F031A49A83E63EBCE9E3F8885B /* NSBezierPath+SDRoundedCorners.h */, + 683C92114218A4E0562D60FFD4A02FDE /* NSBezierPath+SDRoundedCorners.m */, + 5A642FE3DC7A3D51B94016D1A782B623 /* NSButton+WebCache.h */, + 7DF0B91A9D93C2202EF209EC6E175D75 /* NSButton+WebCache.m */, + 9CAD22AF2ABD2A1E14DE04D76D00A4CF /* NSData+ImageContentType.h */, + 67B20A4AE241E845727879B4F452A22D /* NSData+ImageContentType.m */, + AC74B0A589401DA85BFA356909B19FC0 /* NSImage+Compatibility.h */, + 15E7E9E4AF47AC9D13655DE3C5740B9C /* NSImage+Compatibility.m */, + 7BA85E09426160281B9523DA7958077D /* SDAnimatedImage.h */, + FCA9F4F7CB3BA61106A9ABBBE912C65B /* SDAnimatedImage.m */, + 95EC0D47E9F7C789A10A9A84006B7A12 /* SDAnimatedImagePlayer.h */, + DA442F100B39FD73F69475AFD76D4BFB /* SDAnimatedImagePlayer.m */, + DFCACD0845E1FF6A8AEB2F24853DF8A5 /* SDAnimatedImageRep.h */, + DEF047E3FDD5AC10AC4C96A4E5F4C200 /* SDAnimatedImageRep.m */, + BFB5725F5C2BA86856F9A0670041D244 /* SDAnimatedImageView.h */, + 2CB15C0D1BBC42BF51EA29ABAA2E9F0C /* SDAnimatedImageView.m */, + 7B406984239E0A7C2E354E908323FAE4 /* SDAnimatedImageView+WebCache.h */, + 183546C17C6EA14B622A1997CC5E9241 /* SDAnimatedImageView+WebCache.m */, + F154D250460B8C5B24F4A0D5B54C1D42 /* SDAssociatedObject.h */, + 76A1859FBB95A911F738D3276EDA4D21 /* SDAssociatedObject.m */, + 90B6CB58CE68A5C1855BC42AA68DE4B7 /* SDAsyncBlockOperation.h */, + 49A6583AE8EE2EAD248AC86F487484BC /* SDAsyncBlockOperation.m */, + 7F78019412227F10B3BC4D39E02C6A82 /* SDDeviceHelper.h */, + 5060D406C19911FB6F29BF6175AF4A36 /* SDDeviceHelper.m */, + B7A36BC6791D3EE238787A592A476BEA /* SDDiskCache.h */, + 646ACD40BA2BE84E6E566B4D5A5CED94 /* SDDiskCache.m */, + 143CA1E311C722BC2BDFF6197D41B587 /* SDDisplayLink.h */, + 3EDFD7BDDDA8AE33A4419C70C81D19E2 /* SDDisplayLink.m */, + 020BEDD662295C73C461AC6125693619 /* SDFileAttributeHelper.h */, + A14167FCFD0FB32EDC2EF68674B490AA /* SDFileAttributeHelper.m */, + 71085E406FD3583B05B1ED4E671AFC08 /* SDGraphicsImageRenderer.h */, + FA97221CB2D9C420F680791AE34F97C3 /* SDGraphicsImageRenderer.m */, + BCA7D7670E28A2FDAF10BEDA675E2986 /* SDImageAPNGCoder.h */, + 9574B3F12903DAA53C1E60A37609E5FE /* SDImageAPNGCoder.m */, + 85A936A211DDE8F3FDBDA0A4C12EDFB5 /* SDImageAssetManager.h */, + 829B7180E473D666918D83A6D6F87622 /* SDImageAssetManager.m */, + 326ECD71DB8C1B3A59010955353BE8C9 /* SDImageAWebPCoder.h */, + 267AF367F19E8311D957C67CA690AEF4 /* SDImageAWebPCoder.m */, + 028DD52D2E827FD4FD58D5477ED53741 /* SDImageCache.h */, + 83D055B0E49A63B2ACDD635735428784 /* SDImageCache.m */, + E3955B181F4D5000B079829F16263DA4 /* SDImageCacheConfig.h */, + FC2F4DCCBFEAD560CA85A42980F44FCD /* SDImageCacheConfig.m */, + 577A91A3F7759F072F7A3C28C56DDB52 /* SDImageCacheDefine.h */, + AB04BF235B4D1774C3BC85610FAAED66 /* SDImageCacheDefine.m */, + F32A8BFDD9D03BE153982FAE0F904008 /* SDImageCachesManager.h */, + 4BBA1963D019C42804EFBE4A89F484C1 /* SDImageCachesManager.m */, + 66AF7A3EEC3FBA941E81EA458AA88D5A /* SDImageCachesManagerOperation.h */, + 03564C5CF7B31FED7FDA8BDC4B588517 /* SDImageCachesManagerOperation.m */, + 6C7663DE3DF45FBD23B4A5766F5A03E8 /* SDImageCoder.h */, + 7EEFF07276DDB76FAE2C135FACF5B135 /* SDImageCoder.m */, + 3B5FA71DA9D399A61A1B3A2B1825C3F3 /* SDImageCoderHelper.h */, + 00187059A26C623E524F7CCA0D0B40BF /* SDImageCoderHelper.m */, + DCA2840E18E7B64870B2198305FAC35D /* SDImageCodersManager.h */, + A1308D15BDD130B9571E429B8D10B69B /* SDImageCodersManager.m */, + CB10303A529FCB8F2C0A1229D3B6FAA3 /* SDImageFrame.h */, + 79A69AC341B03033B46431E34FEDC675 /* SDImageFrame.m */, + 872235AB72C42A2D034CCD39639D1F97 /* SDImageGIFCoder.h */, + CE3A51268748C9CEC36A23811202D806 /* SDImageGIFCoder.m */, + 7F56CC6C5852793D1E431A1281B50E62 /* SDImageGraphics.h */, + B765863068CB068898657EB3F34EF2FD /* SDImageGraphics.m */, + 3F64D68BD1FFCA26EE4906BE8D20FBC2 /* SDImageHEICCoder.h */, + 11A471D74DE05908C477E8CD4E77A87D /* SDImageHEICCoder.m */, + BD620BE7FEA8C001D6DC00E45A3F957F /* SDImageIOAnimatedCoder.h */, + 6FC34A057C93B6E8B9925875DADE5792 /* SDImageIOAnimatedCoder.m */, + DF31A24F094A4BD02F55F992E62176EE /* SDImageIOAnimatedCoderInternal.h */, + AA41FD1CD95A52E213BF3BF80091EF73 /* SDImageIOCoder.h */, + BB004285577020CFA7433AF4A6FADEA9 /* SDImageIOCoder.m */, + 81B873BD5D6B7FD912871EACBDE48559 /* SDImageLoader.h */, + 4CFE977779E1304F07912798C970B6EC /* SDImageLoader.m */, + 5F21F5A1996A2CB042983AB6BF476F74 /* SDImageLoadersManager.h */, + D4C36CE9F22DFE3D77AFBED723DA9801 /* SDImageLoadersManager.m */, + C791A569FAA816328939B5EF05FACD85 /* SDImageTransformer.h */, + 8B9BC6FE7DB81AFF38BFF1A4D69D17B2 /* SDImageTransformer.m */, + 7D69CADBCA313A715654179BE2398DF7 /* SDInternalMacros.h */, + B13BF5572329B2C8D3867CA07C6F5D98 /* SDInternalMacros.m */, + 4806C5FA6DFBDA1F4812B1DEE62DBEEB /* SDMemoryCache.h */, + 9F751B9A87B36BB0373D780CDD36BD83 /* SDMemoryCache.m */, + 182537C657FFBC45A4AA26CB26FDA779 /* SDmetamacros.h */, + 853F285A17FD9AB5E40BA5192CED5D4C /* SDWeakProxy.h */, + 73CC10486B113A63DB08EBF71D2BE3B2 /* SDWeakProxy.m */, + 2083522E41525D888F80775C847896D4 /* SDWebImage.h */, + 41CE46C63B37A5D33C48C61B25672C66 /* SDWebImageCacheKeyFilter.h */, + 5B50E0ECEE27712F8BE8EAC93C4A8191 /* SDWebImageCacheKeyFilter.m */, + C3490ADD06A4DDA82ACD1D5F3AF18CB2 /* SDWebImageCacheSerializer.h */, + D4850EEC7B30F6FE57C57969D478F5D3 /* SDWebImageCacheSerializer.m */, + 0D0D96C6F246DA3B52916505644C04A6 /* SDWebImageCompat.h */, + 8F1145E3F0DAC09BCAF37050B0DF2FC8 /* SDWebImageCompat.m */, + 342139A14FF4D75200976E7F5B7A8B80 /* SDWebImageDefine.h */, + 5EC8A259F7CBEF82A6214292605E1935 /* SDWebImageDefine.m */, + 79AC532787351D8F40CD663668907140 /* SDWebImageDownloader.h */, + 7A69706F8BEEE9AB0FEFF51167078120 /* SDWebImageDownloader.m */, + 2173E39BD968AC752FD0EBEFB56A8D87 /* SDWebImageDownloaderConfig.h */, + 8CC4025545D131B43E6293B7FB19159B /* SDWebImageDownloaderConfig.m */, + 73D211CF3D5CCD86F4B4DEB55EE82F64 /* SDWebImageDownloaderDecryptor.h */, + 9FFDB5924275478272D8CD4AD9A5114E /* SDWebImageDownloaderDecryptor.m */, + FF636898D2A067D5EF99CEFE10377292 /* SDWebImageDownloaderOperation.h */, + A2FD3727D7402747D9C5A84EAAE2007F /* SDWebImageDownloaderOperation.m */, + 4657FAB864B78FF24C0BF5D22415C23A /* SDWebImageDownloaderRequestModifier.h */, + 0D88F70B1173C81728B34322CEBBA3E9 /* SDWebImageDownloaderRequestModifier.m */, + AB00E3B82036E5EB9B84ACE3453000DC /* SDWebImageDownloaderResponseModifier.h */, + B3E1F2C5BFE9F76376BFC1AB5DE0E68E /* SDWebImageDownloaderResponseModifier.m */, + 5A6703B5AD0BC90165C97778E9997503 /* SDWebImageError.h */, + CE8BB3AD17E24CAAD87AA30EB1EC73C5 /* SDWebImageError.m */, + F360F8391373C6630719BDAD8D1893C7 /* SDWebImageIndicator.h */, + 67DBC594505CCECC09CB8216A7CB2FE7 /* SDWebImageIndicator.m */, + 0E4FA5D906AEEDE746FC786311ACA0F6 /* SDWebImageManager.h */, + 0529D7992718C8BAE2EA78A64A4A913D /* SDWebImageManager.m */, + 9A6694246383FB0B90A39B64DE064EC4 /* SDWebImageOperation.h */, + BB105E577CDC4DF3E9AF9237F72B888D /* SDWebImageOperation.m */, + 99A4ACAE8590761148A34EE4BA8ECC85 /* SDWebImageOptionsProcessor.h */, + C604C0E1E00B817599732A398CA83B85 /* SDWebImageOptionsProcessor.m */, + D15A99B7399E1DA114D3DDBBFF53202C /* SDWebImagePrefetcher.h */, + F0B8B9E5E18E15C51D5AE7F97C852961 /* SDWebImagePrefetcher.m */, + E881D79473CA675F17ADF107C7D4EAD5 /* SDWebImageTransition.h */, + A34CCBF5B2957428FF0A2D400597EEFA /* SDWebImageTransition.m */, + AA6E5F7A5C74C0ED6962916F98559CE4 /* SDWebImageTransitionInternal.h */, + 10A7E43E46251EC9A21DC81AA391B2C2 /* UIButton+WebCache.h */, + 2D6AED8ECFF2278AD92D73718DAF6DBD /* UIButton+WebCache.m */, + 7288E751385A0027F4AFB7C50169DFB3 /* UIColor+SDHexString.h */, + 34203AC5A0D15836A79B5843F12CA326 /* UIColor+SDHexString.m */, + 60D55AA4185BEAA30031398F5B24BA39 /* UIImage+ExtendedCacheData.h */, + B62AD383D0E0EDF3B60834DFA6295454 /* UIImage+ExtendedCacheData.m */, + 55DF446960764DD8E3CB39B650E90BA4 /* UIImage+ForceDecode.h */, + 01EA57BC8F18EB48F1AF3D3783079018 /* UIImage+ForceDecode.m */, + 71E782BBB5EC32D8D3AB0992CDE2439F /* UIImage+GIF.h */, + 742E300B2DABB7C574386A0B50C1C89D /* UIImage+GIF.m */, + A20445C988AE70DEE2558BF1E4105D37 /* UIImage+MemoryCacheCost.h */, + 1D3FDA9F7A31659DF113D0BBC2AA4089 /* UIImage+MemoryCacheCost.m */, + 145CB52FD5565A98364695ADFD8A9824 /* UIImage+Metadata.h */, + D1E048D9740456DB9EE70B9B95D1E982 /* UIImage+Metadata.m */, + BE82696B515CA89DECB69D29E36B6910 /* UIImage+MultiFormat.h */, + 92CEC1C73FC61581B43E096DACCF1385 /* UIImage+MultiFormat.m */, + CAED5046E29926554619C0679C3E09C2 /* UIImage+Transform.h */, + AA11FD19BA6973AF54B47B980E6B8321 /* UIImage+Transform.m */, + 4601D9DE2D1D6CFC7EA8CAEABD2D7190 /* UIImageView+HighlightedWebCache.h */, + 2765BC72119437D2DD5A8D2CD950903A /* UIImageView+HighlightedWebCache.m */, + CF5C55652D19B094419C103BF0E20A63 /* UIImageView+WebCache.h */, + 5B86E194203D71390609E6FC2CE91A28 /* UIImageView+WebCache.m */, + 576BDF4FA045F98BA3A7080888EA51B5 /* UIView+WebCache.h */, + 0BAB633E1F079452E2EB6477874B4DB3 /* UIView+WebCache.m */, + 7568F23D5DBDF76EE3CFF3B5C1F6E76C /* UIView+WebCacheOperation.h */, + 33A71CB8AD0761E6670E870EE105C59A /* UIView+WebCacheOperation.m */, + ); + name = Core; + sourceTree = ""; + }; + 491CAF4F7EA0A6A7C6F2073A0FB481FA /* Support Files */ = { + isa = PBXGroup; + children = ( + 98EE3E07F6815E5BE8819CC66BA1F2C8 /* YYImage.modulemap */, + 1BE582A51E0C3EE8BB1539B518C522DD /* YYImage-dummy.m */, + B9CBA24F63E571BD2C393170ADD0E994 /* YYImage-prefix.pch */, + 530AC8406474C2FF49D2DE4451052522 /* YYImage-umbrella.h */, + 359946FB2FF6AAC3622279A18EF017D3 /* YYImage.debug.xcconfig */, + 15296078F4B16B67E3F8406F3EE167B7 /* YYImage.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/YYImage"; + sourceTree = ""; + }; + 4A43D736C4DB5A3C343CA4F456A54B64 /* Support Files */ = { + isa = PBXGroup; + children = ( + 0838AF5372BDCB81C9EBCF52C64463F7 /* CocoaDebug.modulemap */, + 5D99618A33D683582ED29799F3082502 /* CocoaDebug-dummy.m */, + CECF9298F3B2830888BF7206B417881C /* CocoaDebug-prefix.pch */, + 72D2C0C9FC00BB93FA5260ED05C91663 /* CocoaDebug-umbrella.h */, + B0A987A861294231DE10A2071637DAEA /* CocoaDebug.debug.xcconfig */, + CCD4786054F5828F2B4D89A8B2D09071 /* CocoaDebug.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/CocoaDebug"; + sourceTree = ""; + }; + 4A7E151DC1D6268447EF162B890097ED /* Resources */ = { + isa = PBXGroup; + children = ( + CA4F3D002558A179FE8177770C9EF2EB /* DDBaseViewController.xcassets */, + ); + name = Resources; + sourceTree = ""; + }; + 4C6EA6E7C57F228E98E374BE3E871010 /* DDView */ = { isa = PBXGroup; children = ( ); name = DDView; sourceTree = ""; }; - 81EF3B9531FFC34BABC514CF78837760 /* GCDTimer */ = { + 4CD58DD8E0456865EFD685E408EB5683 /* ESTabBarController-swift */ = { isa = PBXGroup; children = ( - 3C4476265B1F808102F32AC298F2611C /* DDTimerManager.h */, - 0C40F12DA8092A5DBAC674FC3717ECA8 /* DDTimerManager.m */, - A384DFFA8CDF0CD36E185BDDA873C37E /* DDTimerObject.h */, - 5D8AA99CAFA66EB05ADEE591537B032D /* DDTimerObject.m */, + AEDA709F3D2AD99F2DA5F5189FE9EC72 /* ESTabBar.swift */, + 384B2AC82BAF1E717744E5FBB92C93B4 /* ESTabBarController.swift */, + 3729B5556D1432D618769806F36CA693 /* ESTabBarItem.swift */, + 131137D89384B3BB45FC182BE4A58354 /* ESTabBarItemBadgeView.swift */, + 9ADA5DBFCFC6BE3CC0BF6FC177142F93 /* ESTabBarItemContainer.swift */, + E1B61212FD726519757AAAC3B033046B /* ESTabBarItemContentView.swift */, + BCFB5B5FA6F1A58273E7A8FC0E737B49 /* ESTabBarItemMoreContentView.swift */, + 99F61E1F5C5D79568D30DABEB0B38526 /* Resources */, + 3BD1539EC9F1AAE0BC1215C35575AB9B /* Support Files */, ); - name = GCDTimer; + name = "ESTabBarController-swift"; + path = "ESTabBarController-swift"; sourceTree = ""; }; - 82EA3BD9DFB61FCD038639D5FC12B245 /* DDImageView */ = { + 4F6351683FD099BCDEB7AB993AFE7B52 /* DDNetworkingOfAlamofireKit_Private */ = { isa = PBXGroup; children = ( + F19F57C5B7FA6BDE84D6E6A8359B9569 /* DDAF.swift */, + 70B6A5340E1BF2478695B9C553EBC6FE /* DDAlamofire.swift */, + 1B86D3550656D26AAF04C0807B738BCF /* Support Files */, ); - name = DDImageView; + name = DDNetworkingOfAlamofireKit_Private; + path = DDNetworkingOfAlamofireKit_Private; sourceTree = ""; }; - 84C49A36D476EB749B01353964C6FF96 /* DDBaseView */ = { + 4FC43CA8F80E44432CAA2709DA4F21EE /* DDBaseAnimation */ = { isa = PBXGroup; children = ( - 827D8783BB6345B7C7A5EA7BA9BE2D94 /* DDBaseView.h */, - 7C4C8486770A6B560214DDAFF13FAFDE /* DDBaseView.m */, + 4577D0B5B5415C4B272304F942B485DD /* DDTransitionAnimation */, ); - name = DDBaseView; + name = DDBaseAnimation; + sourceTree = ""; + }; + 504A7C7DE9E181BE8CAC38151852458C /* Frameworks */ = { + isa = PBXGroup; + children = ( + DE8C83E2335FF938FECDF5322A551652 /* AMapFoundationKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 536746E2409C48D2DD0534CEFC1C2101 /* Support Files */ = { + isa = PBXGroup; + children = ( + B9932BC7EC19051A0399563323BD2EFF /* DDColorKit_Private.modulemap */, + 0735312578C44C383E349E75442CFA00 /* DDColorKit_Private-dummy.m */, + 6AC1063A0826DF37092BEF1775A0E765 /* DDColorKit_Private-prefix.pch */, + 49C968A461FE24545FFF566A050BBB2D /* DDColorKit_Private-umbrella.h */, + 69F3E819D0775573D756676F918A674F /* DDColorKit_Private.debug.xcconfig */, + 8A7EA480D2BC34E9668D56C14531309C /* DDColorKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDColorKit_Private"; + sourceTree = ""; + }; + 53676505E85206D892D17767FF3C4393 /* Support Files */ = { + isa = PBXGroup; + children = ( + 2C61171400441C18A9F3BC0FEFB91AE1 /* SwiftEntryKit.modulemap */, + B0957097709AC8F8DEF5624B992C16E9 /* SwiftEntryKit-dummy.m */, + 73A59FA9D835B6A1D275F9E30C6E7E06 /* SwiftEntryKit-prefix.pch */, + 1A3B8BB5280054171E81D0AEF53B7F5A /* SwiftEntryKit-umbrella.h */, + 4A2DF036951A656B7E776DD298567C88 /* SwiftEntryKit.debug.xcconfig */, + C00FE287114359C893BFF76BA2EB6333 /* SwiftEntryKit.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/SwiftEntryKit"; + sourceTree = ""; + }; + 54E6EABA0FBC7040F8BF2C4B3F8F19AB /* Support Files */ = { + isa = PBXGroup; + children = ( + 372378286FFDD27160E7F6A38BBC541B /* JXCategoryView.modulemap */, + E439D24E1AF1E6DB1F78CAE0CE0EBB95 /* JXCategoryView-dummy.m */, + 81F2C51D5B6D97462503054D6D667748 /* JXCategoryView-prefix.pch */, + AECE2B2854E05412AF6C2A7CDF8D92A7 /* JXCategoryView-umbrella.h */, + C642C0F14B6B038C9E3F467DA28FFD1B /* JXCategoryView.debug.xcconfig */, + E99818E6F05F4B0EFC10292117AF6246 /* JXCategoryView.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/JXCategoryView"; + sourceTree = ""; + }; + 5589ACB19C4E62A06E6EE2B5695E3C1D /* DDMANaviManager */ = { + isa = PBXGroup; + children = ( + 7607C7845532CD19451FCAF5D8FAA594 /* DDMANaviManager.h */, + 30B1718F14FC3EFEDB25A9FEEB147CE5 /* DDMANaviManager.m */, + ); + name = DDMANaviManager; + sourceTree = ""; + }; + 575DA3C5D9E88F3523254B62B9AA490F /* Pod */ = { + isa = PBXGroup; + children = ( + A205ECCD51534499941438F03CA91240 /* DDProgressHUDKit_Private.podspec */, + F43A77B13813A04E536B507B24325F9E /* LICENSE */, + 57F2E4B03E7560E056C879FB10AB5B54 /* README.md */, + ); + name = Pod; + sourceTree = ""; + }; + 584F7496F5B8EF534880C2E1863B7590 /* YYImage */ = { + isa = PBXGroup; + children = ( + 9DE31E85EF8415D6DF087D3608DFB88D /* Core */, + 491CAF4F7EA0A6A7C6F2073A0FB481FA /* Support Files */, + ); + name = YYImage; + path = YYImage; + sourceTree = ""; + }; + 5A6EA8B7CA21C3A33ED3DF811C0C9701 /* DDProgressHUDKit_Private */ = { + isa = PBXGroup; + children = ( + 1817C4FB2A0D982C4BC4234EB09449AC /* DDProgressHUD.swift */, + 17C9ACE92DF8F6ADE2C2AA311C763A67 /* MBProgressHUD.h */, + 14A6567DC4510D8B9C160EF2B2E714CD /* MBProgressHUD.m */, + A7377E7AB1D6BB4250BF0B50F8F19337 /* networking_loading.gif */, + 575DA3C5D9E88F3523254B62B9AA490F /* Pod */, + 7C8CFB82A18125610A9A8F3ACCA00389 /* Support Files */, + ); + name = DDProgressHUDKit_Private; + path = /Users/zd/Desktop/PodRepository/DDProgressHUDKit_Private; + sourceTree = ""; + }; + 5CEADA5AF1E554CE40DF4E98DDFF7C09 /* DDBaseImage */ = { + isa = PBXGroup; + children = ( + 911EDDA287C4616228B6B25276B76F1E /* DDBaseImage.h */, + 7C16038A594C665F60D4805698B72E42 /* DDBaseImage.m */, + ); + name = DDBaseImage; + sourceTree = ""; + }; + 5D01824B3074C0B71D023A15501F740C /* SnapKit */ = { + isa = PBXGroup; + children = ( + 6562F933E6A10E559B004E17FDBC9A2A /* Constraint.swift */, + 0E66C4947D1D7A87EDB41BF5F09316FF /* ConstraintAttributes.swift */, + 747FC698D87DE63C92975D0806134123 /* ConstraintConfig.swift */, + 836A9B12B1C7097700E7E05C74726D4C /* ConstraintConstantTarget.swift */, + E7714ECC85EC1A167B86030CBB54913F /* ConstraintDescription.swift */, + C84C36F74BD80648BBD4DCC61687CD55 /* ConstraintDirectionalInsets.swift */, + D1B4F66505BB46511951EFFCD4326303 /* ConstraintDirectionalInsetTarget.swift */, + 1740DC82A31D9AD41027777CCCC0B1C1 /* ConstraintDSL.swift */, + 929EC8D404C18BDCA7CC5879A7F0D908 /* ConstraintInsets.swift */, + 0AB7099D4C771F44323C39DA7FAEDFFC /* ConstraintInsetTarget.swift */, + CE1078DB3AF2EECC66870DE16D615F7E /* ConstraintItem.swift */, + BD473A662B5E76A288233C87974D02D2 /* ConstraintLayoutGuide.swift */, + 19C9F61FA5D7D12AD711037257A0B7E0 /* ConstraintLayoutGuide+Extensions.swift */, + 8F7E6D4DA16A359E37CEC2ED6EDD992F /* ConstraintLayoutGuideDSL.swift */, + BE0B646AE15BC79042BAA18752D43316 /* ConstraintLayoutSupport.swift */, + 8C99745F89745AA2B6E89B0F54B8B233 /* ConstraintLayoutSupportDSL.swift */, + 798B1F31B12771422E0517E8CDFBF8E4 /* ConstraintMaker.swift */, + EA24EA00277932495A3B24F44F1C8A15 /* ConstraintMakerEditable.swift */, + 37E9275CE4749660A4D4C0D4DCAD4714 /* ConstraintMakerExtendable.swift */, + AE3FDED621E68F45B1277D90644A323F /* ConstraintMakerFinalizable.swift */, + 175F1D94372C95BB4A3392CBB9999BAD /* ConstraintMakerPrioritizable.swift */, + C3373BCF73FD06326B43D9F035754361 /* ConstraintMakerRelatable.swift */, + BBEA794A50898F92D70897F0ED03095C /* ConstraintMakerRelatable+Extensions.swift */, + F4A661007F41C2CFF1D7223154AFCDE4 /* ConstraintMultiplierTarget.swift */, + 91C48094DF6458C9650D3C38A39EEF8D /* ConstraintOffsetTarget.swift */, + 3533A414351489BABC7EA1F60292F9CB /* ConstraintPriority.swift */, + 77A08C07A53B05F112F9FF09FA9C7D2E /* ConstraintPriorityTarget.swift */, + 2DD10332BF756A24EF46B238AD204B65 /* ConstraintRelatableTarget.swift */, + 031C12316C0C279C92AC5A820545D006 /* ConstraintRelation.swift */, + DE2B5BAE299879F373534D005E9DE151 /* ConstraintView.swift */, + B29C6A8B3245FB3FC72FD122B869DC9B /* ConstraintView+Extensions.swift */, + D6E112CC0D476A2779399984548FD75F /* ConstraintViewDSL.swift */, + D8FE666D0F763DD3E55F82FA68FBBB77 /* Debugging.swift */, + 56CDFFAA431E30C72862C8262C36F484 /* LayoutConstraint.swift */, + 7F5667EA7028400F694EB265B1515E39 /* LayoutConstraintItem.swift */, + 500B07BC50D685A807AA7723E64F8386 /* Typealiases.swift */, + 2E8E9BEF4F1EF1B81499B3EFDB71695D /* UILayoutSupport+Extensions.swift */, + CA88F03F7CA9669928BBF64056588AFA /* Support Files */, + ); + name = SnapKit; + path = SnapKit; + sourceTree = ""; + }; + 5DD5B7206E28D4235F48A290BE6DE84F /* MapKit */ = { + isa = PBXGroup; + children = ( + DBB1D40F2237040531011900C70CE39B /* MKAnnotationView+WebCache.h */, + 9E49BA7F52B953A1AA1746DC56534085 /* MKAnnotationView+WebCache.m */, + 1021C1015D8030E8018E70F7FA5D6B04 /* SDWebImageMapKit.h */, + ); + name = MapKit; + sourceTree = ""; + }; + 5FB5B1136E5975DA765F62A0C2426914 /* Support Files */ = { + isa = PBXGroup; + children = ( + 22913B21CA114DD99738F02280AA3965 /* RxCocoa.modulemap */, + 4295F3E1B3BCB6803EADC1A8C7F6EFF8 /* RxCocoa-dummy.m */, + 08B1EED155C5B58B2D12B59801C8B034 /* RxCocoa-prefix.pch */, + 45E729D11A5D024BCDF6DD21A36B68A9 /* RxCocoa-umbrella.h */, + 58F527AE5401DDF13793CDD60001D53A /* RxCocoa.debug.xcconfig */, + B23978AC52BD5E2A0FC2DE78FE31AAB9 /* RxCocoa.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/RxCocoa"; + sourceTree = ""; + }; + 62239F6F1D6EDDE2063B80F3E5AB36FD /* NSBundle+DDCategory */ = { + isa = PBXGroup; + children = ( + 3843D64B5FA179D9BACFAF17D396593D /* NSBundle+DDCategory.h */, + A1BD1915A468B2C4832E4402397782B5 /* NSBundle+DDCategory.m */, + ); + name = "NSBundle+DDCategory"; + sourceTree = ""; + }; + 62B6FC1FA8A431026835C097D00A8404 /* DDToastKit_Private */ = { + isa = PBXGroup; + children = ( + 8D4B94D42B88D253987B6F2965EC6FEE /* SwiftToast.swift */, + B83A83B31C1292637B193D891F2D0533 /* Toast.swift */, + 7B2639D9277175497DAC94AB93E8373D /* Support Files */, + ); + name = DDToastKit_Private; + path = DDToastKit_Private; + sourceTree = ""; + }; + 6394B5593C7EA6620103D0CA6BBBF197 /* Support Files */ = { + isa = PBXGroup; + children = ( + A3C354AD191C0D21BF9E480D1884055C /* DDLogKit_Private.modulemap */, + D18856F19554AA0FC8C5CE1AC43E91EC /* DDLogKit_Private-dummy.m */, + 057F773EFC14453AE480FE4A487B1981 /* DDLogKit_Private-prefix.pch */, + 84D208193D7D31EB91FBE19F5220386F /* DDLogKit_Private-umbrella.h */, + 573B1AF3D94C6E783F8E4E5DA996E230 /* DDLogKit_Private.debug.xcconfig */, + 95E7C8CAE8DBC7FD87C0FB53B69224B1 /* DDLogKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDLogKit_Private"; + sourceTree = ""; + }; + 6BF138FB13F62093C03749E00823E764 /* DDColorKit_Private */ = { + isa = PBXGroup; + children = ( + 66FFBC38A9898C5058C0271555FA8699 /* ColorUtil.swift */, + 9EF9C95586D47D74A8FC45DF8F4059AF /* UIColor+Hue.swift */, + 536746E2409C48D2DD0534CEFC1C2101 /* Support Files */, + ); + name = DDColorKit_Private; + path = DDColorKit_Private; + sourceTree = ""; + }; + 6EDE21DDE2A3EA2378BE575E1AAC13A8 /* UIBarButtonItem+DDCategory */ = { + isa = PBXGroup; + children = ( + A527FEE8FF018382A2BD90616BEEEA6B /* UIBarButtonItem+DDCategory.h */, + 529EC13E4DA7A8021EC6970BB4D6F100 /* UIBarButtonItem+DDCategory.m */, + ); + name = "UIBarButtonItem+DDCategory"; + sourceTree = ""; + }; + 703B1C55BB2C820623A17E998C466F2C /* Resources */ = { + isa = PBXGroup; + children = ( + BE7520B6EB40C0F5B730C7C0492B5768 /* MJRefresh.bundle */, + ); + name = Resources; + sourceTree = ""; + }; + 72A7CD68026D8A2020075791CC09FD2A /* DDBaseCollectionViewCell */ = { + isa = PBXGroup; + children = ( + 82E7452B17A8D11C1D63C83076053639 /* DDBaseCollectionViewCell.h */, + 88B44A45620D633F0F79B1D622A8A460 /* DDBaseCollectionViewCell.m */, + ); + name = DDBaseCollectionViewCell; + sourceTree = ""; + }; + 73AFD1582CDABC9D23A9816E2A65527E /* ControlView */ = { + isa = PBXGroup; + children = ( + F78B82F686C99D5E3FCD5D28D9D3BBBE /* UIImageView+ZFCache.h */, + 851883344E384E61499414D74B69C88B /* UIImageView+ZFCache.m */, + 297D14C33E9EF9C657A066281CE55BB8 /* UIView+ZFFrame.h */, + 3174809B0F67CE51752DDC4F231FAAE6 /* UIView+ZFFrame.m */, + A59F9B1672DA8B3A328ED59E513E4E87 /* ZFLandScapeControlView.h */, + BDA39B92D3611BC488EA3148C9A51942 /* ZFLandScapeControlView.m */, + 34330979B1BE85E0E3F88A24EBBD9325 /* ZFLoadingView.h */, + 569BD9C4ED53D209BAF80A944B0487B1 /* ZFLoadingView.m */, + 1DFA72AC4B634B331CA595958950892B /* ZFNetworkSpeedMonitor.h */, + 5F57032C78ABDA0D4533CA8CF11CE1E1 /* ZFNetworkSpeedMonitor.m */, + FD5F002178EC4134FDF10526F1743D13 /* ZFPlayer.bundle */, + 12CE32F6809F40DB24A76EF29E769BF5 /* ZFPlayerControlView.h */, + 991E147CDBC8CF53D3271A8D060D23B7 /* ZFPlayerControlView.m */, + 07EC8660A5E0E7D8854D0D029A375A5B /* ZFPortraitControlView.h */, + 080B283DBD8EB8B01AAA2C2D7DA99908 /* ZFPortraitControlView.m */, + D8ACECD05E1DE890BF7451064B963926 /* ZFSliderView.h */, + 0127B0F6C094E20313E017BBE46C8FBF /* ZFSliderView.m */, + B85BB28F933857053898FE2F684653CE /* ZFSmallFloatControlView.h */, + 23B1AE12031D4C0C021B740DAF5993BE /* ZFSmallFloatControlView.m */, + 452FE9734D18B4F41FA59FA7633467A5 /* ZFSpeedLoadingView.h */, + 5D34DACF3E54E6EFA34965CC0DCB6418 /* ZFSpeedLoadingView.m */, + 1A78D78AD200DDB35A27DF7492AEA1D0 /* ZFUtilities.h */, + AF9C526A92820BDDB9AA5A65CFC57B59 /* ZFUtilities.m */, + E08B33FB64157120DBE81C4BF8C7D362 /* ZFVolumeBrightnessView.h */, + 610115B7DAACAAE236361F3624DA6D5A /* ZFVolumeBrightnessView.m */, + ); + name = ControlView; + sourceTree = ""; + }; + 73F53D4C00F5CD57B32AAB2AB38463E8 /* AMapNavi-NO-IDFA */ = { + isa = PBXGroup; + children = ( + 67ECFFD6055E790B0839D8D775E34880 /* AMapNaviBaseManager.h */, + 36BF4E3AB852252F1FB150426A1B871A /* AMapNaviCommonObj.h */, + D1F46BC59C58B1108D31434A53959142 /* AMapNaviCompositeAnnotation.h */, + D74F09F2BDAD4A00D37D3E51F87EFD46 /* AMapNaviCompositeManager.h */, + 811599DA63CDE13CF47830E83A723FD4 /* AMapNaviCompositeUserConfig.h */, + 5C1DD4EDBB47A8F695E3B74F2FFC9766 /* AMapNaviDriveDataRepresentable.h */, + E072C00256095FD869B8CDFF3B8D0F4B /* AMapNaviDriveManager.h */, + 486FFE5216F1D5BBA41A7FB01B58F3C0 /* AMapNaviDriveView.h */, + 22490F48C5D12A07B0D21EFD1FF26A8D /* AMapNaviEleBikeDataRepresentable.h */, + 127BB02B80189C7835B3CA771FC4360B /* AMapNaviEleBikeManager.h */, + A19594D6544446ACE96BC3BEE6F97EC0 /* AMapNaviHeaderHandler.h */, + DD01FF2B471320643647EDCA53337086 /* AMapNaviHUDView.h */, + 69DCFE14960926048D2D49F5296A358A /* AMapNaviInfo.h */, + 8A25CD916A9ED3604CEB6D14492B9237 /* AMapNaviKit.h */, + 5ED89A2112EF877A197D4408A31F7DDB /* AMapNaviLocation.h */, + 23A1266D1041088C299694028DB2CF53 /* AMapNaviManagerConfig.h */, + 564474044C92A98ACCE361F180324E19 /* AMapNaviRideDataRepresentable.h */, + F02548D1626DB1ACC7949C96608ABB8D /* AMapNaviRideManager.h */, + B3F02C5E19D2B002A170E07904689E42 /* AMapNaviRideView.h */, + 083CB070B87BD4710D1D88E1C3005A59 /* AMapNaviRoute.h */, + DF4D48378A4BC856627CA1A86511AC36 /* AMapNaviStatisticsInfo.h */, + 922E4395BE3B97043236ADB05B8B25B2 /* AMapNaviTrafficBarView.h */, + 1BFDB9F8D392B3D3938B0E71ED025A66 /* AMapNaviTravelManager.h */, + 64C7483249D21B9EDAE06AFCBBAEDA66 /* AMapNaviVersion.h */, + CADA9CBF64AC7C1E23199A49BDC7F30C /* AMapNaviWalkDataRepresentable.h */, + 2E605D0A3BFB2EBC612897D59AAB49DC /* AMapNaviWalkManager.h */, + 0085EA44900070E674C1AF21578CD211 /* AMapNaviWalkView.h */, + 45FDBD593805940EDAF359AC358532C2 /* MAAnimatedAnnotation.h */, + E2F2F3D435B45F58297A6135430E0855 /* MAAnnotation.h */, + 0A9A8050015602B7022E4A411D197991 /* MAAnnotationMoveAnimation.h */, + 011E43D4F30750B5DCB183C4C531BCA5 /* MAAnnotationView.h */, + 42DF41FF1634D3EC263413438BCF3E69 /* MAArc.h */, + 9214DC038F67A2FB96427609C690F487 /* MAArcRenderer.h */, + 8D8063ED5058BAADD5D3E2D8A5A64C9E /* MABaseOverlay.h */, + FF064347D659A8E60AB7F4DB7113B292 /* MACircle.h */, + 8E2D37897A2AA56949F42EF40D749748 /* MACircleRenderer.h */, + 0C317DEB14067C24892A10B5E1A36F0C /* MAConfig.h */, + CDE8ABA4740BE03DD01D14FA5437C4C2 /* MACustomBuildingOverlay.h */, + 862D884892F879DDA2835CC79E59A0AB /* MACustomBuildingOverlayRenderer.h */, + 1351BE9BFF0452873A1D358736A64D16 /* MACustomCalloutView.h */, + 0DBA3F580791EC6735AFACEA6DD936B3 /* MAGeodesicPolyline.h */, + 489EADA04FDF1F7B0A71324CE71A5DDF /* MAGeometry.h */, + F98691B2EEE112D76028B2530F5D2AA4 /* MAGltfOverlay.h */, + 392A2D5795D643C123CD2DE3DCCFC789 /* MAGltfOverlayRenderer.h */, + D089B5E02F35CD6664EC4F47DFBFB2DE /* MAGroundOverlay.h */, + A08A4EE64F0E2FDD8E0CD8CD54AC6402 /* MAGroundOverlayRenderer.h */, + ADDA45164BAAFF659A09E440CCE01862 /* MAHeatMapTileOverlay.h */, + 777FB59B60228033273CFB4A403A5916 /* MAHeatMapVectorGridOverlay.h */, + 31ABF7C35506912286BA9B2330822BFE /* MAHeatMapVectorGridOverlayRenderer.h */, + 96F050184FB736FCA8E788FA87A84C1B /* MAHeatMapVectorOverlay.h */, + 074682BE43D21B50EAE78690F012D7DE /* MAHeatMapVectorOverlayRender.h */, + 34125CF1458331C6F25E7C793B1F4D79 /* MAIndoorInfo.h */, + CB0FE6642A0A77B05E2E3C62860614CC /* MALineDrawType.h */, + C60EBE6BA7717BB9543942BAD82F7B46 /* MAMapAccessibilityIdentifier.h */, + 9F81B8892C14CDDB82C7324A4E6E742C /* MAMapCustomStyleOptions.h */, + 1BC89A793B9E01AB49E12F07432731BC /* MAMapKit.h */, + 16E236CE57079BB9909C2AAE959A4FB9 /* MAMapStatus.h */, + CBEB1D165BCCCA3B22C484B75C559623 /* MAMapVersion.h */, + 8CD8850B13F43C0BC9BE45990C981ABB /* MAMapView.h */, + 0C181F4FB113D1CDFDC5F8C9092DF900 /* MAMultiColoredPolylineRenderer.h */, + 6710250DFA070B076930CDD59BD363CA /* MAMultiPoint.h */, + F77B9155BBC70F9B55D38B976A99B683 /* MAMultiPointOverlay.h */, + EDA15C3900AA50F8093752246F5C5CA0 /* MAMultiPointOverlayRenderer.h */, + 979AAA9893B6D31EF32637E9EC3493FD /* MAMultiPolyline.h */, + C858FD9A8D1AB1E846F3B24607F45B02 /* MAMultiTexturePolylineRenderer.h */, + 1C6F05422F5DDE75C32B14068D2F16CB /* MAMVTTileOverlay.h */, + 8A383286F59DE5021E792C9B80EEAA65 /* MAMVTTileOverlayRenderer.h */, + D7A9DBEA84A5158B7037287C0D651187 /* MAOfflineCity.h */, + 12E2DF4B92C8F7F5603F0FC26A7C80CF /* MAOfflineItem.h */, + 41DA7BCDAE94A98BD8E44603B7561ECD /* MAOfflineItemCommonCity.h */, + BE274593483FEF9BA29E1DD46FE3AC3C /* MAOfflineItemMunicipality.h */, + 157255D9F8C7760759D233F186BEC055 /* MAOfflineItemNationWide.h */, + DABDC9FA26A2F3E72B75D1350EC51656 /* MAOfflineMap.h */, + 8DFB613F880A8309DA637E1FA2D9810D /* MAOfflineMapViewController.h */, + 0721CE6543EDC2B39144A8AA324C0E1A /* MAOfflineProvince.h */, + 27641B45EBDE3281D2AE9E24E137D642 /* MAOverlay.h */, + 643044E360C6C18CDC710EC9533627D9 /* MAOverlayPathRenderer.h */, + 1BE0C5A65B7BD6D6203BC1B087CD721E /* MAOverlayRenderer.h */, + AC0511679A7D8059B5DB16D2D43E630A /* MAParticleOverlay.h */, + 823DA6254203A66F262F2DF6C0671BA6 /* MAParticleOverlayOptions.h */, + A5DADF3FBFA5A8BC48164AC69E127E42 /* MAParticleOverlayRenderer.h */, + 3F72DD9BF6A57A73D87876DB50A405B8 /* MAPathShowRange.h */, + 8FB338D5E003BBA10A12C821B455E538 /* MAPinAnnotationView.h */, + BDEB8C54367873BF0F16600E31F5D840 /* MAPointAnnotation.h */, + 3DA31BA934F80F388C213CEFDAC5AF4B /* MAPolygon.h */, + F21764A6E022B8FD54299263EE75FE33 /* MAPolygonRenderer.h */, + 4020F6E15072DA006116819BF5EB984A /* MAPolyline.h */, + 1CEBEAA368B69F58C2A51A3C75C30447 /* MAPolylineRenderer.h */, + CF198F0D980E198B43A5671F0D758C83 /* MAShape.h */, + 1EED2BD33A4FC27A7C38784DD85CBB4B /* MATileOverlay.h */, + 760DC51BA1CCE59F4EECBD3F4322A9AD /* MATileOverlayRenderer.h */, + 1849CDB34B24B29C42587437A61827D3 /* MATouchPoi.h */, + 488189D5CE93F305B16631ED9CC972EF /* MATraceLocation.h */, + 0BEB7CD967248A2A328965EAAEF75364 /* MATraceManager.h */, + 54094C2ADED64A6C5EE77EE08150DB77 /* MAUserLocation.h */, + 1FA129BD4704A825D62671824D714E04 /* MAUserLocationRepresentation.h */, + 2CA46E41453BC75A2B987DD48D67A7D6 /* Frameworks */, + D3979C1F618D5BCFD8AA08F6817D062E /* Resources */, + 3E209A36FF6752EE22C8AECBAABFDCD8 /* Support Files */, + ); + name = "AMapNavi-NO-IDFA"; + path = "AMapNavi-NO-IDFA"; + sourceTree = ""; + }; + 76D8450BF86B51F9E2005F6047821E17 /* Frameworks */ = { + isa = PBXGroup; + children = ( + B993293104D528661EE1290999F1BFB6 /* jcore-ios-4.2.1.xcframework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 77BA02ED71169825A2A2F8F647536ED1 /* ijkplayer */ = { + isa = PBXGroup; + children = ( + 982477569E3EB6F86B8FB5A7791B986D /* ZFIJKPlayerManager.h */, + 24B6EF4A7CF9F4B2B8978FD328BF57C7 /* ZFIJKPlayerManager.m */, + 1B97B64E5A3E36BD943677BBC84FE654 /* Frameworks */, + ); + name = ijkplayer; + sourceTree = ""; + }; + 77CE1AFA87018DA6A585E020D39FE75C /* DDTableViewCell */ = { + isa = PBXGroup; + children = ( + ); + name = DDTableViewCell; + sourceTree = ""; + }; + 77DEF476333CDEA1C7FB2C36BFCC0A74 /* UITabBarController+DDCategory */ = { + isa = PBXGroup; + children = ( + 333A64D70D3E61CF1D8B7206D5568B6F /* UITabBarController+DDCategory.h */, + 4707DAEFEF2D0D697E34210939D2A7CC /* UITabBarController+DDCategory.m */, + ); + name = "UITabBarController+DDCategory"; + sourceTree = ""; + }; + 7AE585473A9E054D13C23178C7C9632C /* Support Files */ = { + isa = PBXGroup; + children = ( + 41940DCED3D4DB7D1DB7DAA34B5A3EF7 /* ZFPlayer.modulemap */, + 7F61107954704ADA20D3EC8B85F2EE63 /* ZFPlayer-dummy.m */, + 5DDCD50BDAAE3ED5FBB5E515F75F45AE /* ZFPlayer-prefix.pch */, + AADBB67F6F3BD3DC2C9677FB61DE87B2 /* ZFPlayer-umbrella.h */, + 042FD570FE2EB98D35D73505DC07E29B /* ZFPlayer.debug.xcconfig */, + 47ED4C6AF5D8765CBA6634C8D568D18F /* ZFPlayer.release.xcconfig */, + ); + name = "Support Files"; + path = "../../../Desktop/中道救援/OrderScheduling/Pods/Target Support Files/ZFPlayer"; + sourceTree = ""; + }; + 7B151E449D9F26084F4B2F2DB1A582DF /* Support Files */ = { + isa = PBXGroup; + children = ( + 30D183E521CC8CD86A339C5481D98365 /* JCore-xcframeworks.sh */, + DFA017B9AE03666055B853A359A49E82 /* JCore.debug.xcconfig */, + 9E447C0DC9643C75C630771D47581B9E /* JCore.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/JCore"; + sourceTree = ""; + }; + 7B2639D9277175497DAC94AB93E8373D /* Support Files */ = { + isa = PBXGroup; + children = ( + 69945F5F3F6ADBB63B04C275CAFAD210 /* DDToastKit_Private.modulemap */, + C91739095AD2A951312E9F02096FE6F7 /* DDToastKit_Private-dummy.m */, + FE1955E8B0BA1650B135345FDEE25E78 /* DDToastKit_Private-prefix.pch */, + B577CA7712339985EC493598557264DA /* DDToastKit_Private-umbrella.h */, + CA784468F647EDFEFD5CA077A9CA1A88 /* DDToastKit_Private.debug.xcconfig */, + 5B918BE6829E36B093B33911AD580C61 /* DDToastKit_Private.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/DDToastKit_Private"; + sourceTree = ""; + }; + 7B4B3C128D19A5D217D25A446CD15E28 /* DDTimerKit_Private */ = { + isa = PBXGroup; + children = ( + A810D8CEFDE04B4BCDF8DD96138290A1 /* GCDTimer */, + AD2C28FE71BF88CECD95AD8A8D885DA8 /* Support Files */, + ); + name = DDTimerKit_Private; + path = DDTimerKit_Private; + sourceTree = ""; + }; + 7B947A394C808C44B755BD2FE038CB75 /* Resources */ = { + isa = PBXGroup; + children = ( + 09C40B0E95DB4E99B10A38E31902F4B2 /* _icon_file_type_app@2x.png */, + DF16DF0D95718B0AB57EB3C05FD27F3B /* _icon_file_type_bugs@2x.png */, + E7CF2DAC77FA25AF6A3D13055AEA1C43 /* _icon_file_type_close@2x.png */, + 9F4CBD7F4377293698C30AB705D9B9E7 /* _icon_file_type_down@2x.png */, + F5CBAB2A4B7326EB4A763D01A2A9999E /* _icon_file_type_logs@2x.png */, + 48B0F84BA68B7E880F6A9A79EF2D4823 /* _icon_file_type_mail@2x.png */, + C7C39B736A037EF484AAF90AA1EB65C6 /* _icon_file_type_network@2x.png */, + 80AE357B7349C17E56DEAEC460A741BE /* _icon_file_type_sandbox@2x.png */, + 5A63F40C635AD7BB4A18DB4DC6E60559 /* _icon_file_type_up@2x.png */, + F9D29974CDEE8ADF2131B49108F27AD2 /* App.storyboard */, + 0F59B7C43CC0DFF055CB289EEF7B2697 /* icon_file_type_7z.png */, + 47280309748C5AFBDC2CEA24B312CF8D /* icon_file_type_7z@2x.png */, + 92A21FFA8FF761302C68EF115CBC9781 /* icon_file_type_7z@3x.png */, + 903C1559987741E384E0FC0E402C778B /* icon_file_type_aac.png */, + D6DE3322A80C9797BF01921F29702179 /* icon_file_type_aac@2x.png */, + 21E532A54FC2C8814E17558618D645F1 /* icon_file_type_aac@3x.png */, + 57E42F40C3594BFA82636BC9E97EA5CE /* icon_file_type_apk.png */, + 8FFA85824FA51D9640282D909F8983BC /* icon_file_type_apk@2x.png */, + 4D87E1BF59E2257918E645AAF157E352 /* icon_file_type_apk@3x.png */, + 930C3EF2BBF607CCF83A19A3A0286F67 /* icon_file_type_avi.png */, + 860E1C2D9B4B04FEAE87E32087A3CCE8 /* icon_file_type_avi@2x.png */, + 66C1FF6946B5863537648C801D89F002 /* icon_file_type_avi@3x.png */, + 9C6F686EF4084ED71CDD7BDB9DF1AAC8 /* icon_file_type_bin.png */, + 828BE2BB4941E9FB01A272702FA16F70 /* icon_file_type_bin@2x.png */, + 94623C6E84EBDEA05365925B3E42F7EA /* icon_file_type_bin@3x.png */, + 053CE3188D30CC069ECE9440461764DB /* icon_file_type_bmp.png */, + 1444D851A51CFB5751CA28CB836FEA34 /* icon_file_type_bmp@2x.png */, + 87E7A17E1F7653F51C7619ED850555E5 /* icon_file_type_bmp@3x.png */, + 3784A3DB789650F932D9963F4C17199D /* icon_file_type_css.png */, + 65BB21C1EA3F15703D1E8A1246CCCCA7 /* icon_file_type_css@2x.png */, + A01F139F13CC37F3AD2C7A4BC8A4B67E /* icon_file_type_css@3x.png */, + 922AA1D8757C0DC87DF762C74FAEC8D6 /* icon_file_type_dat.png */, + 73DCAEAA669CED59467BF661C1778B03 /* icon_file_type_dat@2x.png */, + 49E6607FD1EAA74F98C024F1330DF502 /* icon_file_type_dat@3x.png */, + D390475F79E151F16AEABFF4CC4DCD5E /* icon_file_type_db.png */, + 00CD30F5F567FC1018DC92D546AA2960 /* icon_file_type_db@2x.png */, + 614DF6BF0E33E89BF4EA1560F1A35C6A /* icon_file_type_db@3x.png */, + C6873964EDB0FDCDB2144C6ED35B8665 /* icon_file_type_default.png */, + 480707A4943B403A355FFAED8254A766 /* icon_file_type_default@2x.png */, + 0D7861A9E91023CF10D593405D8F9C45 /* icon_file_type_default@3x.png */, + 41BA120647981210C54376CF0EFC2B8E /* icon_file_type_dll.png */, + E619FCCD212CDB07A363DE714C48AD1C /* icon_file_type_dll@2x.png */, + 078F02E5D258B7A147C8D6819568DD5B /* icon_file_type_dll@3x.png */, + 8F7898692E7B9390B2312B771D4CD37F /* icon_file_type_dmg.png */, + 0E7761C117F7DF15832C45E3745E51D2 /* icon_file_type_dmg@2x.png */, + F664A61CC14E86AC4EF63B162141B083 /* icon_file_type_dmg@3x.png */, + BB614ED146D1F160F1274BC773191F7E /* icon_file_type_doc.png */, + C56E3AD93A1F5799273B5DF30AA18E7D /* icon_file_type_doc@2x.png */, + 57662FFA2736D194858B0B3823874044 /* icon_file_type_doc@3x.png */, + 4C577058C70E34703A8E5FE13457CE27 /* icon_file_type_eps.png */, + F6B6C333A6241EE8C24828A71133F5A7 /* icon_file_type_eps@2x.png */, + DAE53BA40B5C10D4C54F079548B261E9 /* icon_file_type_eps@3x.png */, + ECB11834621762BDB5EE9808B41EBFA9 /* icon_file_type_fla.png */, + 8EDFDF5DE32B1420620E3DA678484153 /* icon_file_type_fla@2x.png */, + D4F001A9A0DF8D745FC083D8AC520544 /* icon_file_type_fla@3x.png */, + 66A9E46A2CB756450E0B2CE0B9A0B6F9 /* icon_file_type_flv.png */, + 72DC251730330FF1CA08CA758A2C039F /* icon_file_type_flv@2x.png */, + ACD43254FF0BBC054356DA61427801F9 /* icon_file_type_flv@3x.png */, + 4961A239F83749E08AB9F8DAEB0F3C06 /* icon_file_type_folder_empty.png */, + 745406A4D088BA4EC192EC68949FBE84 /* icon_file_type_folder_empty@2x.png */, + 200F656D7B56C8F026A33C630F0E2B05 /* icon_file_type_folder_empty@3x.png */, + 0851B9AB3364051C2884EE62971BE844 /* icon_file_type_folder_not_empty.png */, + ADEB87385FCCDE6CB9130A92ADDDE930 /* icon_file_type_folder_not_empty@2x.png */, + F00BB25D48568A01219EAE2710414BD3 /* icon_file_type_folder_not_empty@3x.png */, + 4C3C52471C2A8443B73F8CF9D5BAB74A /* icon_file_type_gif.png */, + B61E09A9B6E403F65A967A5B21C4B037 /* icon_file_type_gif@2x.png */, + 65422B5BF9CFEDCC0E4F9310DA33EFF7 /* icon_file_type_gif@3x.png */, + B4BF81A19A0DFA7763E9F7602B005F87 /* icon_file_type_html.png */, + F00F6A69B4F36369969EED08E7D69E7A /* icon_file_type_html@2x.png */, + D5EBDF9253E0B5B5516E535816135E0A /* icon_file_type_html@3x.png */, + 7BBD6DD2E41A775A3C550D9EE456C222 /* icon_file_type_ipa.png */, + 49EAB945120E58B1123D68CDB84CDC14 /* icon_file_type_ipa@2x.png */, + 147E802720C9A42FC477FC63166EF7E1 /* icon_file_type_ipa@3x.png */, + 7E779901DFF54A4C5899624A3B299989 /* icon_file_type_jar.png */, + A6F5E0D832D5221D399157728B94B8ED /* icon_file_type_jar@2x.png */, + 3CBBF5AE8829A849AFE181302ED7537E /* icon_file_type_jar@3x.png */, + 724DBEC4492D1F52D56DCC43EE91243E /* icon_file_type_java.png */, + 30E1D55FBC7E28012473EEB652949FD7 /* icon_file_type_java@2x.png */, + 1A58462F69F3509668BDB890136B9CB6 /* icon_file_type_java@3x.png */, + 377DF829D349D888C2564A28054D721F /* icon_file_type_jpg.png */, + 13B813933CCDA33E16DEBFECE1C3ECB9 /* icon_file_type_jpg@2x.png */, + D18B4535C24110B577A58951C64CBE0D /* icon_file_type_jpg@3x.png */, + D7FDACF77ACACA9CAA20492301F6393C /* icon_file_type_js.png */, + B6D96537566760B368826AA7713EC498 /* icon_file_type_js@2x.png */, + B6623FE4FD6470889E5E93D1F805A1C7 /* icon_file_type_js@3x.png */, + 4D3DC3E8048CB0F73CC75585ED74AB62 /* icon_file_type_json.png */, + 18500366E4A8E3765EAE2044C632F71A /* icon_file_type_json@2x.png */, + 1DA07A8171CBA9CDAC5CE5A2645C2E49 /* icon_file_type_json@3x.png */, + B3FA92F1AFBC541F37F50BCA5F09A09C /* icon_file_type_keynote.png */, + AD7486E7F733DEE72A2B9C23628664C6 /* icon_file_type_keynote@2x.png */, + B30BB9AD3C6391D52ED6DA4ABBB335E6 /* icon_file_type_keynote@3x.png */, + 76B3653366E301F55DAB1AA5003BE86D /* icon_file_type_md.png */, + 4B2259831A09B5840229059EAB752E7E /* icon_file_type_md@2x.png */, + BB16D888AF1830A4655CF7BE2B586791 /* icon_file_type_md@3x.png */, + D041CC02701C21074F4CB0A194E97CF8 /* icon_file_type_midi.png */, + 8ACF17CABB17BCC3DDD55B00AFE3387D /* icon_file_type_midi@2x.png */, + EE1A4A37BAEB0B8A5FC0F7332DB03907 /* icon_file_type_midi@3x.png */, + EB735B2017BD7F0315DA38032F6E18D0 /* icon_file_type_mov.png */, + 4E67771D06F40179910FE4D0374A1347 /* icon_file_type_mov@2x.png */, + 1BD72C9F41EB046E5BF53BBF38BF1248 /* icon_file_type_mov@3x.png */, + AD226C7E819A918CF720D6F13F743951 /* icon_file_type_mp3.png */, + DB163457E4D0823651D898B78083EC72 /* icon_file_type_mp3@2x.png */, + 8530375FCFE95700172E0597DDBDF4E5 /* icon_file_type_mp3@3x.png */, + 34A33C7DAE56667B386823668A449AA9 /* icon_file_type_mp4.png */, + 13D0C74F0542D51C638305ABFEE8C9D1 /* icon_file_type_mp4@2x.png */, + 9D20A286540C08FC50B2A9B10CFD4D12 /* icon_file_type_mp4@3x.png */, + 2BE80AF0E3A430CA28CC3D73F7868541 /* icon_file_type_mpg.png */, + 8818E96E52012BEFBD3F408134D42BCF /* icon_file_type_mpg@2x.png */, + 91DAF635D13731883FAB5B7413C6E5B7 /* icon_file_type_mpg@3x.png */, + 3BCAF3ADB58D918A41D1EA64FA171AF7 /* icon_file_type_numbers.png */, + 71ED8CFA2F352F4BBEFA552B628FC639 /* icon_file_type_numbers@2x.png */, + 14D1D44DBE2726EE9B87782F2B9D0C27 /* icon_file_type_numbers@3x.png */, + F3BEE8A43CD4DE0003908883606EA82C /* icon_file_type_ogg.png */, + EDB26518BCA154BA820AA6AA2FA38E6A /* icon_file_type_ogg@2x.png */, + DFA3D92AC70BB7CA80578EF794CECAD0 /* icon_file_type_ogg@3x.png */, + EB0611DD85896A3010A096DA8675B449 /* icon_file_type_pages.png */, + 2F2C4C8E57DD9187CE7CE4C87FE90D8A /* icon_file_type_pages@2x.png */, + 59E97F91016D9AAF9695B7ACC583647D /* icon_file_type_pages@3x.png */, + 45D34DD4BB3C41323EDE89435C136B4A /* icon_file_type_pdf.png */, + 7BBE51C4347468E4FB1ECACADFCA130E /* icon_file_type_pdf@2x.png */, + 2F583D9600D5B7FA64D080F0E12AF4C8 /* icon_file_type_pdf@3x.png */, + 8F6FBA43DAB8E1E0569FBB30704EC16D /* icon_file_type_php.png */, + B01BB671CA2A4084A114B7EEAE648C7B /* icon_file_type_php@2x.png */, + 85732C1F78BB2933416293539FBF7AB5 /* icon_file_type_php@3x.png */, + 81E6C4D1ABE099A1EAF7D26C061E833F /* icon_file_type_plist.png */, + 2E339D403618E1B612E6234948887728 /* icon_file_type_plist@2x.png */, + A06F5CCBF3ABBBCCCD169A144F7BE906 /* icon_file_type_plist@3x.png */, + 5B36D869B5B6C27E8F52EAD14F83DF88 /* icon_file_type_png.png */, + 05D0B613D4CF7D69AE7088B3A0DBBB6C /* icon_file_type_png@2x.png */, + 86959CF16F4A53D98753FFDE5F383D91 /* icon_file_type_png@3x.png */, + 20F7A188D45708D34BBBE7EDCBAA9F20 /* icon_file_type_ppt.png */, + 659D7722A37717A7CB378A9282AD1239 /* icon_file_type_ppt@2x.png */, + 05D268F08282267996278DFD5680CD83 /* icon_file_type_ppt@3x.png */, + D337FAD32B5D70EE60C8B034320605E1 /* icon_file_type_psd.png */, + 8AFE0287F2557ED8052A4A9951AEC45B /* icon_file_type_psd@2x.png */, + 37B806A74D685E4D9B0C9D8245773FE4 /* icon_file_type_psd@3x.png */, + F61D710A5B6E2DB064FA411E9E680088 /* icon_file_type_sql.png */, + 1F72BDA850E28B35A0C4B3384B672BBB /* icon_file_type_sql@2x.png */, + 22575934E60F9BCE29965F971D632C77 /* icon_file_type_sql@3x.png */, + 029C45D031F88BD378248975892E349E /* icon_file_type_svg.png */, + 92F2BD4340DD2CE69C76686E835BB9AC /* icon_file_type_svg@2x.png */, + BB50A33426F3FA3ACC3303DA5E7B9B10 /* icon_file_type_svg@3x.png */, + 312365A735D9F0FBD101347DF84BCDBB /* icon_file_type_swift.png */, + 8E9326CB1ABF28EF88B9668F713EF3B8 /* icon_file_type_swift@2x.png */, + 57E0B15D6E0BEDE72D4FC3A186852877 /* icon_file_type_swift@3x.png */, + 41956AF245AFA272DEA39B75395CCF7C /* icon_file_type_tif.png */, + 516EE0BCE989A20EDEF6EA9A7B865D2C /* icon_file_type_tif@2x.png */, + 013B74AE53115CEAEAD69AA5C007F8AA /* icon_file_type_tif@3x.png */, + AE96567F6E7FC821A2A8BD096E7352DE /* icon_file_type_torrent.png */, + E1073962F05D7C6D5BEDB2138E26285B /* icon_file_type_torrent@2x.png */, + F30D1178290408849727C731BA081DB4 /* icon_file_type_torrent@3x.png */, + DF694C9AA4C6AC295CC670051DDBCB43 /* icon_file_type_ttf.png */, + 406996F5B768FABBDF3880A235CE0C93 /* icon_file_type_ttf@2x.png */, + A96E5BD551A629C9E2A3575308D64240 /* icon_file_type_ttf@3x.png */, + 9C94AFC36A0D7601FD8A0EA42E477D63 /* icon_file_type_txt.png */, + 8BB2DF1EEEF958DF43C72E24A813C3E4 /* icon_file_type_txt@2x.png */, + F51FDE4D3098EBAFF7C75C0424D44119 /* icon_file_type_txt@3x.png */, + 41DA1776EB5EE843FAACE27C5B63BD29 /* icon_file_type_wav.png */, + 1891B0B00FFB4910FBABEAD5004FFAAF /* icon_file_type_wav@2x.png */, + 1076AC785D2AD325F7E2588F9E97724A /* icon_file_type_wav@3x.png */, + 801AFA3074293BB5F63336A60CCFD90D /* icon_file_type_wmv.png */, + 891114E38395C01CDD65C6836ACFEA9F /* icon_file_type_wmv@2x.png */, + 0552136B150DD35A35AEC7115D5DA630 /* icon_file_type_wmv@3x.png */, + ECB39D64CB72546A0D98B54E2960BB92 /* icon_file_type_xls.png */, + 67C917A4BB9FA9AFE1CDD65EBEB9F94C /* icon_file_type_xls@2x.png */, + 7C4710E76E3E7D2D93F5E1EBB6E9E1C9 /* icon_file_type_xls@3x.png */, + ACF1AA7DC1FB85C90FDCAB0A7CEE2587 /* icon_file_type_xml.png */, + A8AC11EEC33593FCFBEE21E8D2183D81 /* icon_file_type_xml@2x.png */, + C0D99389FEE0FF2BE66D327274D7963A /* icon_file_type_xml@3x.png */, + 0E1EEE006250B581A96DC04A69DEBC57 /* icon_file_type_zip.png */, + E2AF3825B06E23CDF1CEE55D7ED0987D /* icon_file_type_zip@2x.png */, + 3D5226857639A9DF4EE4B0CBD9523CAA /* icon_file_type_zip@3x.png */, + E89AB666BEDE42D1D60C28E77539ACC6 /* Logs.storyboard */, + 6A5903B342232AEB7EFAF370F1A4B8BB /* Manager.storyboard */, + BF9F3D459AFABADDA1AEF461A0679FF1 /* Network.storyboard */, + 50EF1FCB16FACFB0F71C31EFD03B9F0C /* NetworkCell.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 7C0D4A8E7051AF631B6EBBE174C75D76 /* Resources */ = { + isa = PBXGroup; + children = ( + 8F9252A6A84AC16BC2DE99DEFEBDC8B6 /* Sources_DDMAMap */, + ); + name = Resources; + sourceTree = ""; + }; + 7C8CFB82A18125610A9A8F3ACCA00389 /* Support Files */ = { + isa = PBXGroup; + children = ( + 07DD2D6045EEF5A9D9E9202EC0824E7F /* DDProgressHUDKit_Private.modulemap */, + 3823CE3B2382A22A586BE19EC92D84BD /* DDProgressHUDKit_Private-dummy.m */, + BF7FC9CEA1962224F9357DFD07B9B9BC /* DDProgressHUDKit_Private-prefix.pch */, + 8E0C4A32EAB5B902DFF9D29FB6408315 /* DDProgressHUDKit_Private-umbrella.h */, + D47210A15A7A27D60A199D01A379C895 /* DDProgressHUDKit_Private.debug.xcconfig */, + 5D1A9167FA3EC0FC795900F21B99FC5E /* DDProgressHUDKit_Private.release.xcconfig */, + ADA36DCC5EC5BF0B048E74DE2570684B /* ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist */, + ); + name = "Support Files"; + path = "../../中道救援/OrderScheduling/Pods/Target Support Files/DDProgressHUDKit_Private"; + sourceTree = ""; + }; + 7CA52705094A0EC77EEC0CB78C43E702 /* DDMALocation */ = { + isa = PBXGroup; + children = ( + 3846F37A5DA9E2C5B2D4B14769A73D4D /* DDMALocationManager.h */, + 561BB4A372C65E21AAAA5F129E7D91C8 /* DDMALocationManager.m */, + ); + name = DDMALocation; + sourceTree = ""; + }; + 7DDEBD5A0241E2478EE5E01ABD37E20A /* Support Files */ = { + isa = PBXGroup; + children = ( + 2090F5642ABC4A05CB826E724F46BFA0 /* AMapSearch-NO-IDFA.debug.xcconfig */, + D95E2E47DE21DFFCE1A772B5621B654A /* AMapSearch-NO-IDFA.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AMapSearch-NO-IDFA"; + sourceTree = ""; + }; + 7E68274FF013A39D99E0E1F26F2469CA /* DDBasicControlsKit_Private */ = { + isa = PBXGroup; + children = ( + 3D9B676F65F950B53F9EC5AAF0E544DB /* DDBasicControls.h */, + 4FC43CA8F80E44432CAA2709DA4F21EE /* DDBaseAnimation */, + AEFF2553C5F048CF62CCA1F57F29E0B8 /* DDBaseAttributedString */, + 1BB7017515B9B8C0E947AA4B699014F4 /* DDBaseButton */, + CBA135550FAD3B3EF068B65FC6BBC011 /* DDBaseCollectionView */, + 72A7CD68026D8A2020075791CC09FD2A /* DDBaseCollectionViewCell */, + 5CEADA5AF1E554CE40DF4E98DDFF7C09 /* DDBaseImage */, + 334A26306D0A45A954915329DB2B203D /* DDBaseImageView */, + 05D9DCFB933A6F61DBC7E47F7D530CF6 /* DDBaseLabel */, + 431B212B050DAE23AA3148FB7FE39020 /* DDBaseModel */, + 3241033F5560E3363AD9521C49BED552 /* DDBaseNavigationController */, + 0F68F152A48F54CD13BF6B5F1E6A79BB /* DDBaseScrollView */, + B88B979042377AEC3E231561A08D9811 /* DDBaseTabBarController */, + FF4CE030CDBB1105F9BBB1617A08C422 /* DDBaseTableView */, + 190BC8C53B97F744220D36F32F727EBA /* DDBaseTableViewCell */, + FEA36AA25263C00D5D9B8A1E64B9212F /* DDBaseTextField */, + 2776A2C8C7122E957D9E8DFF67C92B73 /* DDBaseTextView */, + D12C677B014C8C086D61C8532A16FF20 /* DDBaseView */, + 9D53436EB3B8F62D57BEDB62EC81AF8D /* DDBaseViewController */, + 7E6D2B7682FDAC46901BE3B4921325F6 /* DDBaseViewModel */, + 3998F85FA0C59BE31CE2D0469426096B /* Support Files */, + ); + name = DDBasicControlsKit_Private; + path = DDBasicControlsKit_Private; + sourceTree = ""; + }; + 7E6D2B7682FDAC46901BE3B4921325F6 /* DDBaseViewModel */ = { + isa = PBXGroup; + children = ( + 583B55AA08514F7D4A60AF3E77A69349 /* DDBaseViewModel.h */, + B75077AE63C06AA137953FA696C25256 /* DDBaseViewModel.m */, + ); + name = DDBaseViewModel; + sourceTree = ""; + }; + 804ABE867F7165A334161C995683C293 /* Support Files */ = { + isa = PBXGroup; + children = ( + 36C7D8BFF9719DBD302B4748DFF5916F /* Alamofire.modulemap */, + 1FDAB911230C494462E0458E0390A689 /* Alamofire-dummy.m */, + 49BEF17818C26E2B34EAC221195FC900 /* Alamofire-prefix.pch */, + 589B71D691EC20C84896798F60FA08A7 /* Alamofire-umbrella.h */, + 392F075778AF340B5CD7F0333BCF0D71 /* Alamofire.debug.xcconfig */, + 6BC706F6CDAC74F3D654F27505250022 /* Alamofire.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/Alamofire"; + sourceTree = ""; + }; + 83CE4CCC66DF6A7A9B5D9342767194DE /* DDMAUtil */ = { + isa = PBXGroup; + children = ( + A5D8DE58E07633D41B684E0120EA1BC5 /* DDMAGeometry.h */, + 1CA6F7FBEAF1733564AB0C17AE455DED /* DDMAGeometry.m */, + ); + name = DDMAUtil; + sourceTree = ""; + }; + 83FCB9A9308BC67226BD297462728372 /* Support Files */ = { + isa = PBXGroup; + children = ( + ECCC9356BBC06A71883B78AFA88E115B /* AMapFoundation-NO-IDFA.debug.xcconfig */, + 0D171F326CE9B532A2DB375770BEBDBD /* AMapFoundation-NO-IDFA.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AMapFoundation-NO-IDFA"; + sourceTree = ""; + }; + 843DC8C7B0DFB9771B65F67B888A1755 /* UIScreen+DDCategory */ = { + isa = PBXGroup; + children = ( + 2606BF073ED1C36ADE1A3C41F209B677 /* UIScreen+DDCategory.h */, + C6101559B87B19CC3CD53DA60817C0AA /* UIScreen+DDCategory.m */, + ); + name = "UIScreen+DDCategory"; + sourceTree = ""; + }; + 8533A6F1181C6620D924021177E59C14 /* RxRelay */ = { + isa = PBXGroup; + children = ( + 4CDE81641989250528C2AEA96FDBE899 /* BehaviorRelay.swift */, + 4063F3A966CB4DF8C78BCCB3082F3ED6 /* Observable+Bind.swift */, + 46CD5DCDA2EE10784833C2FE871EB186 /* PublishRelay.swift */, + 27A215E415949FE7A5E224EB198C3672 /* ReplayRelay.swift */, + B68C70E5E938196160AA37D74521E717 /* Utils.swift */, + 4001D9333CA6B8BEE16166DEC77E31D9 /* Support Files */, + ); + name = RxRelay; + path = RxRelay; + sourceTree = ""; + }; + 86CAE6CC23130A3ED654061069318430 /* UIFont+DDCategory */ = { + isa = PBXGroup; + children = ( + 23734164466F2CC14AD7EAEF7AB8AF6D /* UIFont+DDCategory.h */, + B6B1BB982303FA5B06434D36F6FC0E3C /* UIFont+DDCategory.m */, + ); + name = "UIFont+DDCategory"; sourceTree = ""; }; 87F30047752767DD3B6D1FF405D4EF49 /* Pods-OrderScheduling */ = { @@ -4354,1202 +5381,858 @@ path = "Target Support Files/Pods-OrderScheduling"; sourceTree = ""; }; - 8930FC290952DC22562F3E8D1D38E395 /* UIImageView+DDCategory */ = { + 8E5FED1B91C1233A5028FF907995FE30 /* Support Files */ = { isa = PBXGroup; children = ( - 130CED3B5857845A0F124D6F010F12BB /* UIImageView+DDCategory.h */, - A52B0113F2EA61CFDF9586666EC94E43 /* UIImageView+DDCategory.m */, - ); - name = "UIImageView+DDCategory"; - sourceTree = ""; - }; - 895161D184A23BD173A4E518E95EC747 /* Support Files */ = { - isa = PBXGroup; - children = ( - B3657DEF096305EBE6B26BB5173C3415 /* Alamofire.modulemap */, - 3DDA264E674D7AEBAC8EDE33C6246BAB /* Alamofire-dummy.m */, - B17C471E3664304AEDC145560C9617AA /* Alamofire-prefix.pch */, - E6F9848E7543E112CF37622B127F6C01 /* Alamofire-umbrella.h */, - 8E9F5D6A46BD08B8C946B40877101316 /* Alamofire.debug.xcconfig */, - 8FA5B24A252AC17F4DD0BBD9E460EF4B /* Alamofire.release.xcconfig */, + 414066C6BD8182D3942E4A7C9097FCFF /* DDMAMapKit_Private.modulemap */, + 4894A4D401E462050F1E424EF22C9CDC /* DDMAMapKit_Private-dummy.m */, + 32D8F7FADD3ABF41571DF3F4CAB89F5A /* DDMAMapKit_Private-prefix.pch */, + 6F007975EB3CD4AF6C6D2D01729BB001 /* DDMAMapKit_Private-umbrella.h */, + C13D915F24332003C92E573FD516CF8F /* DDMAMapKit_Private.debug.xcconfig */, + A6E27F616F1CDA24CF7F44A2A4108CB1 /* DDMAMapKit_Private.release.xcconfig */, + B48DC8B4BF07AD1187EED8C861D2692A /* ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/Alamofire"; + path = "../Target Support Files/DDMAMapKit_Private"; sourceTree = ""; }; - 8C7DBCBA79B6D3FECA2FC240C2CB55CB /* Support Files */ = { + 99F61E1F5C5D79568D30DABEB0B38526 /* Resources */ = { isa = PBXGroup; children = ( - 94E2423E6D633C89D295A10654A160B6 /* DDFontKit_Private.modulemap */, - 30CE98C5D6023BE278175EF15E59EF33 /* DDFontKit_Private-dummy.m */, - 9FCB5969328993F09530BA6325DAD0A6 /* DDFontKit_Private-prefix.pch */, - D0CDF0E4E2F1C088723A932EF7287D12 /* DDFontKit_Private-umbrella.h */, - 9368D27A739E89A76D60B05B1F244248 /* DDFontKit_Private.debug.xcconfig */, - 3A2ACBC11F7C71AC47CE26B1F1909987 /* DDFontKit_Private.release.xcconfig */, + 7BF4AA55E6514D3D502566EB617C3471 /* en.lproj */, + ); + name = Resources; + sourceTree = ""; + }; + 9A750617558C5F7DF6CF184235E16F88 /* NSURL+DDCategory */ = { + isa = PBXGroup; + children = ( + 2FFB695E09CFC9D707CF70E7382E58F7 /* NSURL+DDCategory.h */, + BF332C0F15DD336D5F6ECB03B8CBA97D /* NSURL+DDCategory.m */, + ); + name = "NSURL+DDCategory"; + sourceTree = ""; + }; + 9A99411A895244161DB6D480BEC9DBE4 /* UIViewController+DDCategory */ = { + isa = PBXGroup; + children = ( + B3A2DDD871B8F1555E620E4E0D0160BA /* UIViewController+DDCategory.h */, + 9B3D0FBC96E808C6F3E27201A0CD2761 /* UIViewController+DDCategory.m */, + ); + name = "UIViewController+DDCategory"; + sourceTree = ""; + }; + 9A9A582DF229902DF5CD595A173694EB /* SwiftEntryKit */ = { + isa = PBXGroup; + children = ( + 5116DB3E2A1CC1CB1A624257275A029E /* EKAccessoryNoteMessageView.swift */, + BB6777343AC2522D2B1DDCE71A2D7A0D /* EKAlertMessage.swift */, + BE5FAA05331DEAB2382FCCAC4C944A40 /* EKAlertMessageView.swift */, + FC764ACA333DF29FCB7F91020048F90A /* EKAttributes.swift */, + A3CB535411D2AA2BDD90D9ECF0BF97AA /* EKAttributes+Animation.swift */, + 71B64DD9C5577AA315CC42CB7D1CF461 /* EKAttributes+BackgroundStyle.swift */, + E39400412D2C0B31D0F5F7C326781BCB /* EKAttributes+DisplayMode.swift */, + BE516E915F9A7A78BF0F7528C9DB13C0 /* EKAttributes+Duration.swift */, + F16C763A74016E4CEB71BA0AC0355626 /* EKAttributes+FrameStyle.swift */, + BCA1355C7CF87739933D1129491B0F00 /* EKAttributes+HapticFeedback.swift */, + D5543B0BEA6E1A185E1477F8D81805AE /* EKAttributes+LifecycleActions.swift */, + F18557C8B77D75B06843FB4CC1455772 /* EKAttributes+PopBehavior.swift */, + CE2A371EFD38BEAF027D16AF4FF6B1EC /* EKAttributes+Position.swift */, + 7FE782D0A0BB573EB18B21B1E709542E /* EKAttributes+PositionConstraints.swift */, + 27E22905142190EF0B7035F47C722D4F /* EKAttributes+Precedence.swift */, + 6313C18942829D3298016A4A1A979723 /* EKAttributes+Presets.swift */, + E7B7088F63CEA073C68AC7A43C46FE6A /* EKAttributes+Scroll.swift */, + 7A06D22A64C758FF847C801B71FD01CE /* EKAttributes+Shadow.swift */, + 089C00B977C7BD33559C9342B943BBA2 /* EKAttributes+StatusBar.swift */, + 821BCFCD1C0E93354341CD0C1E94E404 /* EKAttributes+UserInteraction.swift */, + FFD5DF1EFCCC5DABE4D97679B4BD236E /* EKAttributes+Validations.swift */, + F3A1982B4D02F646AB38486BDB616310 /* EKAttributes+WindowLevel.swift */, + B54C2BBA7ACBAF0D492337784A8B547D /* EKBackgroundView.swift */, + C48EFE8D7A1A4B903D82770DB1036B3E /* EKButtonBarView.swift */, + 65387F921CCB222EB665FD7FE640FD50 /* EKButtonView.swift */, + E3E7CDE23C874952DFAC3D9217340113 /* EKColor.swift */, + BCEAFE316C1735BDCBC3E4419D032A75 /* EKContentView.swift */, + 9C0450964E953CF7004984DB0E9AFAA1 /* EKEntryView.swift */, + 1CD29A94FEF9AF4BB9AB07897DB4DE06 /* EKFormMessageView.swift */, + 114512B56930F3C0D45A2D9939DE9EDD /* EKImageNoteMessageView.swift */, + 148E785710CB8078F40460037BC350A7 /* EKMessageContentView.swift */, + 0F4930F97ADBF51726CCF0F4E0E8397A /* EKNoteMessageView.swift */, + 32D774E2D779AAC49B8B03E710852AB4 /* EKNotificationMessage.swift */, + E8CE59418876D634B4793767FCCEB2ED /* EKNotificationMessageView.swift */, + 6593FDB1B26356CFC6F7E3A56EC9B4EF /* EKPopUpMessage.swift */, + E0DBFC452AC3B043BFA4BDE1E9573883 /* EKPopUpMessageView.swift */, + 3D5526E0FFE0685D30706502CD85B2D5 /* EKProcessingNoteMessageView.swift */, + F5A27C346CFBA606A67600167BD64A4A /* EKProperty.swift */, + 2143048F86DF4193A6AB62ED73766698 /* EKRatingMessage.swift */, + B59EEB9CE9700F3E4E88F30D73ABE058 /* EKRatingMessageView.swift */, + 5BE779030EA9A3CB390888BA48336C10 /* EKRatingSymbolsContainerView.swift */, + 2A21382378B3B4CDBD91596FA801A46B /* EKRatingSymbolView.swift */, + DC5A307D6157E6D8E9153EE3C871B27C /* EKRootViewController.swift */, + F5080634D60618E75814559AEC968C81 /* EKSimpleMessage.swift */, + 08DA27089EE41686CD6208A7BD8C048A /* EKSimpleMessageView.swift */, + B6C9045D199C3287E9111C3A54DDB235 /* EKStyleView.swift */, + C1FD82B04FEC1360AD44956759503138 /* EKTextField.swift */, + 7A575E760BD80DEC8041FD3D509FD96A /* EKWindow.swift */, + 757C6CB011B0513672C9709D00F26B80 /* EKWindowProvider.swift */, + 9B43E391FAC25B1430B051C01F2A5EE6 /* EKWrapperView.swift */, + A423CAEC955CB372147CE758EC1FF588 /* EKXStatusBarMessageView.swift */, + C178AACDB90F47F9148C726177BF761A /* EntryAppearanceDescriptor.swift */, + A9A195FC48782E255DA99CFA43D3F5C4 /* EntryCachingHeuristic.swift */, + 2D1A9AC22D036AC0B4A4806FA073E98F /* GradientView.swift */, + 606C8A68CC790974E048B521DE868D1A /* HapticFeedbackGenerator.swift */, + 272686D4A5F7C20D07B917D15F484D22 /* QLCompatibility.swift */, + 4C3B82CC9D3F2021348E86B3EE099A8C /* QLUtils.swift */, + 1E21C3482D5F817D7C3938CA7A798412 /* SwiftEntryKit.swift */, + EAE8837F1FC5192B6B8FFA7C38474BA7 /* UIApplication+EKAppearance.swift */, + 6E3E285D4EBEC82A6ABCB6B33EAFA3C6 /* UIColor+Utils.swift */, + 02418330CF7473448FD4856DFD5BCBBA /* UIEdgeInsets+Utils.swift */, + 288B87DE2A9B1FCCA16A93D2860F3B7B /* UIRectCorner+Short.swift */, + DA79AD071057F08A35071A0D95AC28A3 /* UIView+QLContentWrap.swift */, + B3079F8DBE71A6342ABE05C00CF60848 /* UIView+QuickLayout.swift */, + 1A758E16F03B0E694F8DFA1A27507E9C /* UIView+Responder.swift */, + 1F7775F5276148B719610F95A0FD178C /* UIView+Shadow.swift */, + EA4180EE7AB752E349E648B6D278D2FA /* UIView+Utils.swift */, + 08409E469EA929E4B075E92C4CD1DD58 /* UIViewArray+QuickLayout.swift */, + 53676505E85206D892D17767FF3C4393 /* Support Files */, + ); + name = SwiftEntryKit; + path = SwiftEntryKit; + sourceTree = ""; + }; + 9B63548E7F7CBB67B69DB2C77D4538B4 /* CocoaDebug */ = { + isa = PBXGroup; + children = ( + E695C3660CF9CBDDF2A0E98DAF882BD6 /* _AutoLaunch.m */, + 52BE2B43568ACAA29D1CEBFCAD14D910 /* _BacktraceLogger.h */, + 0B4CDE4FE9FEA551812A5A170C8F803C /* _BacktraceLogger.m */, + F17013D18F4391E35D8585BB7CDAD224 /* _CacheStoragePolicy.h */, + 205C771C1E4AFCAE74EEE07C0B824F46 /* _CacheStoragePolicy.m */, + 8C7CB10EE02F25B205C4358C6435AF9F /* _CanonicalRequest.h */, + 83FAF88E6173127A0923C2565B51DF58 /* _CanonicalRequest.m */, + E6F2557E6986536436AF9B9D864E6F60 /* _CrashModel.swift */, + 3C88A907B7E61712111EE763E83B8A24 /* _CustomHTTPProtocol.h */, + 3480149906C7B359B9F9BFB647326F50 /* _CustomHTTPProtocol.m */, + 7BED7273BEA06FFD5C93ABD93D4E0352 /* _DebugConsoleLabel.h */, + AD79AFDE63354DAD29B9845B19B9066A /* _DebugConsoleLabel.m */, + 4A321F3A5FDD05A145C6CC8E2C38EB41 /* _DeviceUtil.h */, + 154230206A150B2C36F188B2BEB859DE /* _DeviceUtil.m */, + C92B10756CF5DE325BD86F02B5A10E29 /* _DeviceUtil+Constant.h */, + 3CDC75464A4FDBC01657C883EBDF5C32 /* _DeviceUtil+Constant.m */, + A4B6C9873F99770F3A41016B3E508B5C /* _DirectoryContentsTableViewController.h */, + 8DBCFF3001A906045C8076CDE7776471 /* _DirectoryContentsTableViewController.m */, + D1D41CA30D17C00F2D4CED92B659723D /* _FileInfo.h */, + 3F0A7AEB2004A9CC2420BAEB4690AEEB /* _FileInfo.m */, + 787AD0A98748983B3934B0956C698C0A /* _FilePreviewController.h */, + 142D6A11CED1F7C6505561C739416A6D /* _FilePreviewController.m */, + A4E10B350675FF2055B4EDB7EBA35071 /* _FileTableViewCell.h */, + 50F1482CAB992E221BAF025F3B864CC0 /* _FileTableViewCell.m */, + AA4800065E258B56665AAD606EBB4D8C /* _fishhook.c */, + 784084F4E7B8A34E85EC702DCA5F5A48 /* _fishhook.h */, + 43A1D4A3D5B329B16873C03056465EFD /* _HttpDatasource.h */, + FF22E478404E00AE20BDBA76239B0347 /* _HttpDatasource.m */, + 81CF4E927B710273AE961E13F494A8BE /* _HttpModel.h */, + D901344A1F7B66EFA7DF198384EF44BF /* _HttpModel.m */, + C14AB73E0D829F879456C13C3A04B984 /* _ImageController.h */, + 94739AE9231877B95FEAC1DC8B9629FA /* _ImageController.m */, + AB90B87EE2FF26A45E6239745689C539 /* _ImageResources.h */, + 33761B007481B9B60FD6C6F2A8F99769 /* _ImageResources.m */, + B0A91DCA9A4DA5B45D9E3EFFC052EA68 /* _NetworkHelper.h */, + 1D4C7BF075D0BAF7146261F0ECF9EA14 /* _NetworkHelper.m */, + 46B7AF1FD44150FD6515B898BC210115 /* _NSLogHook.m */, + 256C2BBEBC4A20949DB0CA4976169269 /* _ObjcLog.h */, + 3B3EE9CAD1093B1F8DC4640F0210CD8D /* _ObjcLog.m */, + 4AD4DECB9CD5B0B2774ECDAC2810A354 /* _OCLoggerFormat.h */, + 02241EFF45DEE412DF1738B3F5313C04 /* _OCLoggerFormat.m */, + 365CF9EAC66E9651EF91E99791A62E4D /* _OCLogHelper.h */, + DA5172819E16E89FBFF0B170DF407C5B /* _OCLogHelper.m */, + 45A3D403E041C10537136FB00827FCC0 /* _OCLogModel.h */, + 0E758EF21C79F27C1917E76E47C0CFC0 /* _OCLogModel.m */, + 26C52C781C452E599DAAE2A422D5B2AC /* _OCLogStoreManager.h */, + E41B40BF90AC2FBA0BBB86D21D744EAD /* _OCLogStoreManager.m */, + 9755AE68334B8FF894133F825CC1A03A /* _QNSURLSessionDemux.h */, + 8AAF7B486A6FEE93FFF2B0639DB88EEB /* _QNSURLSessionDemux.m */, + 1C0EAF33AE8EF4AF5DBDDA4547769BFC /* _RunloopMonitor.h */, + 77E39033B717CE2548373E33A165F4F1 /* _RunloopMonitor.m */, + 777C7F8307F4AD27D1BA1F5E024ABE04 /* _Sandboxer.h */, + 2220802ABA2912C7178D5B4AABDDE5F8 /* _Sandboxer.m */, + 10A1BCC3F5EF343A7BF68056318C44A4 /* _Sandboxer-Header.h */, + 53112E8541FCEB4A59514D220C23D23A /* _SandboxerHelper.h */, + BD78BB40E0A69549D82EEBDE9682865F /* _SandboxerHelper.m */, + C25CA52FFF974DC4D2C40EACE4E76B5D /* _SwiftLogHelper.swift */, + C991A739341C85A8CCB4B866A9D1D64A /* _Swizzling.h */, + 1D3FBB26BE04DA0835B8EBAEAC506FFA /* _Swizzling.m */, + 0A73F496491E5D1434C729FACB9DEC32 /* _WKWebView+Swizzling.m */, + DCDFD311AF5193CCB0E51EC97A922A96 /* AboutViewController.swift */, + 7E2D5C198AAB5B7D72CCE70C7FB9DCEF /* AppInfoViewController.swift */, + 42BA7194E9F03790D099E5732F3EFC61 /* Bubble.swift */, + 037C5D1F603E29351AC55A20B7C50A9D /* CocoaDebug.h */, + DFE50F8BBA0ADE8AE150225CFCAAFE5C /* CocoaDebug.swift */, + D3D7171281F2DB8F383DD7B818415297 /* CocoaDebug+Extensions.swift */, + 3D0434DDDC1823859FCDECE653536246 /* CocoaDebugDeviceInfo.h */, + DABEB4550F6B1B2F5CEBFC7A919B53D8 /* CocoaDebugDeviceInfo.m */, + DE74DEED59FF8970B37AD36CFAE77CBC /* CocoaDebugNavigationController.swift */, + 33568C1BEBEDCE39BBD51BF468C70EE3 /* CocoaDebugSettings.swift */, + E8834B086E73B6DE6B1033C95F60D48D /* CocoaDebugTabBarController.swift */, + CDA0B9934782370D3AB5F60B1177DB5C /* CocoaDebugTool.h */, + 03107261A71449527516C5246CB6B9FE /* CocoaDebugTool.m */, + D6BD6C111FE85E6271ADEEA0F149652A /* CocoaDebugViewController.swift */, + B98AC045F907E5A6FAC0076AE5EE1E2D /* CocoaDebugWindow.swift */, + 8612E66D87909083DFBD4164C911F5EA /* Color.swift */, + 039901FFE1611A7E7DA4EC8F79A4F19F /* CrashCell.swift */, + 24CCF3C35DA3585E483D2267C1DA0147 /* CrashDetailViewController.swift */, + DF2D88A2F97B298B5CBEC1C8812F1470 /* CrashListViewController.swift */, + 3E9347B94D188E86576BDFFA19D080BC /* CrashLogger.swift */, + 7F1A73CC7DF2170CB5CCEE41F48033EE /* CrashStoreManager.swift */, + 972C56BF1C604E865ECE0EBB1FE1B5C3 /* FPSCounter.swift */, + A98880E9F4494AB401E32E2E503E92FD /* GPBMessage+CocoaDebug.h */, + A0326BA4C1CBA03BFF9AFEA22E6E9AF8 /* GPBMessage+CocoaDebug.m */, + EC008F158CB87396B8F99E4A8918FE2F /* IgnoredURLsViewController.swift */, + BD9153754226B7A88F749330E6157939 /* JsonViewController.swift */, + 9AA25CF3BF61A17A848A04D7F3AAE151 /* LogCell.swift */, + EC59EAE9D9AE5AD809ED831668F3A4B3 /* LogViewController.swift */, + DAC45CCA3B9690828CC8C8A8EEC80E84 /* NetworkCell.swift */, + CC55F3C44F93FEE86CE75B124188BA4F /* NetworkDetailCell.swift */, + ED256439602D90879223D2EC27170330 /* NetworkDetailModel.swift */, + D1676EF50180F64E81885E8E2BA53091 /* NetworkDetailViewController.swift */, + 4845116CA504AA336CF0A105DFC0D522 /* NetworkViewController.swift */, + 9DFCC74D6C43B4E4B90A7722C8094235 /* NSObject+CocoaDebug.h */, + 02AB9C979678AD5C738765266B5028B6 /* NSObject+CocoaDebug.m */, + D0ED1F20548434DE962A815E5B3E9FA7 /* UIBlockingBubble.swift */, + C3E4463C481739E0CDE5CCA8F0ACB90F /* WindowHelper.swift */, + 7B947A394C808C44B755BD2FE038CB75 /* Resources */, + 4A43D736C4DB5A3C343CA4F456A54B64 /* Support Files */, + ); + name = CocoaDebug; + path = CocoaDebug; + sourceTree = ""; + }; + 9CEFE319C44DB4DC57F30E191B0ABBB2 /* DDMAMap */ = { + isa = PBXGroup; + children = ( + ABCBCDD38B582AE189867B0D99F3B1C7 /* Annotation */, + 1E5CF05E9FD70C3639CC82E652FDABFD /* AnnotationView */, + 2E8D35790EA677F8E5DB3D772ED88B36 /* MapView */, + 055105D10F48D83A56955459076D2563 /* Overlay */, + C19F33B5F173D1E4DD14CF03600CB9C6 /* Sources */, + 379C961D20E1DDC67D25F4399340A6F1 /* Trace */, + ); + name = DDMAMap; + sourceTree = ""; + }; + 9D53436EB3B8F62D57BEDB62EC81AF8D /* DDBaseViewController */ = { + isa = PBXGroup; + children = ( + E6201347569D456946859B9A4B25693E /* DDBaseViewController.h */, + 6A676864DC0CCA136AFBF902CE9695EA /* DDBaseViewController.m */, + 4A7E151DC1D6268447EF162B890097ED /* Resources */, + ); + name = DDBaseViewController; + sourceTree = ""; + }; + 9DE31E85EF8415D6DF087D3608DFB88D /* Core */ = { + isa = PBXGroup; + children = ( + 815535EAA9BBFA9C0BA82BBF93522BFB /* YYAnimatedImageView.h */, + 708C41F6E9E6746DC8F5675084D4C46E /* YYAnimatedImageView.m */, + EDE5A8D5B6DBF3676C11FFCD41C2AEF9 /* YYFrameImage.h */, + BCA78A57A5C521AE0AD74DAC06042D88 /* YYFrameImage.m */, + 940B40FA429911BC2F885748BA6E613F /* YYImage.h */, + BB50A53F26CB8ED76662696E8C4A3E93 /* YYImage.m */, + 9EE564A52606F12F0F3275E2456A4E2B /* YYImageCoder.h */, + 9D8F63D7746B25B0E3DAE236385E3615 /* YYImageCoder.m */, + 43E80B98787AAB9E1C1DBCF2BE50C7E8 /* YYSpriteSheetImage.h */, + B17EAB5A4B1EF1BF6308ED53A9D0A7E4 /* YYSpriteSheetImage.m */, + ); + name = Core; + sourceTree = ""; + }; + 9DFD03B51408113FEF6A534C937AC21C /* DDTextView */ = { + isa = PBXGroup; + children = ( + ); + name = DDTextView; + sourceTree = ""; + }; + 9E242E888DA2440438741AFAD8A52DA1 /* Support Files */ = { + isa = PBXGroup; + children = ( + 4BEA22F4B9B346A9D189B47F731AE47A /* ZLPhotoBrowser.modulemap */, + 7C730C74B36DD27B1EB54A6F2B885FE1 /* ZLPhotoBrowser-dummy.m */, + 4BCD1E119EF09EFC1D9D0EFAD6EFBCB5 /* ZLPhotoBrowser-prefix.pch */, + D37199E9E711C84D90BC2C19C24727B5 /* ZLPhotoBrowser-umbrella.h */, + E92818FE9CC568ADC401AC6CB9F06F01 /* ZLPhotoBrowser.debug.xcconfig */, + 166B9D6E9A1FF7D8F006CB650E9FA3D2 /* ZLPhotoBrowser.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/DDFontKit_Private"; + path = "../Target Support Files/ZLPhotoBrowser"; sourceTree = ""; }; - 93F93D1D3121269791FA727D80B3CF11 /* DDMAMapKit_Private */ = { + 9EE22B6F8E3F3EB769459B2700133461 /* DDControlsKit_Private */ = { isa = PBXGroup; children = ( - 3CD99F58A315D64ECC0804DBB78B801A /* DDMALocation */, - B5DEA9FF4CC93FDA853EF4EA6B72791B /* DDMAMap */, - 487C13F44BB15AEE6079FC8F3F5635AD /* DDMANaviManager */, - 67205D76729CAB13CD55779B99560B05 /* DDMASearch */, - 9626E7541778BD870CE0A58A7B08C37A /* DDMATrackManager */, - 0E62D5471761AEA01E1C2A6AC7E86285 /* DDMAUtil */, - B4736856F4A5E78E8176B5CAFBDC63BF /* Support Files */, + C9ED8089A8DA1E80EF5A60B2EEE43A50 /* DDAttributedString.swift */, + BAA407CCE25FB0E944259BB4C054EBD2 /* DDButton.swift */, + 6BD087915E49C6DD5E043CABD67719AF /* DDCollectionView.swift */, + 153FDF6FAB11E0C8589E1CFDEDF45567 /* DDCollectionViewCell.swift */, + 7A3D5F34836EA55BA9044EBCC4CA6FF9 /* DDImage.swift */, + E581A6508D640202990BAFE86C4C1C93 /* DDImageView.swift */, + 0F320B24D7EA83D7446A61A624DAF31A /* DDLabel.swift */, + 7D8A0C37CA47FF6E6A7EB6D4BECD4E63 /* DDMutableAttributedString.swift */, + 3BBBC12620DACF92FE7EA6C5B7144D83 /* DDNavigationController.swift */, + 581C639326EBE86B231445FE4712AA35 /* DDScrollView.swift */, + A53508503B18916CD33E25A91EEEFAB3 /* DDTableView.swift */, + 302C164B897C7495BE1D74BF7811A9CD /* DDTableViewCell.swift */, + 02B12E5A4C84DB2F4DD74C17F45F0709 /* DDTextField.swift */, + DB9D8886E74A9C5ED98437A4058D3B04 /* DDTextView.swift */, + 947EB76FDD899CE8994F5370E76EE405 /* DDView.swift */, + F08B835675FC3B2B76BF524188696605 /* DDViewController.swift */, + DBF9917CA94F9EC0A0119CFB7F37B0F5 /* DDAttributedString */, + C59D12E9C1E9B4123C4FBC8BC269390E /* DDButton */, + 288CB231E57BCBA238E3B0036E081846 /* DDCollectionView */, + B3818162CBBC828725FCB98DE7580917 /* DDCollectionViewCell */, + DAB843AF76158F7D30E8088D3A08F1C9 /* DDImage */, + D579614E2968C3B71358A7D94C342BC2 /* DDImageView */, + AA7CBE8AFBD78C5B4A689EE7E896A9EB /* DDLabel */, + A6B4B20B9AF1F191A873A3A03C1A3027 /* DDNavigationController */, + FF87F22F3AB070D39802EE4877DB5C50 /* DDScrollView */, + EDF701E6E7BF3C1223B8C8F7F54D6004 /* DDTableView */, + 77CE1AFA87018DA6A585E020D39FE75C /* DDTableViewCell */, + 278EB6D2997CC99CAD4C6773441E525C /* DDTextField */, + 9DFD03B51408113FEF6A534C937AC21C /* DDTextView */, + 4C6EA6E7C57F228E98E374BE3E871010 /* DDView */, + DA2831FC7D426C291BCB9F6483E2B86E /* DDViewController */, + 448905284E8C8CC174E687817B41D4E5 /* Support Files */, ); - name = DDMAMapKit_Private; - path = DDMAMapKit_Private; + name = DDControlsKit_Private; + path = DDControlsKit_Private; sourceTree = ""; }; - 93FA28EB5924A0DA6F913DEDAB9F9EAF /* ESTabBarController-swift */ = { + A04613F4FFAD3FD6658852CC4216C43C /* RxCocoa */ = { isa = PBXGroup; children = ( - E4BC7A254DFB001F3BF507F76C9873E5 /* ESTabBar.swift */, - 6DAFB9504EBCC935E9887080A81973E9 /* ESTabBarController.swift */, - 5A851FFDD2FC740B4366B48BAF8380EB /* ESTabBarItem.swift */, - C1970F47DB11F1485D563BFD834DAF1B /* ESTabBarItemBadgeView.swift */, - 3C32556B7118AF696249225F0A517348 /* ESTabBarItemContainer.swift */, - C4E90252951EBCBD1D933899DAD856B9 /* ESTabBarItemContentView.swift */, - 47936CCF8C062F9463A88F805DC55094 /* ESTabBarItemMoreContentView.swift */, - 4E037BE981DE93A55ABEF9DD3395C780 /* Resources */, - 7E682E3CDEF9D2FEEC102880763549B9 /* Support Files */, + E6A0792A8CBDADA4D1C3244E462F1299 /* _RX.h */, + 8F792321836EDC30C29ACFCF5B8A2CAE /* _RX.m */, + 66642D16110D01BDD287A6EA7F0EF68C /* _RXDelegateProxy.h */, + B40D5F1A930C2BF3381C0DC550907252 /* _RXDelegateProxy.m */, + 4DA8ED199660898627219339D054444D /* _RXKVOObserver.h */, + EB0110BE49653D7E25CDCAC015477D2F /* _RXKVOObserver.m */, + 89DB460498789073CB561878CF1A5964 /* _RXObjCRuntime.h */, + C03FB02603BC186F94D97337CCC6794E /* _RXObjCRuntime.m */, + 1250C2A29E489E00D2B739919551E562 /* Bag.swift */, + 66E1A19B3D5EDB9E0111E74A67A6CD54 /* BehaviorRelay+Driver.swift */, + 2DBA92B6BFF642C08F8B160F078141D9 /* ControlEvent.swift */, + 25819363277052090C61BE046C2A311B /* ControlEvent+Driver.swift */, + A97B1FCE7B36565B5898F94FD4645630 /* ControlEvent+Signal.swift */, + A0C90363DD6E0270C9EB008F83B3E379 /* ControlProperty.swift */, + F47D662EAF91AC72245DE05D55F06692 /* ControlProperty+Driver.swift */, + 16E11FAC1AEBF2C15B9C227675AFD816 /* ControlTarget.swift */, + B8ED6457B9F99F0916F2636CD240560B /* DelegateProxy.swift */, + 59BF12F40CE3E6A89E9D07CFC48ABD1B /* DelegateProxyType.swift */, + B4C5196758626CA70DDFF6580EB823F1 /* DispatchQueue+Extensions.swift */, + 982D61ADADEE5D8110D1C49284224F0D /* Driver.swift */, + 9550D821A875DFF44B6B4AC6EF1DC651 /* Driver+Subscription.swift */, + D25C431BA86A6B7D310E7A7CB1D2B63E /* Infallible+Bind.swift */, + 7CF3F4B59DA866250F9E9434CB9F437B /* InfiniteSequence.swift */, + 615881E559DCB533D73CF680630E3B99 /* ItemEvents.swift */, + 0582E3A7243684FFC91CF8D4878B2999 /* KVORepresentable.swift */, + B4E5B91D2B4254B192C7C4246BDD1BB7 /* KVORepresentable+CoreGraphics.swift */, + D86BED5DDF57322A31102B2EE1CEA2CA /* KVORepresentable+Swift.swift */, + 16BC84658BC2DC4D888A3E816E0AF9CE /* NotificationCenter+Rx.swift */, + 9F2A940BA0380A35740283D9BA249393 /* NSButton+Rx.swift */, + 921FA5384780405008DEE3178FE308BE /* NSControl+Rx.swift */, + 79EB54B7A0D1D7AA3003395D4D68C6C9 /* NSObject+Rx.swift */, + 0E477319406E9E499728340331F44E6A /* NSObject+Rx+KVORepresentable.swift */, + B2B380E9E034C33BC9882A66DE3D6248 /* NSObject+Rx+RawRepresentable.swift */, + A0B91B2214FB3918FE02FBA9C67B04BD /* NSSlider+Rx.swift */, + 429CFC393F7F3ADE3883738A8CBD8A58 /* NSTextField+Rx.swift */, + A22433DD0FCC11569BF1ED1DA2C6087F /* NSTextStorage+Rx.swift */, + 3151AB255E960BB2CCD8D4CD30C3D422 /* NSTextView+Rx.swift */, + E88300C05CF06D352E5766FB9F67CA81 /* NSView+Rx.swift */, + 5E2C2011163B454BEB84A27D8E9F41D5 /* Observable+Bind.swift */, + 3A82B5B9C3E96F4257A115BD9DDABDF4 /* ObservableConvertibleType+Driver.swift */, + FAC6C267852CD34A0F43106AD7D937DE /* ObservableConvertibleType+SharedSequence.swift */, + DA78AD1EE0512D7B4E79D0D3B304A19F /* ObservableConvertibleType+Signal.swift */, + E456F89DA8A97A284C7520FB22E7B890 /* Platform.Darwin.swift */, + 078FEB725A9246B2610258A10A64AFC3 /* Platform.Linux.swift */, + 8179EF63984555E942581FFE006B2CC2 /* PriorityQueue.swift */, + 9D280A441EEE7D02EF4662E636543BE7 /* PublishRelay+Signal.swift */, + 15F53AA80FAE7CE32531C2E3D895A49D /* Queue.swift */, + A77DCFEF27A70B1296E16F375F8BA474 /* RecursiveLock.swift */, + 04EE221AEB974EEA0645C22D03A0EE45 /* RxCocoa.h */, + A5AADD6017D2D14DD71326BB2C1D9C61 /* RxCocoa.swift */, + 2380E113FEE8B1D583C29314A3821942 /* RxCocoaObjCRuntimeError+Extensions.swift */, + CAAC1161FA565FD6076F82CCBCA617AF /* RxCocoaRuntime.h */, + 39E4A9E9749600FE0A5A2FC3D4DAF2F3 /* RxCollectionViewDataSourcePrefetchingProxy.swift */, + F416FF3902925A9990E429205B441557 /* RxCollectionViewDataSourceProxy.swift */, + A0C0FDAF9B5B0CBB0756844F8FC0353A /* RxCollectionViewDataSourceType.swift */, + D066F3AA176906A142EDD750D6988971 /* RxCollectionViewDelegateProxy.swift */, + 30D7FA7D9363D22F7E6AC2527568EAFC /* RxCollectionViewReactiveArrayDataSource.swift */, + 907FFE77A6E2E8D0AFAED4D2A918E4FB /* RxNavigationControllerDelegateProxy.swift */, + D21A52CDAE09751CE4751A40A7AB86B4 /* RxPickerViewAdapter.swift */, + 53576596FC3721E08C8FED23391DD075 /* RxPickerViewDataSourceProxy.swift */, + DB8FE69168947C082172ECB601B77BCC /* RxPickerViewDataSourceType.swift */, + 17CC390F73975C3A81BF79BAC89528AA /* RxPickerViewDelegateProxy.swift */, + 998F2EF7CA010F5BE6B3AF5410AA8E21 /* RxScrollViewDelegateProxy.swift */, + 4C77FFA0170DA3FA5F7955F0003296B3 /* RxSearchBarDelegateProxy.swift */, + 93CFF206F4BABB0B6806DE6326AC9830 /* RxSearchControllerDelegateProxy.swift */, + C398DA457D401729A0C10EEEC3909E7D /* RxTabBarControllerDelegateProxy.swift */, + F153ED8AF19374D42F694E23CFAC422F /* RxTabBarDelegateProxy.swift */, + FFE0A298F288D0CAE07DB657A327960F /* RxTableViewDataSourcePrefetchingProxy.swift */, + 4231CB6840B98A21E28B12FA5625E30E /* RxTableViewDataSourceProxy.swift */, + 929AAA4094A0C1B99A367A2EF713A435 /* RxTableViewDataSourceType.swift */, + BB048F94D3C6945D5910B57B5493C34C /* RxTableViewDelegateProxy.swift */, + 5CB821C7A46C645AE504CDB6E9B54D35 /* RxTableViewReactiveArrayDataSource.swift */, + 7869A89417FE726C9D5C3110522B94C4 /* RxTarget.swift */, + 561A9119738151A77D9B35474367C159 /* RxTextStorageDelegateProxy.swift */, + 87566E683515949A0015CE477ECCE416 /* RxTextViewDelegateProxy.swift */, + A5F9F8CA5936ABC03BDE8F94DFA1C482 /* RxWKNavigationDelegateProxy.swift */, + 46369D49C39FA43FEB6E2CB335B2D68E /* SchedulerType+SharedSequence.swift */, + C7319E8B7C03E08F51607D4C90E9FE3B /* SectionedViewDataSourceType.swift */, + 3F07ADB91B9C983ECCDAAE0828FFBD0F /* SharedSequence.swift */, + 2C92CF4B3E4D7092073D7CCA02A72D21 /* SharedSequence+Concurrency.swift */, + EF809F1C14EBDE190401F6C6F4811C3C /* SharedSequence+Operators.swift */, + BB8B2E683AE0C3D401AFFE52FA9381C9 /* SharedSequence+Operators+arity.swift */, + BEC3A6C6B35ADEC0E99D6B6B4690433E /* Signal.swift */, + FB3A4CD6B9F3160D225823370B691A8D /* Signal+Subscription.swift */, + B2B19BA25C3C330333FF8F4F6861E014 /* TextInput.swift */, + DB400239FC03F283ECC769B48DAA253C /* UIActivityIndicatorView+Rx.swift */, + B6DE01356E6995721A48739BB3C93E22 /* UIApplication+Rx.swift */, + C169784777196EC19C0640F25803E45A /* UIBarButtonItem+Rx.swift */, + C3C640483FBA32D66DD92D2577DAE482 /* UIButton+Rx.swift */, + 82741C113DC6FE1F25390FCC73139BC3 /* UICollectionView+Rx.swift */, + D09BC79BC32C5F890C7ED71FE802EE5B /* UIControl+Rx.swift */, + 70EFCC49C3641FB1AEF7AAF01EE84770 /* UIDatePicker+Rx.swift */, + 10445B76480E3BC1318B922F2E923393 /* UIGestureRecognizer+Rx.swift */, + 3ED17A8A9108C517DFC5DAF611ED244B /* UINavigationController+Rx.swift */, + BC4213A57A654498B7553C05C43E5D24 /* UIPickerView+Rx.swift */, + B971AC3BAFBF9866117E76EE08DF3D93 /* UIRefreshControl+Rx.swift */, + A83F0EAC2F38F82A2B1FB87464E24E6D /* UIScrollView+Rx.swift */, + 202988982154D06F97CF9C09F7F36D3B /* UISearchBar+Rx.swift */, + 1625B58F4264F5EA2AC44B41D8B2B280 /* UISearchController+Rx.swift */, + E57BA463C42E91A564F221A79B3BE237 /* UISegmentedControl+Rx.swift */, + 3913BF4827BA4EE43A7156EF0DCFD54E /* UISlider+Rx.swift */, + 357F8EDD989A03B5C81A0CCCA538C691 /* UIStepper+Rx.swift */, + D065863CFD784A0438E876BEB671E5A7 /* UISwitch+Rx.swift */, + 0A6F2F0C5326E666DBBA0186294E3ED8 /* UITabBar+Rx.swift */, + 1345F6A41C6A792E864F26C2911056AD /* UITabBarController+Rx.swift */, + AEBB411128EF5E6825B1917BFB7FBE6C /* UITableView+Rx.swift */, + 32C1D5C5D2BFD3F08AE56FA809151A76 /* UITextField+Rx.swift */, + 2D678719356F613B1AD8D9E9745A2913 /* UITextView+Rx.swift */, + 8C106F75BE1715CD89348364DD1F7796 /* URLSession+Rx.swift */, + B25BB49C0D295BF974701809904B187F /* WKWebView+Rx.swift */, + 5FB5B1136E5975DA765F62A0C2426914 /* Support Files */, ); - name = "ESTabBarController-swift"; - path = "ESTabBarController-swift"; + name = RxCocoa; + path = RxCocoa; sourceTree = ""; }; - 94AF8EA457C3AED2EE67594A627BAD10 /* Pods */ = { + A2EC5860693FAE511F938B7F090191FF /* UITableView+DDCategory */ = { isa = PBXGroup; children = ( - 08F8B9AD4CB090196E20043C614FE99A /* Alamofire */, - B838789DE2A030C0242F8F57844E0951 /* AMapFoundation-NO-IDFA */, - 3F1AF2992C34425FCD6654EAF2008933 /* AMapLocation-NO-IDFA */, - C7B16D1BA80A6CE1A98BE3AE679253F6 /* AMapNavi-NO-IDFA */, - 0039BC0ADA5A0C76424B34CAD28862B3 /* AMapSearch-NO-IDFA */, - 1DC64D35DB9B8B7299CCE82945B7EF34 /* AMapTrack-NO-IDFA */, - 30279731954EF7A8F4D245D7A3C2701E /* DDAutoUIKit_Private */, - 1C4D6DFC56C706FED9D7AA790870B3F9 /* DDBasicControlsKit_Private */, - C3736F20524E4721134F6DC03B7C1830 /* DDCategoryKit_Private */, - 95E40F1A12FFE0A48CD28C64D2163309 /* DDColorKit_Private */, - 42E94130726A5E753DA1975F54501728 /* DDControlsKit_Private */, - FD37708C411CCD492B9F722E36ED1859 /* DDFontKit_Private */, - ACE646A0E6C80CFBFD3FE0A55CD4F3AD /* DDLogKit_Private */, - 93F93D1D3121269791FA727D80B3CF11 /* DDMAMapKit_Private */, - 033481F28BABF20CB86D8DE170891D75 /* DDNetworkingOfAlamofireKit_Private */, - 515D530405C8F8D3F9D5BF9D237B2BD0 /* DDProgressHUDKit_Private */, - EC8235AE8927ADA4659B20EE366B6A99 /* DDTimerKit_Private */, - 093EC02BFA7F0E7FECFB02537713C5E0 /* DDToastKit_Private */, - E7C93FFE4474B302D5ED27D45C1CA3CF /* DDWebImageKit_Private */, - 93FA28EB5924A0DA6F913DEDAB9F9EAF /* ESTabBarController-swift */, - 5FB8F9C6649BF6BA6A32C77B29849DD8 /* IQKeyboardManagerSwift */, - 63123ECEA69E127FD409F4630C8DA2A5 /* JXCategoryView */, - C7819214356808A3BF21D84193B3146F /* MJRefresh */, - BAA8D9B0091CFF2462D9504E185AE328 /* RxCocoa */, - EB7842F7C318504248BEA3FD9EC5768B /* RxRelay */, - 9AA4CF330E6BF3264F155FCF7A225D02 /* RxSwift */, - 31F5AC2C357240D0EFC7051977DE753F /* SnapKit */, - 7646DF8F3FF75F459CBA7C3D900B3435 /* SwiftEntryKit */, - 601454D1D08A7C9720CA0EE998C7B948 /* ZLPhotoBrowser */, + B580A060D2DB39A0F9AA47F8894A7130 /* UITableView+DDCategory.h */, + 81021486B3A7FB8A422282FAD9D08943 /* UITableView+DDCategory.m */, ); - name = Pods; + name = "UITableView+DDCategory"; sourceTree = ""; }; - 953E1D59DF1FD9B3E16A58EE67C48C1B /* DDBaseNavigationController */ = { + A377AD40506C3E2F46082BCB8293B5C2 /* UINavigationController+DDCategory */ = { isa = PBXGroup; children = ( - A5141CC65F037F8A5A0084529BDA5B2F /* DDBaseNavigationController.h */, - B5C56A9BFFAA90DED7DEC6B31223DE3D /* DDBaseNavigationController.m */, - 35C09C50C9838F729DC091AE4670FDF0 /* DDNavigationControllerDelegateReceiver.h */, - CB57C518A721DC9DF96FCECD662C6273 /* DDNavigationControllerDelegateReceiver.m */, + F91DF1644ECCD0CEA8FF7B982A4A5462 /* UINavigationController+DDCategory.h */, + 59CE1D3307EC288911BEA1BD4062E9E1 /* UINavigationController+DDCategory.m */, ); - name = DDBaseNavigationController; + name = "UINavigationController+DDCategory"; sourceTree = ""; }; - 95E40F1A12FFE0A48CD28C64D2163309 /* DDColorKit_Private */ = { + A545DB79FE1417459D26B23A94EECB58 /* Frameworks */ = { isa = PBXGroup; children = ( - C9286E797921F6CD5F27FC4E657E1AFA /* ColorUtil.swift */, - 5C91EC8EBED91E3A221F6BBB65215305 /* UIColor+Hue.swift */, - 136A75D40643FE2B0B8D1F7D4C710B37 /* Support Files */, - ); - name = DDColorKit_Private; - path = DDColorKit_Private; - sourceTree = ""; - }; - 9626E7541778BD870CE0A58A7B08C37A /* DDMATrackManager */ = { - isa = PBXGroup; - children = ( - FACCD1C35E459F0074DF9B0C1D6EB580 /* DDMATrackManager.h */, - BCC18F059ABF4841BB4CEEFBDCD84E37 /* DDMATrackManager.m */, - ); - name = DDMATrackManager; - sourceTree = ""; - }; - 9685AB1FE30B23F0E871277F8D6F9FB5 /* UIScreen+DDCategory */ = { - isa = PBXGroup; - children = ( - 654EE5923C77DAC717AB3469C9763D33 /* UIScreen+DDCategory.h */, - BBD60BC8312A9DDAF45C84D812163634 /* UIScreen+DDCategory.m */, - ); - name = "UIScreen+DDCategory"; - sourceTree = ""; - }; - 994FFE8744B2E059A8EA2A356CA1E4A4 /* DDTextField */ = { - isa = PBXGroup; - children = ( - ); - name = DDTextField; - sourceTree = ""; - }; - 998B9EE1994150126483FB47D0ED407E /* DDBaseCollectionView */ = { - isa = PBXGroup; - children = ( - 5D114F395E51127CF5ECDB366D2A4DEE /* DDBaseCollectionView.h */, - D07B9FD87A751C8DF5DFEC1F7525E304 /* DDBaseCollectionView.m */, - ); - name = DDBaseCollectionView; - sourceTree = ""; - }; - 99FEDDC407E70B60D31AE22C37109162 /* Support Files */ = { - isa = PBXGroup; - children = ( - 29AA1A8B6BE56F500A96454977C1D1E5 /* AMapNavi-NO-IDFA.debug.xcconfig */, - 5CDD64B4F6D049953AEEEAF686B88DC5 /* AMapNavi-NO-IDFA.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AMapNavi-NO-IDFA"; - sourceTree = ""; - }; - 9AA4CF330E6BF3264F155FCF7A225D02 /* RxSwift */ = { - isa = PBXGroup; - children = ( - D0EEBF0ED54521BD47B2D289ED339C55 /* AddRef.swift */, - 7CE11514ACAD215F6823B196B91536C1 /* Amb.swift */, - D3F65F885EFD9A7BD996249820022B9B /* AnonymousDisposable.swift */, - 14477A461BBA1C258B971EC4DA30933F /* AnonymousObserver.swift */, - 198DC04144CBA6A32E8BA45889CF152E /* AnyObserver.swift */, - 83E719F0D96701257685AE242836F9EB /* AsMaybe.swift */, - FBBDD455178253285C1140F16938E2E8 /* AsSingle.swift */, - 7DCE973E96BAB683283538BA4415167F /* AsyncLock.swift */, - 37B388A14BCD2F2D6914B57584ED1AC5 /* AsyncSubject.swift */, - BC3737BD9BE217628AAFABB32EB97129 /* AtomicInt.swift */, - 535B5FA00524A8D33FF056E2959E60DA /* Bag.swift */, - C0ABA9042B1D741E8BD83E29025EF925 /* Bag+Rx.swift */, - E7379C81FF7A9D1BE25D57FCBF037CC3 /* BehaviorSubject.swift */, - F2CD3FFA4345FF5CC3DF730CBD677B6B /* BinaryDisposable.swift */, - 8D02D85D9009C076DBC3EA97C242F441 /* Binder.swift */, - 42AD855323940AF0FA5852047AAC08F9 /* BooleanDisposable.swift */, - ECAD1B1F70EF1AB26421154EF6FDCDB6 /* Buffer.swift */, - D6D7F28B14988C5F94C04C7B51D0FE6B /* Cancelable.swift */, - CDEF35C33B8B72178CEB5A646DB10809 /* Catch.swift */, - 60AF47368B67D4F6E6EB9DD4C92B5F03 /* CombineLatest.swift */, - 518123CD2864BF9353C581D7DCFABE36 /* CombineLatest+arity.swift */, - 9FEEF2FBC582877E4F1C20642D5DC196 /* CombineLatest+Collection.swift */, - 992692C3535B0478376ACF5B0D59D56D /* CompactMap.swift */, - 79B8181D6BCDAB95A21B487E3C4FE3C5 /* Completable.swift */, - FD3967C066C004CA8E0B6BCEC9579F93 /* Completable+AndThen.swift */, - 7F590CF1C5A6E49555234D4348AB6BA7 /* CompositeDisposable.swift */, - CAA25FF9AC89F159653CCF3B7C1F92AE /* Concat.swift */, - 3F0AB1AB9FF0770ADDEEB86B21822D94 /* ConcurrentDispatchQueueScheduler.swift */, - 2652ABDB0AE856157EB24ACDE7F1C109 /* ConcurrentMainScheduler.swift */, - 61F5ACA2414AEE712D1ACA5C1EE3C366 /* ConnectableObservableType.swift */, - A5363A88DF630846BBE5DF0747A6CA19 /* Create.swift */, - 30839F4CA2C472A4EFC81A353C0EDCD0 /* CurrentThreadScheduler.swift */, - A86803CA59904D98C1BBF8F503A28D68 /* Date+Dispatch.swift */, - E537B01FEC3FB9D921789FE6CE6A7650 /* Debounce.swift */, - 0A72F47B9638F8A492692CBCBDE187C2 /* Debug.swift */, - 6FB1B2F49C8CB24BBC41080E0F609131 /* Decode.swift */, - EC9E30FB7226708A3130A01B97DBA179 /* DefaultIfEmpty.swift */, - 190378F400F36DAF67780AF67295E127 /* Deferred.swift */, - 41068E0465DBA0197798A284D433A385 /* Delay.swift */, - 10B02284E899C4E67DF3620B6136ECA2 /* DelaySubscription.swift */, - 2013EAFEE01281A5A27141273E6254CA /* Dematerialize.swift */, - DC01802DF082B09A205D36EDB326D09B /* DispatchQueue+Extensions.swift */, - 8E0B48279EDB2355D19A0E691CF7F084 /* DispatchQueueConfiguration.swift */, - 8BAB945E9A5E55C45B8B8311921A8E65 /* Disposable.swift */, - 208A326EA9C6B70C00A99CF4B4718698 /* Disposables.swift */, - 40AAC458A5DF678D006FD42DB1C7764A /* DisposeBag.swift */, - 1AB783FF249674C2DCA72A637C95A09D /* DisposeBase.swift */, - 0D6FBC36BA6786187B2BF39273E4BD5C /* DistinctUntilChanged.swift */, - E1815691576E936229D71B170B61B51E /* Do.swift */, - 0DE271E9026637BAF39A3320647E88F2 /* ElementAt.swift */, - E4E224AD503FE144840909E9274EA5F9 /* Empty.swift */, - 87599920109E890FAD115A4A832D2506 /* Enumerated.swift */, - A8B0B366F617F88B519007C71635C00E /* Error.swift */, - 72F7F1963252E7C08B2C13F75EB0C4A1 /* Errors.swift */, - CD674BF667C0E4B0D4D47580E28C8015 /* Event.swift */, - 2D577522565702C2275ADE18C6DEFB9D /* Filter.swift */, - BEEF4B8CA0969CE54C8317610E903939 /* First.swift */, - 1DF2512911715A0B3D628A1E3BB16CE5 /* Generate.swift */, - 17D7C45B2B85F585912810F73875908E /* GroupBy.swift */, - 0714DAB610C493A714E9C237B500AB27 /* GroupedObservable.swift */, - 4896508A94FFAD7C7F2D67778469114C /* HistoricalScheduler.swift */, - 058EB6B299B596AC17ED61A28FB6C464 /* HistoricalSchedulerTimeConverter.swift */, - E51ADE35CB1FF9A7FE7A091D7F77BAEF /* ImmediateSchedulerType.swift */, - 4021748C8A97A2B92883ED1E1C597188 /* Infallible.swift */, - E1B50617C5846885B799174C6EF62E18 /* Infallible+CombineLatest+arity.swift */, - 02C1CA2F57A4346CBE7A18CFE5FB264B /* Infallible+Concurrency.swift */, - C427D458815D2DACDAEF536EFCC26D10 /* Infallible+Create.swift */, - 21F9FA993D60CD14B01156676A20C167 /* Infallible+Operators.swift */, - 2A6AB47529E4D2B7FA3F9DE128F564C6 /* Infallible+Zip+arity.swift */, - B36EC2EB267639DC179A22E5C82B081B /* InfiniteSequence.swift */, - 567EAFB0A2437DAA61EB2930754AC866 /* InvocableScheduledItem.swift */, - 6BDC9E26F11F599D8EB229E1B149FA82 /* InvocableType.swift */, - 5D4FDC4BA56692F2C1F78D7B88D63FB9 /* Just.swift */, - CA815D2B98648B935F01066AE001CE04 /* Lock.swift */, - AA3D6A5E27C75ED67BEE680197D2F7FA /* LockOwnerType.swift */, - 7652795C678E014507695AD5757A184C /* MainScheduler.swift */, - 0078DE8F9417033DDF8FE1BEB7B92C3C /* Map.swift */, - FF5C653DE425DA77FF764E580694FBAC /* Materialize.swift */, - 173D8B7976EEE82B73489608D4ECD938 /* Maybe.swift */, - 6E71AA808FC388FEEDE593611367F8E7 /* Merge.swift */, - 6B04C021800239F336FA695C490CFEC4 /* Multicast.swift */, - 60A31780F1F6B07863193305CAE8B190 /* Never.swift */, - AF3B1E8168552BA7234ECD297D5FFB80 /* NopDisposable.swift */, - 8BC297E8E71331FFCC4C4B1B6A49729F /* Observable.swift */, - 818837704BE878EA31F3506CB02438F0 /* Observable+Concurrency.swift */, - 3034FF9BD293C66A3A2BB3508E2B15FB /* ObservableConvertibleType.swift */, - 1D917246761244D0E22C479AA18F8F08 /* ObservableConvertibleType+Infallible.swift */, - 66843C6EAED70171F5724F6D55D583CE /* ObservableType.swift */, - 19FA2D7AB03EFF1765F38A85B188A68D /* ObservableType+Extensions.swift */, - 905308C5F0862D639CBDEEA2DEBA0F38 /* ObservableType+PrimitiveSequence.swift */, - 779FF4F794EBD1E104C275C7801C5A4A /* ObserveOn.swift */, - C1314F27EB60783A2BB6A8A3356381C0 /* ObserverBase.swift */, - B4989F3C262104D3605709E7C55F833F /* ObserverType.swift */, - B749E3C431FC2E72C48A7D27EC67CEFC /* OperationQueueScheduler.swift */, - D46CEA7529375D9160EB72A807DF77EC /* Optional.swift */, - 27F03F4441D9C818900AE909D10AD49A /* Platform.Darwin.swift */, - 4E275EDBD1EBEA831F0CF651123E68DA /* Platform.Linux.swift */, - 282D19080AF20F9B1BA46222C48E79C6 /* PrimitiveSequence.swift */, - 7407C365243B38752BEC41386DC423FE /* PrimitiveSequence+Concurrency.swift */, - 24403712A5AB50CB9F317E4EB3B3BC89 /* PrimitiveSequence+Zip+arity.swift */, - DBC65021380BDE610F542575C28002F9 /* PriorityQueue.swift */, - 9C7A974011A607C28F0319125B6A950D /* Producer.swift */, - A58197BCDBCAC149E2968A89A283304B /* PublishSubject.swift */, - 9D72F7196D11384008CA1257A9B05370 /* Queue.swift */, - 801CF86B61B8D3662503E065018435E6 /* Range.swift */, - 5AF9FA40572C352E073A51DD58F5E03B /* Reactive.swift */, - 4EBC522DF739FDB75DFE316CF30F9E7F /* RecursiveLock.swift */, - 3AE5362F4592E63A0E24BDE44E9B42ED /* RecursiveScheduler.swift */, - EE6C77205CF4B2951E884CB365BCFF13 /* Reduce.swift */, - 797EA6F95F919704E4D20B03FEAE2B2C /* RefCountDisposable.swift */, - 4F9DA43B175F92BCFEB6F2EE07B05992 /* Repeat.swift */, - 6B1DFE91466158CB3760DA71B4800771 /* ReplaySubject.swift */, - 67BD6EAB79253B89427DD5574B55ACD4 /* RetryWhen.swift */, - 61730E29F6F735A1BE072AEE87933D91 /* Rx.swift */, - 2D0A1920F3720D0E27D9006898CCA800 /* RxMutableBox.swift */, - DBC151782286E131785E4FDDF6766078 /* Sample.swift */, - B7A587E2BFF90A250B19A4B4A6850DBD /* Scan.swift */, - 3EA65439CC45CC46BEEFC2F6AF289CAF /* ScheduledDisposable.swift */, - AAFD7B653317A6D1B0029D18CEAA4EA9 /* ScheduledItem.swift */, - C621C26F9638312ED4E639142BE383FA /* ScheduledItemType.swift */, - DBA01A6E20FF38EB89024711031BE74C /* SchedulerServices+Emulation.swift */, - 246ABA10829F166DB32A96440298F4C4 /* SchedulerType.swift */, - 779F3A97073B497A65E751F00B699E6D /* Sequence.swift */, - 4D442EFD74FBFE6317BA17E473F3D58B /* SerialDispatchQueueScheduler.swift */, - 4AA8C0469D027698CEB004F38088B4B1 /* SerialDisposable.swift */, - B1B47458536B3C999E06D4706928ADA6 /* ShareReplayScope.swift */, - C8CAE56C4AE2824E7A44666D55E680BC /* Single.swift */, - 8938634BB278CC0931339FDF9DBC0D2F /* SingleAssignmentDisposable.swift */, - 1B35A6FBA3CBD45226B85A6F876700BE /* SingleAsync.swift */, - 6D95B408D442F1D74B1B939C0C40B90E /* Sink.swift */, - F1DE485127E572C133DAE639A0E1DF7D /* Skip.swift */, - AEE11C5436C284042CD04BC93ACF9E68 /* SkipUntil.swift */, - 5338EB039DDDA1CEB0687DF578E85AF0 /* SkipWhile.swift */, - 82781153788193EAAF79519318B5AE5A /* StartWith.swift */, - 12F0DA6BFB7D8D786DACD5C5D802185F /* SubjectType.swift */, - A69D3E95D171D695738BDB897F99C037 /* SubscribeOn.swift */, - F7A97239815B8632CA8DFCD0492AD8AA /* SubscriptionDisposable.swift */, - 5385C442FC256F4F6538B9E0B814CD37 /* SwiftSupport.swift */, - 16386E87CEA2794291A51E001EF07C9C /* Switch.swift */, - D1BEDBCA4296C121B66DB749E9723410 /* SwitchIfEmpty.swift */, - 76FAFA8931DDDC485CC2BF0225EEBE28 /* SynchronizedDisposeType.swift */, - 7AC98EB90DD6B5DD9F1BF265AA9B796C /* SynchronizedOnType.swift */, - F908B315CC454034AD4ED0594400DDDE /* SynchronizedUnsubscribeType.swift */, - 86C26ECC2EAF058C1B394CFB72C92711 /* TailRecursiveSink.swift */, - 0CA559423189E8260C4D8EFCD320E5F0 /* Take.swift */, - CFA94BCC9E1C1E290AB178D69009CC7B /* TakeLast.swift */, - EE5838784174A0B70B76BFB993775DD3 /* TakeWithPredicate.swift */, - A4293DAC3DE80A9D4A1CD783916B41DC /* Throttle.swift */, - A77FC8F4F23ECFC586439110A52E8F00 /* Timeout.swift */, - 2C361B8A805D198E77C68F1CB6A9565D /* Timer.swift */, - 563C81F01AC1F279FE5E4DBB8F16CC23 /* ToArray.swift */, - 7CD648B156D2E4123C2C343ADEAC20C0 /* Using.swift */, - 7E5E737EDFD33953938E4CB48647A583 /* VirtualTimeConverterType.swift */, - 1144203F1FA1BBB76BC972DF73475EB1 /* VirtualTimeScheduler.swift */, - 4A638BF5751BE46B7DDB1F0276B2836E /* Window.swift */, - 3A894F8F6802090FDB5911EBF1C17689 /* WithLatestFrom.swift */, - 5C41ED0BB3D1C1CE92C96C281FF2B318 /* WithUnretained.swift */, - 33DD2FD2E3BC2DB13C32E3C54B9D5C40 /* Zip.swift */, - EE96A5F2B943B72C1F0232E90B5E0577 /* Zip+arity.swift */, - AAF3AD1C4A2BCD31EE459373C4F300B4 /* Zip+Collection.swift */, - 195E5F02266E50FCF5BE5F2939003C78 /* Support Files */, - ); - name = RxSwift; - path = RxSwift; - sourceTree = ""; - }; - 9BFE3EAF52D0277DC9CE0D580D0498FD /* Frameworks */ = { - isa = PBXGroup; - children = ( - 5F7E5E56069B2F427832F2A54D927DD2 /* AMapTrackKit.framework */, + 9D666DC2506921944E4C3621CFBAB0EB /* jpush-ios-5.0.1.xcframework */, ); name = Frameworks; sourceTree = ""; }; - A038464C45E90567187C24BD651B3C38 /* Support Files */ = { + A60B6B991DB29948295C313F492467E4 /* UIImageView+DDCategory */ = { isa = PBXGroup; children = ( - 24DEF378BE6451D6215F2DAD7E37F1D3 /* SnapKit.modulemap */, - 3530D9C328D172A5E9E52705CE33873F /* SnapKit-dummy.m */, - D7664F7D4F7433504F136DD111DE41EB /* SnapKit-prefix.pch */, - 38FE1025C74543255E008560111EE3AF /* SnapKit-umbrella.h */, - 22BAE7ADCF6961EFB9689B374084F1C8 /* SnapKit.debug.xcconfig */, - AA7E8C40551B5BDFBD6835BC5E5084EB /* SnapKit.release.xcconfig */, + CB1EEDCE4EE25CA34F89001278288AE0 /* UIImageView+DDCategory.h */, + 13C5B1580E5A0D65538E3D617E666BCB /* UIImageView+DDCategory.m */, + ); + name = "UIImageView+DDCategory"; + sourceTree = ""; + }; + A6B4B20B9AF1F191A873A3A03C1A3027 /* DDNavigationController */ = { + isa = PBXGroup; + children = ( + ); + name = DDNavigationController; + sourceTree = ""; + }; + A810D8CEFDE04B4BCDF8DD96138290A1 /* GCDTimer */ = { + isa = PBXGroup; + children = ( + A4FA1F868A3A43634938664865A98205 /* DDTimerManager.h */, + 7BDE959BBDC979EA7249428CD4181A54 /* DDTimerManager.m */, + 8AB5955BC96F01A1FCF0425FF6927D95 /* DDTimerObject.h */, + E09EF65906AA0CD6A190AAF188A300BD /* DDTimerObject.m */, + ); + name = GCDTimer; + sourceTree = ""; + }; + AA7CBE8AFBD78C5B4A689EE7E896A9EB /* DDLabel */ = { + isa = PBXGroup; + children = ( + ); + name = DDLabel; + sourceTree = ""; + }; + AB01253F0AAA4ACDB24CA6FAC3F581D3 /* IQKeyboardManagerSwift */ = { + isa = PBXGroup; + children = ( + FFCED4D28AA92822F2E573E59FDECC57 /* IQBarButtonItem.swift */, + 2D43BCA94A4D06A5FDE9A191CD974961 /* IQInvocation.swift */, + 282C216D764C2B43B3E2F7FC13035FFF /* IQKeyboardManager.swift */, + A262AE8C7922BD7C250E88772C5DE106 /* IQKeyboardManager+Debug.swift */, + 885960370D802DB7C9EC2F5B075D510B /* IQKeyboardManager+Internal.swift */, + A9486955003D2704C9BC2CFFF3DC1602 /* IQKeyboardManager+OrientationNotification.swift */, + 9A76F5B4DAE2CAD1FCBEE17C7E99C861 /* IQKeyboardManager+Position.swift */, + F9222413D22638923A88F2A5F4D02920 /* IQKeyboardManager+Toolbar.swift */, + DAD5DA828BDF6C83920BF522919D91F1 /* IQKeyboardManager+UIKeyboardNotification.swift */, + F053320BAA0E4449E0E6CDE9BD052D3D /* IQKeyboardManager+UITextFieldViewNotification.swift */, + 2C70D262D9E322F57BD2275470F7107C /* IQKeyboardManagerConstants.swift */, + D8A33B014165C155387CE9ECBE70703A /* IQKeyboardManagerConstantsInternal.swift */, + 13C35CFDA33405E5A9F017C54A48B1F8 /* IQKeyboardReturnKeyHandler.swift */, + 40596AD095D9775CB950F35D2383018A /* IQNSArray+Sort.swift */, + 0ABDEEA884CCD59ADFDE6C546E6DC302 /* IQPreviousNextView.swift */, + 247056364BE55913A6DFA421B386C5DF /* IQTextView.swift */, + 3FFDFD27413F89A9AAAC163FF1FDB9E4 /* IQTitleBarButtonItem.swift */, + E2402DBB661C99651655A8CE9B20D8D4 /* IQToolbar.swift */, + E7800E14657319497AD768FB7089A958 /* IQUIScrollView+Additions.swift */, + 9ADB8A867E3D033928DC1A532F54396E /* IQUITextFieldView+Additions.swift */, + D1E4002B89C5D2F691045BEA899F5C01 /* IQUIView+Hierarchy.swift */, + 31C5CC48E46B0EA7862196C2AE9F4875 /* IQUIView+IQKeyboardToolbar.swift */, + EB9C7A00F2B5A8DAAA4D81973CAF125C /* IQUIViewController+Additions.swift */, + ECFA2170ED69AE768CD092E338EEA200 /* Support Files */, + ); + name = IQKeyboardManagerSwift; + path = IQKeyboardManagerSwift; + sourceTree = ""; + }; + ABCBCDD38B582AE189867B0D99F3B1C7 /* Annotation */ = { + isa = PBXGroup; + children = ( + 4C8378D9D1AD91F71B7C3B3A2115FD96 /* DriveRouteCustomAnnotation.h */, + 3E882F0B7D1156EFFE6F670EF0AF29F1 /* DriveRouteCustomAnnotation.m */, + BE7B5AC4FFB0B67193CECF4A0405EB7B /* MAPointAnnotation+DDCategory.h */, + 77007457819878C66B2C8873BA8B4EE4 /* MAPointAnnotation+DDCategory.m */, + ); + name = Annotation; + sourceTree = ""; + }; + AD2C28FE71BF88CECD95AD8A8D885DA8 /* Support Files */ = { + isa = PBXGroup; + children = ( + 76BF6DB0787788233C1DAEFA57DE5848 /* DDTimerKit_Private.modulemap */, + C2A678BD31F9CB4C156AFF04A65B0072 /* DDTimerKit_Private-dummy.m */, + 5A310034DAEDE8A172F7E32625CBACCB /* DDTimerKit_Private-prefix.pch */, + 392DF53475D40453169A04A7799D9234 /* DDTimerKit_Private-umbrella.h */, + 477B33D611D48B0972EBAF937D76C204 /* DDTimerKit_Private.debug.xcconfig */, + 85837A3E0FBD2E0D167E65DF62CEF1D5 /* DDTimerKit_Private.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/SnapKit"; + path = "../Target Support Files/DDTimerKit_Private"; sourceTree = ""; }; - A3F1280F2158702FC2B539E49EBE46EC /* UICollectionViewCell+DDCategory */ = { + AEFF2553C5F048CF62CCA1F57F29E0B8 /* DDBaseAttributedString */ = { isa = PBXGroup; children = ( - 63050318E24A30075008D921E1C4B748 /* UICollectionViewCell+DDCategory.h */, - E1FC0B3FDD2534E449C31E5030C4FEBD /* UICollectionViewCell+DDCategory.m */, + CECF310F68B1B89639DC3E0CF0F419E2 /* DDBaseAttributedString.h */, + 52AA68691FC9E4E94E031B243488575E /* DDBaseAttributedString.m */, + 809A8A2E507878672B7D9191500FD2EA /* DDBaseMutableAttributedString.h */, + F2BB66B4B0D0319519803097BFA2C3C0 /* DDBaseMutableAttributedString.m */, ); - name = "UICollectionViewCell+DDCategory"; + name = DDBaseAttributedString; sourceTree = ""; }; - A682DC2F19DC09B3685A692E3565195E /* DDButton */ = { + B3818162CBBC828725FCB98DE7580917 /* DDCollectionViewCell */ = { + isa = PBXGroup; + children = ( + ); + name = DDCollectionViewCell; + sourceTree = ""; + }; + B4329B2954B5DB8A9BC6B26718EDAD7D /* Frameworks */ = { + isa = PBXGroup; + children = ( + D78566A9F17BCE3ED23585BB08713398 /* AMapTrackKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + B52F21A8FD994FA6FEA1A1BCA9DD89A0 /* JPush */ = { + isa = PBXGroup; + children = ( + A545DB79FE1417459D26B23A94EECB58 /* Frameworks */, + 0BA6C5D35C2A0C564557792086DC080C /* Support Files */, + ); + name = JPush; + path = JPush; + sourceTree = ""; + }; + B72D0F8DB8621ED6C506173923A2CBD8 /* AMapFoundation-NO-IDFA */ = { + isa = PBXGroup; + children = ( + 5EB4216F48ED37926FAE41D0F52BDEEC /* AMapFoundationConst.h */, + 650890C5C96788446BC0AB73AF0DAA8A /* AMapFoundationKit.h */, + 81388E340BBB4975051A60FFBB9DF8AC /* AMapFoundationVersion.h */, + 90741A21E002BF4E8B024B2C14CE675C /* AMapServices.h */, + B19932BF518B4B4F7A57027FC1CEB288 /* AMapURLSearch.h */, + E606BA0CF6BD431B9384A20122FEC139 /* AMapURLSearchConfig.h */, + 70111DAB4693A7745F67A56095F9EDDD /* AMapURLSearchType.h */, + F59CCE34F0361E99F1F2CC82F5649C50 /* AMapUtility.h */, + 504A7C7DE9E181BE8CAC38151852458C /* Frameworks */, + 83FCB9A9308BC67226BD297462728372 /* Support Files */, + ); + name = "AMapFoundation-NO-IDFA"; + path = "AMapFoundation-NO-IDFA"; + sourceTree = ""; + }; + B88B979042377AEC3E231561A08D9811 /* DDBaseTabBarController */ = { + isa = PBXGroup; + children = ( + 0F4FDEBA2651E81B774D1488B658B413 /* DDBaseTabBarController.h */, + 948C8FE0345D9E9DB8E6BD000769BE60 /* DDBaseTabBarController.m */, + ); + name = DDBaseTabBarController; + sourceTree = ""; + }; + BF6ACBF940604B286A83E25943730B73 /* UIView+DDCategory */ = { + isa = PBXGroup; + children = ( + 87589B205DE37A70F4745F79C3014AF1 /* UIView+DDCategory.h */, + BA57E989F29703D32A161E1DA38B2410 /* UIView+DDCategory.m */, + ); + name = "UIView+DDCategory"; + sourceTree = ""; + }; + C0F447F6B1722B23AAB310CA61806404 /* UIScrollView+DDCategory */ = { + isa = PBXGroup; + children = ( + 0BD0977C1B36A3F5B8D6679CDF19E7EE /* UIScrollView+DDCategory.h */, + 353B71F6984CB923BDFE4334EB21C789 /* UIScrollView+DDCategory.m */, + ); + name = "UIScrollView+DDCategory"; + sourceTree = ""; + }; + C19F33B5F173D1E4DD14CF03600CB9C6 /* Sources */ = { + isa = PBXGroup; + children = ( + 7C0D4A8E7051AF631B6EBBE174C75D76 /* Resources */, + ); + name = Sources; + sourceTree = ""; + }; + C1E9E57D852D0DDCB78533B914DAB393 /* JXCategoryView */ = { + isa = PBXGroup; + children = ( + DF8E37C8358E84B9BAFCF9FB2546BF0B /* JXCategoryBaseCell.h */, + 5729015A4D3A765C8AD57FB209C4EAF1 /* JXCategoryBaseCell.m */, + 4FFA0EE393B7D8DF6309C4867CB6344C /* JXCategoryBaseCellModel.h */, + F149A0BF49AB12D6E8CF838DA7A88028 /* JXCategoryBaseCellModel.m */, + EDC68B35F615E8FEC0707BF57C54C41E /* JXCategoryBaseView.h */, + EAE00621452877355103DD13DC0D5DD2 /* JXCategoryBaseView.m */, + 5A373E8956556B6CB5D0A5CD1EF59AFB /* JXCategoryCollectionView.h */, + C269D238970A3085410CCC23B6A359C9 /* JXCategoryCollectionView.m */, + E173356FDCC4BEBFAF2C197B613B80E2 /* JXCategoryDotCell.h */, + E7199B187182EC95737A246291767F7C /* JXCategoryDotCell.m */, + 34FB247C87DECC020200EDD0F3DFF8EF /* JXCategoryDotCellModel.h */, + 8ABD5B73612BCE0E068DCAF67262B8EE /* JXCategoryDotCellModel.m */, + 2C7547C00E2A45DF6BED4083EFBB9BC1 /* JXCategoryDotView.h */, + E414A6313A05D153A70AF3CD99CB5E02 /* JXCategoryDotView.m */, + BD457A62A90FA3DF3E1C5DD2ED6DF29C /* JXCategoryFactory.h */, + 501305C91F02F0F5D231C8DC9C560AA1 /* JXCategoryFactory.m */, + D979A31D43D27BFD1C0215BDE6181482 /* JXCategoryImageCell.h */, + DA581E9F074E80B66BD334558A97B8E1 /* JXCategoryImageCell.m */, + B681033CA259210BCDEA159F03D9D213 /* JXCategoryImageCellModel.h */, + E4644D833C977237AD4879934512C822 /* JXCategoryImageCellModel.m */, + A971EC747DCD78B6D881A4AE2F5C34AC /* JXCategoryImageView.h */, + 4D37C7EE6221D8448DF8C80C8A9BB73F /* JXCategoryImageView.m */, + 45B0BCC572A3186F0C25FCC951C5F538 /* JXCategoryIndicatorBackgroundView.h */, + 7F05FEBBCB595D644C000725FCFF4F65 /* JXCategoryIndicatorBackgroundView.m */, + 4D078FAD90F01881953B87840D8CDE6A /* JXCategoryIndicatorBallView.h */, + 102F5F9ED90F8687206F6DA37E670416 /* JXCategoryIndicatorBallView.m */, + 860EC7EE1404D54A1ECB4F9252120439 /* JXCategoryIndicatorCell.h */, + F1F8235C7C903CE7404B1B2A05110EAC /* JXCategoryIndicatorCell.m */, + BBABCBB4C043C6194A68B0E9DBD8E006 /* JXCategoryIndicatorCellModel.h */, + 7D0CCB251930D8993780CDCE5B2A8EB5 /* JXCategoryIndicatorCellModel.m */, + 8F8538B24BFE493297452EE8163DCEC2 /* JXCategoryIndicatorComponentView.h */, + 0AA3F5C8AB44C97FE8E60D875BCEDE1F /* JXCategoryIndicatorComponentView.m */, + 17C515A45E96DFC0EC675A83CAB38D52 /* JXCategoryIndicatorDotLineView.h */, + 48797AD6305C93F025E75C51E6DA7ABE /* JXCategoryIndicatorDotLineView.m */, + 23FB985D2DB41ABB93FC464B4BD3AA55 /* JXCategoryIndicatorImageView.h */, + A520DCEC9DAEE3B368019BA755DCA97F /* JXCategoryIndicatorImageView.m */, + 3817018A176F32841665B6299C9348AF /* JXCategoryIndicatorLineView.h */, + 5153C289FD9234C12DEFEEB328777D74 /* JXCategoryIndicatorLineView.m */, + 593F178483C803DB545FEABE76F4228B /* JXCategoryIndicatorParamsModel.h */, + B8B94C2FFF7A4E4A7183BF445658D6FD /* JXCategoryIndicatorParamsModel.m */, + 9B0BA25799FFE106F7D92A133ECC951C /* JXCategoryIndicatorProtocol.h */, + F69504D65989BCC3049374E2A26F1725 /* JXCategoryIndicatorRainbowLineView.h */, + 4B36A1F27599C1D59D2B7E46905F5012 /* JXCategoryIndicatorRainbowLineView.m */, + 16A76360C017AF6BD62CB24809B47015 /* JXCategoryIndicatorTriangleView.h */, + A033673D62BAF39030762360AA0CA16A /* JXCategoryIndicatorTriangleView.m */, + FAC3567B3706057947181707CB7D441A /* JXCategoryIndicatorView.h */, + DC90215D75CD650F40B7707DD67B1E9D /* JXCategoryIndicatorView.m */, + B299C8CC27AF7EEB7DA1EE5C96863250 /* JXCategoryListContainerRTLCell.h */, + C9C268580A8A6C6860B5CC0C1B67C03D /* JXCategoryListContainerRTLCell.m */, + A2591C5900E69E11DC928717847FD730 /* JXCategoryListContainerView.h */, + F8C13B9A355AE65EEFBBA2CE61E60245 /* JXCategoryListContainerView.m */, + FA078A7DC1D4D3B6ED373937ADFD1D70 /* JXCategoryNumberCell.h */, + 38DED3DD8577511260037661E9F0E9D5 /* JXCategoryNumberCell.m */, + 036E65A341C9A608ED342546F5771EE4 /* JXCategoryNumberCellModel.h */, + BF2D49B981E6A272A75D0A65F3D532EE /* JXCategoryNumberCellModel.m */, + 81D1924AB898DCB278D9383DB46FC74A /* JXCategoryNumberView.h */, + E9EAC610C4A7192FFD7F38A8B5135157 /* JXCategoryNumberView.m */, + 658C095E5CC3516D60599C57E0AA9B42 /* JXCategoryTitleCell.h */, + 8EF3BF6E053EB2A09D6561A278A938DA /* JXCategoryTitleCell.m */, + DD499C929BC39CC90EB960BEF78BAB59 /* JXCategoryTitleCellModel.h */, + 8CF3BA6F15C6A09BAD8B19B6109689FA /* JXCategoryTitleCellModel.m */, + 7E36471C66E02380CBB5543709BA9DB6 /* JXCategoryTitleImageCell.h */, + C51BB4E6B3A23242D274431668F466A8 /* JXCategoryTitleImageCell.m */, + 4C806F7325FE14469162E414D55A508E /* JXCategoryTitleImageCellModel.h */, + 764FBB181EACB0E4640DE034189E6EB0 /* JXCategoryTitleImageCellModel.m */, + 17E4B33FEFB92B0829106C878D4AAB78 /* JXCategoryTitleImageView.h */, + DD187A45171A7B7690A9652D2848E577 /* JXCategoryTitleImageView.m */, + AE836B33212C1049FE177E34AA8CDF4D /* JXCategoryTitleVerticalZoomCell.h */, + 25555966968F40FC4641AF597DAA69D8 /* JXCategoryTitleVerticalZoomCell.m */, + 3AC7D02A9346AFC288F0369BF341AF0F /* JXCategoryTitleVerticalZoomCellModel.h */, + B3316D5B9941F91751B5F093A50BD9C9 /* JXCategoryTitleVerticalZoomCellModel.m */, + 485A1E31CA76C2CB76984010E8AB90C9 /* JXCategoryTitleVerticalZoomView.h */, + C0F21ECAF1DB6F1D00877026BEA6F14E /* JXCategoryTitleVerticalZoomView.m */, + 7BA9FBB83619EDC9803422FDD8142205 /* JXCategoryTitleView.h */, + 10C07FE485DA913CDFB3835213A67352 /* JXCategoryTitleView.m */, + 7EC593FAEC7457806959AEEBDD0C5E1C /* JXCategoryView.h */, + 7964C64FDDE769F97B3708C2789305A9 /* JXCategoryViewAnimator.h */, + 61E929C70B1C815A4FCBC8B4B963CDFB /* JXCategoryViewAnimator.m */, + 4249BBE478EF2E3FBBF7A5C90D38FD21 /* JXCategoryViewDefines.h */, + 2B76F23F9088B7EA57A464FF8546A456 /* RTLManager.h */, + 244DE358E37D514D5FDEA10CADC99C49 /* RTLManager.m */, + DA06E78296403CFAE4F2A3E4B8C9F1FD /* UIColor+JXAdd.h */, + 961FF22E241057D2CED938356B4D7FEF /* UIColor+JXAdd.m */, + 54E6EABA0FBC7040F8BF2C4B3F8F19AB /* Support Files */, + ); + name = JXCategoryView; + path = JXCategoryView; + sourceTree = ""; + }; + C22D1F4927D041AE69F073840802C722 /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD5809844AE93CAD6E7F8CCE435CB4B3 /* AMapLocationKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + C59D12E9C1E9B4123C4FBC8BC269390E /* DDButton */ = { isa = PBXGroup; children = ( ); name = DDButton; sourceTree = ""; }; - ACE646A0E6C80CFBFD3FE0A55CD4F3AD /* DDLogKit_Private */ = { + C670430ECC3248C390DBE038DA2B0BA5 /* UICollectionView+DDCategory */ = { isa = PBXGroup; children = ( - 06FCD61E47745C4ABF7238F2618B3D70 /* OCLog */, - 2AFA65A3AF065F59E5D0798B92D02F4B /* Support Files */, - FDE26E1EBCECE5E4E99F5CBA7C1AED1D /* SwiftLog */, + 4BD568CD0EBF5989F34C549797DA0F83 /* UICollectionView+DDCategory.h */, + A836F3B050521214D88BE3D972DB6F48 /* UICollectionView+DDCategory.m */, ); - name = DDLogKit_Private; - path = DDLogKit_Private; + name = "UICollectionView+DDCategory"; sourceTree = ""; }; - B322DF16241440C91D47D27DF947173A /* MapView */ = { + CA88F03F7CA9669928BBF64056588AFA /* Support Files */ = { isa = PBXGroup; children = ( - CA3D16353BBDE4CA88918E2BD12CAB53 /* DDMAMapView.h */, - 21D2CEAF8CF027C5BBAB3E891B1C1540 /* DDMAMapView.m */, - ); - name = MapView; - sourceTree = ""; - }; - B4736856F4A5E78E8176B5CAFBDC63BF /* Support Files */ = { - isa = PBXGroup; - children = ( - 6ED0E50D2232B77CA85206A7E467DBFC /* DDMAMapKit_Private.modulemap */, - FC97898A6DA63C7DF9B7C8198ADB37EA /* DDMAMapKit_Private-dummy.m */, - B1A5F61C05410B8575354F8C3C05C536 /* DDMAMapKit_Private-prefix.pch */, - D422B3889DE69E0B78C9FBDE82D2CEFF /* DDMAMapKit_Private-umbrella.h */, - 66862513F4F0673A25B5298E4D72837C /* DDMAMapKit_Private.debug.xcconfig */, - 3BD58C350DD433AD985B5BF47438E6E9 /* DDMAMapKit_Private.release.xcconfig */, - B09091E3E5CC29728A4963D01CA556A7 /* ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist */, + 622601D94F636350A320C8D7B6543038 /* SnapKit.modulemap */, + 5A461B3425A19154EC99595624E006AA /* SnapKit-dummy.m */, + 1CF573AFD6FF77E757F7E52B8DB77CA1 /* SnapKit-prefix.pch */, + 7B149E5E85148DAADE6E69C9C8BD02C8 /* SnapKit-umbrella.h */, + 63DE44606FAA04C4C198B814BF2AB78F /* SnapKit.debug.xcconfig */, + 099F1BFFAAD0DA15B0B54822EB4A8484 /* SnapKit.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/DDMAMapKit_Private"; + path = "../Target Support Files/SnapKit"; sourceTree = ""; }; - B5DEA9FF4CC93FDA853EF4EA6B72791B /* DDMAMap */ = { + CBA135550FAD3B3EF068B65FC6BBC011 /* DDBaseCollectionView */ = { isa = PBXGroup; children = ( - C19165CB7ABC2B0611892362108961BA /* Annotation */, - 7680D6CD6330B9D0E7123689FCB1A0A5 /* AnnotationView */, - B322DF16241440C91D47D27DF947173A /* MapView */, - EB582DFAE4B4823672ABE9A549B9F9D1 /* Overlay */, - 2E7C8DD5527D62A1C0FA639053697988 /* Sources */, - 6193C585C04BFE825CEB9413A85728FE /* Trace */, + 4A98B60A3A7C85B8BABE1CBA0A866F66 /* DDBaseCollectionView.h */, + 61F96138C88255AC5FD28BB76AC87BE3 /* DDBaseCollectionView.m */, ); - name = DDMAMap; + name = DDBaseCollectionView; sourceTree = ""; }; - B6766B37CD1DEFF4A0AF22CBED607DFC /* DDBaseTabBarController */ = { + CD9C06E0A183ACD509889F091914254D /* UITextField+DDCategory */ = { isa = PBXGroup; children = ( - 49E61FF3E31D880F908200A0FAE04D3B /* DDBaseTabBarController.h */, - D82E638FA01F1B3E7E0C12854C89B1B3 /* DDBaseTabBarController.m */, + 67B71FDDE414C99386D453003271124D /* UITextField+DDCategory.h */, + F41C96292B34C8CE5A54B54965799DF9 /* UITextField+DDCategory.m */, ); - name = DDBaseTabBarController; - sourceTree = ""; - }; - B7E577F476709A81B4F9FD6D63D282F3 /* DDTransitionAnimation */ = { - isa = PBXGroup; - children = ( - 1FCB4438676C9443FDBD11D667940A30 /* DDViewControllerAnimatedTransition.h */, - 4C578E3B01D6804F6A0918DFB12CC45F /* DDViewControllerAnimatedTransition.m */, - ); - name = DDTransitionAnimation; - sourceTree = ""; - }; - B838789DE2A030C0242F8F57844E0951 /* AMapFoundation-NO-IDFA */ = { - isa = PBXGroup; - children = ( - 52D7E92ABB652E1F265EE8CE4C2CE3E1 /* AMapFoundationConst.h */, - B2161CE91FDEC903D15D600D61203238 /* AMapFoundationKit.h */, - 7A5D43B4C65369E680311C7B1A74332C /* AMapFoundationVersion.h */, - 101B7F0DA5EA0C836662C232B4FFA5D7 /* AMapServices.h */, - 976CADF28C805C22D6C666530FA1A8BB /* AMapURLSearch.h */, - 2C8CE83F179D95664AB66EBA5B8D3D25 /* AMapURLSearchConfig.h */, - 1E9B6E80A88AAB7388F5385DC121AFD6 /* AMapURLSearchType.h */, - 7A774E04009B4CA3DD1212705F57DD67 /* AMapUtility.h */, - 651602BFDE30AA94E0CEC2AF242243E4 /* Frameworks */, - 62C2C7108104E7A0108ECEE3FC80B06D /* Support Files */, - ); - name = "AMapFoundation-NO-IDFA"; - path = "AMapFoundation-NO-IDFA"; - sourceTree = ""; - }; - BAA8D9B0091CFF2462D9504E185AE328 /* RxCocoa */ = { - isa = PBXGroup; - children = ( - CDF49441432353AADD613A3619C9DB59 /* _RX.h */, - 6FD1FA40D8217077DF5F77ACECAD9F05 /* _RX.m */, - F228F5EA0C26FB01EF43F01DD9C0086C /* _RXDelegateProxy.h */, - 729B4A35FE50FA2C52E97EFD6D71D8EF /* _RXDelegateProxy.m */, - AFB58603BA94186F0189A4706E513E63 /* _RXKVOObserver.h */, - 678EC303D67919808287FC2F5A797398 /* _RXKVOObserver.m */, - A35899FB046A3FF6D8BB8E334801F016 /* _RXObjCRuntime.h */, - 5BCED3633699245A942F59210469022C /* _RXObjCRuntime.m */, - 06E6D8DA4ADC3045CDA6A90C1B5F22E2 /* Bag.swift */, - B1E4B0243FD34029F41616C0DC0078EA /* BehaviorRelay+Driver.swift */, - B528F577C6A4091B45ACD3A38668CAB2 /* ControlEvent.swift */, - 062263C3589D1729795C67E0AB851A15 /* ControlEvent+Driver.swift */, - 9DC5828DBF304CC18AFF4DB339965BF7 /* ControlEvent+Signal.swift */, - 31BCAE2909EA8487A425DDA239179276 /* ControlProperty.swift */, - 7C2DD96D94B33480141CD33D7564D0E1 /* ControlProperty+Driver.swift */, - D97C320858984FF07726BAEF115CF6F6 /* ControlTarget.swift */, - 71AC7BCD1812B821E5F06595D29FE590 /* DelegateProxy.swift */, - FACFC8E9247EA39745A9E5F36EBB017C /* DelegateProxyType.swift */, - 7BDB694CD0EA8E55CC2F6F7C1F790511 /* DispatchQueue+Extensions.swift */, - 9A17298BF441E0F25E58BD861854C2A6 /* Driver.swift */, - 67F3CB69B8373ACF80F013EE7B521CDE /* Driver+Subscription.swift */, - 6CD33F9239DCD92AE5B361E71866A69B /* Infallible+Bind.swift */, - CA7C75F524799E96E906996C0CBF0E59 /* InfiniteSequence.swift */, - E4DABC79EF73794D559D11226D74E985 /* ItemEvents.swift */, - AF00524DF715BD3C8811BB05939DFBAF /* KVORepresentable.swift */, - 20D1C02F57769A322F11D9AD1363424A /* KVORepresentable+CoreGraphics.swift */, - 29C24471798AF7B7F245278CC18F8986 /* KVORepresentable+Swift.swift */, - DD537B8C2E58D29B2AB1201CE62EA2F9 /* NotificationCenter+Rx.swift */, - D4F249100085D6576A786B419F4C8AF1 /* NSButton+Rx.swift */, - 61A611919ACFBC90E57197827857F43A /* NSControl+Rx.swift */, - 5C90FB76D8A8A80CAFC59D0BF15853CD /* NSObject+Rx.swift */, - EBB1081DA01C70F27FE6BD9232EA4554 /* NSObject+Rx+KVORepresentable.swift */, - 14079FBB082AEA0F36EF0AABC54FC20C /* NSObject+Rx+RawRepresentable.swift */, - C7E29BA3E4CFB600E80DD5B5478E6334 /* NSSlider+Rx.swift */, - C625418106AB7EB17105865B2CAAC99C /* NSTextField+Rx.swift */, - A85E0AD00BC262A2C7DBF753B12E800D /* NSTextStorage+Rx.swift */, - 2A06B54A8457BDFAD948FE9A9045DC7D /* NSTextView+Rx.swift */, - 0A580F905BE546DDCF74187A92C238E1 /* NSView+Rx.swift */, - 310DC8974BD185BD7CF87285C93A1993 /* Observable+Bind.swift */, - E00E716CC69CC5E585205A405861E72E /* ObservableConvertibleType+Driver.swift */, - CB6EF3C6E6D4E27A4665DD136FD64159 /* ObservableConvertibleType+SharedSequence.swift */, - A15A8A9CE96410BC34464FEC8FDF1F0F /* ObservableConvertibleType+Signal.swift */, - D3C5B3E35C30126A2105755413769DC8 /* Platform.Darwin.swift */, - 24A69A54D1197E7E6753BF749DA7D76E /* Platform.Linux.swift */, - 95894F130F7AA2F134A3BD7CCF5ABF78 /* PriorityQueue.swift */, - F72DDCCD14BC901481CCAB57B43D784E /* PublishRelay+Signal.swift */, - A97E3CA24BAF967F0DD559FF3D3BA7B3 /* Queue.swift */, - 50379E580ABE8786CE45B4666BFFAB49 /* RecursiveLock.swift */, - B2054A209976BE6EDED8BF328C284A31 /* RxCocoa.h */, - BDAFDD618BF550A599E1A8A8F78E9301 /* RxCocoa.swift */, - A568F8F84ED86D22002787BA311D2ECA /* RxCocoaObjCRuntimeError+Extensions.swift */, - 5D25E8493C5F426405582C10AC054738 /* RxCocoaRuntime.h */, - 73FFA9A27DA8200EE6A34BE8EF31865E /* RxCollectionViewDataSourcePrefetchingProxy.swift */, - E6945884E4439E18DE0C62B1DA2DCE8D /* RxCollectionViewDataSourceProxy.swift */, - A44C65585B3723DAE2F092C843998FAF /* RxCollectionViewDataSourceType.swift */, - 1C748222E930F63B48F2B93FDAEDCBCA /* RxCollectionViewDelegateProxy.swift */, - 332BF5D077B7A87A2D9B883F238DB39E /* RxCollectionViewReactiveArrayDataSource.swift */, - 2874484DB0A3A35CDC391EAFE70B3BFA /* RxNavigationControllerDelegateProxy.swift */, - 9AF92D3317BD34217929AE7AF04D4F07 /* RxPickerViewAdapter.swift */, - 6B5B2E4061F11E1EA28782ED15945358 /* RxPickerViewDataSourceProxy.swift */, - C323D1A4EDA5CB599CBB04834016F189 /* RxPickerViewDataSourceType.swift */, - 8F204E8DBFD0829BEA425A4B9098F9E0 /* RxPickerViewDelegateProxy.swift */, - 22A8ED664031CCE5A526DCE8A7C609BB /* RxScrollViewDelegateProxy.swift */, - 72CC2CB602B141DBF4D7ED0D72116E5E /* RxSearchBarDelegateProxy.swift */, - B767986E2E048850DCB496A1B51358DC /* RxSearchControllerDelegateProxy.swift */, - 370366858CA842942EC2D63A5BB95B7F /* RxTabBarControllerDelegateProxy.swift */, - FC0D2CA2018F91D073ABF8D0DE886B5B /* RxTabBarDelegateProxy.swift */, - 508455EE35704123049704C9BB38DF20 /* RxTableViewDataSourcePrefetchingProxy.swift */, - DB7EA7706502558EB5C7C27F3AAAC705 /* RxTableViewDataSourceProxy.swift */, - 17F0B48EB7C62C9467E7D647E7E5C701 /* RxTableViewDataSourceType.swift */, - 085B7B1FF4564A36CF8F94A08BEDF55B /* RxTableViewDelegateProxy.swift */, - 730A0DDF48D4CDDB8BB1378A1DD6EAD4 /* RxTableViewReactiveArrayDataSource.swift */, - 74C0CEF207216535BC2D646F46790388 /* RxTarget.swift */, - A5B7BDD3D744ABC74AAAD38C90F4A6C3 /* RxTextStorageDelegateProxy.swift */, - D7C575E483DBC943A3284018D332EFE4 /* RxTextViewDelegateProxy.swift */, - 77599CAE925776771AE4A255E20182C8 /* RxWKNavigationDelegateProxy.swift */, - BAFFF9D92EF1882071D8629529B44D4E /* SchedulerType+SharedSequence.swift */, - A15EE5A2B9983C9E4356CB92E183195A /* SectionedViewDataSourceType.swift */, - 049546AE2D69246DA5C5838EC8A75EC2 /* SharedSequence.swift */, - F6BC09B9E499C7B6740FA76E7A387E7C /* SharedSequence+Concurrency.swift */, - 3FF4EE0F844907B1BF4B6102C6722538 /* SharedSequence+Operators.swift */, - ABC71BC4AF6B30F4B08640F5D54C2855 /* SharedSequence+Operators+arity.swift */, - CA388F6B7624A40ECFB8B0637F0324E8 /* Signal.swift */, - CA0FD4C321960EEE6DD63AD6C27FFE00 /* Signal+Subscription.swift */, - A6D0FE43A137D54060C4C59A9EA5AC65 /* TextInput.swift */, - 124E71CC5CE3F9FAC04F23FCEAA3ACF9 /* UIActivityIndicatorView+Rx.swift */, - 87C35924A4EAB7B77383AE1BD363BDC7 /* UIApplication+Rx.swift */, - 67065C000F264388D70142FA26E93F82 /* UIBarButtonItem+Rx.swift */, - 6C459BF9C873EF2EB81A7909B9460B60 /* UIButton+Rx.swift */, - FA5B6E0EEEB3D115ED16F5BE81F393D6 /* UICollectionView+Rx.swift */, - C4396CE64F6C76103A4EC2F4B8DDCD50 /* UIControl+Rx.swift */, - 2872E11E1C1649690A1AE0E1D0289464 /* UIDatePicker+Rx.swift */, - 69D5BBA437CFDB4295DC0C3950519A4D /* UIGestureRecognizer+Rx.swift */, - DB28E56457E9908A2BADBEEE7F587F80 /* UINavigationController+Rx.swift */, - D5B52491A324A5299B334B290E6683CD /* UIPickerView+Rx.swift */, - B2FFC04BFBF0CBED9AA4E9BF57AE514A /* UIRefreshControl+Rx.swift */, - 8BB6A78FA3CA57E72A16D49037211694 /* UIScrollView+Rx.swift */, - 71EE95AFC1A598411065F4380A2C617A /* UISearchBar+Rx.swift */, - E5669AA45A9EEDDAF205EA5F5FC3709F /* UISearchController+Rx.swift */, - 713B7D34CF9565F9866E27AEF91E554C /* UISegmentedControl+Rx.swift */, - 1C7F27378D5F58EFED6939B2158F713E /* UISlider+Rx.swift */, - DB110E7217B3CEE13CA7FE62FAA7D93C /* UIStepper+Rx.swift */, - 4D1ACD85302EE253410BA0B555A96D91 /* UISwitch+Rx.swift */, - 75D1141D41D37C9177AD39190835097C /* UITabBar+Rx.swift */, - 7FB6B859A25DB4F5D6AAC46DE278752C /* UITabBarController+Rx.swift */, - 813F6C310E3587D8132D0082CD334FE5 /* UITableView+Rx.swift */, - 1A764909DC2F006D4FCD2FCEE48D041A /* UITextField+Rx.swift */, - BF3DDD864C2ACD2E4B1AD0D9DCF9C1F2 /* UITextView+Rx.swift */, - 93428110C0FF0C16E99FDC636C6A91E3 /* URLSession+Rx.swift */, - 9211D1E5A9E9ADA94FA6F36EBBD6C69B /* WKWebView+Rx.swift */, - 194C0DE220F1747CD777C84F6A388A30 /* Support Files */, - ); - name = RxCocoa; - path = RxCocoa; - sourceTree = ""; - }; - BCF253186F2B82072DF128BFC541B0CB /* UIBarButtonItem+DDCategory */ = { - isa = PBXGroup; - children = ( - B9D9979BF7BE755FC5EE72228AAF34BC /* UIBarButtonItem+DDCategory.h */, - E379FBC419ECAAA12AEA0091BE1CCE4E /* UIBarButtonItem+DDCategory.m */, - ); - name = "UIBarButtonItem+DDCategory"; - sourceTree = ""; - }; - BF6E0B9C8C2D9F0048B6079D97EEDC44 /* UIView+DDCategory */ = { - isa = PBXGroup; - children = ( - 3DEEB0A1E76125FB49FD5575003252EB /* UIView+DDCategory.h */, - FCB09B991E6761C590DE3A69C76C440A /* UIView+DDCategory.m */, - ); - name = "UIView+DDCategory"; - sourceTree = ""; - }; - C19165CB7ABC2B0611892362108961BA /* Annotation */ = { - isa = PBXGroup; - children = ( - 84A7511A332C54E935D5AC0AB33FE5E5 /* DriveRouteCustomAnnotation.h */, - A871485905A7B9D5085AB9063F7C2B6E /* DriveRouteCustomAnnotation.m */, - ACC46CA284F43B04464EC0C31CAF25B9 /* MAPointAnnotation+DDCategory.h */, - 5765507A19EFB05632E1A9F99AD581A0 /* MAPointAnnotation+DDCategory.m */, - ); - name = Annotation; - sourceTree = ""; - }; - C3736F20524E4721134F6DC03B7C1830 /* DDCategoryKit_Private */ = { - isa = PBXGroup; - children = ( - 0F95237584E1E1CF46A35A7F1A307356 /* DDCategory.h */, - E9AA24F3E2B96F855CE478A77F17239D /* CALayer+DDCategory */, - 1F20DE4FF5F67DAB6F9C31E73F214FB9 /* NSAttributedString+DDCategory */, - 0EB6C4AB0B87D4A79C37D6DFEA78AAA6 /* NSBundle+DDCategory */, - 18C41E30E81C05C17A61F66E464B0B0E /* NSObject+DDCategory */, - CE62BEA7E17DE4DE24A2D00B6241F93E /* NSThread+DDCategory */, - CA2E786AEC5310DEE1FCC5A379AB8550 /* NSURL+DDCategory */, - 1C1ECADC597EAE1A0F7F236288BCAC48 /* Support Files */, - D356075B68EA3E7817E1DFE1E8F84462 /* UIApplication+DDCategory */, - BCF253186F2B82072DF128BFC541B0CB /* UIBarButtonItem+DDCategory */, - 06EC4582BA8352135543F89BCB681E81 /* UIButton+DDCategory */, - 36DA32CD030837918626A9F1F8E1E0D6 /* UICollectionView+DDCategory */, - A3F1280F2158702FC2B539E49EBE46EC /* UICollectionViewCell+DDCategory */, - FCF9B2D91E8AA0F4A76C9F9EAF7DAD80 /* UIFont+DDCategory */, - 1E07D352093529EC9C188CE80B0A429A /* UIImage+DDCategory */, - 8930FC290952DC22562F3E8D1D38E395 /* UIImageView+DDCategory */, - 67024E7A7E5E6DE12FC494AD047165E7 /* UILabel+DDCategory */, - 2AFAD11580CFA7ADA17BA9DEB0730D26 /* UINavigationBar+DDCategory */, - 2097204F710BD0A828900233BBA5D9FB /* UINavigationController+DDCategory */, - 296FB46308F53610294CD5906A470E85 /* UINavigationItem+DDCategory */, - 9685AB1FE30B23F0E871277F8D6F9FB5 /* UIScreen+DDCategory */, - 0D9C23219CB69CC60FF9432CFDBC2ABF /* UIScrollView+DDCategory */, - EED3447E103CFB2FAC8524062EC3026D /* UITabBarController+DDCategory */, - 094BC91BA0B99D83B7283AC41DF3539F /* UITableView+DDCategory */, - 7767C9B6967FE0CD9EF19BDA3D98F124 /* UITableViewCell+DDCategory */, - DB9C44381C07E929DC283FCEE690D48B /* UITextField+DDCategory */, - 30427F5B6F3F8BDDD83DB79E48E6DAFE /* UITextView+DDCategory */, - BF6E0B9C8C2D9F0048B6079D97EEDC44 /* UIView+DDCategory */, - 518150B3961F11EEFF71FEBC63BA8501 /* UIViewController+DDCategory */, - EE84CCD6D5282F380C9E3B3FDBBE325E /* UIWindow+DDCategory */, - ); - name = DDCategoryKit_Private; - path = DDCategoryKit_Private; - sourceTree = ""; - }; - C38E68029741F92493E5CB25EE063D82 /* DDBaseTextField */ = { - isa = PBXGroup; - children = ( - 424F5813A5DD5E9D00807E1211C07D11 /* DDBaseTextField.h */, - C617AD7CE439F65A7C5F58494BB5AC85 /* DDBaseTextField.m */, - ); - name = DDBaseTextField; - sourceTree = ""; - }; - C4F3E8E3657C7496DB98CB162B8780DA /* DDBaseTextView */ = { - isa = PBXGroup; - children = ( - 164E3E51174825E5EFCCA51D9A1EC788 /* DDBaseTextView.h */, - B9C3C9AB2B02E8A596AAE0DD34239125 /* DDBaseTextView.m */, - ); - name = DDBaseTextView; - sourceTree = ""; - }; - C7819214356808A3BF21D84193B3146F /* MJRefresh */ = { - isa = PBXGroup; - children = ( - 208979073B2FE049774A9D43E7D9D556 /* MJRefresh.h */, - B5CAE433DC066B69381954C853EF5020 /* MJRefreshAutoFooter.h */, - BF888BC940ECDC27897D8DE1D8A7E860 /* MJRefreshAutoFooter.m */, - 39BBD3F935B2B11E444B325BDF8FB4E4 /* MJRefreshAutoGifFooter.h */, - 5BB5BB6118935C6D43A74C150F4350DE /* MJRefreshAutoGifFooter.m */, - A9CB1447FEB6029A8840B0C7857C97D7 /* MJRefreshAutoNormalFooter.h */, - B71128C7081CD2E8ECF7C5E7C8426449 /* MJRefreshAutoNormalFooter.m */, - AD85BF22E05852F9453781C97E1399D6 /* MJRefreshAutoStateFooter.h */, - C3F3447872C813DF528F030338891CE6 /* MJRefreshAutoStateFooter.m */, - 124B8F2436BBB0C0AD7ED128EFD133DE /* MJRefreshBackFooter.h */, - 1659D786134CC1922FD3204177DDC5B8 /* MJRefreshBackFooter.m */, - 039FCBBD4421DD44C49B8EB73242C2E3 /* MJRefreshBackGifFooter.h */, - 89B70F11A598B4BCB708755C942B19B3 /* MJRefreshBackGifFooter.m */, - 831C0CFA95B7C57057FF308E5E5D244D /* MJRefreshBackNormalFooter.h */, - 0637CE33914BC197AE69F612D152D488 /* MJRefreshBackNormalFooter.m */, - E8B76411525726A0FD8619E18F1B6CE4 /* MJRefreshBackStateFooter.h */, - 6E0157BD9804628CE27EC39DBAE623DF /* MJRefreshBackStateFooter.m */, - E241B71AB1CC506D419A7EC8FFB99ADB /* MJRefreshComponent.h */, - BB5802F48A25FCB5A75DBCB1C4AA922F /* MJRefreshComponent.m */, - 412C13005896D925DE3EC008436D4B65 /* MJRefreshConfig.h */, - 4ECF212570173475918737F0157DCD1F /* MJRefreshConfig.m */, - 6B71D4B70FBFDFE5B3B5466E2B0A8B9E /* MJRefreshConst.h */, - 6133BD806850238E0AE755B74262A517 /* MJRefreshConst.m */, - 73AF0ACD82FCD087067C42D8DACDAF22 /* MJRefreshFooter.h */, - 224C0BC57E40B54C718B6D431EA95D35 /* MJRefreshFooter.m */, - 5D79775F2A42B4043C03F10F1752C5F7 /* MJRefreshGifHeader.h */, - D3291DE4FC4AB2853D55625A1AD9F2C6 /* MJRefreshGifHeader.m */, - 25024DCCFA9AE75D9ABA8D5F2ACD21A8 /* MJRefreshHeader.h */, - 1B3A4F80AA6DA72A6016BA996872756F /* MJRefreshHeader.m */, - D34F7AE0B202B99E2CD46B687100EECD /* MJRefreshNormalHeader.h */, - 28D1C4AA6F82692EFEA3FECF570F304C /* MJRefreshNormalHeader.m */, - 79BE26D8EEF45461D2CD0155D6F836A2 /* MJRefreshNormalTrailer.h */, - 3DAC19BC76A2A9E920FF049E5A75E2FE /* MJRefreshNormalTrailer.m */, - 2935D3C057FBAA6BA91FEB6E1C86AA43 /* MJRefreshStateHeader.h */, - 5B6789AACD3E823A92C0A1D2C00A8751 /* MJRefreshStateHeader.m */, - 69801524D244E6009A56696B3054FD7A /* MJRefreshStateTrailer.h */, - EDB6355A365726EDE0952F375385A321 /* MJRefreshStateTrailer.m */, - EC0A77D615174ABF6E8E44E65032BD51 /* MJRefreshTrailer.h */, - 4DAF90EB5E46CF4493F1246AFE6637F8 /* MJRefreshTrailer.m */, - 01193E2DB086753DA5AA71A6D347511F /* NSBundle+MJRefresh.h */, - 96CB71287DC47764EA3D00DFF00A504B /* NSBundle+MJRefresh.m */, - E0079065AACBA77637F4E9377AD08133 /* UICollectionViewLayout+MJRefresh.h */, - E48D32258894863E3A3C80BBD72250A9 /* UICollectionViewLayout+MJRefresh.m */, - 4ACE8BD874F4FEEB79865EE3C4C9CEB4 /* UIScrollView+MJExtension.h */, - 5BFC4181B79FA655AAA1EC7197475E7B /* UIScrollView+MJExtension.m */, - BE28FD9B37D8825AF32A4EBD4EB44326 /* UIScrollView+MJRefresh.h */, - F6772E0CFEE35EC2E79B96D1639DC02A /* UIScrollView+MJRefresh.m */, - 20B61D9040B3F1E98E92815015C9F28B /* UIView+MJExtension.h */, - 9854ADF8FEC2614C5F8273A696EAF7FA /* UIView+MJExtension.m */, - 35F415FAE183EF4DBBCD10E1233048C6 /* Resources */, - 7417AB6D17A3EC802E07BFC2748ED657 /* Support Files */, - ); - name = MJRefresh; - path = MJRefresh; - sourceTree = ""; - }; - C7B16D1BA80A6CE1A98BE3AE679253F6 /* AMapNavi-NO-IDFA */ = { - isa = PBXGroup; - children = ( - 70B522161334143A91883444A329E8AA /* AMapNaviBaseManager.h */, - F2D57674FDEC7DDEF723E09C180B2E25 /* AMapNaviCommonObj.h */, - 95CD5B8683F7570F6AC7373E711DB84E /* AMapNaviCompositeAnnotation.h */, - F92345927AC878686CB228DC54101957 /* AMapNaviCompositeManager.h */, - 00FDB719497DF6FD26B71FCE57584623 /* AMapNaviCompositeUserConfig.h */, - 38DA9729758C0BADCA3E7AD9D88CB972 /* AMapNaviDriveDataRepresentable.h */, - 76A129310BE2AD2BCCAD9DDDEE41760B /* AMapNaviDriveManager.h */, - BE9936F27063F4BF84BA5308080E1836 /* AMapNaviDriveView.h */, - 4651A79F291EA6D02ABD3F279B3BF08D /* AMapNaviEleBikeDataRepresentable.h */, - 04A2E3818A6177ACAB4671D000B44E5D /* AMapNaviEleBikeManager.h */, - D55D871FFBCD643E9E01A02149DA4569 /* AMapNaviHeaderHandler.h */, - 2B1E87B5F4F52E5B8427C9B7735C2B82 /* AMapNaviHUDView.h */, - 064374DCBF35269ED8F78ECA89E9C429 /* AMapNaviInfo.h */, - 7CFC717F07F144C2227FF793A40AE410 /* AMapNaviKit.h */, - D85E6C2562A93E54D9EA8F7CF2B2BCD5 /* AMapNaviLocation.h */, - CD817EACB58C1321A3F04A2FE3161DCF /* AMapNaviManagerConfig.h */, - C6B5D709CDDA122C94CB22C52E1CB67B /* AMapNaviRideDataRepresentable.h */, - 5E1C38843F08E7E4DAE570688887AC3C /* AMapNaviRideManager.h */, - 03E92676ABC7F6EA23240642F79B507F /* AMapNaviRideView.h */, - 6625A80FE0D78E6AA0FF9F014D5905B3 /* AMapNaviRoute.h */, - 68AE864C1138567749460BA64467D3E3 /* AMapNaviStatisticsInfo.h */, - 684FD478DDEC916460E0BDF2E33327DE /* AMapNaviTrafficBarView.h */, - 03EA2F34E1A934652146490C40C25272 /* AMapNaviTravelManager.h */, - C3566B40F5550655C85824A80F7D6C3E /* AMapNaviVersion.h */, - 11354F356B63EBDA4EE7FFB9C178D318 /* AMapNaviWalkDataRepresentable.h */, - 10D66DE6DD32EF693D15560006B2DBFD /* AMapNaviWalkManager.h */, - 861031F11BE515D8D78DDB7FD3228EC8 /* AMapNaviWalkView.h */, - BDF0417145FE562FC55032EF34353886 /* MAAnimatedAnnotation.h */, - 483A1BA953D3086D2A373D36C0ED9AC9 /* MAAnnotation.h */, - 0BBB80658FB4461A128834D296E6F0E9 /* MAAnnotationMoveAnimation.h */, - C9B6ACC65DE55E32F7542E6C4949674B /* MAAnnotationView.h */, - BC6D00FBCB039D27719D7262F9E7CEC0 /* MAArc.h */, - DCBEC95A56810B31E0A279606750B008 /* MAArcRenderer.h */, - B11C36D464786DC5522CCD21CDA0EA1E /* MABaseOverlay.h */, - 2A63A9FE78162032ED95AF901744A034 /* MACircle.h */, - 290D19C0FB873DC76A4ABC3C2405F91A /* MACircleRenderer.h */, - B95617A8C444FCDB5FABEB908FB55073 /* MAConfig.h */, - B4676921490D6EFFB674DAD7EAFF50CC /* MACustomBuildingOverlay.h */, - 543AE45AA06B1CE15C268F26F424989B /* MACustomBuildingOverlayRenderer.h */, - 11DC07B838FF3C92B80BACEFEA5D5199 /* MACustomCalloutView.h */, - B209038F26A8AC455FEE133B84D43A99 /* MAGeodesicPolyline.h */, - B066B7CC2C0DFD33EE1B374F94FED48E /* MAGeometry.h */, - 4BDB5536AF3861ACACAA4837F303F233 /* MAGltfOverlay.h */, - E52F4B8561DCECF89BF9E0DD6FFA152A /* MAGltfOverlayRenderer.h */, - 3B63B91FB14D6BC5149A241BB9B98281 /* MAGroundOverlay.h */, - 9936F548F4EF8E3EFC5479663FAC7D6D /* MAGroundOverlayRenderer.h */, - 4FC24766384F98D6B46DEBBF116F196E /* MAHeatMapTileOverlay.h */, - B0A3779653BA7DA1F233483C9B79E953 /* MAHeatMapVectorGridOverlay.h */, - 358A43A99728CB81B2ABE942903DED92 /* MAHeatMapVectorGridOverlayRenderer.h */, - 076F043F53CEA47CB93E6562E9F282AC /* MAHeatMapVectorOverlay.h */, - E3B332A7E534B67B8F9E4AC433656AF1 /* MAHeatMapVectorOverlayRender.h */, - 96A94C24E85F1A39324BB60895B0D6F0 /* MAIndoorInfo.h */, - 1252279C757C6414294213DBBBE8514D /* MALineDrawType.h */, - FA799D43F762585DC87BF9477FA7EA29 /* MAMapAccessibilityIdentifier.h */, - 37DB43D7CDFD7829549D69AFF4090564 /* MAMapCustomStyleOptions.h */, - 96D1997EB4F57C08C9D72FB8AD1FB798 /* MAMapKit.h */, - 77E9D3270BDA1B3EB763FC6FCCC9C289 /* MAMapStatus.h */, - 3A5E8489AE981A60B2815DA654642FCD /* MAMapVersion.h */, - 0A49F4BC69E2427FC2F3E0C4121AA147 /* MAMapView.h */, - 849B4500BDADD2D3508BAB1DD7142582 /* MAMultiColoredPolylineRenderer.h */, - AC4D8BD20897FBDD375E72960E6EB3EC /* MAMultiPoint.h */, - B8844290A47A458D6576CEE826EDA0B4 /* MAMultiPointOverlay.h */, - 4B8C82A5FF5CAACF83CF8332CE7474E0 /* MAMultiPointOverlayRenderer.h */, - E6514A552D80A7FEB4FD9D31F4D44ACE /* MAMultiPolyline.h */, - 7A3A7FD72C8B92A58F51548332217FB5 /* MAMultiTexturePolylineRenderer.h */, - 0D62361F448673E41314F07AE315D26E /* MAMVTTileOverlay.h */, - FAA950229E998C78347D87D2CEFC1B35 /* MAMVTTileOverlayRenderer.h */, - 1E618A30ED9BFA3722E91C3C5FB27FAC /* MAOfflineCity.h */, - DB6340183C66B2E9D27A037CDC1255F7 /* MAOfflineItem.h */, - 426FB4F89F04B290CDA0C0AEC927667E /* MAOfflineItemCommonCity.h */, - 5FA8378238071A9A00AB37063F1B001C /* MAOfflineItemMunicipality.h */, - A89BA3B8469200CEF4095F468F3579B3 /* MAOfflineItemNationWide.h */, - 759C40D040475B81C9AD43CE725B5771 /* MAOfflineMap.h */, - B3E9DA4004384DED1EB3A0D1FACE14D2 /* MAOfflineMapViewController.h */, - FF58C1C222A1AAB5A7A5DCEEBF4FC27E /* MAOfflineProvince.h */, - 7AEC9A1A5103532A79771360F6382660 /* MAOverlay.h */, - 85D003E95D438DDD97CB1A76B2C830BD /* MAOverlayPathRenderer.h */, - AD9D7F6E14F4EED74483AFD239B73D0C /* MAOverlayRenderer.h */, - 9FA5D421BE56B6A9BAEE42C4EEA24B13 /* MAParticleOverlay.h */, - E4F1E6F6EA16DA8B03FE0AA9B6D78545 /* MAParticleOverlayOptions.h */, - FA015350D4502128CD60CBFF490CE446 /* MAParticleOverlayRenderer.h */, - 21300D1EABD406DF88881659F14E1FA5 /* MAPathShowRange.h */, - 75C26E18D5BBE4E9FDFB13171AD79AE4 /* MAPinAnnotationView.h */, - BD1F84EE7236D71004345836CD32C28B /* MAPointAnnotation.h */, - D3CEB56AEAE68A582A9F006BC016353A /* MAPolygon.h */, - 3A44003C39DF4D200FEFFA6DCDA0BD8B /* MAPolygonRenderer.h */, - E0ED5ACA39E178972FDA2DE5427EB107 /* MAPolyline.h */, - 36869151AB46F5DDFF906AF8C831175B /* MAPolylineRenderer.h */, - 3EDAE2DB4597E1846378B61C64D566F7 /* MAShape.h */, - 503D31810957DFF93B999EB28F4A1271 /* MATileOverlay.h */, - 1BCFA829A8C712BBE4038707E49B1C6D /* MATileOverlayRenderer.h */, - 879527E7F5BF79EC255ED8AAF132CADA /* MATouchPoi.h */, - 20B7F3881B191055EF8E0F271B6A9E79 /* MATraceLocation.h */, - ECC5E1D0586A9761D91706CD197728E1 /* MATraceManager.h */, - 4A9A0CCE2635C7D6BE55AE4BE1190453 /* MAUserLocation.h */, - 9941E15EB8A09605824C30F58D214B01 /* MAUserLocationRepresentation.h */, - E8E1390593EE0FD24D9674F025BA8A57 /* Frameworks */, - E02158C7B111273FB663EB568029347C /* Resources */, - 99FEDDC407E70B60D31AE22C37109162 /* Support Files */, - ); - name = "AMapNavi-NO-IDFA"; - path = "AMapNavi-NO-IDFA"; - sourceTree = ""; - }; - C7FB2EB7A1EA82597F5E57947E53268D /* DDBaseTableView */ = { - isa = PBXGroup; - children = ( - D34BB394EE803B4EFA3893617A33E8C8 /* DDBaseTableView.h */, - 0F999017AB61D034CC309E0366A428DF /* DDBaseTableView.m */, - ); - name = DDBaseTableView; - sourceTree = ""; - }; - C9F7E41D2EE8FD5C721C1828C3F87F40 /* DDBaseTableViewCell */ = { - isa = PBXGroup; - children = ( - 6E80C5B0533597E77317F8BFB34D5E2F /* DDBaseTableViewCell.h */, - 6D59E6FB80756876AC41A8DB39AB7648 /* DDBaseTableViewCell.m */, - ); - name = DDBaseTableViewCell; - sourceTree = ""; - }; - C9F88716BD94DF910BC8A149680CD2A4 /* Core */ = { - isa = PBXGroup; - children = ( - F2CD951579AD83651660B6C1CBD32018 /* NSBezierPath+SDRoundedCorners.h */, - 2AE402459F6D4CE991232BF8CEFEA31F /* NSBezierPath+SDRoundedCorners.m */, - 74E38760679F934E8A00EB1FA8ABD601 /* NSButton+WebCache.h */, - 8725FA1C93DACCF9BBF4A0683C2D440F /* NSButton+WebCache.m */, - F695846CFE7F772C3CAE8CB10A598038 /* NSData+ImageContentType.h */, - A0047834C78CA8E8DD5C0B6364E97A45 /* NSData+ImageContentType.m */, - 8DB43169300F19C3F024AC479DE04767 /* NSImage+Compatibility.h */, - 99A62C47EA5F142B96247DD76F5FB2FA /* NSImage+Compatibility.m */, - 2A0A051F9D46BFFEEDA4CCBA9DE4DFA2 /* SDAnimatedImage.h */, - 37B6FC71CAEE8CABAE8792BA19335D56 /* SDAnimatedImage.m */, - 8D6008F0896B2B85E119CF6E31C4F8B4 /* SDAnimatedImagePlayer.h */, - 3E75EA48C375542518B6FAAF7152FDA1 /* SDAnimatedImagePlayer.m */, - 82667D5B8675B8C43444121CEFAF2C43 /* SDAnimatedImageRep.h */, - 1F6E6226D7989A3A369BE01CC77B99CB /* SDAnimatedImageRep.m */, - 9732FA176F09A99C701C81AE75310FF1 /* SDAnimatedImageView.h */, - E5BE6850DB0B9DEFBCD03670D36B191D /* SDAnimatedImageView.m */, - 38EF432FE02378DD4289660DBA7C9EA4 /* SDAnimatedImageView+WebCache.h */, - 02C7E49501104CF5A5852357313791F8 /* SDAnimatedImageView+WebCache.m */, - 94D7566C14EE432A5F7F6D920ADB0013 /* SDAssociatedObject.h */, - CF6C85EA9F2E676E834578471FE46D9D /* SDAssociatedObject.m */, - A8E5CF2AF75161BA15D45A8147CA4B06 /* SDAsyncBlockOperation.h */, - E730CD4494C3277AB8D25A51F6AC13FA /* SDAsyncBlockOperation.m */, - 11B94DD7827F24868A6507CBA7C9ABF1 /* SDDeviceHelper.h */, - EC647B90CD6DE2CD31EFF74FAB6CBE8C /* SDDeviceHelper.m */, - 12206918EF06F8F1214E7E7FDFE86599 /* SDDiskCache.h */, - DF8703E15C5AACE119A44ADE5F2DCBF3 /* SDDiskCache.m */, - 544042E3DCBE5ED3D22D13E2865E761D /* SDDisplayLink.h */, - 2F5CABA123490D4070674BFB696C67E4 /* SDDisplayLink.m */, - 4D59B292C647A9948B4BC9990018AEC5 /* SDFileAttributeHelper.h */, - 356FACAC7B5F24F8514CA5DC7EB5A21E /* SDFileAttributeHelper.m */, - EB964CF858EE225503EE17DEA69FA1A5 /* SDGraphicsImageRenderer.h */, - 643DF71A7E5871FC0C5809F2D6040241 /* SDGraphicsImageRenderer.m */, - 1A406F485E375B9A538F60BCC669C8EE /* SDImageAPNGCoder.h */, - E178C77CEFEDFA25846860B670FB30D2 /* SDImageAPNGCoder.m */, - BE84043D8B731BC3F9E751E80A4E6C64 /* SDImageAssetManager.h */, - 97337246D62C0228D67F9B756A75C357 /* SDImageAssetManager.m */, - 4A516D7E3E2523A33D4FA5B989ED0376 /* SDImageAWebPCoder.h */, - 716BF48456AAC3B160433F522407F42C /* SDImageAWebPCoder.m */, - FDD25499B57DC058CABA547DD181B783 /* SDImageCache.h */, - FC339C40C2F8ECB9DB3112F061D8CF40 /* SDImageCache.m */, - 38A821F5526BB8E5FBA6333F5A388009 /* SDImageCacheConfig.h */, - AC6ABAB14579C0D4ADC5228470A170CD /* SDImageCacheConfig.m */, - 088841D1E528D26990F79FB5C516AB57 /* SDImageCacheDefine.h */, - BF99BC25A2F041D5EA32F2B4A0313E7C /* SDImageCacheDefine.m */, - 1CC9385B5DE9C628C59CE36BF33EF7E3 /* SDImageCachesManager.h */, - 0D711A2313C238E0F60C4F401F224482 /* SDImageCachesManager.m */, - CF080BC8B714F1AA3CF8D82370E13DFF /* SDImageCachesManagerOperation.h */, - 8664ED1B2E901F6B41B7265AB84506C5 /* SDImageCachesManagerOperation.m */, - 67C3E3BA208F663F942C6C0A7758AE8E /* SDImageCoder.h */, - 531FAEA37CD7FEE5EF55FA16C55B238B /* SDImageCoder.m */, - 4DAF0174A817D62CBB9B0474E336B94A /* SDImageCoderHelper.h */, - F28A6484225A3970E35587291C2B5249 /* SDImageCoderHelper.m */, - 43C91497524DD5BFEDC9EFAFD029D312 /* SDImageCodersManager.h */, - 253E69F79DCD88262823C30416CEE169 /* SDImageCodersManager.m */, - 11657515EFDEE12F81F4B21EF2614B2E /* SDImageFrame.h */, - 42F1F8A90648A57000C2E53206F0B6D9 /* SDImageFrame.m */, - 0751BB387D16894137CDB066E6C7117F /* SDImageGIFCoder.h */, - 270215BAF27EE60E6F706702FB984C9E /* SDImageGIFCoder.m */, - 67790054FA039EF438FD99727782441A /* SDImageGraphics.h */, - 4FBE818D0EFDEFE0E5A9C609A0CF7DF3 /* SDImageGraphics.m */, - 009DCC568E5D11DF6BDBFF0C1192584A /* SDImageHEICCoder.h */, - 75290406963A318E803AF8EACD628DF4 /* SDImageHEICCoder.m */, - 7CFD85E04C9F37619C4403DBC621FE41 /* SDImageIOAnimatedCoder.h */, - 04AF73BC09A5F52479D3B555C12ABDE1 /* SDImageIOAnimatedCoder.m */, - AC3609EE554BB3D89F33695B3AD6BCE0 /* SDImageIOAnimatedCoderInternal.h */, - 839D63C13C29D11E2F4CF2FA79B7C9AF /* SDImageIOCoder.h */, - AEBDF32B1CEC64361D672AD75049A79A /* SDImageIOCoder.m */, - CEB3538B65BEF242E7739D7C974EA62B /* SDImageLoader.h */, - C2370C89E7B136ECAA2D3D6DDCC46E00 /* SDImageLoader.m */, - 315B39C073CAA6A425972C95E18E3C61 /* SDImageLoadersManager.h */, - 175E160B210F8918F24973167F06CF79 /* SDImageLoadersManager.m */, - 95DE1C7EF55726AD7C526D5805F2770F /* SDImageTransformer.h */, - 031837A6FE9FA6DB7DEBF6D26A766307 /* SDImageTransformer.m */, - A4DF653BE2DF009743DF04E86F057AA2 /* SDInternalMacros.h */, - FC46BB03131E5E9E492F9CD7E63C7CB1 /* SDInternalMacros.m */, - C8B21CD64E13F85AE4FDAF7C5C22535A /* SDMemoryCache.h */, - 00662F4DA25B60EAA6A748E6347472E8 /* SDMemoryCache.m */, - 4A87474A73D15BE198DC44C93AC10FAB /* SDmetamacros.h */, - 2C8F4D62748AF8F7FC5EFB3507824011 /* SDWeakProxy.h */, - 77EA6B0EF2745F7938084A803C51B8B6 /* SDWeakProxy.m */, - 8E4470E849FB996A5CB9E09D74B0CB43 /* SDWebImage.h */, - 181826E1D0ADF935A7E686C762462C7C /* SDWebImageCacheKeyFilter.h */, - 7DF83D127B227A9481F4A34DF48B3C8F /* SDWebImageCacheKeyFilter.m */, - 1DA2E967C6C9D232CC0A879C3937F540 /* SDWebImageCacheSerializer.h */, - 96F8530AF1A4CE4F14FB5BAB19C36369 /* SDWebImageCacheSerializer.m */, - F30558338CD7A0BE16C2AE1871F22132 /* SDWebImageCompat.h */, - 8014D5D304D99221B496DD34F80D230C /* SDWebImageCompat.m */, - 80BF1F9CFB9B8752DE1B9089BA5AB4C6 /* SDWebImageDefine.h */, - D81B8A45D65A5DCD02CD4D06E70D9E78 /* SDWebImageDefine.m */, - 09B03AE99153E3D9039BD53DFD5447AB /* SDWebImageDownloader.h */, - F41D3E1FD86B1D7D1DCBEB3E6BAD7D30 /* SDWebImageDownloader.m */, - C4E146BB38E6AD6486630E8F9DF14F7B /* SDWebImageDownloaderConfig.h */, - CCBB1E6C01CC7279B7736D9D48823EFA /* SDWebImageDownloaderConfig.m */, - 49E72BCF4378429B72E9D07935C03E46 /* SDWebImageDownloaderDecryptor.h */, - 425A9BABB24C27BAAE7820163D1EAED4 /* SDWebImageDownloaderDecryptor.m */, - 24410051C5E307C24C56C3335B418FF2 /* SDWebImageDownloaderOperation.h */, - C9A4CFFEBF70754AA78C0EDC86BA84F4 /* SDWebImageDownloaderOperation.m */, - 5B6A47BB23E188DF596140DC7D896BBE /* SDWebImageDownloaderRequestModifier.h */, - B7B19EEAA0FFA17D0D0EBB0EF0BB6BF0 /* SDWebImageDownloaderRequestModifier.m */, - 8EEC50449E91205E91CAE0AC48D213B8 /* SDWebImageDownloaderResponseModifier.h */, - 5CAC3B4B274DC9AA16D13F3C6D4335CE /* SDWebImageDownloaderResponseModifier.m */, - D1C5B886154DDD4E0E621E5C00B65F89 /* SDWebImageError.h */, - 0A7D80C1458EED48CE37A904B6E2A1C2 /* SDWebImageError.m */, - F3B8FD3A49A449B4BC1A53E8BF2F87B9 /* SDWebImageIndicator.h */, - CB26A46206C6831A68473FD7079779E1 /* SDWebImageIndicator.m */, - 393126E20D6C9DD39A1E8C7B465B8C41 /* SDWebImageManager.h */, - B6FA8D76394737257410373E15F306E0 /* SDWebImageManager.m */, - 2E9F06E32F7D9FF514B903A5EFBF3C7C /* SDWebImageOperation.h */, - 977940CC99E17343BB8F09D69A454385 /* SDWebImageOperation.m */, - 9C558730A006A4D80DC49040CED2A09C /* SDWebImageOptionsProcessor.h */, - 78E4D5D9061137C3840627DC7A22F6E6 /* SDWebImageOptionsProcessor.m */, - 71AB1A031D043B30D99E49690ED3F80D /* SDWebImagePrefetcher.h */, - DCC5CD697767A0969E1B44888827C110 /* SDWebImagePrefetcher.m */, - C9BB2B08343FC2F6E05DCCEB5D374A3E /* SDWebImageTransition.h */, - 6AFBB287432EE07870BD518798194174 /* SDWebImageTransition.m */, - D7547CC7CFB8C217BE9D1B03A5E89CF9 /* SDWebImageTransitionInternal.h */, - 33864E7FE4618F867F0D52B425BE2A89 /* UIButton+WebCache.h */, - 6A18F6AE19F18B97B7F1FECE279EC3DB /* UIButton+WebCache.m */, - BDE74B6BBFDF53D1347232504DE7E367 /* UIColor+SDHexString.h */, - DCAAA1A68E2CC67F36E9382AFE2D861A /* UIColor+SDHexString.m */, - 5165B9B4A88E168CC5E99C94C95954F0 /* UIImage+ExtendedCacheData.h */, - 1606E932D0F8D9310349DF42436B6328 /* UIImage+ExtendedCacheData.m */, - 5B77AE0195A469E8CBAD7B4B8B557268 /* UIImage+ForceDecode.h */, - BF9498DF220C329425D87229BBC99A48 /* UIImage+ForceDecode.m */, - C07DC7BB074239198CA2AA5E67CB54AB /* UIImage+GIF.h */, - 45FB77BEE7BC93528CC532F4039DF95D /* UIImage+GIF.m */, - D840E5834002FF5D7F31A65EA3DF14B3 /* UIImage+MemoryCacheCost.h */, - 40E8A77D2026BAD1ED9079B005A68462 /* UIImage+MemoryCacheCost.m */, - 5E446B9633C1F1437CB7D0E71FE366FE /* UIImage+Metadata.h */, - 09446C4DD5AE2BB2D04892AF7241A647 /* UIImage+Metadata.m */, - D5E4C9ABC7A7C0148C2F0A4F3343ABDF /* UIImage+MultiFormat.h */, - 667969625420EC6DE948A4AB786C3AD2 /* UIImage+MultiFormat.m */, - 75EB752D1459AC050F285FEEC9B46042 /* UIImage+Transform.h */, - 1C1691460A0C5DCD4247D9A242B0A8D3 /* UIImage+Transform.m */, - 748BB1DB6EAECC67D4D73F077E64AAA6 /* UIImageView+HighlightedWebCache.h */, - 5A1AEC1E660AF085ABEBF2AAD768816C /* UIImageView+HighlightedWebCache.m */, - 966E16A687DC93F02AAF387C056259B5 /* UIImageView+WebCache.h */, - CB61CFEE5E63D926E49AC8024C6FDAB0 /* UIImageView+WebCache.m */, - 2F3E093732F9246792C0B6E687DD9D44 /* UIView+WebCache.h */, - 30E8807653D14DD2266B0694899F4F4D /* UIView+WebCache.m */, - 6A3254A0EE7344F763D13C10C98FF398 /* UIView+WebCacheOperation.h */, - F6AAFCEA85426C0BA2E6B812976B4495 /* UIView+WebCacheOperation.m */, - ); - name = Core; - sourceTree = ""; - }; - CA20B5095C414F02AEA0E58529CF295D /* DDBaseImage */ = { - isa = PBXGroup; - children = ( - 954003773FFB5EE910CB1D59C7BCCCC6 /* DDBaseImage.h */, - 0F204A4B7D209E2960CD8DB36DB9DAE5 /* DDBaseImage.m */, - ); - name = DDBaseImage; - sourceTree = ""; - }; - CA2E786AEC5310DEE1FCC5A379AB8550 /* NSURL+DDCategory */ = { - isa = PBXGroup; - children = ( - 158E39A1504BFAF22603A9A530FFB105 /* NSURL+DDCategory.h */, - FEDD68B76874DFA5F819713CE810A383 /* NSURL+DDCategory.m */, - ); - name = "NSURL+DDCategory"; - sourceTree = ""; - }; - CBBEA97C6D095C1CF9DDA23C1B9D5D9B /* ZFPlayer */ = { - isa = PBXGroup; - children = ( - 1BDA0D668CF4110765AB7F36219B8314 /* ControlView */, - E278C3CFA1B4292E3563FAB13C5D7261 /* Core */, - 0B8A2878CDE1996296A3FBEF65A2D1E1 /* ijkplayer */, - 1668675CA292D902E0F4694C05C65A00 /* Pod */, - D8282D3B69B7B07BCDDCB2B74F1DC35E /* Support Files */, - ); - name = ZFPlayer; - path = "/Users/zd/Downloads/iOS相关/ZFPlayer-master"; - sourceTree = ""; - }; - CC0BA8B2892DDAAD650E8F3FED33AEDB /* Core */ = { - isa = PBXGroup; - children = ( - 3470646136BC8BA56DEB5445F07DEE77 /* Array+ZLPhotoBrowser.swift */, - 2EECC4113B6D446184136B6B159D83B5 /* Bool+ZLPhotoBrowser.swift */, - 8AEEF526AB6E4D69C198CC2E82C472C3 /* Bundle+ZLPhotoBrowser.swift */, - FC428A78E9DAD599CC8A926A5A9D5682 /* Cell+ZLPhotoBrowser.swift */, - 4DEA01466DF987E8972735315BF18716 /* CGFloat+ZLPhotoBrowser.swift */, - E000D78F7B4FE9CACA07FBC7782E8573 /* NSError+ZLPhotoBrowser.swift */, - 0742A09FF76AB5FA37ACEFCF54F601F4 /* PHAsset+ZLPhotoBrowser.swift */, - 2AD762B63EAF569EBE6407A06D88B95A /* String+ZLPhotoBrowser.swift */, - C57CB228E5D43D5F2D74740EEBECAAAC /* UIColor+ZLPhotoBrowser.swift */, - 78A5D9E4E3522499EF576035BF8644E8 /* UIFont+ZLPhotoBrowser.swift */, - C360458B9FCEAD5C1E961F63B6020C7C /* UIImage+ZLPhotoBrowser.swift */, - 5A1FCE805EDB0F8589AAADAE24B30367 /* UIView+ZLPhotoBrowser.swift */, - E47BFCEBA74E612D0AAE14AD14FEE1E4 /* UIViewController+ZLPhotoBrowser.swift */, - D9F65D22857107DA6C30CFA83DEDBD16 /* ZLAddPhotoCell.swift */, - CBE3C3780A2B8AC416FE89CF4E0F6472 /* ZLAdjustSlider.swift */, - 7325F9F0795CB1412150D7C078F378CB /* ZLAlbumListCell.swift */, - 5D29945FD9C14C6F2842E96007B5B0EF /* ZLAlbumListController.swift */, - DA5341CC5E3147C94AB1110A86D434A1 /* ZLAlbumListModel.swift */, - B7546BE56E3F369444941CDB3F9F6E1F /* ZLAnimationUtils.swift */, - CD3239F0BB80CD66E07CDFAA1F7C7665 /* ZLBaseStickerView.swift */, - EC6C9AC71396A13886768DAF49A2B40F /* ZLCameraCell.swift */, - 3F82291D5FAF4348E043E63A57061AF5 /* ZLCameraConfiguration.swift */, - 82D8968847F6D70906F256A6653FF777 /* ZLClipImageDismissAnimatedTransition.swift */, - 7BF93B596B360779782E3FBBF7AAF012 /* ZLClipImageViewController.swift */, - DB5499479918C7AAE70099CFBB08D7C4 /* ZLCollectionViewFlowLayout.swift */, - 6966D76B5209FED98C73A83E9B3ACBB8 /* ZLCustomAlertProtocol.swift */, - D1B61F61B935C115A4208B5417986A35 /* ZLCustomCamera.swift */, - 3C6211C3F66BA00109F8CCD3F3BD8BCD /* ZLEditImageConfiguration.swift */, - E44178D58BE22E280223ACDAC448D338 /* ZLEditImageViewController.swift */, - D9E6D331CAFFB710AB082155D93DB06C /* ZLEditToolCells.swift */, - 4807DC95FB8C4F8B7678DCBF9370900E /* ZLEditVideoViewController.swift */, - B0FB76280E18F322095A2C4A4D685973 /* ZLEmbedAlbumListView.swift */, - 3F50D16D806F61359147DC51BBC05EA3 /* ZLEnlargeButton.swift */, - B963F2D9036B685C58BA3B1C6BE5C43E /* ZLFetchImageOperation.swift */, - 71B3D71F408EDE136CBBFB3B205E76D9 /* ZLFilter.swift */, - B29C8FD4F539CD32BEA4208A8E848454 /* ZLGeneralDefine.swift */, - E085FC38F59BBE0A32DFC3BF1718F1A5 /* ZLImageNavController.swift */, - AED76B4B938C0C7384ACF460FDB3AB16 /* ZLImagePreviewController.swift */, - BD76A4AA2E16A6A815434A8FBEF48599 /* ZLImageStickerView.swift */, - 3E6FE2B6B31B4400D2DECAD7E2C599E1 /* ZLInputTextViewController.swift */, - 03376065D13F12FEC4F299412F952A70 /* ZLLanguageDefine.swift */, - D12D0AA8EE644F7B7459C1A50A1A8684 /* ZLPhotoBrowser.h */, - 2E62954B5176FBEB5F64B748589079EE /* ZLPhotoBrowser.swift */, - 5151F72B728E7C5CEB8B31367DE84C9C /* ZLPhotoConfiguration.swift */, - 49210FBEC4B6952840D0FD08F21D4539 /* ZLPhotoConfiguration+Chaining.swift */, - 3A5FCF1C630A2AF151F136A1395016D1 /* ZLPhotoManager.swift */, - A2DDE6CC79F0085CD04BEEF2DCCFC9A4 /* ZLPhotoModel.swift */, - 6DEE2FAE47BF7AD86130215490E180B1 /* ZLPhotoPreviewAnimatedTransition.swift */, - 1B10B6E9D17566CC5699F5DB858E386B /* ZLPhotoPreviewCell.swift */, - 9A01E7E6BEC5F1E23232428A2B402761 /* ZLPhotoPreviewController.swift */, - 7A5C7412A60E5D3158BF0ADABEF2215C /* ZLPhotoPreviewPopInteractiveTransition.swift */, - 227AF9E6AD03AC9A3C955525A5398DA7 /* ZLPhotoPreviewSheet.swift */, - D8A50CEFDA0687C95EC61B27EEC31A9B /* ZLPhotoUIConfiguration.swift */, - AC005FCC0C60BD128CACB42A3B99D407 /* ZLPhotoUIConfiguration+Chaining.swift */, - DE472A0AE712A303A9D5D79DF780BB34 /* ZLProgressHUD.swift */, - 66AA1EB09594CB6D39637156E85AE376 /* ZLProgressView.swift */, - B11AD11EACED0833C99ABEB7FFAEBFA7 /* ZLResultModel.swift */, - CA6848716C370DF05851B5A601EDF8F1 /* ZLTextStickerView.swift */, - B04861F50E98C1996227ECF5A10CC6BF /* ZLThumbnailPhotoCell.swift */, - 32B6C9FC55421EC0891EEB77051191F0 /* ZLThumbnailViewController.swift */, - CD1145E3EE51F2B1194D0B9926563F4B /* ZLVideoManager.swift */, - 90B758F32A2589954169583859CF859A /* ZLWeakProxy.swift */, - ); - name = Core; - sourceTree = ""; - }; - CE62BEA7E17DE4DE24A2D00B6241F93E /* NSThread+DDCategory */ = { - isa = PBXGroup; - children = ( - E1D479A5AFC217595BD95682A2214CCE /* NSThread+DDCategory.h */, - DD90C26F2E57B0573AD939AD15D56116 /* NSThread+DDCategory.m */, - ); - name = "NSThread+DDCategory"; - sourceTree = ""; - }; - CE8C83AB6C840084D50490CC2B74B67E /* DDBaseImageView */ = { - isa = PBXGroup; - children = ( - 562A74AC6BD2A4EE50E1CA898255F162 /* DDBaseImageView.h */, - AB25F6E0D99E2BBFBA2B8783348F9B11 /* DDBaseImageView.m */, - ); - name = DDBaseImageView; + name = "UITextField+DDCategory"; sourceTree = ""; }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 2FD92DCDAD068486A285F7D1799B2A96 /* Development Pods */, + 05C0F84426476181453FF09C43102D86 /* Development Pods */, D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, - 94AF8EA457C3AED2EE67594A627BAD10 /* Pods */, - 47220D1E5B7A1C146ED339A6F2EE5EB0 /* Products */, + 406B4B46478BF561840D95C402EBC391 /* Pods */, + EA1883F5A28AD8CD4082E5EF16BBDA6A /* Products */, 1F1D631D94DD75582056095E9D9F94F9 /* Targets Support Files */, ); sourceTree = ""; }; - D04CD268675ADB564A3C19D396651FEE /* Support Files */ = { + D12C677B014C8C086D61C8532A16FF20 /* DDBaseView */ = { isa = PBXGroup; children = ( - EED6E5DDA56664951CC4CBBE99916328 /* DDControlsKit_Private.modulemap */, - 8337ED7199242369BE499CE1095D04E1 /* DDControlsKit_Private-dummy.m */, - EDDCE3830BC47A94EDCA3BB8463E0C24 /* DDControlsKit_Private-prefix.pch */, - 11F5917602EDEC27FDA925D7FF793496 /* DDControlsKit_Private-umbrella.h */, - D960164D00192805BD53A8BA00FE1EC7 /* DDControlsKit_Private.debug.xcconfig */, - D3BABB7664C187AC2E20DBDD42EB2323 /* DDControlsKit_Private.release.xcconfig */, + F1C91FBF36170A4E474C8C941580EF80 /* DDBaseView.h */, + D9E45ACFAB81B50B5076FE51151D95F3 /* DDBaseView.m */, ); - name = "Support Files"; - path = "../Target Support Files/DDControlsKit_Private"; + name = DDBaseView; sourceTree = ""; }; - D063408BBF1CAAF5661503A72BAD31DB /* Support Files */ = { + D3979C1F618D5BCFD8AA08F6817D062E /* Resources */ = { isa = PBXGroup; children = ( - 594C93B6F642773CF64788AE8C1BCC93 /* AMapSearch-NO-IDFA.debug.xcconfig */, - 72503BDFC7A65E3D8D24320D59918FD2 /* AMapSearch-NO-IDFA.release.xcconfig */, + 22D9383F847715AF3A415084BE82DF15 /* AMap.bundle */, + 0584C121A1B159E1BE96EF1E190BCFEE /* AMapNavi.bundle */, ); - name = "Support Files"; - path = "../Target Support Files/AMapSearch-NO-IDFA"; + name = Resources; sourceTree = ""; }; - D257097E8C163ECFEFBF73471D84AA97 /* Support Files */ = { + D482023F52BDD030BF07A59F67F886DC /* UIButton+DDCategory */ = { isa = PBXGroup; children = ( - 98F0F795D73BA1DAE3604BF60BB5920E /* DDToastKit_Private.modulemap */, - B8405C7EAB0498644B815AAC4D1B6FC3 /* DDToastKit_Private-dummy.m */, - 1A2745E7DE16B870987AD4D70B7FF1DF /* DDToastKit_Private-prefix.pch */, - 117468C7C42DA5A8F1AC1DCB641DC56A /* DDToastKit_Private-umbrella.h */, - CAA27CD3CE04ED7A715459910E10E127 /* DDToastKit_Private.debug.xcconfig */, - 09B271C9505E30521BE94B2F5F5EDBCD /* DDToastKit_Private.release.xcconfig */, + C986F5CE038ED29E845E56A1E9DC7E61 /* UIButton+DDCategory.h */, + 0709DB6472F62BC42D1965BC1214BAE0 /* UIButton+DDCategory.m */, ); - name = "Support Files"; - path = "../Target Support Files/DDToastKit_Private"; + name = "UIButton+DDCategory"; sourceTree = ""; }; - D356075B68EA3E7817E1DFE1E8F84462 /* UIApplication+DDCategory */ = { + D579614E2968C3B71358A7D94C342BC2 /* DDImageView */ = { isa = PBXGroup; children = ( - B9FC22B0CD75BDF6C79E9303E692782B /* UIApplication+DDCategory.h */, - 34319F6AE82891AE29F59BA2C6C6BD58 /* UIApplication+DDCategory.m */, ); - name = "UIApplication+DDCategory"; + name = DDImageView; sourceTree = ""; }; - D80ED0537AEA647AFCDB551574CA632F /* Frameworks */ = { + D7B4D26573F908AB8A9801D2A6EDE35A /* UITableViewCell+DDCategory */ = { isa = PBXGroup; children = ( - E9B89D737E027CD857406AAFA6ACDF79 /* IJKMediaFramework.framework */, + 7122E66334E6C1133CDF561CF8B34109 /* UITableViewCell+DDCategory.h */, + 846F0345F02A92E7432F3057F6E5CE10 /* UITableViewCell+DDCategory.m */, ); - name = Frameworks; - sourceTree = ""; - }; - D8282D3B69B7B07BCDDCB2B74F1DC35E /* Support Files */ = { - isa = PBXGroup; - children = ( - 063BCC3F948F238EEE25C9FD8D086DBC /* ZFPlayer.modulemap */, - 5DA9D9F7B79109B3F127640D90AAF62B /* ZFPlayer-dummy.m */, - 4EA46A509DB66E3D4AAE3F782624487E /* ZFPlayer-prefix.pch */, - 668787B27569EE41CE1A625CE78D9D78 /* ZFPlayer-umbrella.h */, - 117C88403400A6AB1839799080E10082 /* ZFPlayer.debug.xcconfig */, - 22DB568C2F40BF105F67A00E09CBC2F3 /* ZFPlayer.release.xcconfig */, - ); - name = "Support Files"; - path = "../../../Desktop/中道救援/OrderScheduling/Pods/Target Support Files/ZFPlayer"; + name = "UITableViewCell+DDCategory"; sourceTree = ""; }; D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { @@ -5559,241 +6242,509 @@ name = Frameworks; sourceTree = ""; }; - D9F1A523B49A131C657394101FCCECC8 /* Resources */ = { + D94804E5FEB21F430FCEC8D05EA65D13 /* UICollectionViewCell+DDCategory */ = { isa = PBXGroup; children = ( - 501976E1B0BB5A36F3A436A8013F96F4 /* ZLPhotoBrowser.bundle */, + 7C353766033767D7665EE9C4D3DF4360 /* UICollectionViewCell+DDCategory.h */, + 3A7A457F33ADAAA5F1C81E024A9F9932 /* UICollectionViewCell+DDCategory.m */, ); - name = Resources; + name = "UICollectionViewCell+DDCategory"; sourceTree = ""; }; - DB18742FC750B5E87A02EDB1E9F257CC /* DDBaseLabel */ = { - isa = PBXGroup; - children = ( - A1CB999F9AF8102C75B2628D52172A6C /* DDBaseLabel.h */, - E20C3C871989346D8B72A4D649C1476D /* DDBaseLabel.m */, - ); - name = DDBaseLabel; - sourceTree = ""; - }; - DB9C44381C07E929DC283FCEE690D48B /* UITextField+DDCategory */ = { - isa = PBXGroup; - children = ( - E1F129383AB15E9BBA4DBBCF29CA683B /* UITextField+DDCategory.h */, - 0C5B75F7D37B8D46A010288A3C3458DE /* UITextField+DDCategory.m */, - ); - name = "UITextField+DDCategory"; - sourceTree = ""; - }; - E02158C7B111273FB663EB568029347C /* Resources */ = { - isa = PBXGroup; - children = ( - 98ABFA3B07BDBE091ECEE25A94EAC095 /* AMap.bundle */, - C1FD1805509910EB65B86D77730CE1A2 /* AMapNavi.bundle */, - ); - name = Resources; - sourceTree = ""; - }; - E22B70C47DA9A5249A8830283296CA18 /* DDCollectionViewCell */ = { + DA2831FC7D426C291BCB9F6483E2B86E /* DDViewController */ = { isa = PBXGroup; children = ( ); - name = DDCollectionViewCell; + name = DDViewController; sourceTree = ""; }; - E278C3CFA1B4292E3563FAB13C5D7261 /* Core */ = { + DA6D52729451F1EE344CC26998A2AB93 /* UIApplication+DDCategory */ = { isa = PBXGroup; children = ( - 23497B67ACDC31BA3F0598347B9399BF /* UIScrollView+ZFPlayer.h */, - 0FC81AB33C46D6A1196C93DDAF5C8476 /* UIScrollView+ZFPlayer.m */, - 4F734BB4F86F6962F672D7EDF71F0E01 /* UIViewController+ZFPlayerRotation.m */, - 5CF0191F1FD51A0714A5FAB29D3E7BBA /* ZFFloatView.h */, - 53F7F7AB35EC8BFE034F730B003CA459 /* ZFFloatView.m */, - 5B74D76532B29E618B6266AAD2C1B9E1 /* ZFKVOController.h */, - 41B858E531AE6AE607619785C35746CD /* ZFKVOController.m */, - 3807C6FEBE7FFE10B504C8EE5EB0A37B /* ZFLandscapeViewController.h */, - 93654571E7FDB26E786C36FE0C048ED0 /* ZFLandscapeViewController.m */, - 732D127F9888E847605A93115B6FB2A5 /* ZFLandscapeWindow.h */, - 29127FC8D58201928F65FC47C03F110E /* ZFLandscapeWindow.m */, - 7E86E34E8835F13A9AC605275B4D705D /* ZFOrientationObserver.h */, - 682D2D3A90ECD6E5B5B62A63A7A335C6 /* ZFOrientationObserver.m */, - D1971CD9E21A78FEEF1B2019149A52E0 /* ZFPersentInteractiveTransition.h */, - 347C0076DEC0BB5A07137B78524E04C3 /* ZFPersentInteractiveTransition.m */, - 7B1658EF88CA595AEA0831619F2E5916 /* ZFPlayer.h */, - C8C9A8FE32578BEC724D938BDCA55164 /* ZFPlayerConst.h */, - 69BC25304A9853A7B03ED8E48E32EB77 /* ZFPlayerController.h */, - A33002554CB161847BB170C38091DC1C /* ZFPlayerController.m */, - E04C5ABF747A086D31BF630397DADF38 /* ZFPlayerGestureControl.h */, - A1711E90128068125A8C2B8F49751963 /* ZFPlayerGestureControl.m */, - 4B5F2B41A5993D845A431D40A82DB9AC /* ZFPlayerLogManager.h */, - 20B59AA625B59BE16A80AF0B70C53CF0 /* ZFPlayerLogManager.m */, - 343F6F3830F7B1B5BEC510FC0FEBE7BB /* ZFPlayerMediaControl.h */, - 3638708737B9B113A86B5B125252EDEA /* ZFPlayerMediaPlayback.h */, - AA04CD0F23CC9878683C6F6FD5F29DDF /* ZFPlayerNotification.h */, - 3CBE580BDBDD64676B6A7A80D71C96AE /* ZFPlayerNotification.m */, - 478980E00140A7CE7382FB4325FEAD1E /* ZFPlayerView.h */, - B5C4D96349F0B74A2EDEDF5D9C4FA813 /* ZFPlayerView.m */, - AC3ECD4F7AA4F16AAE4A1C9C185C0122 /* ZFPortraitViewController.h */, - 9F2CF71799A5E230E34F7E1EE95EBE41 /* ZFPortraitViewController.m */, - 9D8796F8C274AA030685AAC3E8BC31BA /* ZFPresentTransition.h */, - C099BA92A99D4E19C562C0EC31417658 /* ZFPresentTransition.m */, - BDE9FBD8BCEBE5C945C8F09730FE9072 /* ZFReachabilityManager.h */, - 3FA40E7819141FA2A6B27F428C1B99F8 /* ZFReachabilityManager.m */, + 34DAA9BC397A3FAFAA86E321CD99AB39 /* UIApplication+DDCategory.h */, + 623F55AFA996FF2389E51259F54E3E52 /* UIApplication+DDCategory.m */, ); - name = Core; + name = "UIApplication+DDCategory"; sourceTree = ""; }; - E7C93FFE4474B302D5ED27D45C1CA3CF /* DDWebImageKit_Private */ = { + DA85237B6C26FEE4EC0A4D3580B26237 /* DDAutoUIKit_Private */ = { isa = PBXGroup; children = ( - 2410550B1FF82DA4E89997196379B9C3 /* DDWebImage */, - 5ADF0EBF93BDA21DA5089F18082AAD68 /* SDWebImage */, - 3A233AC69ABE6B22B7835F538A74C2E6 /* Support Files */, + CCF78219934B933B7CDB278A7D6CCCD9 /* AutoUI.swift */, + 308222D79DA470C3BFA3F79ED7417EA0 /* Support Files */, ); - name = DDWebImageKit_Private; - path = DDWebImageKit_Private; + name = DDAutoUIKit_Private; + path = DDAutoUIKit_Private; sourceTree = ""; }; - E8E1390593EE0FD24D9674F025BA8A57 /* Frameworks */ = { + DAB843AF76158F7D30E8088D3A08F1C9 /* DDImage */ = { isa = PBXGroup; children = ( - 39057264458F80C8862F4BDD19C3E375 /* AMapNaviKit.framework */, ); - name = Frameworks; + name = DDImage; sourceTree = ""; }; - E98BBB7C2CC233D4532DDBCB0D261123 /* Support Files */ = { + DBF9917CA94F9EC0A0119CFB7F37B0F5 /* DDAttributedString */ = { isa = PBXGroup; children = ( - D6026B5132C7658EE3BCD34DC1FCD152 /* AMapLocation-NO-IDFA.debug.xcconfig */, - 34C2756B00AC88A396952D626B495CC4 /* AMapLocation-NO-IDFA.release.xcconfig */, + ); + name = DDAttributedString; + sourceTree = ""; + }; + DCB2AE204E15F078DE4AA459A81D018C /* Support Files */ = { + isa = PBXGroup; + children = ( + 45801C16EF5022F462431010C77066DA /* RxSwift.modulemap */, + 949C1F8D1B2B40BDAB788E8CCD627D2C /* RxSwift-dummy.m */, + 55451B9DB44C1673B63426F059553D6F /* RxSwift-prefix.pch */, + 2D46E25BA0E500D15D0D9CF8F9112A5C /* RxSwift-umbrella.h */, + 7D052BA31A4EFF0AE6AA2E1DFA1C0F27 /* RxSwift.debug.xcconfig */, + 82F50EBA6187811DB37C287872CFB004 /* RxSwift.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AMapLocation-NO-IDFA"; + path = "../Target Support Files/RxSwift"; sourceTree = ""; }; - E9AA24F3E2B96F855CE478A77F17239D /* CALayer+DDCategory */ = { + DEC1EFAF0C56A435B33FDFFA5F4B0091 /* OCLog */ = { isa = PBXGroup; children = ( - 501245C4E1EC2E396632EF831E649C9F /* CALayer+DDCategory.h */, - 1A8B28A120C292488ED430D5EA7D5B3D /* CALayer+DDCategory.m */, + 605EC3D6466D590B4047CA4E21A352DC /* DDOCLog.h */, ); - name = "CALayer+DDCategory"; + name = OCLog; sourceTree = ""; }; - EB582DFAE4B4823672ABE9A549B9F9D1 /* Overlay */ = { + E649B6254449C268C2ECFE2CE70741EE /* NSAttributedString+DDCategory */ = { isa = PBXGroup; children = ( - 87FC369F276C543CB0E1A3A5AFF3A837 /* MABaseOverlay+DDCategory.h */, - 0DDD1B2BB4DF04E5ECF2C7AF8C3EDF08 /* MABaseOverlay+DDCategory.m */, + 47B5E166EA08AB6B72ACD5362243EEF3 /* NSAttributedString+DDCategory.h */, + E812965A4A246A80759BE7BB328475FD /* NSAttributedString+DDCategory.m */, + 137D779AA253D16469936033E2157977 /* NSMutableAttributedString+DDCategory.h */, + 6A96B08E07305C7873319B2946342FCF /* NSMutableAttributedString+DDCategory.m */, + 438C6CD8A02963264200D05FA421D328 /* NSMutableParagraphStyle+DDCategory.h */, + A0FC29662FE91D3035E3D2941E43BAF7 /* NSMutableParagraphStyle+DDCategory.m */, ); - name = Overlay; + name = "NSAttributedString+DDCategory"; sourceTree = ""; }; - EB7842F7C318504248BEA3FD9EC5768B /* RxRelay */ = { + EA1883F5A28AD8CD4082E5EF16BBDA6A /* Products */ = { isa = PBXGroup; children = ( - CCE348878BA82693B010B31E0A60512B /* BehaviorRelay.swift */, - 42CBC31700ADDCDED927606D136AAC88 /* Observable+Bind.swift */, - DE937EC2C51C0F57C368D998FA54A112 /* PublishRelay.swift */, - C187A19F7534C1425E776B316374DE8F /* ReplayRelay.swift */, - FBCEF9CC7CBCEE33F7C0C4B249F80823 /* Utils.swift */, - 4DD48197A0B276D87BEA55A04BC722EA /* Support Files */, + 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire */, + CA4C3A23CF67AF861CBCBF4F978F7146 /* CocoaDebug */, + 16ADD43AE08E88D6F7A3498152249608 /* DDAutoUIKit_Private */, + 42F10DB6CED6AC3E9AA446F86C16A0F5 /* DDBasicControlsKit_Private */, + 71067D1F0754E977C6E009846B257042 /* DDBasicControlsKit_Private-DDBaseViewController */, + EC46C56D3F58BDA592A93730A005EF26 /* DDCategoryKit_Private */, + 9D4B74A4386EF8F53603612D83CA68C9 /* DDColorKit_Private */, + 1FEA06F110D30604A9FB015A9790A954 /* DDControlsKit_Private */, + 9CB241779EEAD809AC3180FD5B56FDF4 /* DDFontKit_Private */, + DAFE13D35532C1BA0D3624F4C38BEE8E /* DDLogKit_Private */, + 6EEB8B1CB2BF24B44DEEDC1B058B22E2 /* DDMAMapKit_Private */, + FB908FBF9F755AFB285A27A674140F71 /* DDMAMapKit_Private-DDMAMapKit_Private */, + 2DE47AF6516BB19369CA020EA7C48A4A /* DDNetworkingOfAlamofireKit_Private */, + 35BC09180850FDD03C450D14BD310714 /* DDProgressHUDKit_Private */, + 5B7470406CCB43F46F05C6BE886A91F7 /* DDProgressHUDKit_Private-ProgressHud */, + 3F659DC98613325346A7F6AF56D2E619 /* DDTimerKit_Private */, + A9132D6AA90D7BC2B6C7A08B065F87A9 /* DDToastKit_Private */, + AD8FF1E8B0C9C12F070D79A5EC3BEE59 /* DDWebImageKit_Private */, + F6D00CA03F52F8332AAD8FEEC4AFD406 /* ESTabBarController-swift */, + A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */, + C3A46B03C308EEEB11F2A62BA5D2E8BE /* JXCategoryView */, + E49D6D248DD1CEE584E6776B9164A1B2 /* MJRefresh */, + B3B0956B7EBF66A8FD677D586C9C387A /* Pods-OrderScheduling */, + BC432FD48A5932251F1CAFBC4BF74894 /* RxCocoa */, + FF8B264DFE802855D5D67E7CDDABFC3C /* RxRelay */, + 809C5FAB588354C9BA37DC3EAB8CB45C /* RxSwift */, + 979486118B3E90C08386079D57962701 /* SnapKit */, + DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */, + 0C6F4829D47D1826F47CDC4264F9F6A8 /* YYImage */, + ED363DD89BB17FB9F31F94524BA59CBB /* ZFPlayer */, + BB28130B0F4C47DC99D2DB9C80F70152 /* ZLPhotoBrowser */, ); - name = RxRelay; - path = RxRelay; + name = Products; sourceTree = ""; }; - EBC617E8E7795BF819D5694451F7A1CA /* Support Files */ = { + ECFA2170ED69AE768CD092E338EEA200 /* Support Files */ = { isa = PBXGroup; children = ( - 0A972A5BCF8B1EF000740D7E35C416D7 /* SwiftEntryKit.modulemap */, - 27309093A7F1D490ACA8CA5F9A42F1AC /* SwiftEntryKit-dummy.m */, - FAC3C52D9723B4150F80AE78A7F9B60E /* SwiftEntryKit-prefix.pch */, - E815F486354B346E94F8E60D67874BEB /* SwiftEntryKit-umbrella.h */, - EF70FC9EB152D1C253A1FAAE0D28DA6A /* SwiftEntryKit.debug.xcconfig */, - E503856D2A5845FBF4D8229A75F08E60 /* SwiftEntryKit.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/SwiftEntryKit"; - sourceTree = ""; - }; - EC8235AE8927ADA4659B20EE366B6A99 /* DDTimerKit_Private */ = { - isa = PBXGroup; - children = ( - 81EF3B9531FFC34BABC514CF78837760 /* GCDTimer */, - 1B2A7D12645B780AA53C9A2D97055BEF /* Support Files */, - ); - name = DDTimerKit_Private; - path = DDTimerKit_Private; - sourceTree = ""; - }; - EE84CCD6D5282F380C9E3B3FDBBE325E /* UIWindow+DDCategory */ = { - isa = PBXGroup; - children = ( - 974280124F141ACD4B94A27601F945AB /* UIWindow+DDCategory.h */, - D893572C6B777F1CAB47352C265EFCBD /* UIWindow+DDCategory.m */, - ); - name = "UIWindow+DDCategory"; - sourceTree = ""; - }; - EED3447E103CFB2FAC8524062EC3026D /* UITabBarController+DDCategory */ = { - isa = PBXGroup; - children = ( - 1D238F33FD51043F3EF4B86EBFA021AE /* UITabBarController+DDCategory.h */, - 774DF6AAB3E8877F3BA3288ED84402FB /* UITabBarController+DDCategory.m */, - ); - name = "UITabBarController+DDCategory"; - sourceTree = ""; - }; - F1F1F1DCFCD73D76487B94CF9661BE5C /* DDBaseScrollView */ = { - isa = PBXGroup; - children = ( - D3A9259CEA8616FA5E3BB7D0781C52C1 /* DDBaseScrollView.h */, - 8AF674DC92F6594A8BCE55144406461C /* DDBaseScrollView.m */, - ); - name = DDBaseScrollView; - sourceTree = ""; - }; - F62A3C1DE89C038AB55565643F2D7F46 /* Support Files */ = { - isa = PBXGroup; - children = ( - F51C9A5BC162BF8F01E07E57B795DD9C /* IQKeyboardManagerSwift.modulemap */, - 7C2F1F9745C892BCEC5395D95071D775 /* IQKeyboardManagerSwift-dummy.m */, - 73BFAEEAA83D4D1D9E09793FAA92EE32 /* IQKeyboardManagerSwift-prefix.pch */, - 37FFE786666F4F117875D90064508688 /* IQKeyboardManagerSwift-umbrella.h */, - 6C02DE55002B281536BE541DD08385DA /* IQKeyboardManagerSwift.debug.xcconfig */, - A85800C43FC5374FFF6FE49EEAD196FF /* IQKeyboardManagerSwift.release.xcconfig */, + 5ECB289F23A6B096DECEA6997FE789BF /* IQKeyboardManagerSwift.modulemap */, + B044A43AE4FF1C3EEB6CD643C8732214 /* IQKeyboardManagerSwift-dummy.m */, + FD15F272C0470D447E79A5E015F36E7B /* IQKeyboardManagerSwift-prefix.pch */, + 9AD814516B99F8E8466A35B289BC93AC /* IQKeyboardManagerSwift-umbrella.h */, + 769A998FECDFBEBE1BCB5AE00554A7C5 /* IQKeyboardManagerSwift.debug.xcconfig */, + BF9998B286D7ACFFC4976417199AF103 /* IQKeyboardManagerSwift.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/IQKeyboardManagerSwift"; sourceTree = ""; }; - FCF9B2D91E8AA0F4A76C9F9EAF7DAD80 /* UIFont+DDCategory */ = { + EDF701E6E7BF3C1223B8C8F7F54D6004 /* DDTableView */ = { isa = PBXGroup; children = ( - 779DA9E9A107C88A96F5CD2E19933DE7 /* UIFont+DDCategory.h */, - D7DF8E3EEBB44B06A866AA809A02034E /* UIFont+DDCategory.m */, ); - name = "UIFont+DDCategory"; + name = DDTableView; sourceTree = ""; }; - FD37708C411CCD492B9F722E36ED1859 /* DDFontKit_Private */ = { + EF2F2D6149CFCC5D3679D29F86261747 /* Support Files */ = { isa = PBXGroup; children = ( - 2F4BF232B50ADCB60D50D62600432E7F /* FontUtil.swift */, - 8C7DBCBA79B6D3FECA2FC240C2CB55CB /* Support Files */, + C94821F70B3BE076EC97C43D0532A573 /* DDFontKit_Private.modulemap */, + 45335757B0CD41AB3866D5604062C4C6 /* DDFontKit_Private-dummy.m */, + 92CC84469CB61EF7C42220DC2727D651 /* DDFontKit_Private-prefix.pch */, + 10520479BFC042D366099787582B26A1 /* DDFontKit_Private-umbrella.h */, + C51B13F39D6336C623AF0B2F4FD07137 /* DDFontKit_Private.debug.xcconfig */, + AE084786A16AF311901B49348AEE4C0E /* DDFontKit_Private.release.xcconfig */, ); - name = DDFontKit_Private; - path = DDFontKit_Private; + name = "Support Files"; + path = "../Target Support Files/DDFontKit_Private"; sourceTree = ""; }; - FDE26E1EBCECE5E4E99F5CBA7C1AED1D /* SwiftLog */ = { + EFE0696C947EB3D6B84D90F03CE02EB4 /* AMapTrack-NO-IDFA */ = { isa = PBXGroup; children = ( - DB8CF011209213DE76C7F12D6097C11E /* DDSwiftLog.swift */, + C580057FEF5E052FBB91B444870E445D /* AMapTrackCommonObj.h */, + 0084CD19D2F8A9DF6BEDAC5AEDD4816A /* AMapTrackError.h */, + D56F9B97EA8E1D50CDF755F92AEEFE14 /* AMapTrackHistoryObj.h */, + 9540A0D71D6307CD476B6EF28EF04932 /* AMapTrackKit.h */, + E283EC135E4727F491B32CABAD20D414 /* AMapTrackManager.h */, + 42424C55EF21C0E1DB97E7B99703C4E3 /* AMapTrackManagerOptions.h */, + 274970F044AF576D1DD25CE778B8A75F /* AMapTrackTerminalObj.h */, + 9BE9EAEF614E8E7AC2ABAA5B4F0CA508 /* AMapTrackTrackObj.h */, + DF0D9D8AF7275FB50A23296E5D7D19E9 /* AMapTrackVersion.h */, + B4329B2954B5DB8A9BC6B26718EDAD7D /* Frameworks */, + 01242DEF4565D398B7F5D4AD8AAD09F6 /* Support Files */, ); - name = SwiftLog; + name = "AMapTrack-NO-IDFA"; + path = "AMapTrack-NO-IDFA"; + sourceTree = ""; + }; + F0574EF402AB78DBEF88278973C51094 /* DDCategoryKit_Private */ = { + isa = PBXGroup; + children = ( + C5A8AF6AF0F9350A5ACA8D1CEAF8B843 /* DDCategory.h */, + FE1077B32DCBD226629A7FDC31747C1B /* CALayer+DDCategory */, + E649B6254449C268C2ECFE2CE70741EE /* NSAttributedString+DDCategory */, + 62239F6F1D6EDDE2063B80F3E5AB36FD /* NSBundle+DDCategory */, + FA3DCAEF69B3072FEF9316B3F510F4A5 /* NSObject+DDCategory */, + 315D11796EB3EE2EA8C2A6FA718567FD /* NSThread+DDCategory */, + 9A750617558C5F7DF6CF184235E16F88 /* NSURL+DDCategory */, + 0AAA3ADEBD8D7BD61DB701501E8FFE62 /* Support Files */, + DA6D52729451F1EE344CC26998A2AB93 /* UIApplication+DDCategory */, + 6EDE21DDE2A3EA2378BE575E1AAC13A8 /* UIBarButtonItem+DDCategory */, + D482023F52BDD030BF07A59F67F886DC /* UIButton+DDCategory */, + C670430ECC3248C390DBE038DA2B0BA5 /* UICollectionView+DDCategory */, + D94804E5FEB21F430FCEC8D05EA65D13 /* UICollectionViewCell+DDCategory */, + 86CAE6CC23130A3ED654061069318430 /* UIFont+DDCategory */, + 377E3C70086F84F132BAA2696ED0369E /* UIImage+DDCategory */, + A60B6B991DB29948295C313F492467E4 /* UIImageView+DDCategory */, + F7FEDAB9DBBF0B2975CD4EDFFFCFB02D /* UILabel+DDCategory */, + 02643E85E020171255792465E40B9AD6 /* UINavigationBar+DDCategory */, + A377AD40506C3E2F46082BCB8293B5C2 /* UINavigationController+DDCategory */, + F52BA584DBECD2278B80B46230CE3D24 /* UINavigationItem+DDCategory */, + 843DC8C7B0DFB9771B65F67B888A1755 /* UIScreen+DDCategory */, + C0F447F6B1722B23AAB310CA61806404 /* UIScrollView+DDCategory */, + 77DEF476333CDEA1C7FB2C36BFCC0A74 /* UITabBarController+DDCategory */, + A2EC5860693FAE511F938B7F090191FF /* UITableView+DDCategory */, + D7B4D26573F908AB8A9801D2A6EDE35A /* UITableViewCell+DDCategory */, + CD9C06E0A183ACD509889F091914254D /* UITextField+DDCategory */, + 3FCF84A7D1135E451D7FFCE81C70B4DD /* UITextView+DDCategory */, + BF6ACBF940604B286A83E25943730B73 /* UIView+DDCategory */, + 9A99411A895244161DB6D480BEC9DBE4 /* UIViewController+DDCategory */, + 2C5FA2099D6B05884754C7FFE5F681E0 /* UIWindow+DDCategory */, + ); + name = DDCategoryKit_Private; + path = DDCategoryKit_Private; + sourceTree = ""; + }; + F44A1CA7C39B8A660C762D0F6587AB3A /* DDWebImage */ = { + isa = PBXGroup; + children = ( + 37947F46197D4B01F887E80DBED6DA85 /* UIImageView+DDWebCache.h */, + 2FBC0E98FA5DCECB6588876945A7C2DC /* UIImageView+DDWebCache.m */, + ); + name = DDWebImage; + sourceTree = ""; + }; + F52BA584DBECD2278B80B46230CE3D24 /* UINavigationItem+DDCategory */ = { + isa = PBXGroup; + children = ( + 09DB519483E8906CF59A82D4361BB9E9 /* UINavigationItem+DDCategory.h */, + 19206F95DEED91CD9B3AA37DC6971906 /* UINavigationItem+DDCategory.m */, + ); + name = "UINavigationItem+DDCategory"; + sourceTree = ""; + }; + F5875D3C31F7AB2D4441ECD026096340 /* RxSwift */ = { + isa = PBXGroup; + children = ( + 962F601B8263E4CA09F2D4FADA8067D8 /* AddRef.swift */, + B1438F7D917CF62B42D3A9801F8C3CD9 /* Amb.swift */, + 8D2A8148E50402FF0756F4994DCAEDF3 /* AnonymousDisposable.swift */, + EF280682F43D2148C1E3B33E581B4060 /* AnonymousObserver.swift */, + BA5B361B54A7300BE159754758CBE5E8 /* AnyObserver.swift */, + D0EA00035E751ECA2F98B2E261A8690C /* AsMaybe.swift */, + FFF4C5054DDCF2B3E99D0E0DB82E6F08 /* AsSingle.swift */, + 3722F8ECDCBAC3E8F9B7A2D51A23D261 /* AsyncLock.swift */, + 3F13B0B9EB7C597E3AABDD93B7F89E29 /* AsyncSubject.swift */, + 23EF9BD363F0C6965095DA3196AAEAD4 /* AtomicInt.swift */, + 3C107F6D383119F70BD50EBABA675821 /* Bag.swift */, + 2FE7FF23BEC03F2C9E6D5F8B26E9560D /* Bag+Rx.swift */, + D64D9DD770A2C2F78F1B123317FF657F /* BehaviorSubject.swift */, + 56E370A65E1D3A6978315C3BE2C80EDC /* BinaryDisposable.swift */, + 208D4F1DB1C2FA411CB13694E2C74EA4 /* Binder.swift */, + ECE6FF75533DDF840A273E1C7977B429 /* BooleanDisposable.swift */, + A271C7006084BC6628CAA997172CEB57 /* Buffer.swift */, + 34DB5BB7577231DBDF520EAC89E18916 /* Cancelable.swift */, + 1E9DED0E3D0CB531BE11C27B2B3B19FB /* Catch.swift */, + 647C5E2E97FCC5E93212289929566092 /* CombineLatest.swift */, + BA61F138C2388594E85DCDBAFBB0CFB4 /* CombineLatest+arity.swift */, + 35452E6BBD8DBB01F77B48962C993349 /* CombineLatest+Collection.swift */, + 5514FA498E749651463965DEEB02CE6B /* CompactMap.swift */, + EBCC94BCB3634D6D25F0EE5A0657E7E2 /* Completable.swift */, + 9B09A19F6805BCB15C5FC4680BFB97F4 /* Completable+AndThen.swift */, + 83B58209C3742C6143A6EAAD44077FCC /* CompositeDisposable.swift */, + DFEE70218722BEFE6E0C804D15D2AE13 /* Concat.swift */, + 1F55966CA2AB8BCB2A79DFF16C0ED571 /* ConcurrentDispatchQueueScheduler.swift */, + 4BDABD901A950BB4EF3A36EE4C9DF982 /* ConcurrentMainScheduler.swift */, + 4A90495DFC369FA0650426F1480B4202 /* ConnectableObservableType.swift */, + C5A518B0902DADEA3228A647256ADC16 /* Create.swift */, + 7D79A2708BDE3C85726D40206166DECF /* CurrentThreadScheduler.swift */, + 34B04C9C41BDA03F867994EE028D919B /* Date+Dispatch.swift */, + 2161026256388C28D8232ABAD4966FDB /* Debounce.swift */, + 44A0205707C395CF6289D195ED3561F4 /* Debug.swift */, + 52556A1A417EE172A615B9B52639EC12 /* Decode.swift */, + 20765D5601E5EF57BCF5397CE3131C5E /* DefaultIfEmpty.swift */, + 5FE3C80FE32DBEF44FE4DD9E045FCD9F /* Deferred.swift */, + 7DA48CB4D3F63FA5B99AF1F6CE7A33AC /* Delay.swift */, + A8BAF2D64A36C00E0C3F1A0E0E2818D4 /* DelaySubscription.swift */, + 144437B0597BD82481B2A24FC0EFD31A /* Dematerialize.swift */, + 940CEFC0CDB83E38DCC7FB4BA6C25D45 /* DispatchQueue+Extensions.swift */, + 0923188AABC0A1EB305C725ACB402D36 /* DispatchQueueConfiguration.swift */, + 8C4BDC5815F30FB6000FA625FB07C091 /* Disposable.swift */, + C53A70AC549836007D8446467D2D13D3 /* Disposables.swift */, + 0C1CD3125069F17E5150D0A76D9DDA7E /* DisposeBag.swift */, + 7C4F9B2C9EB402F75D3A3697B0B8B70E /* DisposeBase.swift */, + 490D6141BC7C52A85616B23EBF3636AB /* DistinctUntilChanged.swift */, + 07FFDCC95B6C7237016385C745086BFF /* Do.swift */, + B875175EFD0DA2D61881F7185AF48058 /* ElementAt.swift */, + E103DE105F7B640753D83DB7B9294159 /* Empty.swift */, + BAA874DCF54E24E1EE4602F7A3C49391 /* Enumerated.swift */, + 3C9CDFEF16400783A779D32A17B03C48 /* Error.swift */, + 7A85CD73D9538F007FF27995D5E48862 /* Errors.swift */, + 3C4C1454733F931C037B8E923AC7F3A7 /* Event.swift */, + 3BEBB0FAE7374602846D24C0F96C1743 /* Filter.swift */, + 7AC33097DF29A7025CD9FD3DB16E3B0B /* First.swift */, + 082FD9381646844261A8E5D10BBECE16 /* Generate.swift */, + 5051D25AF47144FBB56E5B965BBB1072 /* GroupBy.swift */, + 25868FCD3C484616ED262D3F7E9C31E0 /* GroupedObservable.swift */, + 388B33C8E16AA4A048B560995394CE79 /* HistoricalScheduler.swift */, + CC8CB1E833ADBFCCF4ED599A9D74337A /* HistoricalSchedulerTimeConverter.swift */, + B512276839E7B249A0C7AFE547F65ACC /* ImmediateSchedulerType.swift */, + 4804F29A7E83F1106BB8285DA3EBE325 /* Infallible.swift */, + 7638C80BE4CBCF67C36C322AFE42306C /* Infallible+CombineLatest+arity.swift */, + 9940F23A637099B5774D684A5DA5C70F /* Infallible+Concurrency.swift */, + 536499E7E864E05E411D0AAF7233CC0C /* Infallible+Create.swift */, + C7E96DDA387F1B4009C517D56483FBD3 /* Infallible+Operators.swift */, + 0404D90151DAE558D920953C33256706 /* Infallible+Zip+arity.swift */, + 723C7571AD36733C6B6E8D841D53AD8A /* InfiniteSequence.swift */, + FCBA03778542A9097124F100F4DE65F8 /* InvocableScheduledItem.swift */, + 475ACE05910F20ADC1B94F33C8B02779 /* InvocableType.swift */, + 1526916BA9C865B5F2F2376B2225D7B2 /* Just.swift */, + 64F903F1F90BCF9FD590B82EAEC962E1 /* Lock.swift */, + AE0A7822B610E01B7C696A5B6459FB58 /* LockOwnerType.swift */, + A7159BC15080B6D23EE5AED04FB62812 /* MainScheduler.swift */, + 44560875A14BC7385B2A9BB91E1DAADA /* Map.swift */, + 5EB3B350FA46D67DFC8BEBCABD13498F /* Materialize.swift */, + 004CD594BC22DD340929C3E0C9C483F3 /* Maybe.swift */, + F6ACBE320348D45BDD0AEB844A6EB1CD /* Merge.swift */, + 8F8CEC9D2C49B697B6BF79FCDC9D7A9D /* Multicast.swift */, + DF16877D5A870132D10719314A460AFD /* Never.swift */, + FBB89CED21635507EA4C2D8E98EF0BCE /* NopDisposable.swift */, + 1D3F8613F55B938031837F5E4CB0E8F7 /* Observable.swift */, + 515B2C9AB5CF15C7D66B7F0C3670B7BD /* Observable+Concurrency.swift */, + 68F7CE761E8B7C8EA898B643B192B321 /* ObservableConvertibleType.swift */, + A4BAC0A5FD4986193CD1B5A7316D179A /* ObservableConvertibleType+Infallible.swift */, + DC6F0B44B4A60150D278513D951328CC /* ObservableType.swift */, + 3E0F4EB84375C126C05AD4FE05EB4252 /* ObservableType+Extensions.swift */, + 80FB05AD2A105056CD2D3A9A64311EEC /* ObservableType+PrimitiveSequence.swift */, + 63304CB36B0021135E45F114DD81E894 /* ObserveOn.swift */, + B48840F0AD051EAEF7F001A7EF226FDE /* ObserverBase.swift */, + D1E900818658F019F4F80B3C3F5193A2 /* ObserverType.swift */, + B73D78339A89506F1241E6911B5E22CD /* OperationQueueScheduler.swift */, + 8C3214AB5B50314AF60549A01C00CBAD /* Optional.swift */, + ED1AADCC3631CD7B91181B06BA4C7D16 /* Platform.Darwin.swift */, + 9B00FE860D64B125D39C944C6002EF2E /* Platform.Linux.swift */, + FA5B4E35C4B11F74D66EF8CC7C02587A /* PrimitiveSequence.swift */, + 6F4E4B2CF19AA0A97913BED55A4EC9E6 /* PrimitiveSequence+Concurrency.swift */, + C859C1EDDB944B56E0DDB21E36396D00 /* PrimitiveSequence+Zip+arity.swift */, + 4639D836AC8D7FD9BBE84301D50FBD4B /* PriorityQueue.swift */, + 713D707AC3CBA3593195D75FB79C1172 /* Producer.swift */, + 7C3F2F8FF73B12B6233F77A27DE174A3 /* PublishSubject.swift */, + 7CA4EF7C3C138E3278557BB9E6AE0301 /* Queue.swift */, + 71F82D1D28119315A073B86B0D5B8848 /* Range.swift */, + 2AD66C3F696FC3552D246289D86A689C /* Reactive.swift */, + 97B39A0D2DC0C43C54F35FDD4047A028 /* RecursiveLock.swift */, + 34BA8B989C8FDFFD02055DDC2247C462 /* RecursiveScheduler.swift */, + 7BE3D6EA2CEDFF691F321FD65C345199 /* Reduce.swift */, + AC7BE47DFA8979F847A9E9D27691F8C5 /* RefCountDisposable.swift */, + DE7AEE4D0439517BDC6C7D3A38AF2D24 /* Repeat.swift */, + 062F0EE38A898BE984AB6B2DC3DAE44E /* ReplaySubject.swift */, + EBD8DCC1EBAB485093C45FC5A5CB4181 /* RetryWhen.swift */, + 2A36AE6CBE75F741A87DB76207DD70FF /* Rx.swift */, + 5769099EA89AA9CE484BB972CC70346A /* RxMutableBox.swift */, + AAD9DF57F5DBA886ED1556C1659C325E /* Sample.swift */, + B1FC7027EEC244DED7B91DB13E0778E4 /* Scan.swift */, + 0683E8C4A3B2F5FAFB5FE06C58138B5C /* ScheduledDisposable.swift */, + 39CE4F9D8921452FC69767BA88FBD584 /* ScheduledItem.swift */, + 97E5D58BE5237EAB0EA9E8DEFA925352 /* ScheduledItemType.swift */, + 514A796BA5918A07B59162378DF6AEEB /* SchedulerServices+Emulation.swift */, + 3B69C15BE754BEB413C6AD5E9143D74F /* SchedulerType.swift */, + E72F45F5503503CE7630B7FC75994010 /* Sequence.swift */, + 9647AD81359A09805FD5F7AD9D6FABD2 /* SerialDispatchQueueScheduler.swift */, + 99AEAF8E27EEC3F979CA9B4953ED141B /* SerialDisposable.swift */, + D83E73D157DB9EAF9D75A27F8E0FD893 /* ShareReplayScope.swift */, + F04827CB3C7B37F69432BFA0FA94DE2A /* Single.swift */, + 59C3FB209840D3D8DF61CE90BD98341E /* SingleAssignmentDisposable.swift */, + 4B6D55411B7A280E43658F269DFCFC6F /* SingleAsync.swift */, + D9478A87F6261C49EC4B909DB8C10E1B /* Sink.swift */, + 56F23A8C07C5654CE1AF291E81116DA9 /* Skip.swift */, + FC26E43AD2C01465DB1A7B67F800A077 /* SkipUntil.swift */, + C5D4D85F6DC1B9EA120B499BE2C55B50 /* SkipWhile.swift */, + B282B8BE3943C2E357DC5E9A00264DE3 /* StartWith.swift */, + 9E4EEDBF4C41CDDEA8AF51F582F55B36 /* SubjectType.swift */, + 1ABA3A012806F286A0386562F6E0D741 /* SubscribeOn.swift */, + 13699F3F75254974A3E7893366F304B1 /* SubscriptionDisposable.swift */, + 5FA8D0AD25360B4BACAA497B38562E57 /* SwiftSupport.swift */, + 6313517A50C286FB6EE1A619CF24431A /* Switch.swift */, + 3F8E5F4FDFA28759E66AA13DB7D63232 /* SwitchIfEmpty.swift */, + 1C5E66002FDBA1006581F4498DA51B19 /* SynchronizedDisposeType.swift */, + F5CB7D1FBB1EB0C742CE91B6A3786DE5 /* SynchronizedOnType.swift */, + C8B663943B330753FC7AF952FF097A16 /* SynchronizedUnsubscribeType.swift */, + 0BF7E8F90D9C30E12F6392A5E6FF6A39 /* TailRecursiveSink.swift */, + 02B7C74EEEBE77518EE26F8950344D0A /* Take.swift */, + 61E2833224F3C79CD8F0EA3536EAF435 /* TakeLast.swift */, + 6D86370ED1E2307B6DCAC4441D61F632 /* TakeWithPredicate.swift */, + E891AF19AFB436DA78394A105F880987 /* Throttle.swift */, + CF277BEFB312481916D11C124EE99F6D /* Timeout.swift */, + 58A99566F927893258588E633BD0D0EE /* Timer.swift */, + E81149A8C75A8306F98E8E47F933735D /* ToArray.swift */, + F7B6AF123CEE144EACF7831822CE8454 /* Using.swift */, + 357A8F177F9FD2E2ABEABC3DFD1BC0FB /* VirtualTimeConverterType.swift */, + 7D28F839FA262B3A7345F53AB4EEAB7F /* VirtualTimeScheduler.swift */, + 9B60F6FEE657E935500F64BAE82892F1 /* Window.swift */, + 8B4116E268D5FD9A8497D0306ABC1988 /* WithLatestFrom.swift */, + E2FD0D460E1BE7071927B07530A456C5 /* WithUnretained.swift */, + 202038FFBC274EFE488979B897EFB005 /* Zip.swift */, + D61A66A1F7AAB543DF04132119BC0D45 /* Zip+arity.swift */, + 29FBB3D167B8DF7BCFE9BD71DDDFB265 /* Zip+Collection.swift */, + DCB2AE204E15F078DE4AA459A81D018C /* Support Files */, + ); + name = RxSwift; + path = RxSwift; + sourceTree = ""; + }; + F5F01E5079512CF77CE7A5C45A96CC29 /* JCore */ = { + isa = PBXGroup; + children = ( + 76D8450BF86B51F9E2005F6047821E17 /* Frameworks */, + 7B151E449D9F26084F4B2F2DB1A582DF /* Support Files */, + ); + name = JCore; + path = JCore; + sourceTree = ""; + }; + F7FEDAB9DBBF0B2975CD4EDFFFCFB02D /* UILabel+DDCategory */ = { + isa = PBXGroup; + children = ( + 73A4F0A21434450965381BD1A4F12503 /* UILabel+DDCategory.h */, + 45B32DE9A7B9C5A89720EC3645D759C8 /* UILabel+DDCategory.m */, + ); + name = "UILabel+DDCategory"; + sourceTree = ""; + }; + FA3DCAEF69B3072FEF9316B3F510F4A5 /* NSObject+DDCategory */ = { + isa = PBXGroup; + children = ( + A106143348F1333947CBC2C400C4FD94 /* NSObject+DDCategory.h */, + B99625834DD27E2800E68F6D69C9BEEB /* NSObject+DDCategory.m */, + ); + name = "NSObject+DDCategory"; + sourceTree = ""; + }; + FAE5D38C6140D189624719FED92605A2 /* Core */ = { + isa = PBXGroup; + children = ( + 51E2A6EB9F8AA911A064BF7816E24E6C /* UIScrollView+ZFPlayer.h */, + 7D1547A7353DD9FF4B5E75AB49605788 /* UIScrollView+ZFPlayer.m */, + E844208C2DF3EB02CCD98F79C004F5B5 /* UIViewController+ZFPlayerRotation.m */, + 887173C85A442C4EA67F81D252044EF9 /* ZFFloatView.h */, + 297614BCE46996073F62966B3254CAFC /* ZFFloatView.m */, + 22CCC198FDC61AF5343FA7506862A97C /* ZFKVOController.h */, + 78A05C2C4B4341A8495E9935DFD46BC0 /* ZFKVOController.m */, + D7A72D62C10B21FE6AE3AB2C59B72BDD /* ZFLandscapeViewController.h */, + BF6B3FC5B89BE7073011537E1638A039 /* ZFLandscapeViewController.m */, + EB5F33C11C385915EE4FAD4FC47F8225 /* ZFLandscapeWindow.h */, + FBEF389579F6F14571E360859F08F9F7 /* ZFLandscapeWindow.m */, + 87794F049F27B49F66F72C441BB854A3 /* ZFOrientationObserver.h */, + 590987DF13678ADDD6547E393C74A77C /* ZFOrientationObserver.m */, + 1A89B129FE80B2860DD988D6B8C3D126 /* ZFPersentInteractiveTransition.h */, + E33356663B6E92A341BA6E6AC1C08603 /* ZFPersentInteractiveTransition.m */, + 04319C9ACB9D4DDE861D3A96AD3867B2 /* ZFPlayer.h */, + E039412FD6350AA534EA5569A26E2DB6 /* ZFPlayerConst.h */, + 0424EF1D49FA6768CEAD0E617E53105D /* ZFPlayerController.h */, + E670BF9D9E007D47CA9397B1C739495A /* ZFPlayerController.m */, + 08FA81010A855972CE74AD146B18A94B /* ZFPlayerGestureControl.h */, + 988CEC3CB765946E5797477E8AD564B6 /* ZFPlayerGestureControl.m */, + B39D6EA0FE7C5A23B253B2E41FCF2DF2 /* ZFPlayerLogManager.h */, + 7CB628C1973540DFEAA1868D098FBAAE /* ZFPlayerLogManager.m */, + B20658DB19586260FA8FF56A32FA4CB5 /* ZFPlayerMediaControl.h */, + 0EBB4B7FC55CA6DEE93A812659ADB7AA /* ZFPlayerMediaPlayback.h */, + 8A5C9A9A50DF2136936174C2BEC5CEDC /* ZFPlayerNotification.h */, + 62141920E972919AEB5BD571FDFF19AE /* ZFPlayerNotification.m */, + C3BB1472498367D7B8BCE0A8CCCF1430 /* ZFPlayerView.h */, + A5A2921ABDE59DF12F4D0D661B6FB6E9 /* ZFPlayerView.m */, + 225B671B98BA8C87C23FA1FC6DAF7FC7 /* ZFPortraitViewController.h */, + F29AFF0B87A3191646CDE03B5FD2655A /* ZFPortraitViewController.m */, + 72C695B2E5DDC428541E2AAED042CBED /* ZFPresentTransition.h */, + 64E43DF856A859731E85B85F81BF4292 /* ZFPresentTransition.m */, + 423325EF7A506D2BA4AC69417BA87CBF /* ZFReachabilityManager.h */, + 9196348F4813BC726BC72CA4A03E88A5 /* ZFReachabilityManager.m */, + ); + name = Core; + sourceTree = ""; + }; + FE1077B32DCBD226629A7FDC31747C1B /* CALayer+DDCategory */ = { + isa = PBXGroup; + children = ( + F4B4CDB7A8B822F1C80EE598C8E03C92 /* CALayer+DDCategory.h */, + 94BE2D691841E3C83D5A525A14EC3725 /* CALayer+DDCategory.m */, + ); + name = "CALayer+DDCategory"; + sourceTree = ""; + }; + FEA36AA25263C00D5D9B8A1E64B9212F /* DDBaseTextField */ = { + isa = PBXGroup; + children = ( + 5016A0B13580110CFCE358F01E8F6C9C /* DDBaseTextField.h */, + 13F31176B57439B9D5550E2F79F3746E /* DDBaseTextField.m */, + ); + name = DDBaseTextField; + sourceTree = ""; + }; + FF4CE030CDBB1105F9BBB1617A08C422 /* DDBaseTableView */ = { + isa = PBXGroup; + children = ( + CA1F2117F33D6A37E4A4348E9D625D0E /* DDBaseTableView.h */, + 05314D48701DCA92CB1C4A4062730136 /* DDBaseTableView.m */, + ); + name = DDBaseTableView; + sourceTree = ""; + }; + FF87F22F3AB070D39802EE4877DB5C50 /* DDScrollView */ = { + isa = PBXGroup; + children = ( + ); + name = DDScrollView; sourceTree = ""; }; /* End PBXGroup section */ @@ -5858,6 +6809,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 10A45AC554954926E688ED01FA4342F6 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F488999483701A63301E3A2E93E49F02 /* YYAnimatedImageView.h in Headers */, + B13C152BE11FA76E2F024DE7623674FE /* YYFrameImage.h in Headers */, + AB2B8F1F13281CC0FFE05B9364E3640E /* YYImage.h in Headers */, + 0A6A0FF178B5FB0948C4F6BADD098156 /* YYImage-umbrella.h in Headers */, + 6E69A5585428872D399517F30AE055BF /* YYImageCoder.h in Headers */, + CF13F9B41FC1A9B537381E0A466BC1EB /* YYSpriteSheetImage.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 121ABF8856B3E970F7B5FCC0558F1B28 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -5915,14 +6879,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3A1499137CE8A05FA14D8AFC881AB061 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 7F72BC2B49C24422B90CDD5D9F8402F2 /* RxRelay-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 42692253C85517C84B369D9853FA274E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6007,20 +6963,52 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4EF7E180D29136A5A9C9EA9E0DED33CB /* Headers */ = { + 789BC1F62193004394FF78A38AD653E9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D8AFCA68301DF482D71DD0116402DD74 /* DDProgressHUDKit_Private-umbrella.h in Headers */, - DE41579A252D50A14870D3600C04C72E /* MBProgressHUD.h in Headers */, + 5251983AEA7733D86E2CAF6F3AC00BF8 /* RxSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 853451064494997610D033D61C1A8B02 /* Headers */ = { + 7A0577926D4735538CF240110317A626 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C5ED9AC48A49B37206E2434AA60DDC45 /* SnapKit-umbrella.h in Headers */, + 27DF770B170C70528E02B140DABC07A0 /* _BacktraceLogger.h in Headers */, + D510213435EC6D25AC777EF2CF34A93B /* _CacheStoragePolicy.h in Headers */, + 01EE603EA56A541E67C41C4667ADA908 /* _CanonicalRequest.h in Headers */, + 7406DEA0EDCB81CB5CC731EF16018D33 /* _CustomHTTPProtocol.h in Headers */, + 296C4C79146F190E62AE816E9ECABEEA /* _DebugConsoleLabel.h in Headers */, + 18FFEFC84AF85E9A5B79D6B9BFFE9532 /* _DeviceUtil.h in Headers */, + B73678A0D6DC52A94F163D0C65B07B56 /* _DeviceUtil+Constant.h in Headers */, + 71742FA7C715D034FE3912ED07B30379 /* _DirectoryContentsTableViewController.h in Headers */, + 23D60AC17268CEAE321FD91D95FDFEA2 /* _FileInfo.h in Headers */, + BBC70A640BAACC6E4B66AA90848CFA0E /* _FilePreviewController.h in Headers */, + D468BA7AD6F54E7E8E8EEDCF050D63FD /* _FileTableViewCell.h in Headers */, + 9CE0D080D988944F984ABF550840D22D /* _fishhook.h in Headers */, + FFB5B36D7F4564FFA3D50D29A2E0B46B /* _HttpDatasource.h in Headers */, + B8E9A4E2E8BB5D2A298FB1C56696CF1C /* _HttpModel.h in Headers */, + 9B2A0D221237BE5ACCF087F2577E4A6B /* _ImageController.h in Headers */, + 5E712306EE9654B516F97F7D39C85A73 /* _ImageResources.h in Headers */, + F67D89E3296911DC39710C076499C165 /* _NetworkHelper.h in Headers */, + A4232F59E1918C240232947792D51757 /* _ObjcLog.h in Headers */, + 45AD6B75F275078A076C8C2AC0AEF3F2 /* _OCLoggerFormat.h in Headers */, + 393F39D7464BA3FF38602C6932B0F5CD /* _OCLogHelper.h in Headers */, + 93D95C7F6691DED21F57289570648BA4 /* _OCLogModel.h in Headers */, + FEC9F49A0A5335075665984A37CAB541 /* _OCLogStoreManager.h in Headers */, + 273E6DDCA9EEEB683B0C2C61AEC9EC69 /* _QNSURLSessionDemux.h in Headers */, + 7F32A097697328E2274CC8AD925FE543 /* _RunloopMonitor.h in Headers */, + E25543877A432B49BAD472D8DAACCCAA /* _Sandboxer.h in Headers */, + 8FC0C1F0C19221901FECC66026743D59 /* _Sandboxer-Header.h in Headers */, + BAB546FF62D34C6C2E6141CA5D0EEA69 /* _SandboxerHelper.h in Headers */, + 13AA5156913F0EC843A8AC0B9AC5BFAD /* _Swizzling.h in Headers */, + E5F5564E46CAC014A80A083A571ABBC8 /* CocoaDebug.h in Headers */, + F2FA6175CF6B9B67C924457E4A4FA94D /* CocoaDebug-umbrella.h in Headers */, + 04AAA5B3682FAC9D09283EA52E01E962 /* CocoaDebugDeviceInfo.h in Headers */, + A7395AD90CE7874072EC370C8AE32796 /* CocoaDebugTool.h in Headers */, + 864F412CAB912E5360121273A3DBCA87 /* GPBMessage+CocoaDebug.h in Headers */, + 06C5E365B6D8F2297DE16A7426FD6A2D /* NSObject+CocoaDebug.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6032,11 +7020,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9277AEE3226F13A0EE3E0D8020EE1B40 /* Headers */ = { + 907C9C3CD1EF1DC3106D2E87E49843B2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A424E963577F7FFAE5C6C112830241AE /* RxSwift-umbrella.h in Headers */, + 56B5917597B33E96CBD3B19DF889435B /* DDLogKit_Private-umbrella.h in Headers */, + F044B69C2426C6DAFD692557A409AE3E /* DDOCLog.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6142,12 +7131,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - BF4551571F5CAC4F497972B59096558F /* Headers */ = { + B63CCE59350E09E424ABCDEF0B259267 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 314632CB92B2398677AFB7D49B2FF7F7 /* DDLogKit_Private-umbrella.h in Headers */, - 16112EEC023D1B530FECA29B613D07E0 /* DDOCLog.h in Headers */, + 186471DCF67C802F2D0EC2CA4DBEFD28 /* Pods-OrderScheduling-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6159,6 +7147,45 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C38260F8DFD80B97524FAFC8D55DA25A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CABFD66191F3C756501015E1DDC838BB /* CALayer+DDCategory.h in Headers */, + 94F52C0B14492355715F866CBCE7173B /* DDCategory.h in Headers */, + 54A766DB38B0ACA823738CBD5923F147 /* DDCategoryKit_Private-umbrella.h in Headers */, + 1C1A0A4E2C5B36EE4F471474D536D750 /* NSAttributedString+DDCategory.h in Headers */, + 5AA8FB3AE6D21125CBEA56E047AC4B55 /* NSBundle+DDCategory.h in Headers */, + C9E0235474F4BFA73553D96550E526F6 /* NSMutableAttributedString+DDCategory.h in Headers */, + EC6AF0F29384F2489F93E98703E58DA8 /* NSMutableParagraphStyle+DDCategory.h in Headers */, + DBAFCE4E1040C7BD9E88DAF976BC0D86 /* NSObject+DDCategory.h in Headers */, + 77A5503D96024A361C0C26CC14B767F1 /* NSThread+DDCategory.h in Headers */, + 49D3787ADC8E8C898AF461A31491BDCC /* NSURL+DDCategory.h in Headers */, + C8DB8938784DBF2898E331A5369753E6 /* UIApplication+DDCategory.h in Headers */, + B8B3CCE986BC3A2D91B4E8E7B1151022 /* UIBarButtonItem+DDCategory.h in Headers */, + 60129A1E8B9B49B7E0B3D568EED9C485 /* UIButton+DDCategory.h in Headers */, + 4B0A1356591745B344908E145F5D05FC /* UICollectionView+DDCategory.h in Headers */, + B2D6455FE61A9387A3776B484F8BD055 /* UICollectionViewCell+DDCategory.h in Headers */, + B254C13F439CD15A9E0AE7727D4B7BCB /* UIFont+DDCategory.h in Headers */, + 070172380E1164AD2E06B481317FF523 /* UIImage+DDCategory.h in Headers */, + F72566F04C819D71914EDFE8415710B1 /* UIImageView+DDCategory.h in Headers */, + B6F37953EB6B4D338AAB68F2790D7DE2 /* UILabel+DDCategory.h in Headers */, + DF7845017D8C452148D613B413637D89 /* UINavigationBar+DDCategory.h in Headers */, + B434DAA653E3CF201185FADE09ADD7B7 /* UINavigationController+DDCategory.h in Headers */, + 66B91A66DFDCC698471081624D1F0205 /* UINavigationItem+DDCategory.h in Headers */, + 0FE5274E860DF99627D2044A2D12B27F /* UIScreen+DDCategory.h in Headers */, + BD8CE3CE65E0804189D0BC59C8281215 /* UIScrollView+DDCategory.h in Headers */, + AB363C9D058E838DAF65C9A00B751A69 /* UITabBarController+DDCategory.h in Headers */, + F6FBA319A72753722F7AFA175E4AF0B4 /* UITableView+DDCategory.h in Headers */, + 9F5D6E0C4368038B437BF444F665CDB6 /* UITableViewCell+DDCategory.h in Headers */, + FED13C7FF506A8587CADF35664DB374F /* UITextField+DDCategory.h in Headers */, + A84563AA4B17210352420B82FB8CBF33 /* UITextView+DDCategory.h in Headers */, + 639DF3A3524972EF65C1C4712D84C949 /* UIView+DDCategory.h in Headers */, + E9676C2503541059859A3825612E0805 /* UIViewController+DDCategory.h in Headers */, + EF8DDD4DEC56A31056164C2F1DFECFF2 /* UIWindow+DDCategory.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C766AA3ECD77EEE9428B6BFA39E4168B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6167,6 +7194,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DAB66177EEF83B9C16F2DD64F89F841E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CC91993720E22565872067EC58CA6923 /* SnapKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DC7A5338A82224A355219481ED591EC0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6189,53 +7224,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EB5236DFDFF7F558A890E44B048D4027 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 512BBF6968C616A5CB7A2C23D8B117E2 /* CALayer+DDCategory.h in Headers */, - B8B8291E60C9EEF7E503A80916EDD6D6 /* DDCategory.h in Headers */, - F493F28DBCAEC7B3E70EDA7F7A7C4B6A /* DDCategoryKit_Private-umbrella.h in Headers */, - D338E31610984913E5242333289065EA /* NSAttributedString+DDCategory.h in Headers */, - E228AD3F161CF33ACE446B8D0FDEA79C /* NSBundle+DDCategory.h in Headers */, - D9ECA0FB443A473493DF5843A260DD3D /* NSMutableAttributedString+DDCategory.h in Headers */, - E6F0A2D426D583B654733BF18F75C185 /* NSMutableParagraphStyle+DDCategory.h in Headers */, - EB9D6E0BA31263F64A458B7B8BAB7FE8 /* NSObject+DDCategory.h in Headers */, - 1B17B814E1DCFC165E3F3DFE251ED3EC /* NSThread+DDCategory.h in Headers */, - E19960867F314F08D769EFF5DE2EABD9 /* NSURL+DDCategory.h in Headers */, - 626CA8D4F0AD4970A4111E6653DB564D /* UIApplication+DDCategory.h in Headers */, - B2213A82C506010512D755EE811CE80E /* UIBarButtonItem+DDCategory.h in Headers */, - 63CB5CA7EA0C4ACE8EF0DEE5247EF225 /* UIButton+DDCategory.h in Headers */, - 11B7F9E7CEBF84F7DFF2C86A84D0DAF7 /* UICollectionView+DDCategory.h in Headers */, - 5C01205CDF24EC69095FFC42B832727A /* UICollectionViewCell+DDCategory.h in Headers */, - 9F4C05698CFCEEAABC6CCC3093CE942B /* UIFont+DDCategory.h in Headers */, - AE9E7487CE1B8C674182E9E0C2F37FCB /* UIImage+DDCategory.h in Headers */, - 2942F6AF76036094C48C5ADB32FE638B /* UIImageView+DDCategory.h in Headers */, - 6FDD9640CD571661B675B48F97B4BA23 /* UILabel+DDCategory.h in Headers */, - DB6B35BF8866020A56941A9FA901D495 /* UINavigationBar+DDCategory.h in Headers */, - 387104A590EDF685F92EAB2DD64E3CC2 /* UINavigationController+DDCategory.h in Headers */, - D74A6402DA7B179F60BE96410E5C9168 /* UINavigationItem+DDCategory.h in Headers */, - D5AAA3E1354956C5E552C9AD7CD11B4C /* UIScreen+DDCategory.h in Headers */, - 721E97A69F374CFAE329583AC28FFCF3 /* UIScrollView+DDCategory.h in Headers */, - C2BF04992908EF2094D76E21F7B0D7C0 /* UITabBarController+DDCategory.h in Headers */, - EFFB548B2256535F4B945FE12260C940 /* UITableView+DDCategory.h in Headers */, - 2F3E427ECAF72BA96507CD5A9CDE6B51 /* UITableViewCell+DDCategory.h in Headers */, - 075F0F890CBEB8B7E4233DBD00FE3280 /* UITextField+DDCategory.h in Headers */, - 16D50EE57DE6B9D65DF48B7D736BD626 /* UITextView+DDCategory.h in Headers */, - 6CC931646D2E1EBA9106EA0BC55D434E /* UIView+DDCategory.h in Headers */, - 229E22D4F27CBAFEDBD0ABD9C3C7AB8E /* UIViewController+DDCategory.h in Headers */, - 44C62D555BE0DD6DF376157B88108AA6 /* UIWindow+DDCategory.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F4423F0EED6F6D0BFFCE3A50ABBE21E0 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0E5283814E76BCC2EB0396EA6C818BAF /* Pods-OrderScheduling-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; F5429979F2C3E8E72B5E8A07A57536F9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6244,6 +7232,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F55FF3230A9F25E4B304AA378D5D3855 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F63E85826E242438F106268D53B5079A /* RxRelay-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F6A163216CB04B77FF61E64DE0636B8A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6252,6 +7248,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F8546B9D9037BCDD122646150AE0ED3B /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1268036B960DDE94D83CD876DA9870AF /* DDProgressHUDKit_Private-umbrella.h in Headers */, + 90E5C2DE01409E745FF14423CD98FD90 /* MBProgressHUD.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; FE7AE85A23BF74B68629FC042E53C70F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6275,7 +7280,7 @@ buildRules = ( ); dependencies = ( - 5723326132836363D5A4B7AC5E1EB665 /* PBXTargetDependency */, + C7F7BAB2404BD01851636FC3E989C5BE /* PBXTargetDependency */, ); name = DDControlsKit_Private; productName = DDControlsKit_Private; @@ -6293,23 +7298,58 @@ buildRules = ( ); dependencies = ( - 7964796E44E7A16CBF537318F7835EF7 /* PBXTargetDependency */, - 6111C3E77E6276A2A9FF2D0815C81AAD /* PBXTargetDependency */, - 091C5B4CE0D4C6F2BCD61208F40840ED /* PBXTargetDependency */, + 6B201CD1E504F186F47BB1FF91A28465 /* PBXTargetDependency */, + 8C3A7B8C3C6A7F3BFF138523B7144D03 /* PBXTargetDependency */, + 2AD493C9B2A89A0D7AE836F072D5E1B1 /* PBXTargetDependency */, ); name = DDBasicControlsKit_Private; productName = DDBasicControlsKit_Private; productReference = 42F10DB6CED6AC3E9AA446F86C16A0F5 /* DDBasicControlsKit_Private */; productType = "com.apple.product-type.library.static"; }; + 0A2E6BA6D5360D619D7CABED3467AA69 /* CocoaDebug */ = { + isa = PBXNativeTarget; + buildConfigurationList = 31E093651ABA8F1B9C494B229E1A4868 /* Build configuration list for PBXNativeTarget "CocoaDebug" */; + buildPhases = ( + 7A0577926D4735538CF240110317A626 /* Headers */, + BD841258657B4E06EA70273306E217D7 /* Sources */, + 87CADDC80D198655B9FC6BD2A102562E /* Frameworks */, + A72E0A8442B5D7BE2727F88E138D2855 /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CocoaDebug; + productName = CocoaDebug; + productReference = CA4C3A23CF67AF861CBCBF4F978F7146 /* CocoaDebug */; + productType = "com.apple.product-type.library.static"; + }; + 11A7259776035C865EEAAB13266CC339 /* DDProgressHUDKit_Private-ProgressHud */ = { + isa = PBXNativeTarget; + buildConfigurationList = F815745F596B4A302129CD872CEB4D85 /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private-ProgressHud" */; + buildPhases = ( + FB9A7CF362B08CE540E022ABA7B6DF38 /* Sources */, + AC00E7C41618BE00874ABE52C78FA9E7 /* Frameworks */, + C4FB169408B9CF126D3B489EE71E6E58 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "DDProgressHUDKit_Private-ProgressHud"; + productName = ProgressHud; + productReference = 5B7470406CCB43F46F05C6BE886A91F7 /* DDProgressHUDKit_Private-ProgressHud */; + productType = "com.apple.product-type.bundle"; + }; 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 3DBC1CCC9C0F27F549F7B971F8070D76 /* Build configuration list for PBXNativeTarget "SnapKit" */; + buildConfigurationList = 24E37721280989F5F2181B8AB087DDE1 /* Build configuration list for PBXNativeTarget "SnapKit" */; buildPhases = ( - 853451064494997610D033D61C1A8B02 /* Headers */, - 898D54206531121F5610107E0D9ECEB6 /* Sources */, - 85ED3882D716E5A48B988746906E784D /* Frameworks */, - BDECCF771957CF54B83B3F008E3DD8A3 /* Copy generated compatibility header */, + DAB66177EEF83B9C16F2DD64F89F841E /* Headers */, + D145576BF17205D36256A7CF57DFD3A1 /* Sources */, + BF4FADFE8720533213FCE0E273F845B5 /* Frameworks */, + 0C8338666F745AEEC83AF30AE4264F05 /* Copy generated compatibility header */, ); buildRules = ( ); @@ -6322,12 +7362,12 @@ }; 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */ = { isa = PBXNativeTarget; - buildConfigurationList = 868C50B326B0684ABFA75AC57BF4754B /* Build configuration list for PBXNativeTarget "DDLogKit_Private" */; + buildConfigurationList = 87768E31741B57C04BDC94E5D8AE43C3 /* Build configuration list for PBXNativeTarget "DDLogKit_Private" */; buildPhases = ( - BF4551571F5CAC4F497972B59096558F /* Headers */, - A2E299CB0D24D6DCB68E0A636E857A99 /* Sources */, - C5B5776F510F806AEE6DA160D7791392 /* Frameworks */, - 7A6191325E6DAE439327F25E2C33C03B /* Copy generated compatibility header */, + 907C9C3CD1EF1DC3106D2E87E49843B2 /* Headers */, + 29942882AF9D39FCA46A1E11A6D4F9C0 /* Sources */, + 8883783983D3D0C9A285E6E9CAF13C6B /* Frameworks */, + BCD972E5125E53D8168F017EFA9A6D4B /* Copy generated compatibility header */, ); buildRules = ( ); @@ -6358,16 +7398,20 @@ }; 387C7767E705FE68450F97CBA4348CC0 /* DDProgressHUDKit_Private */ = { isa = PBXNativeTarget; - buildConfigurationList = 86DFE22CEF40158611F18D98830EB987 /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private" */; + buildConfigurationList = BF9C6CFC0179336479A784375AC1517C /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private" */; buildPhases = ( - 4EF7E180D29136A5A9C9EA9E0DED33CB /* Headers */, - DF144942A9B8F3EDCDD514370D54C367 /* Sources */, - 3820D23C5D6C3BF313BF6B8EDA283E04 /* Frameworks */, - 4E7111AB0AC93CDBD81B74EE1676E5DE /* Copy generated compatibility header */, + F8546B9D9037BCDD122646150AE0ED3B /* Headers */, + 7852644F812A3617E4B31CD38E13B4D1 /* Sources */, + F7B7BBBD8402C4D3BE58D04C506E447B /* Frameworks */, + D1F05DD1569E7357DD3B96029B02F28F /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( + 64DE32D15921521AD41F522400EE836B /* PBXTargetDependency */, + D36041CA2FB27915222DFB7BD0A01F5B /* PBXTargetDependency */, + 08CC0161E23B7FE60596F88AA91C0CAB /* PBXTargetDependency */, + 827962AE1C3A7CD5F0801A06122DA003 /* PBXTargetDependency */, ); name = DDProgressHUDKit_Private; productName = DDProgressHUDKit_Private; @@ -6394,17 +7438,17 @@ }; 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */ = { isa = PBXNativeTarget; - buildConfigurationList = 9F98BE1C3617215E5E69EFD9C606FCE3 /* Build configuration list for PBXNativeTarget "RxRelay" */; + buildConfigurationList = 6B8F6B00DB541422C15579DAE32BF242 /* Build configuration list for PBXNativeTarget "RxRelay" */; buildPhases = ( - 3A1499137CE8A05FA14D8AFC881AB061 /* Headers */, - F09638577AE22EB4E11E12E8851D00DB /* Sources */, - 53CD1BF26013DB3C220384135205E4A5 /* Frameworks */, - 22C348144E7D862FBA045E895D91FAAE /* Copy generated compatibility header */, + F55FF3230A9F25E4B304AA378D5D3855 /* Headers */, + AFB944C14F97FEC1231BC34490159B98 /* Sources */, + 6D50F167F659AAC8A8236B9F4CF751D3 /* Frameworks */, + EBC4DE54CE25B55BB5CDF08E9E50DA7B /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - C7E52044932C16D9F0C170C35930A7E0 /* PBXTargetDependency */, + DDE5B6220495BCBAD079CC807F08B022 /* PBXTargetDependency */, ); name = RxRelay; productName = RxRelay; @@ -6448,11 +7492,11 @@ }; 5C23965029860967865B3429B5E29092 /* DDBasicControlsKit_Private-DDBaseViewController */ = { isa = PBXNativeTarget; - buildConfigurationList = 06FE720E8F4EC60D4E896C8056193EB8 /* Build configuration list for PBXNativeTarget "DDBasicControlsKit_Private-DDBaseViewController" */; + buildConfigurationList = 1F676F448BF8205087030C9887C8D6C5 /* Build configuration list for PBXNativeTarget "DDBasicControlsKit_Private-DDBaseViewController" */; buildPhases = ( - E3BA48DDE3F915A37FAE399E41C2FAF6 /* Sources */, - 23098443C4DFA1147CAAE92E78D2E99B /* Frameworks */, - EE01459467138780CC98A7248F78F6A5 /* Resources */, + D2EFFBFFEE3A79935C0421F82272406E /* Sources */, + B6C829822720D26F5A5274A2C19A9D78 /* Frameworks */, + 59C9B1FED127DC5CAF9DF18153A43C76 /* Resources */, ); buildRules = ( ); @@ -6465,11 +7509,11 @@ }; 6056870867CC4728BCEF2E5EBDD1DCB3 /* DDMAMapKit_Private-DDMAMapKit_Private */ = { isa = PBXNativeTarget; - buildConfigurationList = C50C2E00D10B16448AF8ACD0FF49FB0A /* Build configuration list for PBXNativeTarget "DDMAMapKit_Private-DDMAMapKit_Private" */; + buildConfigurationList = E439059F960A8EFEF4ED82488FE58A57 /* Build configuration list for PBXNativeTarget "DDMAMapKit_Private-DDMAMapKit_Private" */; buildPhases = ( - 304128F36A27FE5101F47A93C3D3D65A /* Sources */, - 1A6D219B347217475A502ECFEBD87DF2 /* Frameworks */, - 572B0AD3B15E9A7487D95613F3AC07D8 /* Resources */, + FDE6423290DE487C161D698043AD8D7C /* Sources */, + D3C2CF5E2CE9741089FC3202AE5F2B85 /* Frameworks */, + 45C46AEE21092AA9306705939653CF51 /* Resources */, ); buildRules = ( ); @@ -6516,45 +7560,49 @@ }; 7A11E58B7B0678A54DDBE15F2F5C3361 /* Pods-OrderScheduling */ = { isa = PBXNativeTarget; - buildConfigurationList = E9AF82AD055963153570341CBA1F6F39 /* Build configuration list for PBXNativeTarget "Pods-OrderScheduling" */; + buildConfigurationList = 71D75EFFE7D909111A201FF0CD7A69C5 /* Build configuration list for PBXNativeTarget "Pods-OrderScheduling" */; buildPhases = ( - F4423F0EED6F6D0BFFCE3A50ABBE21E0 /* Headers */, - 6430B89338D6DC3DBE37E8D66CAF48C4 /* Sources */, - FCD8E07EAC023765E1275E4E770D40BF /* Frameworks */, + B63CCE59350E09E424ABCDEF0B259267 /* Headers */, + 51BDCCFAB9D9063127951AAD3864BF2B /* Sources */, + EDD8F7A7A6117795D7C0556BCEFE95BD /* Frameworks */, ); buildRules = ( ); dependencies = ( - FB41CF6A90AB075287327C70857F4F9E /* PBXTargetDependency */, - 6FAFA5B20096F46171255A52ACB66113 /* PBXTargetDependency */, - E143E58A831B28FA79FD44C8EB131077 /* PBXTargetDependency */, - CA4983EEA32EC3AF0399C396C0A3EEFE /* PBXTargetDependency */, - 274763F1A2967B3B54DAE21309655B74 /* PBXTargetDependency */, - EBF7340FAFD404AE5BBFF374B193CA7D /* PBXTargetDependency */, - E451BE8DE4FCE839D6FD0882CC31C6AF /* PBXTargetDependency */, - BF01A7CD8CCB0BF18FC5ABDD31946A4E /* PBXTargetDependency */, - 32BA5AB3E0A01E7E4B198ACA212F6BFA /* PBXTargetDependency */, - 99A501F5FDDDA9296A285433BB8F205B /* PBXTargetDependency */, - 5BBC48434F7B6BA339DBE2ECFEB21908 /* PBXTargetDependency */, - F13D430248BEEA033FE01C5A1F1B81A8 /* PBXTargetDependency */, - FCE6975C09D5ECD51F6E38DC5C138258 /* PBXTargetDependency */, - 1F5F3E0FCE564C3311A451B467E8C653 /* PBXTargetDependency */, - E2822B35D715F144CDC9F4BF995F82A3 /* PBXTargetDependency */, - 28AC28533F4288D6E4473DBC10FAF608 /* PBXTargetDependency */, - 2A1C2426A4370B2B91279ADE95DEC0C1 /* PBXTargetDependency */, - 7E6CFB7B77F790B27FEE0DB78E320116 /* PBXTargetDependency */, - 1E0C90E558B3F57CE80BB8E2458CF8B5 /* PBXTargetDependency */, - 4D926882C50F07A4D702F519CA670050 /* PBXTargetDependency */, - 3C2B73037C2156876C03851BDD35D6BF /* PBXTargetDependency */, - 280B8AF26306A5F5E34A413D3069F96B /* PBXTargetDependency */, - 4EB9B642503DDC3654804B12E6C59FA7 /* PBXTargetDependency */, - 0920A2701A164BEAB30BCE6F869B0BC2 /* PBXTargetDependency */, - 0DFAB1B4267B714118CC9CA41B5F697C /* PBXTargetDependency */, - 84857BD62DFFF69C5127C0A0AC92B801 /* PBXTargetDependency */, - 1A9585BF080C129C9AAB4E0CFAD8E15A /* PBXTargetDependency */, - B42A82284C45F1D443D3B76679685EE3 /* PBXTargetDependency */, - 7A4718C4055A9B9D81AA50420B085B37 /* PBXTargetDependency */, - 7FD42FBF5042299F03E37CDAFDB5D6EB /* PBXTargetDependency */, + B25BF88C3165BA47B3F3E785A73793AA /* PBXTargetDependency */, + 7E1F312510D8AC372C8295E912DC4CBA /* PBXTargetDependency */, + 940659E799A4878C0511002FAAAF8E86 /* PBXTargetDependency */, + 4BB14946016CEFEE99613F11253DB1DC /* PBXTargetDependency */, + 050855724D29E82253018798B17F214C /* PBXTargetDependency */, + AA69FCC8A08ABBA55367B61B9B1BE60D /* PBXTargetDependency */, + B7559FBBB242E6F20399E8997935C2D4 /* PBXTargetDependency */, + 7F6CECF0F8A34FF59F8CCDA8270AEA7B /* PBXTargetDependency */, + 5C2E4D2C312E49CB193563346E1D07D5 /* PBXTargetDependency */, + 1532AB7327732E2B02D038D0C7F736B4 /* PBXTargetDependency */, + 4A3F1765F724D0365E7CA3022FBB1307 /* PBXTargetDependency */, + ACD4FA7899A355E52CE1A717984F20E4 /* PBXTargetDependency */, + EA3B40AC6911D96F4553FE92A1028D87 /* PBXTargetDependency */, + 6B54EA2198C114EDB5BE83F7EF2143EF /* PBXTargetDependency */, + 3541125D5FC39409F273A522CC6987B9 /* PBXTargetDependency */, + 6DC80D7FA6B43AB013CD2870F6537B24 /* PBXTargetDependency */, + 2B87462A250750F803126FBF63354E6D /* PBXTargetDependency */, + BB68B7CA1759B8521B09F87ECB466007 /* PBXTargetDependency */, + AC62B0A8D8FB81276A14DE9753776102 /* PBXTargetDependency */, + 24EFC140EF39274BD7287E44C2845249 /* PBXTargetDependency */, + 255581C8F561CEC340550171090503F1 /* PBXTargetDependency */, + D142EB589EC31D3AA5BDCF9099CB1262 /* PBXTargetDependency */, + 971A6341B40EBAEDA77292546136FC4B /* PBXTargetDependency */, + AAE1A277CFD54209E61491A4EAA858C6 /* PBXTargetDependency */, + 71C5910DE3783EBA95EC052780476D65 /* PBXTargetDependency */, + 8D08A5945E4D46D4E143DA15D25F1E78 /* PBXTargetDependency */, + 61EC8A7EB691DF92466508AA721B6CE5 /* PBXTargetDependency */, + 6862D5B524A24708931C3F1FA6FFF0F0 /* PBXTargetDependency */, + 3790251969DE89862999E250092B0C11 /* PBXTargetDependency */, + 84321688711DE1D5B51BFB44899019AB /* PBXTargetDependency */, + 524BA565E30CF35FD907A232B70C103F /* PBXTargetDependency */, + BB1F41D5AAD468600620BBC9D5DA9BF9 /* PBXTargetDependency */, + 30D494563B3B4309B6BF8CB38916EEDB /* PBXTargetDependency */, + 334BA62AE7F2DCAE1120F665D966C436 /* PBXTargetDependency */, ); name = "Pods-OrderScheduling"; productName = "Pods-OrderScheduling"; @@ -6573,8 +7621,8 @@ buildRules = ( ); dependencies = ( - 75EA08E5A035F7A94D53628576D0E4E4 /* PBXTargetDependency */, - F7BACD898B6419466412BA3FC4BA8A31 /* PBXTargetDependency */, + 8022BBFA24D112ED725B3EB0514B4BFC /* PBXTargetDependency */, + 5A5F0747268A56DD413FF535572E3FC8 /* PBXTargetDependency */, ); name = RxCocoa; productName = RxCocoa; @@ -6583,11 +7631,11 @@ }; 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */ = { isa = PBXNativeTarget; - buildConfigurationList = 607457F4F8012874D0F3AF6CCBC52DA7 /* Build configuration list for PBXNativeTarget "DDCategoryKit_Private" */; + buildConfigurationList = F01F8BBA60C781A5EAA81A4D61BA48BE /* Build configuration list for PBXNativeTarget "DDCategoryKit_Private" */; buildPhases = ( - EB5236DFDFF7F558A890E44B048D4027 /* Headers */, - 9A3436DDEC0E5C1CE109D3DA2D2185A8 /* Sources */, - 59854BC4771BB5C74DF242CBFA1E798A /* Frameworks */, + C38260F8DFD80B97524FAFC8D55DA25A /* Headers */, + 7541A1B82F1D6D2932FD5C9E8AF0FBA2 /* Sources */, + 14142993DA032E74229312CC275FDAEE /* Frameworks */, ); buildRules = ( ); @@ -6598,6 +7646,23 @@ productReference = EC46C56D3F58BDA592A93730A005EF26 /* DDCategoryKit_Private */; productType = "com.apple.product-type.library.static"; }; + 822E44240F2922DAB12018A6B649BD19 /* YYImage */ = { + isa = PBXNativeTarget; + buildConfigurationList = 52C5FA5E89308C8B8FBB8CACB45F28E8 /* Build configuration list for PBXNativeTarget "YYImage" */; + buildPhases = ( + 10A45AC554954926E688ED01FA4342F6 /* Headers */, + 8E4E73B13B599DF83354F81175A93D4C /* Sources */, + 912C4001FB52FC3A89C08F419688D2AF /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YYImage; + productName = YYImage; + productReference = 0C6F4829D47D1826F47CDC4264F9F6A8 /* YYImage */; + productType = "com.apple.product-type.library.static"; + }; 8BEAFAA726C1965864B79B4B441AA513 /* JXCategoryView */ = { isa = PBXNativeTarget; buildConfigurationList = F3AD43E01F32196EEE2EA7FD385C7407 /* Build configuration list for PBXNativeTarget "JXCategoryView" */; @@ -6661,13 +7726,13 @@ buildRules = ( ); dependencies = ( - 57CA5AE48489204E38DB9D8DDB73AA44 /* PBXTargetDependency */, - F876904D42A179812225C6103B204A06 /* PBXTargetDependency */, - 4FA4E877E4DBE3207FCF3E58D9C152A8 /* PBXTargetDependency */, - 476963D64D1F6B90767FAA5A4220FA29 /* PBXTargetDependency */, - 4F9F7B937937F811632262E4CEB565A5 /* PBXTargetDependency */, - 0F9BFAA35C81929185584114F9DAA89F /* PBXTargetDependency */, - B1EA0E5A5A71426896DD05F133E586A0 /* PBXTargetDependency */, + 749FD6106682AD8A7CE1C754C5BB9C46 /* PBXTargetDependency */, + A11D5BCCE9B49EF508F3B0C2CF48F7B9 /* PBXTargetDependency */, + A1E780E31F3B85FE0C050B1F24D013D6 /* PBXTargetDependency */, + E2FBF7E96569E15ADD843A1A47EAFCA6 /* PBXTargetDependency */, + 71D3322039C233073086347CE0773989 /* PBXTargetDependency */, + 96DBBEC82CDF40A70C8BA2DD1AF26D2D /* PBXTargetDependency */, + E65D4A0F8C21C372342B0DA90BE8CE0B /* PBXTargetDependency */, ); name = DDMAMapKit_Private; productName = DDMAMapKit_Private; @@ -6704,9 +7769,9 @@ buildRules = ( ); dependencies = ( - C49E2E68248554D339057AED7414AC35 /* PBXTargetDependency */, - F920FC333490AC35C509F77D28D52FF3 /* PBXTargetDependency */, - 19C126890D8FC4A7437BBF3BFD6CBBDD /* PBXTargetDependency */, + 99FBDD77482CDFC3277781527D1D7972 /* PBXTargetDependency */, + 99E64E718D094B0E656AE5AD19A704C9 /* PBXTargetDependency */, + D7CF0D5040D0972A926AD50070897660 /* PBXTargetDependency */, ); name = DDNetworkingOfAlamofireKit_Private; productName = DDNetworkingOfAlamofireKit_Private; @@ -6751,12 +7816,12 @@ }; EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = AD308ACADDBAF5969EF95D3DC93FFBAD /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildConfigurationList = 7FAB9BF0BB905D0EC61365EC054C61AE /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - 9277AEE3226F13A0EE3E0D8020EE1B40 /* Headers */, - 7E0E8A40DA84320A222E18E55A2CD451 /* Sources */, - 26B104F0656210639EF1E9BE82147BE7 /* Frameworks */, - 42FCF822786F392786F864C81CEC12BF /* Copy generated compatibility header */, + 789BC1F62193004394FF78A38AD653E9 /* Headers */, + 00BD3F79261F825F934C1B5D9A1722FA /* Sources */, + B09F55AC7ECC3064B90B38E519E21DE1 /* Frameworks */, + DE1FCF2FD32CDD4646A340E1790F163D /* Copy generated compatibility header */, ); buildRules = ( ); @@ -6821,7 +7886,7 @@ en, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 47220D1E5B7A1C146ED339A6F2EE5EB0 /* Products */; + productRefGroup = EA1883F5A28AD8CD4082E5EF16BBDA6A /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -6831,6 +7896,7 @@ E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */, 4F1379598302C9160590B3650C10E1A5 /* AMapSearch-NO-IDFA */, 2160840D78FCB958CABE1B88300E38C5 /* AMapTrack-NO-IDFA */, + 0A2E6BA6D5360D619D7CABED3467AA69 /* CocoaDebug */, 53463808DD395EFE0C9E0CDCB79A6C0A /* DDAutoUIKit_Private */, 087B100C5691B6A3C04A45198E6C32F6 /* DDBasicControlsKit_Private */, 5C23965029860967865B3429B5E29092 /* DDBasicControlsKit_Private-DDBaseViewController */, @@ -6843,11 +7909,14 @@ 6056870867CC4728BCEF2E5EBDD1DCB3 /* DDMAMapKit_Private-DDMAMapKit_Private */, B68A4B40517CF9B14050FA0A4A618B04 /* DDNetworkingOfAlamofireKit_Private */, 387C7767E705FE68450F97CBA4348CC0 /* DDProgressHUDKit_Private */, + 11A7259776035C865EEAAB13266CC339 /* DDProgressHUDKit_Private-ProgressHud */, 79638F3BF2709E118064EF8B13DE3317 /* DDTimerKit_Private */, CFF5B7CDF57A32781D2AD4CC98E95B29 /* DDToastKit_Private */, 477926D6FB1DCEFB352517A19636405D /* DDWebImageKit_Private */, 3F83465BA81F6E581B3A431642D2992E /* ESTabBarController-swift */, B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */, + D504B99928659EA67A1C3A9E981EB8FF /* JCore */, + 5FB6AB0A09E7A2F2BE11AD6BAEFD9AED /* JPush */, 8BEAFAA726C1965864B79B4B441AA513 /* JXCategoryView */, 6868056D761E163D10FDAF8CF1C4D9B8 /* MJRefresh */, 7A11E58B7B0678A54DDBE15F2F5C3361 /* Pods-OrderScheduling */, @@ -6856,6 +7925,7 @@ EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */, 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */, FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */, + 822E44240F2922DAB12018A6B649BD19 /* YYImage */, 93FD1F93E0C30B2749BD8A6EC148F233 /* ZFPlayer */, 2FAF03761A44702490259F857A848B42 /* ZLPhotoBrowser */, ); @@ -6863,25 +7933,57 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 572B0AD3B15E9A7487D95613F3AC07D8 /* Resources */ = { + 45C46AEE21092AA9306705939653CF51 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - AB27097A5281026FFAD9A3330BBE0195 /* Sources_DDMAMap in Resources */, + D85609E7A94E5F264587E967D9835FFB /* Sources_DDMAMap in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - EE01459467138780CC98A7248F78F6A5 /* Resources */ = { + 59C9B1FED127DC5CAF9DF18153A43C76 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9C39E63E7EFAC9207F7ABCEEF02991B4 /* DDBaseViewController.xcassets in Resources */, + 886CF4A40557A384C197BBAE316BF621 /* DDBaseViewController.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C4FB169408B9CF126D3B489EE71E6E58 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8A20A29FF9C32F3130F733C963D56FD9 /* networking_loading.gif in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 0C8338666F745AEEC83AF30AE4264F05 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/SnapKit/SnapKit.modulemap", + "${PODS_ROOT}/Headers/Public/SnapKit/SnapKit-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/SnapKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SnapKit/SnapKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SnapKit/SnapKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; 0CF2A38911A1A424C18030CC8F78C3B0 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -6930,30 +8032,6 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; - 22C348144E7D862FBA045E895D91FAAE /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/RxRelay/RxRelay.modulemap", - "${PODS_ROOT}/Headers/Public/RxRelay/RxRelay-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/RxRelay-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxRelay/RxRelay.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxRelay/RxRelay-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; 3ECCFB438C99E5452730F628D5942AA6 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -6978,54 +8056,6 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDFontKit_Private/DDFontKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDFontKit_Private/DDFontKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; - 42FCF822786F392786F864C81CEC12BF /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/RxSwift/RxSwift.modulemap", - "${PODS_ROOT}/Headers/Public/RxSwift/RxSwift-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/RxSwift-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxSwift/RxSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxSwift/RxSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; - 4E7111AB0AC93CDBD81B74EE1676E5DE /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap", - "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/DDProgressHUDKit_Private-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; 616E20ADD3CB403ACC8C5DA2C2F8CCE4 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -7122,30 +8152,6 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftEntryKit/SwiftEntryKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftEntryKit/SwiftEntryKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; - 7A6191325E6DAE439327F25E2C33C03B /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap", - "${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/DDLogKit_Private-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; 88CE6A9E15FB250364E7B2B84D432B3C /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -7194,6 +8200,47 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDColorKit_Private/DDColorKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDColorKit_Private/DDColorKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; + A72E0A8442B5D7BE2727F88E138D2855 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/CocoaDebug/CocoaDebug.modulemap", + "${PODS_ROOT}/Headers/Public/CocoaDebug/CocoaDebug-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/CocoaDebug-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CocoaDebug/CocoaDebug.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CocoaDebug/CocoaDebug-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; + A74A577E80398ADFAEE6AC689315B07B /* [CP] Copy XCFrameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/JCore/JCore-xcframeworks-input-files.xcfilelist", + ); + name = "[CP] Copy XCFrameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/JCore/JCore-xcframeworks-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/JCore/JCore-xcframeworks.sh\"\n"; + showEnvVarsInLog = 0; + }; A9E8BE5797A15EC69DC99E38832A33F8 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -7242,7 +8289,7 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; - BDECCF771957CF54B83B3F008E3DD8A3 /* Copy generated compatibility header */ = { + BCD972E5125E53D8168F017EFA9A6D4B /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -7251,20 +8298,61 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/SnapKit/SnapKit.modulemap", - "${PODS_ROOT}/Headers/Public/SnapKit/SnapKit-umbrella.h", + "${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap", + "${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/SnapKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/DDLogKit_Private-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SnapKit/SnapKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SnapKit/SnapKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDLogKit_Private/DDLogKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; + D1F05DD1569E7357DD3B96029B02F28F /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap", + "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/DDProgressHUDKit_Private-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; + D73EEB9F3069F731FAED740B7B5491BD /* [CP] Copy XCFrameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/JPush/JPush-xcframeworks-input-files.xcfilelist", + ); + name = "[CP] Copy XCFrameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/JPush/JPush-xcframeworks-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/JPush/JPush-xcframeworks.sh\"\n"; + showEnvVarsInLog = 0; }; DA3D10132DDCC7B3E87C465CA1A4CB07 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; @@ -7290,9 +8378,234 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/ESTabBarController_swift/ESTabBarController-swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/ESTabBarController_swift/ESTabBarController-swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; + DE1FCF2FD32CDD4646A340E1790F163D /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/RxSwift/RxSwift.modulemap", + "${PODS_ROOT}/Headers/Public/RxSwift/RxSwift-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/RxSwift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxSwift/RxSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxSwift/RxSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; + EBC4DE54CE25B55BB5CDF08E9E50DA7B /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/RxRelay/RxRelay.modulemap", + "${PODS_ROOT}/Headers/Public/RxRelay/RxRelay-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/RxRelay-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxRelay/RxRelay.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/RxRelay/RxRelay-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 00BD3F79261F825F934C1B5D9A1722FA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4A15697CE10C383774739EEEEC631BA1 /* AddRef.swift in Sources */, + A324214E352F1B1525001B0030FB9B7A /* Amb.swift in Sources */, + DEA26B7B33050D129744AD25A93EEA78 /* AnonymousDisposable.swift in Sources */, + BF6C41896846D0A5EDD236684D37EA69 /* AnonymousObserver.swift in Sources */, + 61BD264383A382A0E1F4317F191E4744 /* AnyObserver.swift in Sources */, + E0FCD3BF4A2A6C4DC7AB4E3199F0E803 /* AsMaybe.swift in Sources */, + F20D209789D5B50D1FD0EACEE8044228 /* AsSingle.swift in Sources */, + 9EC0802317AB4CC74556A9C7FF674399 /* AsyncLock.swift in Sources */, + 647006BEA67439600E0D6A6E2F5E8E6B /* AsyncSubject.swift in Sources */, + 33E6CA99094499EF9BD2A1696189FCE2 /* AtomicInt.swift in Sources */, + 675DC85BBC310EFBF31C9CF8EB8130A8 /* Bag.swift in Sources */, + D1539EF41F4B0100D1A078473470748B /* Bag+Rx.swift in Sources */, + 4878F7E628EFA1DF3907E773857B5453 /* BehaviorSubject.swift in Sources */, + DCB4AC446234B43DFF0E1ABB26F950B7 /* BinaryDisposable.swift in Sources */, + DAC6ADF7A77D17532291C7F2D465DD54 /* Binder.swift in Sources */, + 5C1F79CA399D04064E7A26E7E1D4459E /* BooleanDisposable.swift in Sources */, + 1B3287EE8A36F997897EF13751E8A633 /* Buffer.swift in Sources */, + 2206328248633E0CBD3613CEC762D527 /* Cancelable.swift in Sources */, + B63E411A15310CA213AEE158B763808D /* Catch.swift in Sources */, + 8D58DFB8719505973D598C790635BAE7 /* CombineLatest.swift in Sources */, + 3C0A881913B08D5AF1592544315A698B /* CombineLatest+arity.swift in Sources */, + CA6415EE08C4070D38C0F2A49A5F1871 /* CombineLatest+Collection.swift in Sources */, + 14F6C834288FCEB5EE4867EAB0F84D16 /* CompactMap.swift in Sources */, + 0D945B4CBF8A282AD7603E792DA50882 /* Completable.swift in Sources */, + 9E23A1148774E189F9F3BCF8AAE76DA2 /* Completable+AndThen.swift in Sources */, + 05B85B2CFE90CF7A48EBFEE0C8D7F3FF /* CompositeDisposable.swift in Sources */, + 3F109DF495105573D5747F5DCC4F4C24 /* Concat.swift in Sources */, + D14C9897A16FEE08A0AE7D983D7659CD /* ConcurrentDispatchQueueScheduler.swift in Sources */, + 18E7DBB0A5321F667DF67FA3F007357D /* ConcurrentMainScheduler.swift in Sources */, + 42B1B448D4BC775BE38E8A6030278784 /* ConnectableObservableType.swift in Sources */, + D60AABB4300A5C0B145BC9DB9ADC2B07 /* Create.swift in Sources */, + C04A4ACC59BA62EDFA64519CCD009386 /* CurrentThreadScheduler.swift in Sources */, + 4EA1F94BB97048495D4047F2167776E1 /* Date+Dispatch.swift in Sources */, + 505695D0DD20C40CAAAAAB697A66892C /* Debounce.swift in Sources */, + B8215D996B14DCFB089C23C89AF0F61D /* Debug.swift in Sources */, + CF7D094E2E75C20E9E7DDB69CE4272E9 /* Decode.swift in Sources */, + 641F1CF2CB49155F24D5A2FEE1AEECAC /* DefaultIfEmpty.swift in Sources */, + ADD0E00BF3AA834B84C603A50B411C2A /* Deferred.swift in Sources */, + E9A599A01AE5AD91E2595D478C454684 /* Delay.swift in Sources */, + 0FCF5790D2F3073064922FC3C8D9440D /* DelaySubscription.swift in Sources */, + 2A35DC8F5EF487BF4B5E2899618FD0D6 /* Dematerialize.swift in Sources */, + 13F633B3AE22C8CEA1CE8874C1E509B8 /* DispatchQueue+Extensions.swift in Sources */, + 629565D72A7A94803C7D95DA662D0963 /* DispatchQueueConfiguration.swift in Sources */, + 2D7F8BDD674ED83BB859BED0514D9172 /* Disposable.swift in Sources */, + 205A828EAE8ACF1A498FE973E7507F9B /* Disposables.swift in Sources */, + 86DEFD412532E3C492649F681F3B898C /* DisposeBag.swift in Sources */, + 121C80950F30EEFFEB4C652DEC69909A /* DisposeBase.swift in Sources */, + E66658B4CCCF4158CBB14D7FDE560F71 /* DistinctUntilChanged.swift in Sources */, + C0A51FCE78337D413A273D43D9E56387 /* Do.swift in Sources */, + C21ED4A6AD5861F098C11B3A5EF77D90 /* ElementAt.swift in Sources */, + 3B1A564B9874D6DA61235065DD3DD533 /* Empty.swift in Sources */, + 751602199567A04FD150E69967E935D3 /* Enumerated.swift in Sources */, + 97DCD32991FDE4EA529C3292B88BFBAD /* Error.swift in Sources */, + BF0BDB35D7EAE90C48BC61B57CF4058F /* Errors.swift in Sources */, + 15BCB3EA18BA4777D2C7293A2269668A /* Event.swift in Sources */, + 44AB42516B9A6DDCAACC3D1E06CEAD87 /* Filter.swift in Sources */, + 19342466115B527319751835469B59C7 /* First.swift in Sources */, + 374EAD168ED1557F62AF773925D4AB49 /* Generate.swift in Sources */, + DC17DB8B67FB9C8B2A1C4C5482149295 /* GroupBy.swift in Sources */, + 7846B61CE0246F80F5420933E63BEAD8 /* GroupedObservable.swift in Sources */, + A2D82F29431BC8390C3D8A386EC15DB5 /* HistoricalScheduler.swift in Sources */, + F2582EBC0D13F2D5D2CB15CDEF4C924C /* HistoricalSchedulerTimeConverter.swift in Sources */, + 25D2D9F5D3AF5D6F116F4C9EDE2452FF /* ImmediateSchedulerType.swift in Sources */, + 766478A9A2DB942D47833F6AC7CD51F7 /* Infallible.swift in Sources */, + 7AE5A367CC1B3BF7267C1A641B5BA37D /* Infallible+CombineLatest+arity.swift in Sources */, + 66D28B457A00A16721AB5BCD8C70FA1C /* Infallible+Concurrency.swift in Sources */, + D32286DCBD00536337E32E6AEC44C480 /* Infallible+Create.swift in Sources */, + 9ABF90636531F1DB9AA4E8A702780FE8 /* Infallible+Operators.swift in Sources */, + 96A0CCCB01D6DB43CE89E83DCB6C5C59 /* Infallible+Zip+arity.swift in Sources */, + 61F9D79F2714D9617AD6365F10A28C7C /* InfiniteSequence.swift in Sources */, + 6C86841B43F17524A7F6355F711A9668 /* InvocableScheduledItem.swift in Sources */, + 49CA87BE40D6F4CD18634FBD2C9F40DA /* InvocableType.swift in Sources */, + 126E23789ADC2C015043AB868F4DAB3C /* Just.swift in Sources */, + D77C72A0645E7837D875799E21DCFB31 /* Lock.swift in Sources */, + C2FB8B5F92F5FAFC2439FEE8BBCBD2B0 /* LockOwnerType.swift in Sources */, + 510BA964E70E79A42BF33007DA0E0A44 /* MainScheduler.swift in Sources */, + BDC1FACDFCB2745BBCDA14A83000D92C /* Map.swift in Sources */, + 3933D9E6DA66FB0DBF16422783A41243 /* Materialize.swift in Sources */, + 238D067BBC67462185D9DD1C839138A0 /* Maybe.swift in Sources */, + 9B3438008BC4D95AC0077F26C597FE00 /* Merge.swift in Sources */, + 51373230640C3BED9CCBCE156D6F14C1 /* Multicast.swift in Sources */, + 2B23A91C7731BF622393CA6FBF21043F /* Never.swift in Sources */, + CF74053C59EAE87CB27D028A4A0B6BD2 /* NopDisposable.swift in Sources */, + 5D298E3DB3279D036105010560C1BBD1 /* Observable.swift in Sources */, + 5CF2165D2D04B4DF7379F9FE445F7484 /* Observable+Concurrency.swift in Sources */, + 01959A15069C232CF627641633F89062 /* ObservableConvertibleType.swift in Sources */, + 5EEA60FD45645FE66A02715284D21ECD /* ObservableConvertibleType+Infallible.swift in Sources */, + 7266A8219B097E9176BB5E0DCC43EB12 /* ObservableType.swift in Sources */, + D26A83FE3607B3F71C618F358FE58260 /* ObservableType+Extensions.swift in Sources */, + FE83EF66912C823719EDCF60302BF876 /* ObservableType+PrimitiveSequence.swift in Sources */, + 0B2496E67573D673075AF7FD2A36754C /* ObserveOn.swift in Sources */, + 0E03DCCB2F13A604A526D8EDD2417E65 /* ObserverBase.swift in Sources */, + 3EC2FA5C171B41975F2E2F360E9A7D3F /* ObserverType.swift in Sources */, + A5813AF936814DE8C9AEDC7D96DABF47 /* OperationQueueScheduler.swift in Sources */, + 18B758039F002241FE5F8E323341B5F9 /* Optional.swift in Sources */, + F8EFFC8BC4333D0816319F70C2EF38C8 /* Platform.Darwin.swift in Sources */, + 1594543EFB6344344DB3785F92F82E76 /* Platform.Linux.swift in Sources */, + BEF433EC066C4B455C2F059C82DC18EA /* PrimitiveSequence.swift in Sources */, + 074EA6B344AC7F997C76E2EDED873829 /* PrimitiveSequence+Concurrency.swift in Sources */, + CAF8EAA2964F7D3C0FBE88A952910BB7 /* PrimitiveSequence+Zip+arity.swift in Sources */, + 9D01D3212A87BF147783E03016A7C596 /* PriorityQueue.swift in Sources */, + 11959682F433A544D6DFB8A616C9A5C9 /* Producer.swift in Sources */, + 3BD559A09D0CD8654BE7D83EA458EE76 /* PublishSubject.swift in Sources */, + E888784741FBC4D739D053E517F92528 /* Queue.swift in Sources */, + 47C6535DA1CCFEFDCB5A593389A9268B /* Range.swift in Sources */, + DD81267D7654899D847F4B6EEB4E6BDD /* Reactive.swift in Sources */, + 17456F95ADB7047E4099BD8EF4567577 /* RecursiveLock.swift in Sources */, + ED05BCCC74E6EA2B29C6CFEE4CB7E0FB /* RecursiveScheduler.swift in Sources */, + 9AE39DBE0EB191F7058932700052E64F /* Reduce.swift in Sources */, + 8F8F99650B5210A1ECFED43403A17913 /* RefCountDisposable.swift in Sources */, + 14356EB1520BF1286BE2C9FB38C8B764 /* Repeat.swift in Sources */, + 7E5E9E35B2F82A6F8B8746F6F6B446AF /* ReplaySubject.swift in Sources */, + F2E27E23473830609D87C75B8715B73B /* RetryWhen.swift in Sources */, + CD4B902B7CD69DCDA4BB6A623149D6CB /* Rx.swift in Sources */, + 49010E6DF353B33CBBF6168DAE93FEE4 /* RxMutableBox.swift in Sources */, + A42A0487E99A3BBCA95B3A1AE5426243 /* RxSwift-dummy.m in Sources */, + 41F6AD082EFB21FBBF98B1240E1B8E4C /* Sample.swift in Sources */, + 294B460E8287D0B965258F07CB3847E0 /* Scan.swift in Sources */, + CAF959B5E41E80A57AC8BD3EBA43715A /* ScheduledDisposable.swift in Sources */, + A7AB2634F55E9C87953067EECFA544BC /* ScheduledItem.swift in Sources */, + 83F56847A24F64CFFB2F1B208E641901 /* ScheduledItemType.swift in Sources */, + A759C520D43C2D67A7DEDD73A662097A /* SchedulerServices+Emulation.swift in Sources */, + 8F734E6929EF5E7CACA63DEFC1FB82CA /* SchedulerType.swift in Sources */, + 0F9C43B2FAA70400326C06C9B3F5147F /* Sequence.swift in Sources */, + 19CC9970C0D2EEEC7CAABB124A728068 /* SerialDispatchQueueScheduler.swift in Sources */, + 20E3F0335F6F60EF606F5E6D18ABDDFB /* SerialDisposable.swift in Sources */, + CF668F424CB6C58607463BEB6057D63B /* ShareReplayScope.swift in Sources */, + 0F2A15AFE59D676EE52603A4C5A4F918 /* Single.swift in Sources */, + 2E6848BEB6201D2F2C1851077E101207 /* SingleAssignmentDisposable.swift in Sources */, + 9598E70200D0432AEA20ABF30E6CFF9D /* SingleAsync.swift in Sources */, + 002C6B55C9986CEDC1B1ADDA6CDCAB34 /* Sink.swift in Sources */, + D6B4FBACE70121726AD7063FAC40AC2A /* Skip.swift in Sources */, + 76C8C688B30165A5449C0817FDEB44F6 /* SkipUntil.swift in Sources */, + DAD5D84711B112C1A30E5C4D2830B354 /* SkipWhile.swift in Sources */, + 065F89FE15217DE4F5B9D7D66CA35FBC /* StartWith.swift in Sources */, + B5057B7F3F882C9DC7320D51917E6E58 /* SubjectType.swift in Sources */, + 6328B60DA1ED9EAFE01E848E1D7C047C /* SubscribeOn.swift in Sources */, + C9ED35B4D433E4C9B13E23938DD50C65 /* SubscriptionDisposable.swift in Sources */, + 7F0CDFE66412245276F9D3C3D16BFABC /* SwiftSupport.swift in Sources */, + DBAE59858F5775E35A117429CAF5233F /* Switch.swift in Sources */, + 926299312E6E340607FFEFBEBC3F5B45 /* SwitchIfEmpty.swift in Sources */, + 6D79FF9BAE6B92059BC75990C643E96D /* SynchronizedDisposeType.swift in Sources */, + C86E5307EB1DC5C56475F4213CF147F7 /* SynchronizedOnType.swift in Sources */, + D15F4BE286C4382047B2C228AB6A208F /* SynchronizedUnsubscribeType.swift in Sources */, + D04C07F5BB261007BDA73DFB8257BDE5 /* TailRecursiveSink.swift in Sources */, + 1767EE365CCB76C6E4C926DD42C779C5 /* Take.swift in Sources */, + 3946ED75014AC5E8B4C7A7CA79D4B436 /* TakeLast.swift in Sources */, + C6968F6BBBA1F02E09FB7E170D4097CF /* TakeWithPredicate.swift in Sources */, + 8B29184AC5CEC3185963DA04988D6686 /* Throttle.swift in Sources */, + 27B8816D6F3FC5651CAF7A328FB1F545 /* Timeout.swift in Sources */, + 255CB69A9E68F5F6AF2C553296168A4C /* Timer.swift in Sources */, + 58DDC5C6D538693D51A6D66FFDF9D5D3 /* ToArray.swift in Sources */, + 2B8EE43F72066DE6B79EB28F9A7F62E3 /* Using.swift in Sources */, + F08A52A95A7E5F5591906AF2F79E0597 /* VirtualTimeConverterType.swift in Sources */, + 6BE216D7CB7978670B33A28D5AD10585 /* VirtualTimeScheduler.swift in Sources */, + 33DD1C09218B04657D81C692112A1803 /* Window.swift in Sources */, + F9F1D365A631880F4DEA8DF50911CA9A /* WithLatestFrom.swift in Sources */, + 4E41244D466438C22DC3DB2FE9BF8020 /* WithUnretained.swift in Sources */, + 3D637DED7189A752767CBA952986E364 /* Zip.swift in Sources */, + BAAA77BD2AA82941BAB9D657F729FCD8 /* Zip+arity.swift in Sources */, + 31F422ED136BAAF48B5E0B4E8715C455 /* Zip+Collection.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 29942882AF9D39FCA46A1E11A6D4F9C0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5048993D191298FE1B48DCA8998646B /* DDLogKit_Private-dummy.m in Sources */, + C938023B28908F9EA10AEDC59C31C898 /* DDSwiftLog.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2F9DCB8466BB717F04CB15FEAC24CFD4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -7338,13 +8651,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 304128F36A27FE5101F47A93C3D3D65A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 3A75B93F1783EC72B7DD4C828FBE7399 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -7397,6 +8703,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 51BDCCFAB9D9063127951AAD3864BF2B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4B8643CF0CC5EFDF8B48E4560DEF994F /* Pods-OrderScheduling-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 56EFD72132F4527F2C41017889AF6C72 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -7456,11 +8770,41 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6430B89338D6DC3DBE37E8D66CAF48C4 /* Sources */ = { + 7541A1B82F1D6D2932FD5C9E8AF0FBA2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 53DCCB791FFEBF8F9312817E41393771 /* Pods-OrderScheduling-dummy.m in Sources */, + C2AC5438E5F701B514E19D5FC665AE15 /* CALayer+DDCategory.m in Sources */, + F321179EB548A8E3E0BFF7C7493A37C2 /* DDCategoryKit_Private-dummy.m in Sources */, + 9A0E1D59D9117546EE7E4F07B42EF9D0 /* NSAttributedString+DDCategory.m in Sources */, + 8E9E8BFB5716D6C7E23589D005C7D927 /* NSBundle+DDCategory.m in Sources */, + F8A342BBBF18901505BEA39476BADBEC /* NSMutableAttributedString+DDCategory.m in Sources */, + EF07B37E2E82C6DECE97596D7E478727 /* NSMutableParagraphStyle+DDCategory.m in Sources */, + ED619ADC45106811F528B80FA330E565 /* NSObject+DDCategory.m in Sources */, + E3A4DFE5AE1A135FC79D52211388DD80 /* NSThread+DDCategory.m in Sources */, + 34E13F8436DFD3782A54FFEDE412927F /* NSURL+DDCategory.m in Sources */, + 40A1CDD4CC2C43F0DFF151BFA1028F12 /* UIApplication+DDCategory.m in Sources */, + ABCEB271B85C79CBCE557B62BF930725 /* UIBarButtonItem+DDCategory.m in Sources */, + CCDBF051A549677F62476F4A952BF145 /* UIButton+DDCategory.m in Sources */, + 70EA7D82DFED80055B7EFAB3D7BB80D1 /* UICollectionView+DDCategory.m in Sources */, + B7738FB94E4754584B9C7381E52F45C9 /* UICollectionViewCell+DDCategory.m in Sources */, + 7512F726469C537F53CEF083421FD8AF /* UIFont+DDCategory.m in Sources */, + 02A63BD4A7DD9963947B6C795FF0C581 /* UIImage+DDCategory.m in Sources */, + 892F004F44CDB16E8675E0C65FF0E39B /* UIImageView+DDCategory.m in Sources */, + 31CA63244E4C766F4097060686854AA2 /* UILabel+DDCategory.m in Sources */, + CB12A6D2A55730FFF299320ADD27FF65 /* UINavigationBar+DDCategory.m in Sources */, + AAE28567EDE48F789BA8BD1A4E3527CC /* UINavigationController+DDCategory.m in Sources */, + 25C7FA1656C3EF1177BD58A5E3EE4E40 /* UINavigationItem+DDCategory.m in Sources */, + 323A542F490C67E017A2B7CE4F24EF3A /* UIScreen+DDCategory.m in Sources */, + 2D15FCABA47B15B2A1C4019BF1ECA655 /* UIScrollView+DDCategory.m in Sources */, + 6F1637C8F03155064752B16C84A9EA5B /* UITabBarController+DDCategory.m in Sources */, + D671718F94D548759A657D442DC5DE81 /* UITableView+DDCategory.m in Sources */, + 3186CB345D75C3BC0D80478197E8CF90 /* UITableViewCell+DDCategory.m in Sources */, + 07D2CEA2FFAA2F075223E847141D170B /* UITextField+DDCategory.m in Sources */, + 083B67B1C8E77E815F2074166150CC8F /* UITextView+DDCategory.m in Sources */, + CF258709235126537E1E6FC0B2D2A379 /* UIView+DDCategory.m in Sources */, + 479717CC3EF598772CF98B751276B753 /* UIViewController+DDCategory.m in Sources */, + 01D99B5563E774161E3FD53138950A94 /* UIWindow+DDCategory.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7512,216 +8856,26 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7E0E8A40DA84320A222E18E55A2CD451 /* Sources */ = { + 7852644F812A3617E4B31CD38E13B4D1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8B614A2389A6A7A85568F9D28F3C3727 /* AddRef.swift in Sources */, - D2EFF75BAA4F83A3B494624006922E98 /* Amb.swift in Sources */, - F93F6E8956CC7FEEFD59BB131E1CF02C /* AnonymousDisposable.swift in Sources */, - 565C69E3DA4452FAB0E052B93519A32A /* AnonymousObserver.swift in Sources */, - 7A75A4AACF2EA2B8246DD37BC227E361 /* AnyObserver.swift in Sources */, - 4106F92259A3E4CE42B5ECE0E28B4F39 /* AsMaybe.swift in Sources */, - 0B2A49C518D479849E68C0E188E9C6C5 /* AsSingle.swift in Sources */, - 76CE02C1DDF73754EF809A4193D3495C /* AsyncLock.swift in Sources */, - 23FAE3A4BDAD8268A45B1E0C39B158FC /* AsyncSubject.swift in Sources */, - 08419465E72B314FF49B4209ACDE8641 /* AtomicInt.swift in Sources */, - 1E294C2D1457C305F2A8FC187C7CD7CE /* Bag.swift in Sources */, - 3FB5352887796DD7047D239D88FFC330 /* Bag+Rx.swift in Sources */, - 4B75784B81348DEA7FC71B0C6DAC5413 /* BehaviorSubject.swift in Sources */, - 7847A704E618F99AC5564C938F124AA5 /* BinaryDisposable.swift in Sources */, - 456DD313CD572325238A20BD2286F328 /* Binder.swift in Sources */, - 570634531E216A7F7942CA187953A790 /* BooleanDisposable.swift in Sources */, - 8627501CCE7EF89EE53F8E891D6AE31C /* Buffer.swift in Sources */, - 1D2CC767C27E09B7B3F5BA85A610D8CF /* Cancelable.swift in Sources */, - C72B01DD0D889A1A13F2FAA980632901 /* Catch.swift in Sources */, - 38F376E76E8CE887828C623D1369185C /* CombineLatest.swift in Sources */, - 6F7F732D5CFA5F360B62BD76453979EE /* CombineLatest+arity.swift in Sources */, - 43666945E8F28D395CCF4104E6E0DA73 /* CombineLatest+Collection.swift in Sources */, - C6D9A90D3B4FE697FA554E0A17C6B5E4 /* CompactMap.swift in Sources */, - 0ECDD6D798948C3B247B306E22DF38B0 /* Completable.swift in Sources */, - BA69C939FB50337E7B428ED071EF5056 /* Completable+AndThen.swift in Sources */, - 0C8D70EE9C8FC7ECA49DCC35616D8A27 /* CompositeDisposable.swift in Sources */, - 5991DD42571BBAB553AA167C3000AAE3 /* Concat.swift in Sources */, - F3F4A54187A771C427C3502D8802D213 /* ConcurrentDispatchQueueScheduler.swift in Sources */, - 3D0239D05698C02D4CC302EC96DCCE75 /* ConcurrentMainScheduler.swift in Sources */, - 7A77A3293538FFEBBB15FD88F7EECA93 /* ConnectableObservableType.swift in Sources */, - BD0BAC03BB3C595BAEE4E6C0214DF1B3 /* Create.swift in Sources */, - A84134EBA63FFA7DD0298D52DF856CE2 /* CurrentThreadScheduler.swift in Sources */, - 8A2BB0C70E6AD03FAE785E11B8994109 /* Date+Dispatch.swift in Sources */, - 3AD100D5121E6A2B4F8A49C8629411CB /* Debounce.swift in Sources */, - BB1883C1BCB98977B2BFE1F342D3492A /* Debug.swift in Sources */, - FF4DBCAE64CDAF7D63DCB700D0EA2AA7 /* Decode.swift in Sources */, - E0B53F17D846B73C15950B3CD8687042 /* DefaultIfEmpty.swift in Sources */, - 2B4330E64369C3A829763C8924267005 /* Deferred.swift in Sources */, - 89AAAFB1FDC1EBA0E7962C53E5F6D34A /* Delay.swift in Sources */, - 229EE323EFAB055C0AA55D37FCBC6A35 /* DelaySubscription.swift in Sources */, - 8F40C77612174BAE8C1E2F0D0900B179 /* Dematerialize.swift in Sources */, - 4AB0FE76C4041C57FFB6B4E74FA583E9 /* DispatchQueue+Extensions.swift in Sources */, - E7B7D4786FD9A4556C57FC456397CFA7 /* DispatchQueueConfiguration.swift in Sources */, - 68FB7A064EECBC2F82C9C8F27FCD8008 /* Disposable.swift in Sources */, - 7223B00496A695E25067CB5BD41B256C /* Disposables.swift in Sources */, - 1FD4AB6350F7EFF4A0EE30D63EEDC575 /* DisposeBag.swift in Sources */, - 95BA5807492A4AF2BCCFBFAC531CA9D8 /* DisposeBase.swift in Sources */, - 20ED52A1672248DC7499F63F1D955326 /* DistinctUntilChanged.swift in Sources */, - 71F16C75439B0599F907D5EAFEBADA4E /* Do.swift in Sources */, - 7E087F9A6D1B621A0EFB8764BBBD4B20 /* ElementAt.swift in Sources */, - A8703F0CD0021F789AF4F30E639B24DD /* Empty.swift in Sources */, - C45E4553A532352FC2D6A92529F1ADAA /* Enumerated.swift in Sources */, - 5F33D74E97770B309BA74199F3C85463 /* Error.swift in Sources */, - 22771FA1A3DDDEB53D064548BD45044F /* Errors.swift in Sources */, - 116EC39A4E2AFB5052BB614D3C3886E7 /* Event.swift in Sources */, - 5CED4364D767E1BE60CB69BBCFC5B51B /* Filter.swift in Sources */, - 972B1CCFF177404921ED4A3D12A33F00 /* First.swift in Sources */, - 79902593EB590F1E0463213225F2E893 /* Generate.swift in Sources */, - 64565C8F3117ADC1A656B3ED6E4EA0D9 /* GroupBy.swift in Sources */, - 4E4E6D9B4C2320B106A88E09D7FE17EA /* GroupedObservable.swift in Sources */, - 4F30B92F6B745103E3E10B49BEBCD813 /* HistoricalScheduler.swift in Sources */, - 657B0B97DA9E63B9CFB50C28CE01C16E /* HistoricalSchedulerTimeConverter.swift in Sources */, - 63CFA7962D55E2ADE580BE8045A45E85 /* ImmediateSchedulerType.swift in Sources */, - BFEF5438BF1FB39455DEF65AC485C5D3 /* Infallible.swift in Sources */, - 3BEDCB1C1232746F8DBBF049CF861CA1 /* Infallible+CombineLatest+arity.swift in Sources */, - A5D8C7BBD456F1AA14C0F68DECF8853F /* Infallible+Concurrency.swift in Sources */, - 7D9B10E271DC6F5D5BC3F2D1E5BA7039 /* Infallible+Create.swift in Sources */, - 508FCBD8C3098E74B67A56A49B5FFDD4 /* Infallible+Operators.swift in Sources */, - DA5018EFFB5F0ACA5800450157DDF029 /* Infallible+Zip+arity.swift in Sources */, - EA9E27522D34075FE2F3D61C4287DAA2 /* InfiniteSequence.swift in Sources */, - 2379FED69B13031DD79751610087BB4A /* InvocableScheduledItem.swift in Sources */, - 088325CC1469DFE80A063787278F37D9 /* InvocableType.swift in Sources */, - 3AF311679057B088EF5705B8EDB22D2D /* Just.swift in Sources */, - C7AD29D8CE22687209205B9C0CB043A1 /* Lock.swift in Sources */, - 2FF0397F7EA7930400CDC081AA17B925 /* LockOwnerType.swift in Sources */, - BB163B9792C6674D0D680D606885C8DC /* MainScheduler.swift in Sources */, - A47EB127A6E0739557B4802A87E11FE7 /* Map.swift in Sources */, - 5ED1BBF5FAE17E6DA0C804DCDEA8901F /* Materialize.swift in Sources */, - 241267D3FC2E3F0CC7D5792AE2ADA8DD /* Maybe.swift in Sources */, - DCEBF9766499FFC51D3F20FD988C5C8B /* Merge.swift in Sources */, - CFC3AE9E84DB459397787A54726B256D /* Multicast.swift in Sources */, - F2A142032668500B5C86117B87E5581C /* Never.swift in Sources */, - DDE4FC989BBCF2EA2135813021F623FE /* NopDisposable.swift in Sources */, - 134E12624CB4A231F06269C702E15835 /* Observable.swift in Sources */, - CF8E9E9D79030190C6C2A8F033ACFD5A /* Observable+Concurrency.swift in Sources */, - FE97C9D8D1A724CBDF7C8E271C8E1DEC /* ObservableConvertibleType.swift in Sources */, - D8CB71544C37D1AC77A544130226A672 /* ObservableConvertibleType+Infallible.swift in Sources */, - 90247CFDC267CC8BFACC881FBC3C3233 /* ObservableType.swift in Sources */, - ECFFBFF95B73F69D1787EA7CCA928AC4 /* ObservableType+Extensions.swift in Sources */, - 714040A06F1937DAF3E28B0AD5B74C21 /* ObservableType+PrimitiveSequence.swift in Sources */, - 506070DDB033AC1BC007DE71F42632A1 /* ObserveOn.swift in Sources */, - 423ED25536DDD84D7DF9365B14F362D0 /* ObserverBase.swift in Sources */, - 3E667CC1120F83729016853578E2B0EC /* ObserverType.swift in Sources */, - A86F0917C4049E9C60D06C8446F81E6A /* OperationQueueScheduler.swift in Sources */, - F43851B19B2310C54E82BE0CB9CC8EAB /* Optional.swift in Sources */, - 718FEFD76EC61B72AE9C7DA2714A6334 /* Platform.Darwin.swift in Sources */, - A4F5D88B59368643BEA04468893D1221 /* Platform.Linux.swift in Sources */, - 94C181395A8BE03BBEFF0D774EEB1CA7 /* PrimitiveSequence.swift in Sources */, - C846DCE7E2E865DC660B3475888395EB /* PrimitiveSequence+Concurrency.swift in Sources */, - 0BE77299ADD3781F19DE8E8B6CD2C9F6 /* PrimitiveSequence+Zip+arity.swift in Sources */, - 8018E5D0017B04D04B3E09473C0A24D8 /* PriorityQueue.swift in Sources */, - ED2BE0E4900497E23A37237D68BC1023 /* Producer.swift in Sources */, - E40B797A24B408B06F5E682C079CDC55 /* PublishSubject.swift in Sources */, - 515FD6046A15ADC8218F0694CE2ECBBB /* Queue.swift in Sources */, - AA2F5057A0230149F7E204ED7843F232 /* Range.swift in Sources */, - AE5D5D296B70C254CFCEE85F12B94CED /* Reactive.swift in Sources */, - 5CEFB3AA45586F179D327023FB113412 /* RecursiveLock.swift in Sources */, - 9D3141A5F02E6E1D67CCD72A376113EC /* RecursiveScheduler.swift in Sources */, - F6513727F28A3CAA86AD1D4CEFB7BF33 /* Reduce.swift in Sources */, - C94ECC0B1338871970341F0B37B459DE /* RefCountDisposable.swift in Sources */, - B189903A876872C745986F73D2F7DCD2 /* Repeat.swift in Sources */, - 415F4ADCE48E3C6F1736ACFDB4C6E4D3 /* ReplaySubject.swift in Sources */, - EBE5C4F07068616CC59C1EF2978C6813 /* RetryWhen.swift in Sources */, - 72262100C5916714144C2F6D27E40343 /* Rx.swift in Sources */, - 36595A460CC661136C4D89478C162867 /* RxMutableBox.swift in Sources */, - 250C4793B89B833F5D00A798F3722E5D /* RxSwift-dummy.m in Sources */, - 3898931C3C0F294F4B7653D819AD5BC8 /* Sample.swift in Sources */, - 1BF05039300C9F7EF2BC12788F1E6E33 /* Scan.swift in Sources */, - 9FF5CE9C512F8C464978A1E3A0738850 /* ScheduledDisposable.swift in Sources */, - FE050D59F5ADCFBA484D4C0926A58720 /* ScheduledItem.swift in Sources */, - 1B37B0C328E91D2AEC8417D8ED33E5A6 /* ScheduledItemType.swift in Sources */, - 78804DF412F47FB525746D44F77F371D /* SchedulerServices+Emulation.swift in Sources */, - FD24A63C0BB6C7CF244A586470A9D492 /* SchedulerType.swift in Sources */, - 2643D625F432B05AAB245DAA5820F24C /* Sequence.swift in Sources */, - A5F795CDE7E9E958CDA4F860E66A4036 /* SerialDispatchQueueScheduler.swift in Sources */, - 7D7DC6BCB3ACB399640AA8217A254BA6 /* SerialDisposable.swift in Sources */, - BD90E28115D95F77EBACB3287FC55308 /* ShareReplayScope.swift in Sources */, - C1D7623AD9734EBB837468AF18373F42 /* Single.swift in Sources */, - 3680C8FB205ADCF709DCFA5D5D44DC63 /* SingleAssignmentDisposable.swift in Sources */, - CF166EE0BD4BBC9552C47101342F3706 /* SingleAsync.swift in Sources */, - 50F667C09FBFD4FF8D7988E91CB41620 /* Sink.swift in Sources */, - 4BCCD58088AF2F6B9D59835C49C465B3 /* Skip.swift in Sources */, - 34181F8B4DC74D75F6C73B967539E399 /* SkipUntil.swift in Sources */, - 56481A9B965BACF6381BB4F218365F05 /* SkipWhile.swift in Sources */, - F38BB8E8B9AA9556B18A654B2F7B063A /* StartWith.swift in Sources */, - E8ECA9AC8049FEA59A0D35B189911CD7 /* SubjectType.swift in Sources */, - 5686B71FBE6F4625D83C3791387F85F7 /* SubscribeOn.swift in Sources */, - EF203AAFF3493C503A2685D89907E9E0 /* SubscriptionDisposable.swift in Sources */, - 501077979036EDD2737102095418F08F /* SwiftSupport.swift in Sources */, - D2AF2BC97E66780B3E0564BB19BB45BC /* Switch.swift in Sources */, - DB1928ABED70110F8770A999AE6042C1 /* SwitchIfEmpty.swift in Sources */, - 96E6C43C53A01AE1C7673BDFEC4DC76B /* SynchronizedDisposeType.swift in Sources */, - 1DDD4B9BB2F771F4C8E14035972B95E0 /* SynchronizedOnType.swift in Sources */, - C8311466749E74D31530D8B27F2B68EF /* SynchronizedUnsubscribeType.swift in Sources */, - 0CC0D44E320A1730EFDDDCF7F06F46B8 /* TailRecursiveSink.swift in Sources */, - CE83923E2838675210657D3142E3A427 /* Take.swift in Sources */, - 51F894F27EA0894DC3D748F54E158651 /* TakeLast.swift in Sources */, - C40F6F9516468EE6EE51A1C4FB278575 /* TakeWithPredicate.swift in Sources */, - 19B8B3C0A7F50B29EAF2131411776D8A /* Throttle.swift in Sources */, - FD366D60621BA423B1F44E362CB26E14 /* Timeout.swift in Sources */, - 1487581E75DA119B0C81AB18B67F01DD /* Timer.swift in Sources */, - CB2FEF62C57FA5BBD15CBAC9E8C19F42 /* ToArray.swift in Sources */, - 9AC5FC3E6E1F1B05501E1D07E0BC28C9 /* Using.swift in Sources */, - CE86E1F9152A64FE5CA0C71F626DE91E /* VirtualTimeConverterType.swift in Sources */, - 48D3C7C062C27CFCEB622D40EDD76148 /* VirtualTimeScheduler.swift in Sources */, - 3D7A90098F5DCC038358096817706824 /* Window.swift in Sources */, - A83C6B27C33EC2032F63E67E76F85FB0 /* WithLatestFrom.swift in Sources */, - 21051F832E0E05F72A54AA91918B7854 /* WithUnretained.swift in Sources */, - 9405386260D2B750EEE43A8686608E91 /* Zip.swift in Sources */, - C1976EEAE2EC4DCA39DF0DFF1AA6A16D /* Zip+arity.swift in Sources */, - 2C95F29F15F88E5D3BBC4BBF7A46114E /* Zip+Collection.swift in Sources */, + 46F3EF70EBABEC824A210E518BEC47E4 /* DDProgressHUD.swift in Sources */, + 0C327077BD29B65ABA96C60A026F1E89 /* DDProgressHUDKit_Private-dummy.m in Sources */, + 9B6B51BDB80D514E11D3C2BFFDAA63F0 /* MBProgressHUD.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 898D54206531121F5610107E0D9ECEB6 /* Sources */ = { + 8E4E73B13B599DF83354F81175A93D4C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C3F8C20988FD5D58CD8CAEFF38B2D8CF /* Constraint.swift in Sources */, - C91799FA07B7943929AF12CB5366DEB1 /* ConstraintAttributes.swift in Sources */, - EA567FF21C3D64BDF2A0F9EF9C74B5D6 /* ConstraintConfig.swift in Sources */, - DFBC1E24E314AA2D93D8D68444D25E5F /* ConstraintConstantTarget.swift in Sources */, - ADE03FF6E18BB2ADBC95151FBE880DCD /* ConstraintDescription.swift in Sources */, - 2FF9AC4B7E77920284C4F3991C5E2857 /* ConstraintDirectionalInsets.swift in Sources */, - DB5B2AADF248591EEA2664EBC0933A4B /* ConstraintDirectionalInsetTarget.swift in Sources */, - 3044563E35DFC79133C3A16A267A4A3C /* ConstraintDSL.swift in Sources */, - B90E1CD028EB4111A1C4D740C8724964 /* ConstraintInsets.swift in Sources */, - 21A5C66F9EB0660DB7CCC1A75C5B1C50 /* ConstraintInsetTarget.swift in Sources */, - F84B09281B0BFF9B1B031CB2BA6C3AB4 /* ConstraintItem.swift in Sources */, - D4C656CF4B508E7A1CD28BB9A6D6B3BD /* ConstraintLayoutGuide.swift in Sources */, - 945E9C3CC9AE13374B957C45F7ED6523 /* ConstraintLayoutGuide+Extensions.swift in Sources */, - B5910A2955A9D0E6E2D746323B465EFA /* ConstraintLayoutGuideDSL.swift in Sources */, - 2B5E99EE5EAD3704C933CEDD02D032DC /* ConstraintLayoutSupport.swift in Sources */, - 66676CF223546A2ECE64ED1BEFD7E083 /* ConstraintLayoutSupportDSL.swift in Sources */, - 30DB3BCA0CDD098175329A172F86F9C4 /* ConstraintMaker.swift in Sources */, - E0C13A3F1697B6863CC833339A136FE7 /* ConstraintMakerEditable.swift in Sources */, - F368A886087DE3AB2610673786E29DD3 /* ConstraintMakerExtendable.swift in Sources */, - 5CF4670F6E41D06C52DCE2D441B5066F /* ConstraintMakerFinalizable.swift in Sources */, - 7C3933F4EBA48B2234E0458328110B91 /* ConstraintMakerPrioritizable.swift in Sources */, - 7B1B85D4CBFA5F7BED145C1D5BCD0DE8 /* ConstraintMakerRelatable.swift in Sources */, - 3C9BBCB1963695908C5CABC26C4E2EC8 /* ConstraintMakerRelatable+Extensions.swift in Sources */, - 06334A72423FA0F14828C90CA5B9B4A3 /* ConstraintMultiplierTarget.swift in Sources */, - 7A58B2D1083CC64F48605175B1B048C8 /* ConstraintOffsetTarget.swift in Sources */, - A23BC3446525B05E6857BFB36D273FD9 /* ConstraintPriority.swift in Sources */, - BDAB5BD9075473FC3F0110FA69DE7063 /* ConstraintPriorityTarget.swift in Sources */, - 2EE34B944526B0F180CB0A315435AA71 /* ConstraintRelatableTarget.swift in Sources */, - 203BB41711BFC940698557A5C2C2E4A7 /* ConstraintRelation.swift in Sources */, - C815F57C6C8283862D8164B5AF94874D /* ConstraintView.swift in Sources */, - B558E79B197588FF0F9BEF38A83B6091 /* ConstraintView+Extensions.swift in Sources */, - 0622549C8F1CEEBFD98D48429B694770 /* ConstraintViewDSL.swift in Sources */, - 79BBB0704A1D4B8AB66B87F6AF9BDDEC /* Debugging.swift in Sources */, - 44F427B8268C04DECB4E7DAB04506CA4 /* LayoutConstraint.swift in Sources */, - A9C487E07228E6936986478C2613E24E /* LayoutConstraintItem.swift in Sources */, - 8DED9DBAFF5E9CEDE74B3A1C3144633B /* SnapKit-dummy.m in Sources */, - 089C3D3E873750F2D4BAED4D399FD9CF /* Typealiases.swift in Sources */, - 0A4A0321589784DB84A09558896BA148 /* UILayoutSupport+Extensions.swift in Sources */, + 8FD8D1F13FE106FF4A48327B4EF2E3D1 /* YYAnimatedImageView.m in Sources */, + C1EEB14AD900F36CE79D2762305D816F /* YYFrameImage.m in Sources */, + 37937A9707A5C80FAB0C0D885BBADA38 /* YYImage.m in Sources */, + 5300A9554A95F9D736011736B391EC35 /* YYImage-dummy.m in Sources */, + E1A96DF6B6912BFA0823FB9E430CCF23 /* YYImageCoder.m in Sources */, + 34196A2D257E48AF439C38B32DDF0200 /* YYSpriteSheetImage.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7743,53 +8897,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9A3436DDEC0E5C1CE109D3DA2D2185A8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FA7C19E95318283880AF33193C6C4848 /* CALayer+DDCategory.m in Sources */, - 94320BBAFDD9941EB31F86FDE3E60B75 /* DDCategoryKit_Private-dummy.m in Sources */, - 5DDC429EB21328DB5AA5FFBA20D4CEFA /* NSAttributedString+DDCategory.m in Sources */, - BD6F7433C0ED1532C4CF79399A1FEEBC /* NSBundle+DDCategory.m in Sources */, - C1940B02503017C93A60F961EC35671F /* NSMutableAttributedString+DDCategory.m in Sources */, - 71AD4D21819BCF755B1D7B11F292D512 /* NSMutableParagraphStyle+DDCategory.m in Sources */, - 8FDC5A87ADCE07FF3E3F1EFB7613CD1A /* NSObject+DDCategory.m in Sources */, - 4EEE08623FC51DF62F0D6B2A635740BC /* NSThread+DDCategory.m in Sources */, - 7B628D6BE786E7E212C05AF352E98232 /* NSURL+DDCategory.m in Sources */, - DA68D87EA37B265C1A9212034A9A69CA /* UIApplication+DDCategory.m in Sources */, - 5D56B3DA8AEE281BA8B4779878BBAC25 /* UIBarButtonItem+DDCategory.m in Sources */, - E87A2A7AA6C6C1C1CCB99B8C459954C9 /* UIButton+DDCategory.m in Sources */, - CFF0856209812E6587E4680A4621A17C /* UICollectionView+DDCategory.m in Sources */, - 57B1E3E04CB3083B1DBA69D1AA4D122A /* UICollectionViewCell+DDCategory.m in Sources */, - B0002DD66A8569671F92DD848A8AE757 /* UIFont+DDCategory.m in Sources */, - 3A3A24A27B2FCD56DF33E04F31B39C3A /* UIImage+DDCategory.m in Sources */, - B99ACD5EEA00F31F380FAB5A8B8B2526 /* UIImageView+DDCategory.m in Sources */, - 51EBF9AF152F971146CE49A2FC4B4614 /* UILabel+DDCategory.m in Sources */, - BA42897D26AE10AD9C5ADDACB76A61E6 /* UINavigationBar+DDCategory.m in Sources */, - 14F6030416457FACA2FE0FDE3D62BAE8 /* UINavigationController+DDCategory.m in Sources */, - D1BEC579C6CDE70D346EC4C7E4FBD387 /* UINavigationItem+DDCategory.m in Sources */, - B9D206C92A0BC6DE7720757C1A2ECE72 /* UIScreen+DDCategory.m in Sources */, - F0C323C6B06974F32D8814CD58FE9D15 /* UIScrollView+DDCategory.m in Sources */, - C00CAD06E493B28BC19E63BE07761FDB /* UITabBarController+DDCategory.m in Sources */, - AA784C9DF28B59B430B80948F5DD0A84 /* UITableView+DDCategory.m in Sources */, - A3C898BEB49E9B17FD3A824DE6FAC3F8 /* UITableViewCell+DDCategory.m in Sources */, - 13B3D8E84FAE23982F42AEAAE60A5EE0 /* UITextField+DDCategory.m in Sources */, - 396597297E3741A4C4C3030C594BB3CE /* UITextView+DDCategory.m in Sources */, - BCDA33ECC9AE69C50380E36C29978C92 /* UIView+DDCategory.m in Sources */, - 374123F38FF3BA6A3132D7F0463D3F87 /* UIViewController+DDCategory.m in Sources */, - E4B1E58E020E4435976E195C0F6D2514 /* UIWindow+DDCategory.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A2E299CB0D24D6DCB68E0A636E857A99 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 83EB9A550FC79DE42E3003E39DEFAEB8 /* DDLogKit_Private-dummy.m in Sources */, - 8AB9F2CA2D3182D18A6C8AD9CAC6D372 /* DDSwiftLog.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A529D46C495FD051E4B903F77F6043CF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -7918,6 +9025,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AFB944C14F97FEC1231BC34490159B98 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 940E711D63649BE7A3FB66E52457D398 /* BehaviorRelay.swift in Sources */, + 6E896E22C164BFDB7034EB572468465D /* Observable+Bind.swift in Sources */, + 5D81E0C1887B4C22DD12C2A64E594469 /* PublishRelay.swift in Sources */, + 32AB0A73A628C0F9A318E21F0728AA10 /* ReplayRelay.swift in Sources */, + 1AED69747E53797ED128F96F1D8A70D6 /* RxRelay-dummy.m in Sources */, + 6A47BF20ACCBB7C92F9ABC9E7A833EF6 /* Utils.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B3F2C70B091651079610F8CEFD453E31 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -7928,6 +9048,78 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BD841258657B4E06EA70273306E217D7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ECA14F5C0D6C5302019D8476F05ED7ED /* _AutoLaunch.m in Sources */, + 013BFA329ACD302E4E8CFCC4904E4F0C /* _BacktraceLogger.m in Sources */, + 6CABF78E996F90619923174D81B9CC27 /* _CacheStoragePolicy.m in Sources */, + D15601FB6BDFEA4C0083467D5B754051 /* _CanonicalRequest.m in Sources */, + 05E7F2B03F14E6348730074E6087725C /* _CrashModel.swift in Sources */, + 0AB82009E5495FF3657BC47CCBB69E14 /* _CustomHTTPProtocol.m in Sources */, + 07DD7EEF3184FCD7F41D558FAE757829 /* _DebugConsoleLabel.m in Sources */, + 126F75C66AAE521360A205CC28EDA57C /* _DeviceUtil.m in Sources */, + 090E539A686A781DE820DE5F13F2C163 /* _DeviceUtil+Constant.m in Sources */, + EAA7903E669CD58C7EC9B9120957BD6C /* _DirectoryContentsTableViewController.m in Sources */, + 79667886740E03B0BA8CAD82D277FDD5 /* _FileInfo.m in Sources */, + A0753DDE7E6EE0EE31ADED266223E0A3 /* _FilePreviewController.m in Sources */, + 22ACB88454D706696FFA80153AFCC611 /* _FileTableViewCell.m in Sources */, + F6F5F76688A0CA18956590C446B8B620 /* _fishhook.c in Sources */, + B3F8D02D6F81E468340ADA0561C2990B /* _HttpDatasource.m in Sources */, + BF9EE31DA89D7BD4D374713EBBCF8C9A /* _HttpModel.m in Sources */, + B337891246C2848ABC1945BA4D95817E /* _ImageController.m in Sources */, + 2FBA6B4CFEDEA14DF62EC282B323F528 /* _ImageResources.m in Sources */, + 16AED9E453F33B4FB25D6A64A1DBED59 /* _NetworkHelper.m in Sources */, + FB2DFD5D894CC65AB92548FC5EA7614C /* _NSLogHook.m in Sources */, + 9377075FA4E0C7EFFD0E68C28235E9CC /* _ObjcLog.m in Sources */, + 150EBE744426DA643E507BA08A9DE5B7 /* _OCLoggerFormat.m in Sources */, + 63C6F2C653074E8FC5DA3D47497949A7 /* _OCLogHelper.m in Sources */, + F655A8F737F8DA58CD1238B94417CB1C /* _OCLogModel.m in Sources */, + 3C805150E423EB13D4A9854E26314362 /* _OCLogStoreManager.m in Sources */, + E5E75D7B7C4C9F2DE674F62A6F9598D6 /* _QNSURLSessionDemux.m in Sources */, + C88C2CC9083FE0D07D52A9EC81D1E626 /* _RunloopMonitor.m in Sources */, + A7E0CE992F5E28A78FF7705F4AA95F1C /* _Sandboxer.m in Sources */, + 316BC27C89EA174E4233348DF1E30934 /* _SandboxerHelper.m in Sources */, + 4A6F9FC73B3C2B02F852F366EE4C7C18 /* _SwiftLogHelper.swift in Sources */, + E95E48BD80929D24F0AF18B993CD15FA /* _Swizzling.m in Sources */, + C2422DE72E0AE7A2B6C524EEB6561541 /* _WKWebView+Swizzling.m in Sources */, + 752811625260B14669C192D57F44BAAD /* AboutViewController.swift in Sources */, + CCE73322A8F4B26A087301EBCC65C869 /* AppInfoViewController.swift in Sources */, + 93BEEA5D92D4F153A09A75627E2DB577 /* Bubble.swift in Sources */, + 483F31C4AFEAD5AEA2BE3274CD7903A1 /* CocoaDebug.swift in Sources */, + B2851C902C2C372F18387C2B39AA47C1 /* CocoaDebug+Extensions.swift in Sources */, + 51B1ACEE71E3EF376A4BF50397B41D38 /* CocoaDebug-dummy.m in Sources */, + 25FD8F9E0D71213C84D8FE596B7B2882 /* CocoaDebugDeviceInfo.m in Sources */, + E6E08F86F050EF8BB6BB962F72CF235B /* CocoaDebugNavigationController.swift in Sources */, + 7EA1A285B210A02961DC6EC1C01C1687 /* CocoaDebugSettings.swift in Sources */, + BD5769240CAB4930531B883F3AFFFAB4 /* CocoaDebugTabBarController.swift in Sources */, + 340A763250D0C4BAF58E7EEF61E530A3 /* CocoaDebugTool.m in Sources */, + C845190F0B27DD1C19EC9625516F3AF1 /* CocoaDebugViewController.swift in Sources */, + 8A274008ED97223DAA12E076D417889F /* CocoaDebugWindow.swift in Sources */, + 08618BC667C4A41807D3097E7B24DE74 /* Color.swift in Sources */, + 66A9DC3B7E3BB37EB783B70278A717B7 /* CrashCell.swift in Sources */, + 78A9DC5A1BC9FB56108C4AF9B8A1BE19 /* CrashDetailViewController.swift in Sources */, + 205D4F61CB9ED1CE451C27D5950DE9F2 /* CrashListViewController.swift in Sources */, + EDFE1A36B30F9DC14C1BACBE4BFCACFC /* CrashLogger.swift in Sources */, + 3A74E1D6C0FDBEB91445B6377062D8C7 /* CrashStoreManager.swift in Sources */, + 13B03D3CC04040B5E30C7FB851B053C0 /* FPSCounter.swift in Sources */, + 0D1B44FC9F42E3CD0D7BC1DB16C97823 /* GPBMessage+CocoaDebug.m in Sources */, + C8F8E3163CE2F3AD0871F8DABF59F126 /* IgnoredURLsViewController.swift in Sources */, + 4580678643F509D5C5A1EA00A6D1E2E5 /* JsonViewController.swift in Sources */, + F9121FC6FB235A844904FF1D0E5CE74D /* LogCell.swift in Sources */, + 9E474548D6A0521350038A8213F06E0B /* LogViewController.swift in Sources */, + 2C9D5104E3A512934F635EA801B0B37C /* NetworkCell.swift in Sources */, + 99EA19C8F294727AAAB343FF9966D33B /* NetworkDetailCell.swift in Sources */, + 910F8466106459434C084A74EA003284 /* NetworkDetailModel.swift in Sources */, + B43B1D85F1DF038DB7D01DFAF12D48A0 /* NetworkDetailViewController.swift in Sources */, + 827802DE999250886D89207BC6F0B58D /* NetworkViewController.swift in Sources */, + 7A4F0F49748AD6BFE43729FE2B9DB916 /* NSObject+CocoaDebug.m in Sources */, + E6FD25D02A73F3559455976B20FA94F9 /* UIBlockingBubble.swift in Sources */, + AF91B100F4B4D65B92BF8CA590B2005F /* WindowHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; BF98946357C8D92FF5ABCCD9D0DB9617 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -8133,13 +9325,55 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DF144942A9B8F3EDCDD514370D54C367 /* Sources */ = { + D145576BF17205D36256A7CF57DFD3A1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7ACD1663112757B9D6C1B93B7DECEE55 /* Constraint.swift in Sources */, + 63928B63DAFE07C28F117AB9AE5FDFBE /* ConstraintAttributes.swift in Sources */, + EE1DBAA432EF4A26EC7A54FE9958288B /* ConstraintConfig.swift in Sources */, + D12A43349ED54CE689CAB65A3688184F /* ConstraintConstantTarget.swift in Sources */, + 4ADA89E909566BD155E887134BC06459 /* ConstraintDescription.swift in Sources */, + 1DBCD6D35EB5371F18DD51F8A2A17BEE /* ConstraintDirectionalInsets.swift in Sources */, + 9C18706635F8F6039800E5D29E33CF5C /* ConstraintDirectionalInsetTarget.swift in Sources */, + F22409BC542B911545A86ABB197F2021 /* ConstraintDSL.swift in Sources */, + C4AD82EEE9F6B79F43B6637C742761AF /* ConstraintInsets.swift in Sources */, + E05564A13263C2A7EB19066F6440F481 /* ConstraintInsetTarget.swift in Sources */, + 809901DEFB812A7A6C8C7BC7E23C461F /* ConstraintItem.swift in Sources */, + DDBA991BA174D527017192548D28D7D3 /* ConstraintLayoutGuide.swift in Sources */, + 6B51F2E82F613C27407512F15B1523CF /* ConstraintLayoutGuide+Extensions.swift in Sources */, + 16EA78DC70B63127C08F747C99B01349 /* ConstraintLayoutGuideDSL.swift in Sources */, + 1561C74739A0D164733E9C4894094F9D /* ConstraintLayoutSupport.swift in Sources */, + 91CA8063502AC4672BFD7F6D5AD890B6 /* ConstraintLayoutSupportDSL.swift in Sources */, + AF759C36F39B4E4FE7180A127966AE35 /* ConstraintMaker.swift in Sources */, + 26A95A593A3011DFAC355EC59A52E646 /* ConstraintMakerEditable.swift in Sources */, + 748A242CE6F9E7BA3C73397EB2A0EE46 /* ConstraintMakerExtendable.swift in Sources */, + 9BE2962068E95D8253F1A92B8C1CF7C3 /* ConstraintMakerFinalizable.swift in Sources */, + CBD8901F0DC9C3A318976A6F7358711A /* ConstraintMakerPrioritizable.swift in Sources */, + 06BB443E95A25495FC3A19174991B17A /* ConstraintMakerRelatable.swift in Sources */, + 3AEBB1EF7449591B2801563D09246397 /* ConstraintMakerRelatable+Extensions.swift in Sources */, + 80091A77E4DB8BD79196240620BDEF1B /* ConstraintMultiplierTarget.swift in Sources */, + 64042D7EB052AEF70017E8E0A4BF6D4B /* ConstraintOffsetTarget.swift in Sources */, + 8EA9F0E18ACBBE10CBFD202E479C114D /* ConstraintPriority.swift in Sources */, + 8F015C2A2CE48A10FCB00D51306E2FAA /* ConstraintPriorityTarget.swift in Sources */, + F52A33C5DF0D8CAA44354593A9AEA08C /* ConstraintRelatableTarget.swift in Sources */, + 572338B9ED6382F8CB91083E8C81A426 /* ConstraintRelation.swift in Sources */, + 6EBD3D58F92F9B04E5F9D26F908BFE92 /* ConstraintView.swift in Sources */, + C989F6FDC2D97EE1A9C7E1937016D678 /* ConstraintView+Extensions.swift in Sources */, + C17ED7FEA559064FC70F00DA5BA28651 /* ConstraintViewDSL.swift in Sources */, + 860EE4ED5B98C99F77B7B6F69067C67B /* Debugging.swift in Sources */, + 26B198600368EE106481EC5B38FE4B1D /* LayoutConstraint.swift in Sources */, + 3E12A685A85E790C2DCBD724F006C549 /* LayoutConstraintItem.swift in Sources */, + AE20ECC7FA7D27D1FFA4F11097D46EE7 /* SnapKit-dummy.m in Sources */, + 6A2DA5A9A5E2AABE476971A48C296718 /* Typealiases.swift in Sources */, + 6E61BD4CB39551F8077D60326E5573AF /* UILayoutSupport+Extensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D2EFFBFFEE3A79935C0421F82272406E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 25E2AF9118219BAB98BF0CD2F9D061CE /* DDProgressHUD.swift in Sources */, - A767F6B2A7BD50B38673FDE64A2DC9E1 /* DDProgressHUDKit_Private-dummy.m in Sources */, - 95A1DC6EF5C9745D9ADF846DF3CF369F /* MBProgressHUD.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -8222,26 +9456,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E3BA48DDE3F915A37FAE399E41C2FAF6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F09638577AE22EB4E11E12E8851D00DB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EEEE888CD582ED007104CA3635CC95FC /* BehaviorRelay.swift in Sources */, - E1A4830ED6BDF4F4D7D1A72EDA1B075D /* Observable+Bind.swift in Sources */, - 76526FA48D1A6EA70431625F10C1361A /* PublishRelay.swift in Sources */, - 912730E60972BAAE7DA4D98C42DD1B2C /* ReplayRelay.swift in Sources */, - 9D1793C55417A6E6F7B9FAE5D20E9117 /* RxRelay-dummy.m in Sources */, - 3CCBEF9D2D6AA129CCDE1310A9FC981A /* Utils.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; F121F9D88EEB7CC5CDC5CBE4B7E8EFE4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -8273,327 +9487,450 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FB9A7CF362B08CE540E022ABA7B6DF38 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FDE6423290DE487C161D698043AD8D7C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 091C5B4CE0D4C6F2BCD61208F40840ED /* PBXTargetDependency */ = { + 050855724D29E82253018798B17F214C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = DDLogKit_Private; - target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; - targetProxy = 27350DDA218555112972469C7D655E0C /* PBXContainerItemProxy */; + name = "AMapTrack-NO-IDFA"; + target = 2160840D78FCB958CABE1B88300E38C5 /* AMapTrack-NO-IDFA */; + targetProxy = 489A41E5BC2B018DC7AAB6067F455E61 /* PBXContainerItemProxy */; }; - 0920A2701A164BEAB30BCE6F869B0BC2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxCocoa; - target = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */; - targetProxy = 8D0BF4159ACE092A21B624CA369ACC5A /* PBXContainerItemProxy */; - }; - 0DFAB1B4267B714118CC9CA41B5F697C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxRelay; - target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 845A5D353A94D4AF4765A35B34CAC214 /* PBXContainerItemProxy */; - }; - 0F9BFAA35C81929185584114F9DAA89F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDLogKit_Private; - target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; - targetProxy = 42A49F040680D40AE28FD7D56606E698 /* PBXContainerItemProxy */; - }; - 19C126890D8FC4A7437BBF3BFD6CBBDD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxSwift; - target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = D2994105D34C77A9CE19E569A0998EE8 /* PBXContainerItemProxy */; - }; - 1A9585BF080C129C9AAB4E0CFAD8E15A /* PBXTargetDependency */ = { + 08CC0161E23B7FE60596F88AA91C0CAB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SnapKit; target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = B89CFD256893D47260EC5B7E84B10D34 /* PBXContainerItemProxy */; + targetProxy = 4B6E232F094CA7668C1A96A93DC3A1C3 /* PBXContainerItemProxy */; }; - 1E0C90E558B3F57CE80BB8E2458CF8B5 /* PBXTargetDependency */ = { + 1532AB7327732E2B02D038D0C7F736B4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDCategoryKit_Private; + target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; + targetProxy = 15994C6CA871C61BA2776869B6B3C1EE /* PBXContainerItemProxy */; + }; + 24EFC140EF39274BD7287E44C2845249 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DDWebImageKit_Private; target = 477926D6FB1DCEFB352517A19636405D /* DDWebImageKit_Private */; - targetProxy = EC7E98CC1E093F58CB7A5C59852FC1D0 /* PBXContainerItemProxy */; + targetProxy = 1FDD4AC7C822873FEB985E51EACE8BF1 /* PBXContainerItemProxy */; }; - 1F5F3E0FCE564C3311A451B467E8C653 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDMAMapKit_Private; - target = B41F58F2856AB275B4CF75F359937653 /* DDMAMapKit_Private */; - targetProxy = 57C98C816CCD2BBD40015AD2800775A8 /* PBXContainerItemProxy */; - }; - 274763F1A2967B3B54DAE21309655B74 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapTrack-NO-IDFA"; - target = 2160840D78FCB958CABE1B88300E38C5 /* AMapTrack-NO-IDFA */; - targetProxy = 9DB989ABB7E489CF97F1EF0906FFADE7 /* PBXContainerItemProxy */; - }; - 280B8AF26306A5F5E34A413D3069F96B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = JXCategoryView; - target = 8BEAFAA726C1965864B79B4B441AA513 /* JXCategoryView */; - targetProxy = 4CCC8E7F220433AAF1BD4A31CD7D303A /* PBXContainerItemProxy */; - }; - 28AC28533F4288D6E4473DBC10FAF608 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDProgressHUDKit_Private; - target = 387C7767E705FE68450F97CBA4348CC0 /* DDProgressHUDKit_Private */; - targetProxy = F0DF0C4212AB7CA1A2C7974E4138E17F /* PBXContainerItemProxy */; - }; - 2A1C2426A4370B2B91279ADE95DEC0C1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDTimerKit_Private; - target = 79638F3BF2709E118064EF8B13DE3317 /* DDTimerKit_Private */; - targetProxy = D5FF2D00376AD2A548422E72D4B0D058 /* PBXContainerItemProxy */; - }; - 2CFCA00C3067210F125FBEDC0772E6C4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapLocation-NO-IDFA"; - target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; - targetProxy = 6F7787385B599A1FDF35D1CDDBC4F2EA /* PBXContainerItemProxy */; - }; - 32BA5AB3E0A01E7E4B198ACA212F6BFA /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDCategoryKit_Private; - target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; - targetProxy = 6B67A7B41856F41E3928F45AA8F326BA /* PBXContainerItemProxy */; - }; - 3C2B73037C2156876C03851BDD35D6BF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = IQKeyboardManagerSwift; - target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */; - targetProxy = 65AE8B30C563CD61F0E9CD3AAD58448D /* PBXContainerItemProxy */; - }; - 476963D64D1F6B90767FAA5A4220FA29 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapTrack-NO-IDFA"; - target = 2160840D78FCB958CABE1B88300E38C5 /* AMapTrack-NO-IDFA */; - targetProxy = E43A993DC8844040E6358025E1909527 /* PBXContainerItemProxy */; - }; - 4D926882C50F07A4D702F519CA670050 /* PBXTargetDependency */ = { + 255581C8F561CEC340550171090503F1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "ESTabBarController-swift"; target = 3F83465BA81F6E581B3A431642D2992E /* ESTabBarController-swift */; - targetProxy = F80B0713DE6E565ECC8347DA86B16350 /* PBXContainerItemProxy */; + targetProxy = 2F6E4396ADAD66F32E1359DCBFE2B2A0 /* PBXContainerItemProxy */; }; - 4EB9B642503DDC3654804B12E6C59FA7 /* PBXTargetDependency */ = { + 2AD493C9B2A89A0D7AE836F072D5E1B1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MJRefresh; - target = 6868056D761E163D10FDAF8CF1C4D9B8 /* MJRefresh */; - targetProxy = 147DED93EB6BFD3ABDF2FB4C77F975F9 /* PBXContainerItemProxy */; + name = DDLogKit_Private; + target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; + targetProxy = F689B30E28D8451ECFC9625A60969FF6 /* PBXContainerItemProxy */; }; - 4F9F7B937937F811632262E4CEB565A5 /* PBXTargetDependency */ = { + 2B87462A250750F803126FBF63354E6D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = DDCategoryKit_Private; - target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; - targetProxy = 3323CEFE776CED7234245797354EED9B /* PBXContainerItemProxy */; + name = DDProgressHUDKit_Private; + target = 387C7767E705FE68450F97CBA4348CC0 /* DDProgressHUDKit_Private */; + targetProxy = EACB92E8E85FD8B5CCBC34901F68F621 /* PBXContainerItemProxy */; }; - 4FA4E877E4DBE3207FCF3E58D9C152A8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapSearch-NO-IDFA"; - target = 4F1379598302C9160590B3650C10E1A5 /* AMapSearch-NO-IDFA */; - targetProxy = C34C862D1662208162375E214B42AA95 /* PBXContainerItemProxy */; - }; - 5723326132836363D5A4B7AC5E1EB665 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDBasicControlsKit_Private; - target = 087B100C5691B6A3C04A45198E6C32F6 /* DDBasicControlsKit_Private */; - targetProxy = 5347FB9A823FEF0CA5BE83E4AB6774DC /* PBXContainerItemProxy */; - }; - 57CA5AE48489204E38DB9D8DDB73AA44 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapLocation-NO-IDFA"; - target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; - targetProxy = 96D88E1A2E05BE05B56B01BED3739C93 /* PBXContainerItemProxy */; - }; - 5BBC48434F7B6BA339DBE2ECFEB21908 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDControlsKit_Private; - target = 035D1842293C4AA08F442FFD899F7F28 /* DDControlsKit_Private */; - targetProxy = 944CDA4BF8173CC5BEFB9435CC490EB5 /* PBXContainerItemProxy */; - }; - 5FEAB20F8063493821D4E4BE5FD7D64E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapFoundation-NO-IDFA"; - target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; - targetProxy = CE91C5BBD6E5A2860EC61FCE2E7AA2B4 /* PBXContainerItemProxy */; - }; - 6111C3E77E6276A2A9FF2D0815C81AAD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDCategoryKit_Private; - target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; - targetProxy = 70904365BFF2E04D57E18541B4B692C3 /* PBXContainerItemProxy */; - }; - 6FAFA5B20096F46171255A52ACB66113 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapLocation-NO-IDFA"; - target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; - targetProxy = 68D8EA5FD6596AF843DB9F41B035CA1E /* PBXContainerItemProxy */; - }; - 75EA08E5A035F7A94D53628576D0E4E4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxRelay; - target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; - targetProxy = 34DC5DA2D7ADCAD275064D7B3D6AE4FE /* PBXContainerItemProxy */; - }; - 7964796E44E7A16CBF537318F7835EF7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "DDBasicControlsKit_Private-DDBaseViewController"; - target = 5C23965029860967865B3429B5E29092 /* DDBasicControlsKit_Private-DDBaseViewController */; - targetProxy = AF1043DC4BF1B8947F7C0E451762F6CE /* PBXContainerItemProxy */; - }; - 7A4718C4055A9B9D81AA50420B085B37 /* PBXTargetDependency */ = { + 30D494563B3B4309B6BF8CB38916EEDB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ZFPlayer; target = 93FD1F93E0C30B2749BD8A6EC148F233 /* ZFPlayer */; - targetProxy = 95C375DD6359CC01AAA6A0FF3E725DE4 /* PBXContainerItemProxy */; + targetProxy = 4D99228358E24C18E3DB9CF4886F7B29 /* PBXContainerItemProxy */; }; - 7E6CFB7B77F790B27FEE0DB78E320116 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDToastKit_Private; - target = CFF5B7CDF57A32781D2AD4CC98E95B29 /* DDToastKit_Private */; - targetProxy = CA893E12911370EEC41D9815E678F3BA /* PBXContainerItemProxy */; - }; - 7FD42FBF5042299F03E37CDAFDB5D6EB /* PBXTargetDependency */ = { + 334BA62AE7F2DCAE1120F665D966C436 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ZLPhotoBrowser; target = 2FAF03761A44702490259F857A848B42 /* ZLPhotoBrowser */; - targetProxy = 765802DF0F899C141CB7E5218143AC45 /* PBXContainerItemProxy */; + targetProxy = 78D10DDB263B9FB54D48F88BE489451D /* PBXContainerItemProxy */; }; - 84857BD62DFFF69C5127C0A0AC92B801 /* PBXTargetDependency */ = { + 3541125D5FC39409F273A522CC6987B9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDMAMapKit_Private; + target = B41F58F2856AB275B4CF75F359937653 /* DDMAMapKit_Private */; + targetProxy = DA6241CC520A4D1F198D4A213F1965CE /* PBXContainerItemProxy */; + }; + 3790251969DE89862999E250092B0C11 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = E81624370BD34D23C5BFF58A25F05E50 /* PBXContainerItemProxy */; + targetProxy = F3F52F89F81C1200E92310F1486E8A0B /* PBXContainerItemProxy */; }; - 99A501F5FDDDA9296A285433BB8F205B /* PBXTargetDependency */ = { + 4086C9F73A81626458FBB6AEE2FBE637 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapFoundation-NO-IDFA"; + target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; + targetProxy = 5FDF55525293E1C2E128181EE4D6D173 /* PBXContainerItemProxy */; + }; + 4A3F1765F724D0365E7CA3022FBB1307 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DDColorKit_Private; target = BFED7668E8D0960F3873C9C1329EB63F /* DDColorKit_Private */; - targetProxy = CAB1369BE103F0B106C7144BBB746AA9 /* PBXContainerItemProxy */; + targetProxy = 2118D20BCE376ABC55BCEB91228C0515 /* PBXContainerItemProxy */; }; - A214683C824FCF787F5892E5AFCC4C46 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapFoundation-NO-IDFA"; - target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; - targetProxy = 233212D44A2ED3BC5C39EBE3C3A1E129 /* PBXContainerItemProxy */; - }; - B1EA0E5A5A71426896DD05F133E586A0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "DDMAMapKit_Private-DDMAMapKit_Private"; - target = 6056870867CC4728BCEF2E5EBDD1DCB3 /* DDMAMapKit_Private-DDMAMapKit_Private */; - targetProxy = D31E650FFC879DA46049D31E181A499B /* PBXContainerItemProxy */; - }; - B42A82284C45F1D443D3B76679685EE3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftEntryKit; - target = FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */; - targetProxy = 4A0F6ABFEEDE1F825083BD8B42CAD1F3 /* PBXContainerItemProxy */; - }; - BF01A7CD8CCB0BF18FC5ABDD31946A4E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDBasicControlsKit_Private; - target = 087B100C5691B6A3C04A45198E6C32F6 /* DDBasicControlsKit_Private */; - targetProxy = 649BE9A2E2A7654CA7E6F012A2E34D30 /* PBXContainerItemProxy */; - }; - C49E2E68248554D339057AED7414AC35 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = 0DD0A8D209784BCE3668A35010DA271F /* PBXContainerItemProxy */; - }; - C7E52044932C16D9F0C170C35930A7E0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RxSwift; - target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = 4682D081923623F4D3A5C09850B8B2FD /* PBXContainerItemProxy */; - }; - CA4983EEA32EC3AF0399C396C0A3EEFE /* PBXTargetDependency */ = { + 4BB14946016CEFEE99613F11253DB1DC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "AMapSearch-NO-IDFA"; target = 4F1379598302C9160590B3650C10E1A5 /* AMapSearch-NO-IDFA */; - targetProxy = C783668D97D7B0D93BE6BA65164C63B0 /* PBXContainerItemProxy */; + targetProxy = 6F6FE1AD11AC6A8ECD660A0306EB075E /* PBXContainerItemProxy */; }; - CE66320A3ED83A785B5DB640AB1C8C37 /* PBXTargetDependency */ = { + 524BA565E30CF35FD907A232B70C103F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "AMapFoundation-NO-IDFA"; - target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; - targetProxy = 462BC3F3B49BAB182CCD5B646D6E29AE /* PBXContainerItemProxy */; + name = SwiftEntryKit; + target = FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */; + targetProxy = 76F17CD442B98603DDE70224C1E98A47 /* PBXContainerItemProxy */; }; - E143E58A831B28FA79FD44C8EB131077 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapNavi-NO-IDFA"; - target = E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */; - targetProxy = 177EEEB468C0362F42D4075B9D5917FC /* PBXContainerItemProxy */; - }; - E2822B35D715F144CDC9F4BF995F82A3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDNetworkingOfAlamofireKit_Private; - target = B68A4B40517CF9B14050FA0A4A618B04 /* DDNetworkingOfAlamofireKit_Private */; - targetProxy = 74B701F025C77EFABE4CE716C126F22B /* PBXContainerItemProxy */; - }; - E451BE8DE4FCE839D6FD0882CC31C6AF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDAutoUIKit_Private; - target = 53463808DD395EFE0C9E0CDCB79A6C0A /* DDAutoUIKit_Private */; - targetProxy = 03780DD521CF51C1DD84CE63DBFA1569 /* PBXContainerItemProxy */; - }; - EBF7340FAFD404AE5BBFF374B193CA7D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = E7D1730FE40793C7D5F7169C2938B384 /* PBXContainerItemProxy */; - }; - F13D430248BEEA033FE01C5A1F1B81A8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDFontKit_Private; - target = 8F3F4D8426620E7E4A06FE4BCDB96FDE /* DDFontKit_Private */; - targetProxy = 8020F11F6D7BD1B9CAC38F9B169853FB /* PBXContainerItemProxy */; - }; - F4AEEC07C28DA710528368A2C7AB8F9F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "AMapFoundation-NO-IDFA"; - target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; - targetProxy = 49697E565DEBABCFA269F3A35A752EB1 /* PBXContainerItemProxy */; - }; - F7BACD898B6419466412BA3FC4BA8A31 /* PBXTargetDependency */ = { + 5A5F0747268A56DD413FF535572E3FC8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; - targetProxy = F55B6D4CF51A6C8C3B8B974312BB07BA /* PBXContainerItemProxy */; + targetProxy = 8B01CD18E6F869F8C0A015E2128525F6 /* PBXContainerItemProxy */; }; - F876904D42A179812225C6103B204A06 /* PBXTargetDependency */ = { + 5C2E4D2C312E49CB193563346E1D07D5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "AMapNavi-NO-IDFA"; - target = E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */; - targetProxy = 9E5C2167EF38ABD80F63B849A4596B4D /* PBXContainerItemProxy */; + name = DDBasicControlsKit_Private; + target = 087B100C5691B6A3C04A45198E6C32F6 /* DDBasicControlsKit_Private */; + targetProxy = 8C53355CC16B3FC858B0CA495A4B59DC /* PBXContainerItemProxy */; }; - F920FC333490AC35C509F77D28D52FF3 /* PBXTargetDependency */ = { + 61EC8A7EB691DF92466508AA721B6CE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxCocoa; + target = 7AD0C6DCDC9CEC8A3C7C10C7FEE07BE6 /* RxCocoa */; + targetProxy = 91B91710858A2EA4A11CBC7F6D77186D /* PBXContainerItemProxy */; + }; + 64DE32D15921521AD41F522400EE836B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDCategoryKit_Private; + target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; + targetProxy = 8AE0B4F135AD34EA2C32B9C0C5AAFE93 /* PBXContainerItemProxy */; + }; + 65AF176657AC2F6885B82ED09ACB509C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JCore; + target = D504B99928659EA67A1C3A9E981EB8FF /* JCore */; + targetProxy = 60508FB760205C9FA79E0103CE0F6291 /* PBXContainerItemProxy */; + }; + 6862D5B524A24708931C3F1FA6FFF0F0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxRelay; + target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; + targetProxy = 0DC09DF2D277EDFF0D7EEABFFA357C47 /* PBXContainerItemProxy */; + }; + 6B201CD1E504F186F47BB1FF91A28465 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "DDBasicControlsKit_Private-DDBaseViewController"; + target = 5C23965029860967865B3429B5E29092 /* DDBasicControlsKit_Private-DDBaseViewController */; + targetProxy = A866080E6D7C8FAB491AF2FC2BA6C6CD /* PBXContainerItemProxy */; + }; + 6B54EA2198C114EDB5BE83F7EF2143EF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DDLogKit_Private; target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; - targetProxy = 75679D9B94AF269B923468F3DB316CFE /* PBXContainerItemProxy */; + targetProxy = 1F1F22C93F411D9583817C62125AF548 /* PBXContainerItemProxy */; }; - FB41CF6A90AB075287327C70857F4F9E /* PBXTargetDependency */ = { + 6DC80D7FA6B43AB013CD2870F6537B24 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDNetworkingOfAlamofireKit_Private; + target = B68A4B40517CF9B14050FA0A4A618B04 /* DDNetworkingOfAlamofireKit_Private */; + targetProxy = 2339CE3C16E46F9101B7CC1FE64120D6 /* PBXContainerItemProxy */; + }; + 71C5910DE3783EBA95EC052780476D65 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JXCategoryView; + target = 8BEAFAA726C1965864B79B4B441AA513 /* JXCategoryView */; + targetProxy = 2F4CA86F1BB7BB1C54E31A26EC2EB459 /* PBXContainerItemProxy */; + }; + 71D3322039C233073086347CE0773989 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDCategoryKit_Private; + target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; + targetProxy = E2F984746EC93082E71E3D53BB4581E9 /* PBXContainerItemProxy */; + }; + 749FD6106682AD8A7CE1C754C5BB9C46 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapLocation-NO-IDFA"; + target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; + targetProxy = 64B2E5075349B7C22EAAB308DF2D1E2F /* PBXContainerItemProxy */; + }; + 74E126F479F4C4474E5F6DBA7A843E94 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "AMapFoundation-NO-IDFA"; target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; - targetProxy = 7C6329D7B7497909C3D817BE6E00D3F4 /* PBXContainerItemProxy */; + targetProxy = 208C1D35E281A86AFD3450B227AEEC73 /* PBXContainerItemProxy */; }; - FCE6975C09D5ECD51F6E38DC5C138258 /* PBXTargetDependency */ = { + 7E1F312510D8AC372C8295E912DC4CBA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapLocation-NO-IDFA"; + target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; + targetProxy = B6B25724A80F22DFF163DD9A1E0EC8ED /* PBXContainerItemProxy */; + }; + 7F6CECF0F8A34FF59F8CCDA8270AEA7B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDAutoUIKit_Private; + target = 53463808DD395EFE0C9E0CDCB79A6C0A /* DDAutoUIKit_Private */; + targetProxy = E855E7ADF75BF147F0B13D96898467AB /* PBXContainerItemProxy */; + }; + 8022BBFA24D112ED725B3EB0514B4BFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxRelay; + target = 4622BFEF3DC16E8BD15EEFC30D4D0084 /* RxRelay */; + targetProxy = 0F7087140CC290173E3DA4EF1D8657C1 /* PBXContainerItemProxy */; + }; + 827962AE1C3A7CD5F0801A06122DA003 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYImage; + target = 822E44240F2922DAB12018A6B649BD19 /* YYImage */; + targetProxy = A1E8B5220C55E65CA80E4B3C080D3CA2 /* PBXContainerItemProxy */; + }; + 84321688711DE1D5B51BFB44899019AB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapKit; + target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; + targetProxy = 1661F92F3969C1D7A3A3F8358424A642 /* PBXContainerItemProxy */; + }; + 8C3A7B8C3C6A7F3BFF138523B7144D03 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDCategoryKit_Private; + target = 7B8412F08BD27981DB53CE2C25C19F0A /* DDCategoryKit_Private */; + targetProxy = 7CD8AA611CFA004B4DA0DD71E61AA0CD /* PBXContainerItemProxy */; + }; + 8D08A5945E4D46D4E143DA15D25F1E78 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = MJRefresh; + target = 6868056D761E163D10FDAF8CF1C4D9B8 /* MJRefresh */; + targetProxy = A3282C3388577FBB116129040C5FD008 /* PBXContainerItemProxy */; + }; + 9329F65FD2158A562B0A586940E4E19C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapFoundation-NO-IDFA"; + target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; + targetProxy = B47B51ED42E1CBD8034CD8D8C5DF654E /* PBXContainerItemProxy */; + }; + 940659E799A4878C0511002FAAAF8E86 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapNavi-NO-IDFA"; + target = E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */; + targetProxy = 7EC841FC5286C4567D76C9EB3D94CD37 /* PBXContainerItemProxy */; + }; + 96DBBEC82CDF40A70C8BA2DD1AF26D2D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DDLogKit_Private; target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; - targetProxy = A9BF4C5AAA7851D1CACF6CAE4A7AD159 /* PBXContainerItemProxy */; + targetProxy = 3CFC8AC3535FFA43FDA7E135C85E2276 /* PBXContainerItemProxy */; + }; + 971A6341B40EBAEDA77292546136FC4B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JCore; + target = D504B99928659EA67A1C3A9E981EB8FF /* JCore */; + targetProxy = F313C5D6C0969AB225BF8EEFAFE3DC99 /* PBXContainerItemProxy */; + }; + 99E64E718D094B0E656AE5AD19A704C9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDLogKit_Private; + target = 26BA8950EBF05410254D54F7EF76D5CE /* DDLogKit_Private */; + targetProxy = 3F78048655DEBA0FB585BEBEAA159F8F /* PBXContainerItemProxy */; + }; + 99FBDD77482CDFC3277781527D1D7972 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = 39E8D44F0588E914D3AD4796D82E9B38 /* PBXContainerItemProxy */; + }; + A11D5BCCE9B49EF508F3B0C2CF48F7B9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapNavi-NO-IDFA"; + target = E94C558142469C11984D67CA883BAB1F /* AMapNavi-NO-IDFA */; + targetProxy = 120936ABE9C893D487D39E9F7B5E54E9 /* PBXContainerItemProxy */; + }; + A1E780E31F3B85FE0C050B1F24D013D6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapSearch-NO-IDFA"; + target = 4F1379598302C9160590B3650C10E1A5 /* AMapSearch-NO-IDFA */; + targetProxy = 7D0055AF1186E53E9D4D0E9338739E34 /* PBXContainerItemProxy */; + }; + AA69FCC8A08ABBA55367B61B9B1BE60D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = DED2245CA0D4A6A6FFA312A050D98BEE /* PBXContainerItemProxy */; + }; + AAE1A277CFD54209E61491A4EAA858C6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JPush; + target = 5FB6AB0A09E7A2F2BE11AD6BAEFD9AED /* JPush */; + targetProxy = D107C624FFF051299E72835B4D20CA7A /* PBXContainerItemProxy */; + }; + AC62B0A8D8FB81276A14DE9753776102 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDToastKit_Private; + target = CFF5B7CDF57A32781D2AD4CC98E95B29 /* DDToastKit_Private */; + targetProxy = 85B18A97D4FC09F637283EF19D0457CF /* PBXContainerItemProxy */; + }; + ACD4FA7899A355E52CE1A717984F20E4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDControlsKit_Private; + target = 035D1842293C4AA08F442FFD899F7F28 /* DDControlsKit_Private */; + targetProxy = 145765C993C157E2B9DEBE196D598674 /* PBXContainerItemProxy */; + }; + B25BF88C3165BA47B3F3E785A73793AA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapFoundation-NO-IDFA"; + target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; + targetProxy = 2E33425C4290F298FA3694F1D0A81CD2 /* PBXContainerItemProxy */; + }; + B7559FBBB242E6F20399E8997935C2D4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = CocoaDebug; + target = 0A2E6BA6D5360D619D7CABED3467AA69 /* CocoaDebug */; + targetProxy = 0CAAB88FF3A04F0293ECD80EBB1A6B7B /* PBXContainerItemProxy */; + }; + BB1F41D5AAD468600620BBC9D5DA9BF9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYImage; + target = 822E44240F2922DAB12018A6B649BD19 /* YYImage */; + targetProxy = 9D51C1249F2C8FCC169DDC053B1F7417 /* PBXContainerItemProxy */; + }; + BB68B7CA1759B8521B09F87ECB466007 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDTimerKit_Private; + target = 79638F3BF2709E118064EF8B13DE3317 /* DDTimerKit_Private */; + targetProxy = 71A8267364F7160FFD760CA5A09057D3 /* PBXContainerItemProxy */; + }; + C7F7BAB2404BD01851636FC3E989C5BE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDBasicControlsKit_Private; + target = 087B100C5691B6A3C04A45198E6C32F6 /* DDBasicControlsKit_Private */; + targetProxy = FB9F92439EDA0876258742F94B832B56 /* PBXContainerItemProxy */; + }; + D142EB589EC31D3AA5BDCF9099CB1262 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = IQKeyboardManagerSwift; + target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */; + targetProxy = B6C520D90CC4276BBEFF6942BA7812FC /* PBXContainerItemProxy */; + }; + D36041CA2FB27915222DFB7BD0A01F5B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "DDProgressHUDKit_Private-ProgressHud"; + target = 11A7259776035C865EEAAB13266CC339 /* DDProgressHUDKit_Private-ProgressHud */; + targetProxy = A375E3212D86D9CD2726E2D131135564 /* PBXContainerItemProxy */; + }; + D7CF0D5040D0972A926AD50070897660 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxSwift; + target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; + targetProxy = DF062D40472178080622E8EF9A4A136D /* PBXContainerItemProxy */; + }; + DDE5B6220495BCBAD079CC807F08B022 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxSwift; + target = EA9EA43B3B503823EE36C60D9C8A865F /* RxSwift */; + targetProxy = CE3E08BEFF72A2F502909BF155CC1F0C /* PBXContainerItemProxy */; + }; + E2FBF7E96569E15ADD843A1A47EAFCA6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapTrack-NO-IDFA"; + target = 2160840D78FCB958CABE1B88300E38C5 /* AMapTrack-NO-IDFA */; + targetProxy = BB161440B05319D0A76E6B086E750C10 /* PBXContainerItemProxy */; + }; + E4AD264747CC431E6168C66223685E7E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapLocation-NO-IDFA"; + target = 4BD4E22D3419D68A85BDD6119CB37C6C /* AMapLocation-NO-IDFA */; + targetProxy = 66F805FB2F9DBD217018092368DDA38C /* PBXContainerItemProxy */; + }; + E65D4A0F8C21C372342B0DA90BE8CE0B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "DDMAMapKit_Private-DDMAMapKit_Private"; + target = 6056870867CC4728BCEF2E5EBDD1DCB3 /* DDMAMapKit_Private-DDMAMapKit_Private */; + targetProxy = 5C4D03A3B38985BA38027F0DCAF3FED0 /* PBXContainerItemProxy */; + }; + EA3B40AC6911D96F4553FE92A1028D87 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDFontKit_Private; + target = 8F3F4D8426620E7E4A06FE4BCDB96FDE /* DDFontKit_Private */; + targetProxy = E16CE1B4255DD9DD358B138E411A5255 /* PBXContainerItemProxy */; + }; + EE29F68B336864FC68E03540D93D2FF3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AMapFoundation-NO-IDFA"; + target = 9B182CB4E1716E9070813D3C59736001 /* AMapFoundation-NO-IDFA */; + targetProxy = 42F99A9478E8F8B60B36EBA31C6E121D /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 018D720E452377F7AFADDD01046CD345 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B0A987A861294231DE10A2071637DAEA /* CocoaDebug.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/CocoaDebug/CocoaDebug-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MODULEMAP_FILE = Headers/Public/CocoaDebug/CocoaDebug.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CocoaDebug; + PRODUCT_NAME = CocoaDebug; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 075FC195A91137290116F8CC99AB6F87 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 099F1BFFAAD0DA15B0B54822EB4A8484 /* SnapKit.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MODULEMAP_FILE = Headers/Public/SnapKit/SnapKit.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; 08DB115CE7F4C5FF3BE8B29587F71FD4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3A2ACBC11F7C71AC47CE26B1F1909987 /* DDFontKit_Private.release.xcconfig */; + baseConfigurationReference = AE084786A16AF311901B49348AEE4C0E /* DDFontKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8619,9 +9956,64 @@ }; name = Release; }; + 10033F983D8CDC30EBABCCF18D85E90E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 76040B9F9791E5BEA10329D8B991B389 /* DDCategoryKit_Private.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/DDCategoryKit_Private/DDCategoryKit_Private-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDCategoryKit_Private; + PRODUCT_NAME = DDCategoryKit_Private; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 10812AA98C15EE9046709041DE8A6027 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 82F50EBA6187811DB37C287872CFB004 /* RxSwift.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/RxSwift/RxSwift.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = RxSwift; + PRODUCT_NAME = RxSwift; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + SWIFT_VERSION = 5.1; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; 1217A5FD207A369EC08F200D61302F28 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 72503BDFC7A65E3D8D24320D59918FD2 /* AMapSearch-NO-IDFA.release.xcconfig */; + baseConfigurationReference = D95E2E47DE21DFFCE1A772B5621B654A /* AMapSearch-NO-IDFA.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -8641,7 +10033,7 @@ }; 123B56BFFEB521A2C49BD4633B53B7A7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6B991895339B324F8088470B8491A5F9 /* AMapTrack-NO-IDFA.release.xcconfig */; + baseConfigurationReference = 782191E1A03F33C0F53E199A14033766 /* AMapTrack-NO-IDFA.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -8661,7 +10053,7 @@ }; 1450BF00D614BC5BD29AEBAB30F1298A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8DDF1C7F1CE9A6ED5210FF605A8CC6B2 /* DDColorKit_Private.release.xcconfig */; + baseConfigurationReference = 8A7EA480D2BC34E9668D56C14531309C /* DDColorKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8689,7 +10081,7 @@ }; 188FC488B4497E52A2AD63D9E9A58C6F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4C616D73C4D59FA9980D5AFB3E84FC37 /* DDTimerKit_Private.debug.xcconfig */; + baseConfigurationReference = 477B33D611D48B0972EBAF937D76C204 /* DDTimerKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8714,9 +10106,36 @@ }; name = Debug; }; + 19C4CDB3A65F8CBD21A3DB7A2516F7CE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 63DE44606FAA04C4C198B814BF2AB78F /* SnapKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MODULEMAP_FILE = Headers/Public/SnapKit/SnapKit.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; 1AA4002D0330C8EF5B31DF576A7A59F6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0DDF15B1CDB3036E5E12728D20B9B575 /* MJRefresh.debug.xcconfig */; + baseConfigurationReference = 763077C36964E5620A66FFE6910B1FE6 /* MJRefresh.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -8742,7 +10161,7 @@ }; 1E1C0DC034CB8D9DDA9B48115E03DD39 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5663CA1A072365E079AB0279D374A49B /* ZLPhotoBrowser.debug.xcconfig */; + baseConfigurationReference = E92818FE9CC568ADC401AC6CB9F06F01 /* ZLPhotoBrowser.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8769,7 +10188,7 @@ }; 1E5970583A4B8409CA1869CC05736093 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B2CA81E1BB6BCD74B0BA59998F1DDF29 /* DDWebImageKit_Private.release.xcconfig */; + baseConfigurationReference = 95480C3872E4E17C74617FBFBF8025A9 /* DDWebImageKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8797,7 +10216,7 @@ }; 236308304D4140A59E416ED9AF9CF176 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 34C2756B00AC88A396952D626B495CC4 /* AMapLocation-NO-IDFA.release.xcconfig */; + baseConfigurationReference = EE198990BF95973D8B7322044053757B /* AMapLocation-NO-IDFA.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -8815,9 +10234,29 @@ }; name = Release; }; + 2384B389FE9C559487EAAF74FBF2B839 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2C1C4A3E2178000E5EFB7C49B94F661B /* JPush.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; 2774D786BC2717CFCFF207AB6F982889 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A85800C43FC5374FFF6FE49EEAD196FF /* IQKeyboardManagerSwift.release.xcconfig */; + baseConfigurationReference = BF9998B286D7ACFFC4976417199AF103 /* IQKeyboardManagerSwift.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8845,7 +10284,7 @@ }; 2AE5AF3FD2DFDCD43CC42B444D3685F9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BD799FB44D63CB12B2556C100956D9C7 /* DDTimerKit_Private.release.xcconfig */; + baseConfigurationReference = 85837A3E0FBD2E0D167E65DF62CEF1D5 /* DDTimerKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8873,7 +10312,7 @@ }; 2B36F70CE1C1C6501F373FCE4126DC6E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9368D27A739E89A76D60B05B1F244248 /* DDFontKit_Private.debug.xcconfig */; + baseConfigurationReference = C51B13F39D6336C623AF0B2F4FD07137 /* DDFontKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8898,63 +10337,9 @@ }; name = Debug; }; - 2C98B104B0BD6FAEB08C9437144807D0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22BAE7ADCF6961EFB9689B374084F1C8 /* SnapKit.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MODULEMAP_FILE = Headers/Public/SnapKit/SnapKit.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 307EE98D550EF88B9ECA971F4E72E658 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 64A4347492E5BF73D38A079432A4FB04 /* DDLogKit_Private.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/DDLogKit_Private/DDLogKit_Private-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDLogKit_Private; - PRODUCT_NAME = DDLogKit_Private; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; 4056C9A08E35ACD5BBC3D37087CDAFA1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 66862513F4F0673A25B5298E4D72837C /* DDMAMapKit_Private.debug.xcconfig */; + baseConfigurationReference = C13D915F24332003C92E573FD516CF8F /* DDMAMapKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -8981,7 +10366,7 @@ }; 42A9DE01C961F294E9E65F606C83F895 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BA5A5E3562C1DAEC8115E9CF0F942B58 /* JXCategoryView.debug.xcconfig */; + baseConfigurationReference = C642C0F14B6B038C9E3F467DA28FFD1B /* JXCategoryView.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9005,33 +10390,9 @@ }; name = Debug; }; - 451E676FD5128438BE9121B29F9E7DE0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FC6ADF39936BEB2CFFFD7E2E76154921 /* Pods-OrderScheduling.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; 45C0D4101B0105F3C514D259CC801DD3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 66759E5F4390DB94C4C82C3E95DBC797 /* ESTabBarController-swift.debug.xcconfig */; + baseConfigurationReference = 07036F7B6AD4A7E150D2286C454F5302 /* ESTabBarController-swift.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9055,9 +10416,35 @@ }; name = Debug; }; + 464CCB4B6B798EA079E18AF7C8A945C5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7D052BA31A4EFF0AE6AA2E1DFA1C0F27 /* RxSwift.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/RxSwift/RxSwift.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = RxSwift; + PRODUCT_NAME = RxSwift; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.1; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; 4672A4BF14B52FE4E6C61D2CBB58D572 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5CDD64B4F6D049953AEEEAF686B88DC5 /* AMapNavi-NO-IDFA.release.xcconfig */; + baseConfigurationReference = 3AD747C5387B5EF1AFCEAB6E0E2EBD19 /* AMapNavi-NO-IDFA.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -9077,7 +10464,7 @@ }; 4BEBBC249728A8B650356245E4D06440 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 93302FD048F05C28A20840CB29A518B5 /* ESTabBarController-swift.release.xcconfig */; + baseConfigurationReference = DBDDACE7ED328F95E37674D0061C6225 /* ESTabBarController-swift.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9102,9 +10489,36 @@ }; name = Release; }; + 4D3FC126CD488D9CDA99461CFE8861E3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7CF864BC6FE042C7B90DCE11EA8080B1 /* DDCategoryKit_Private.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/DDCategoryKit_Private/DDCategoryKit_Private-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDCategoryKit_Private; + PRODUCT_NAME = DDCategoryKit_Private; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; 4D70571EBB2A5ADDB6D08E86FCEA1D56 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7F35095B25197954930E7C85CF1AF17 /* DDAutoUIKit_Private.release.xcconfig */; + baseConfigurationReference = 701C17A99372BE7088969F793D8EBC60 /* DDAutoUIKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9132,7 +10546,7 @@ }; 51D20D1EB1E2372322A459D47077BFD1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E4216D1779B7A2F42138D94078809E57 /* JXCategoryView.release.xcconfig */; + baseConfigurationReference = E99818E6F05F4B0EFC10292117AF6246 /* JXCategoryView.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9157,9 +10571,35 @@ }; name = Release; }; + 52F727EEFAAA4AD01D4E9025859301A3 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B975BF86311A33053F172E4E22C01E07 /* Pods-OrderScheduling.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; 55D69FAAE9CCBBAED1163854F0161EDB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C105B33D3B9D5168FE1E0B9AC73EED6E /* AMapFoundation-NO-IDFA.debug.xcconfig */; + baseConfigurationReference = ECCC9356BBC06A71883B78AFA88E115B /* AMapFoundation-NO-IDFA.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -9175,37 +10615,9 @@ }; name = Debug; }; - 57BF4888D7477B2F15F6D6F14ACC168D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6AE52761D29B87759A8CDB4D298680E6 /* DDProgressHUDKit_Private.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDProgressHUDKit_Private; - PRODUCT_NAME = DDProgressHUDKit_Private; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; 5A6220AD7DA9D160794FE6BF8FD205E8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E503856D2A5845FBF4D8229A75F08E60 /* SwiftEntryKit.release.xcconfig */; + baseConfigurationReference = C00FE287114359C893BFF76BA2EB6333 /* SwiftEntryKit.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9230,64 +10642,55 @@ }; name = Release; }; - 6404728A49E9B4BE45341C3881E47051 /* Release */ = { + 5C7550BB13A6EBF5FA8F17FC7054446C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA7E8C40551B5BDFBD6835BC5E5084EB /* SnapKit.release.xcconfig */; + baseConfigurationReference = 435B0CAE533059D8B1E7A87953401EBC /* RxRelay.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MODULEMAP_FILE = Headers/Public/SnapKit/SnapKit.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/RxRelay/RxRelay.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; + PRODUCT_MODULE_NAME = RxRelay; + PRODUCT_NAME = RxRelay; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 6822408749897DE4CEAA8E318BB22CF3 /* Debug */ = { + 682A904A766523DF8B0579DE5B6CB0CD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0E3AEBF8D896ACBF5F41457ADFBB5F67 /* DDProgressHUDKit_Private.debug.xcconfig */; + baseConfigurationReference = 5D1A9167FA3EC0FC795900F21B99FC5E /* DDProgressHUDKit_Private.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDProgressHUDKit_Private"; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private-prefix.pch"; + IBSC_MODULE = DDProgressHUDKit_Private; + INFOPLIST_FILE = "Target Support Files/DDProgressHUDKit_Private/ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDProgressHUDKit_Private; - PRODUCT_NAME = DDProgressHUDKit_Private; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PRODUCT_NAME = ProgressHud; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; }; - name = Debug; + name = Release; }; 683CBD3ED2DF10F90BE5DF8A32678829 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 29AA1A8B6BE56F500A96454977C1D1E5 /* AMapNavi-NO-IDFA.debug.xcconfig */; + baseConfigurationReference = D14743D19E84479815BD293CC3CCA50C /* AMapNavi-NO-IDFA.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -9303,37 +10706,9 @@ }; name = Debug; }; - 6AF2960CBEC31D66EDD1F5D0683B7CDA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 34DD58A54E7FDEC80E1477F08DCF7F30 /* DDCategoryKit_Private.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/DDCategoryKit_Private/DDCategoryKit_Private-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDCategoryKit_Private; - PRODUCT_NAME = DDCategoryKit_Private; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; 6BFBACFB4B6A8D5381F77CE5DD2C3D31 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E1EF137B5FB3A7465B998DDF44EFE49D /* DDColorKit_Private.debug.xcconfig */; + baseConfigurationReference = 69F3E819D0775573D756676F918A674F /* DDColorKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9358,27 +10733,9 @@ }; name = Debug; }; - 6CEDA6B8E79C77FC75B1773EE6D1A961 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A153CB9EFC27F4874D61DFD418A066BF /* DDBasicControlsKit_Private.debug.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDBasicControlsKit_Private"; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IBSC_MODULE = DDBasicControlsKit_Private; - INFOPLIST_FILE = "Target Support Files/DDBasicControlsKit_Private/ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = DDBaseViewController; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; 6DF268663C4E2B7742193B9E3287C2D5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 593F35D092636E3E23F968C96B14DCE1 /* RxCocoa.debug.xcconfig */; + baseConfigurationReference = 58F527AE5401DDF13793CDD60001D53A /* RxCocoa.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9402,35 +10759,9 @@ }; name = Debug; }; - 78B828F7F265FFD8F8407837A04473B1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD682AFA44F8EC8B6496336C610C55A4 /* RxSwift.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/RxSwift/RxSwift.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RxSwift; - PRODUCT_NAME = RxSwift; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; 7B6677F218B10F7EDFAE251E01DE5D8B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8E9F5D6A46BD08B8C946B40877101316 /* Alamofire.debug.xcconfig */; + baseConfigurationReference = 392F075778AF340B5CD7F0333BCF0D71 /* Alamofire.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9457,7 +10788,7 @@ }; 7BD8B011D33F9E7AB4EFDAA942433D92 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2D175CE9E7E0AE9DCAF675F0B5C8DF62 /* AMapFoundation-NO-IDFA.release.xcconfig */; + baseConfigurationReference = 0D171F326CE9B532A2DB375770BEBDBD /* AMapFoundation-NO-IDFA.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -9475,9 +10806,36 @@ }; name = Release; }; - 81C192511B584793A2CE37902FB0ACC5 /* Release */ = { + 8006B3E8C34C348CC390A40955F6C972 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0CD007EE53D55A9DF36105AA394FE726 /* DDLogKit_Private.release.xcconfig */; + baseConfigurationReference = 573B1AF3D94C6E783F8E4E5DA996E230 /* DDLogKit_Private.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/DDLogKit_Private/DDLogKit_Private-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = Headers/Public/DDLogKit_Private/DDLogKit_Private.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDLogKit_Private; + PRODUCT_NAME = DDLogKit_Private; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 87116AF48FBE8A82A2CDBCAB94088DE9 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 95E7C8CAE8DBC7FD87C0FB53B69224B1 /* DDLogKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9503,32 +10861,6 @@ }; name = Release; }; - 8897042CF6D6BFEF692C3491C7C581F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B975BF86311A33053F172E4E22C01E07 /* Pods-OrderScheduling.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9597,7 +10929,7 @@ }; 8FD1259F570D3832041DE48EDDA60A88 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 28FB29DA3123736C7E215143607466F9 /* RxCocoa.release.xcconfig */; + baseConfigurationReference = B23978AC52BD5E2A0FC2DE78FE31AAB9 /* RxCocoa.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9622,36 +10954,28 @@ }; name = Release; }; - 90CCE8EC946273AA018433046A18454A /* Release */ = { + 94E7ACDC51CBE7C42DFFB8150A058E70 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C96CC849FB536D0DEEC488D2D424FAA2 /* RxSwift.release.xcconfig */; + baseConfigurationReference = 2285C43E3120A0E3FEF48618C47EE5C4 /* DDBasicControlsKit_Private.release.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDBasicControlsKit_Private"; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/RxSwift/RxSwift.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RxSwift; - PRODUCT_NAME = RxSwift; - PUBLIC_HEADERS_FOLDER_PATH = ""; + IBSC_MODULE = DDBasicControlsKit_Private; + INFOPLIST_FILE = "Target Support Files/DDBasicControlsKit_Private/ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = DDBaseViewController; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = bundle; }; name = Release; }; 97A9CB5C4BE06E8D17B746825DD5EEF6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D960164D00192805BD53A8BA00FE1EC7 /* DDControlsKit_Private.debug.xcconfig */; + baseConfigurationReference = 2208B0BE7EF934DEBD8304DC88B49B91 /* DDControlsKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9676,6 +11000,25 @@ }; name = Debug; }; + 9DCE9DA7CC9FD30C4EF27D5943E2F955 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A6E27F616F1CDA24CF7F44A2A4108CB1 /* DDMAMapKit_Private.release.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDMAMapKit_Private"; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IBSC_MODULE = DDMAMapKit_Private; + INFOPLIST_FILE = "Target Support Files/DDMAMapKit_Private/ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = DDMAMapKit_Private; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; 9E406C6AAF85E580207CD97B0044DEAB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9740,7 +11083,7 @@ }; 9F81E90A1C804D6307404275E44537C0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DC12D42AEA5797AB04033C1C7CB8A02F /* DDWebImageKit_Private.debug.xcconfig */; + baseConfigurationReference = AD32871CE4968D724A1FB6A5342D72C4 /* DDWebImageKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9765,9 +11108,37 @@ }; name = Debug; }; + 9FAD38770C19858733CE1B6D12FC951C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CCD4786054F5828F2B4D89A8B2D09071 /* CocoaDebug.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/CocoaDebug/CocoaDebug-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MODULEMAP_FILE = Headers/Public/CocoaDebug/CocoaDebug.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CocoaDebug; + PRODUCT_NAME = CocoaDebug; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; A37C605D5D741F2696E6D94AB23724DD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6C02DE55002B281536BE541DD08385DA /* IQKeyboardManagerSwift.debug.xcconfig */; + baseConfigurationReference = 769A998FECDFBEBE1BCB5AE00554A7C5 /* IQKeyboardManagerSwift.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9794,7 +11165,7 @@ }; A55FAFF9D3BB3437AB0401C28555BA7C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6ECB134020AA4FC09A7244CB741EC159 /* DDBasicControlsKit_Private.release.xcconfig */; + baseConfigurationReference = 2285C43E3120A0E3FEF48618C47EE5C4 /* DDBasicControlsKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9820,36 +11191,33 @@ }; name = Release; }; - AF41E7EC61AA8E2AC6F842CF1FEDE02D /* Release */ = { + A5B5E752FF9152E3B9AB3DAA6AAF1865 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7DBDB4F120884A32F25656B278C509BE /* RxRelay.release.xcconfig */; + baseConfigurationReference = FC6ADF39936BEB2CFFFD7E2E76154921 /* Pods-OrderScheduling.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/RxRelay/RxRelay.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RxRelay; - PRODUCT_NAME = RxRelay; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; B814FB2831509A875F5991D19F12DF16 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 594C93B6F642773CF64788AE8C1BCC93 /* AMapSearch-NO-IDFA.debug.xcconfig */; + baseConfigurationReference = 2090F5642ABC4A05CB826E724F46BFA0 /* AMapSearch-NO-IDFA.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -9867,7 +11235,7 @@ }; BB08C4B539660DD738ECC8A0F7F361C1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 09B271C9505E30521BE94B2F5F5EDBCD /* DDToastKit_Private.release.xcconfig */; + baseConfigurationReference = 5B918BE6829E36B093B33911AD580C61 /* DDToastKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9893,9 +11261,53 @@ }; name = Release; }; + C49F466B53654DB6AD2EE8C93D986EE0 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3F1E830694888D939F71C1DCB3E20E29 /* DDBasicControlsKit_Private.debug.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDBasicControlsKit_Private"; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IBSC_MODULE = DDBasicControlsKit_Private; + INFOPLIST_FILE = "Target Support Files/DDBasicControlsKit_Private/ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = DDBaseViewController; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + C59D93846C3E39CB8EF55A46057643E8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B20798769083AC4AC67C8C9FB3FDB2EE /* RxRelay.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/RxRelay/RxRelay.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = RxRelay; + PRODUCT_NAME = RxRelay; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.1; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; C6210F5502E378DCC269A81023F69818 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4AA8AB240F4D65F6AAEAA184FBBF6D83 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */; + baseConfigurationReference = A461FFB68020429AD99C16763F0F0249 /* DDNetworkingOfAlamofireKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9921,9 +11333,27 @@ }; name = Release; }; + CD70F4C1AD467230FCDE9CD954393E45 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D47210A15A7A27D60A199D01A379C895 /* DDProgressHUDKit_Private.debug.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDProgressHUDKit_Private"; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IBSC_MODULE = DDProgressHUDKit_Private; + INFOPLIST_FILE = "Target Support Files/DDProgressHUDKit_Private/ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = ProgressHud; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; CE54F30C8AC3B30DE83C021DAD11FC16 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EAD7CD77DDEFD8EC15595A80AB8766BE /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */; + baseConfigurationReference = 32E9BE4062F875B91F2F06F973F6A3BA /* DDNetworkingOfAlamofireKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -9948,28 +11378,9 @@ }; name = Debug; }; - CF079196C6C48A439ECAA402189DA32E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3BD58C350DD433AD985B5BF47438E6E9 /* DDMAMapKit_Private.release.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDMAMapKit_Private"; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IBSC_MODULE = DDMAMapKit_Private; - INFOPLIST_FILE = "Target Support Files/DDMAMapKit_Private/ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = DDMAMapKit_Private; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; DBFFC56B728D16C6C272566779546587 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EF70FC9EB152D1C253A1FAAE0D28DA6A /* SwiftEntryKit.debug.xcconfig */; + baseConfigurationReference = 4A2DF036951A656B7E776DD298567C88 /* SwiftEntryKit.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -9995,7 +11406,7 @@ }; DDDFA8D7A09FF0A4532CC861C3116550 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3BABB7664C187AC2E20DBDD42EB2323 /* DDControlsKit_Private.release.xcconfig */; + baseConfigurationReference = CC3707712067701A5DEF3C38B8BF857D /* DDControlsKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10021,28 +11432,9 @@ }; name = Release; }; - DEA1748469885659CA36430695AF1884 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6ECB134020AA4FC09A7244CB741EC159 /* DDBasicControlsKit_Private.release.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDBasicControlsKit_Private"; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IBSC_MODULE = DDBasicControlsKit_Private; - INFOPLIST_FILE = "Target Support Files/DDBasicControlsKit_Private/ResourceBundle-DDBaseViewController-DDBasicControlsKit_Private-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = DDBaseViewController; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; E18EABAD3559E7870ACB23A6E827F568 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C91F30571910471B8118FF428C7E0DAE /* DDAutoUIKit_Private.debug.xcconfig */; + baseConfigurationReference = 0F87DDFBA4484D0D5704F46641B3CC62 /* DDAutoUIKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10069,7 +11461,7 @@ }; E1DEAE5E6B84D5D557212B431DE2D4C1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 117C88403400A6AB1839799080E10082 /* ZFPlayer.debug.xcconfig */; + baseConfigurationReference = 042FD570FE2EB98D35D73505DC07E29B /* ZFPlayer.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -10095,7 +11487,7 @@ }; E3BA6719677585798F31ED882B465DD5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 96E89F65F46227D013A084E4182B4E6A /* ZLPhotoBrowser.release.xcconfig */; + baseConfigurationReference = 166B9D6E9A1FF7D8F006CB650E9FA3D2 /* ZLPhotoBrowser.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10121,9 +11513,74 @@ }; name = Release; }; + E8852217F95AEA138F54D805C15CA988 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D47210A15A7A27D60A199D01A379C895 /* DDProgressHUDKit_Private.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDProgressHUDKit_Private; + PRODUCT_NAME = DDProgressHUDKit_Private; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + E8CC80B981BA9D610A822A6585C07877 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C29B0549CB571681B5FC3BA81ED3B270 /* JPush.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + EAC5735B08F77CE3FF9950C3D1D625C2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9E447C0DC9643C75C630771D47581B9E /* JCore.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; EC492DB35EA95E311A092C0DA39FCD8F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A153CB9EFC27F4874D61DFD418A066BF /* DDBasicControlsKit_Private.debug.xcconfig */; + baseConfigurationReference = 3F1E830694888D939F71C1DCB3E20E29 /* DDBasicControlsKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10148,27 +11605,9 @@ }; name = Debug; }; - ED26E7592EC8937917F5261D87CC405F /* Debug */ = { + EE18BDCC8C4D5700F27970F576DC2E6F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 66862513F4F0673A25B5298E4D72837C /* DDMAMapKit_Private.debug.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDMAMapKit_Private"; - DEVELOPMENT_TEAM = W4SG324NS4; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - IBSC_MODULE = DDMAMapKit_Private; - INFOPLIST_FILE = "Target Support Files/DDMAMapKit_Private/ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = DDMAMapKit_Private; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - EF170A740BABA422DEB93F07A7A96826 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7BDAC755C5BF3B76A4E4C6365C7B1599 /* DDCategoryKit_Private.debug.xcconfig */; + baseConfigurationReference = 5D1A9167FA3EC0FC795900F21B99FC5E /* DDProgressHUDKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10176,26 +11615,27 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/DDCategoryKit_Private/DDCategoryKit_Private-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap; + MODULEMAP_FILE = Headers/Public/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDCategoryKit_Private; - PRODUCT_NAME = DDCategoryKit_Private; + PRODUCT_MODULE_NAME = DDProgressHUDKit_Private; + PRODUCT_NAME = DDProgressHUDKit_Private; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; F134BFC715F0B1147811F69747426F2B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F4C324C3EEB34624F7BE3C05A9C244DE /* MJRefresh.release.xcconfig */; + baseConfigurationReference = 28C2F4526FBFD0D012ADEA6705535EBE /* MJRefresh.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -10222,7 +11662,7 @@ }; F1522A7504B2EA021FC6E472D6BD2474 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CAA27CD3CE04ED7A715459910E10E127 /* DDToastKit_Private.debug.xcconfig */; + baseConfigurationReference = CA784468F647EDFEFD5CA077A9CA1A88 /* DDToastKit_Private.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10249,7 +11689,7 @@ }; F2A883F25DE85886520AA99C99672CA8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8FA5B24A252AC17F4DD0BBD9E460EF4B /* Alamofire.release.xcconfig */; + baseConfigurationReference = 6BC706F6CDAC74F3D654F27505250022 /* Alamofire.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10275,9 +11715,27 @@ }; name = Release; }; + F5A7CE690094EBACBEBBFE889EE7C5BF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DFA017B9AE03666055B853A359A49E82 /* JCore.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; F8702F41AD6DB674E512911A326CE72B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3BD58C350DD433AD985B5BF47438E6E9 /* DDMAMapKit_Private.release.xcconfig */; + baseConfigurationReference = A6E27F616F1CDA24CF7F44A2A4108CB1 /* DDMAMapKit_Private.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -10305,7 +11763,7 @@ }; FA1FAE65A52E3B1F30DF809E59737B44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 053B03E73524BAE1504623E93DAF6CA5 /* AMapTrack-NO-IDFA.debug.xcconfig */; + baseConfigurationReference = 361ECF3A3A95BFDBAC9E1A2A7EBCBEC1 /* AMapTrack-NO-IDFA.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -10321,35 +11779,62 @@ }; name = Debug; }; - FCC06327E117E80BF60B37961FA22A42 /* Debug */ = { + FA3E20C51A1D49D777B8B8D81E8ACCB8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 43F03E8327402318BA1A5AA38D9E45E2 /* RxRelay.debug.xcconfig */; + baseConfigurationReference = 15296078F4B16B67E3F8406F3EE167B7 /* YYImage.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; DEVELOPMENT_TEAM = W4SG324NS4; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; - GCC_PREFIX_HEADER = "Target Support Files/RxRelay/RxRelay-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/RxRelay/RxRelay.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MODULEMAP_FILE = Headers/Public/YYImage/YYImage.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RxRelay; - PRODUCT_NAME = RxRelay; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) RELEASE"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FB89EFE1E7AACF7E935DEC718438D01A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 359946FB2FF6AAC3622279A18EF017D3 /* YYImage.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MODULEMAP_FILE = Headers/Public/YYImage/YYImage.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; FD836E3A6C6D579666CD9DF57C366625 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D6026B5132C7658EE3BCD34DC1FCD152 /* AMapLocation-NO-IDFA.debug.xcconfig */; + baseConfigurationReference = 1FDD2C26B3868F1F27A17E4392C5916F /* AMapLocation-NO-IDFA.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -10365,9 +11850,27 @@ }; name = Debug; }; + FECA342F43CB544B375F23F5FB8CF58E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C13D915F24332003C92E573FD516CF8F /* DDMAMapKit_Private.debug.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DDMAMapKit_Private"; + DEVELOPMENT_TEAM = W4SG324NS4; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; + IBSC_MODULE = DDMAMapKit_Private; + INFOPLIST_FILE = "Target Support Files/DDMAMapKit_Private/ResourceBundle-DDMAMapKit_Private-DDMAMapKit_Private-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = DDMAMapKit_Private; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; FF747912862E9FA276A7244FBEB1E50D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22DB568C2F40BF105F67A00E09CBC2F3 /* ZFPlayer.release.xcconfig */; + baseConfigurationReference = 47ED4C6AF5D8765CBA6634C8D568D18F /* ZFPlayer.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -10395,15 +11898,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 06FE720E8F4EC60D4E896C8056193EB8 /* Build configuration list for PBXNativeTarget "DDBasicControlsKit_Private-DDBaseViewController" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6CEDA6B8E79C77FC75B1773EE6D1A961 /* Debug */, - DEA1748469885659CA36430695AF1884 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 12AFC87E186D6DE0151207B0C7C90105 /* Build configuration list for PBXNativeTarget "RxCocoa" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10413,6 +11907,33 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 1F676F448BF8205087030C9887C8D6C5 /* Build configuration list for PBXNativeTarget "DDBasicControlsKit_Private-DDBaseViewController" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C49F466B53654DB6AD2EE8C93D986EE0 /* Debug */, + 94E7ACDC51CBE7C42DFFB8150A058E70 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 24E37721280989F5F2181B8AB087DDE1 /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 19C4CDB3A65F8CBD21A3DB7A2516F7CE /* Debug */, + 075FC195A91137290116F8CC99AB6F87 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 31E093651ABA8F1B9C494B229E1A4868 /* Build configuration list for PBXNativeTarget "CocoaDebug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 018D720E452377F7AFADDD01046CD345 /* Debug */, + 9FAD38770C19858733CE1B6D12FC951C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 367CB532D67455A26221203458C84AA2 /* Build configuration list for PBXNativeTarget "DDNetworkingOfAlamofireKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10422,15 +11943,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3DBC1CCC9C0F27F549F7B971F8070D76 /* Build configuration list for PBXNativeTarget "SnapKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C98B104B0BD6FAEB08C9437144807D0 /* Debug */, - 6404728A49E9B4BE45341C3881E47051 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10458,6 +11970,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 52C5FA5E89308C8B8FBB8CACB45F28E8 /* Build configuration list for PBXNativeTarget "YYImage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB89EFE1E7AACF7E935DEC718438D01A /* Debug */, + FA3E20C51A1D49D777B8B8D81E8ACCB8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 56DA926935E576541A1B363500855EEC /* Build configuration list for PBXNativeTarget "DDControlsKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10476,11 +11997,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 607457F4F8012874D0F3AF6CCBC52DA7 /* Build configuration list for PBXNativeTarget "DDCategoryKit_Private" */ = { + 5ECD22263502AD53B06AF92E0353C0B7 /* Build configuration list for PBXAggregateTarget "JPush" */ = { isa = XCConfigurationList; buildConfigurations = ( - EF170A740BABA422DEB93F07A7A96826 /* Debug */, - 6AF2960CBEC31D66EDD1F5D0683B7CDA /* Release */, + E8CC80B981BA9D610A822A6585C07877 /* Debug */, + 2384B389FE9C559487EAAF74FBF2B839 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -10512,6 +12033,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 6B8F6B00DB541422C15579DAE32BF242 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C59D93846C3E39CB8EF55A46057643E8 /* Debug */, + 5C7550BB13A6EBF5FA8F17FC7054446C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 6DA0FBA150627BA01E3E27C034DF4573 /* Build configuration list for PBXAggregateTarget "AMapNavi-NO-IDFA" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10530,6 +12060,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 71D75EFFE7D909111A201FF0CD7A69C5 /* Build configuration list for PBXNativeTarget "Pods-OrderScheduling" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A5B5E752FF9152E3B9AB3DAA6AAF1865 /* Debug */, + 52F727EEFAAA4AD01D4E9025859301A3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 74F8BC6869B879C9A4487377E57EA717 /* Build configuration list for PBXAggregateTarget "AMapSearch-NO-IDFA" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10548,6 +12087,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 7FAB9BF0BB905D0EC61365EC054C61AE /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 464CCB4B6B798EA079E18AF7C8A945C5 /* Debug */, + 10812AA98C15EE9046709041DE8A6027 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 82474D67703E49A527658FA371163B0F /* Build configuration list for PBXNativeTarget "DDMAMapKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10557,20 +12105,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 868C50B326B0684ABFA75AC57BF4754B /* Build configuration list for PBXNativeTarget "DDLogKit_Private" */ = { + 87768E31741B57C04BDC94E5D8AE43C3 /* Build configuration list for PBXNativeTarget "DDLogKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( - 307EE98D550EF88B9ECA971F4E72E658 /* Debug */, - 81C192511B584793A2CE37902FB0ACC5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 86DFE22CEF40158611F18D98830EB987 /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6822408749897DE4CEAA8E318BB22CF3 /* Debug */, - 57BF4888D7477B2F15F6D6F14ACC168D /* Release */, + 8006B3E8C34C348CC390A40955F6C972 /* Debug */, + 87116AF48FBE8A82A2CDBCAB94088DE9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -10584,15 +12123,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9F98BE1C3617215E5E69EFD9C606FCE3 /* Build configuration list for PBXNativeTarget "RxRelay" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FCC06327E117E80BF60B37961FA22A42 /* Debug */, - AF41E7EC61AA8E2AC6F842CF1FEDE02D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; A270127F1D1DF4AE696FE16A1A26A208 /* Build configuration list for PBXNativeTarget "DDToastKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10602,11 +12132,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AD308ACADDBAF5969EF95D3DC93FFBAD /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + AD9CF0130E1F5EB7FF3CA5FA18DECE5F /* Build configuration list for PBXAggregateTarget "JCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - 78B828F7F265FFD8F8407837A04473B1 /* Debug */, - 90CCE8EC946273AA018433046A18454A /* Release */, + F5A7CE690094EBACBEBBFE889EE7C5BF /* Debug */, + EAC5735B08F77CE3FF9950C3D1D625C2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -10629,11 +12159,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C50C2E00D10B16448AF8ACD0FF49FB0A /* Build configuration list for PBXNativeTarget "DDMAMapKit_Private-DDMAMapKit_Private" */ = { + BF9C6CFC0179336479A784375AC1517C /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED26E7592EC8937917F5261D87CC405F /* Debug */, - CF079196C6C48A439ECAA402189DA32E /* Release */, + E8852217F95AEA138F54D805C15CA988 /* Debug */, + EE18BDCC8C4D5700F27970F576DC2E6F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -10647,11 +12177,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E9AF82AD055963153570341CBA1F6F39 /* Build configuration list for PBXNativeTarget "Pods-OrderScheduling" */ = { + E439059F960A8EFEF4ED82488FE58A57 /* Build configuration list for PBXNativeTarget "DDMAMapKit_Private-DDMAMapKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( - 451E676FD5128438BE9121B29F9E7DE0 /* Debug */, - 8897042CF6D6BFEF692C3491C7C581F2 /* Release */, + FECA342F43CB544B375F23F5FB8CF58E /* Debug */, + 9DCE9DA7CC9FD30C4EF27D5943E2F955 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -10683,6 +12213,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F01F8BBA60C781A5EAA81A4D61BA48BE /* Build configuration list for PBXNativeTarget "DDCategoryKit_Private" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4D3FC126CD488D9CDA99461CFE8861E3 /* Debug */, + 10033F983D8CDC30EBABCCF18D85E90E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; F3AD43E01F32196EEE2EA7FD385C7407 /* Build configuration list for PBXNativeTarget "JXCategoryView" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -10692,6 +12231,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F815745F596B4A302129CD872CEB4D85 /* Build configuration list for PBXNativeTarget "DDProgressHUDKit_Private-ProgressHud" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD70F4C1AD467230FCDE9CD954393E45 /* Debug */, + 682A904A766523DF8B0579DE5B6CB0CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; FABA871D8A8BB5CAD42D9820F18BBB83 /* Build configuration list for PBXNativeTarget "DDTimerKit_Private" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/CocoaDebug.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/CocoaDebug.xcscheme new file mode 100644 index 0000000..9001536 --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/CocoaDebug.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/DDProgressHUDKit_Private-ProgressHud.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/DDProgressHUDKit_Private-ProgressHud.xcscheme new file mode 100644 index 0000000..79fac6b --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/DDProgressHUDKit_Private-ProgressHud.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JCore.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JCore.xcscheme new file mode 100644 index 0000000..347fd4f --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JCore.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JPush.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JPush.xcscheme new file mode 100644 index 0000000..2eac8c4 --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/JPush.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/YYImage.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/YYImage.xcscheme new file mode 100644 index 0000000..70829ef --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/YYImage.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/xcschememanagement.plist index 2a003b8..2abfcdf 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/zd.xcuserdatad/xcschemes/xcschememanagement.plist @@ -34,6 +34,11 @@ isShown + CocoaDebug.xcscheme + + isShown + + DDAutoUIKit_Private.xcscheme isShown @@ -89,6 +94,11 @@ isShown + DDProgressHUDKit_Private-ProgressHud.xcscheme + + isShown + + DDProgressHUDKit_Private.xcscheme isShown @@ -119,6 +129,16 @@ isShown + JCore.xcscheme + + isShown + + + JPush.xcscheme + + isShown + + JXCategoryView.xcscheme isShown @@ -159,6 +179,11 @@ isShown + YYImage.xcscheme + + isShown + + ZFPlayer.xcscheme isShown diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug-dummy.m b/Pods/Target Support Files/CocoaDebug/CocoaDebug-dummy.m new file mode 100644 index 0000000..5133365 --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_CocoaDebug : NSObject +@end +@implementation PodsDummy_CocoaDebug +@end diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug-prefix.pch b/Pods/Target Support Files/CocoaDebug/CocoaDebug-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug-umbrella.h b/Pods/Target Support Files/CocoaDebug/CocoaDebug-umbrella.h new file mode 100644 index 0000000..88a557c --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug-umbrella.h @@ -0,0 +1,49 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "GPBMessage+CocoaDebug.h" +#import "NSObject+CocoaDebug.h" +#import "CocoaDebug.h" +#import "CocoaDebugDeviceInfo.h" +#import "_DeviceUtil+Constant.h" +#import "_DeviceUtil.h" +#import "_CacheStoragePolicy.h" +#import "_CanonicalRequest.h" +#import "_CustomHTTPProtocol.h" +#import "_QNSURLSessionDemux.h" +#import "_fishhook.h" +#import "CocoaDebugTool.h" +#import "_ObjcLog.h" +#import "_OCLoggerFormat.h" +#import "_OCLogHelper.h" +#import "_OCLogModel.h" +#import "_OCLogStoreManager.h" +#import "_BacktraceLogger.h" +#import "_DebugConsoleLabel.h" +#import "_RunloopMonitor.h" +#import "_HttpDatasource.h" +#import "_HttpModel.h" +#import "_NetworkHelper.h" +#import "_DirectoryContentsTableViewController.h" +#import "_FileInfo.h" +#import "_FilePreviewController.h" +#import "_FileTableViewCell.h" +#import "_ImageController.h" +#import "_ImageResources.h" +#import "_Sandboxer-Header.h" +#import "_Sandboxer.h" +#import "_SandboxerHelper.h" +#import "_Swizzling.h" + +FOUNDATION_EXPORT double CocoaDebugVersionNumber; +FOUNDATION_EXPORT const unsigned char CocoaDebugVersionString[]; + diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug.debug.xcconfig b/Pods/Target Support Files/CocoaDebug/CocoaDebug.debug.xcconfig new file mode 100644 index 0000000..5705b40 --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug.debug.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaDebug" "${PODS_ROOT}/Headers/Public" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/CocoaDebug +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug.modulemap b/Pods/Target Support Files/CocoaDebug/CocoaDebug.modulemap new file mode 100644 index 0000000..18afde5 --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug.modulemap @@ -0,0 +1,6 @@ +module CocoaDebug { + umbrella header "CocoaDebug-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/CocoaDebug/CocoaDebug.release.xcconfig b/Pods/Target Support Files/CocoaDebug/CocoaDebug.release.xcconfig new file mode 100644 index 0000000..5705b40 --- /dev/null +++ b/Pods/Target Support Files/CocoaDebug/CocoaDebug.release.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaDebug" "${PODS_ROOT}/Headers/Public" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/CocoaDebug +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.debug.xcconfig b/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.debug.xcconfig index 0eb6ff8..7adcd39 100644 --- a/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.debug.xcconfig +++ b/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.debug.xcconfig @@ -3,13 +3,15 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Priva EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/DDProgressHUDKit_Private +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../PodRepository/DDProgressHUDKit_Private PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES VALID_ARCHS = x86_64 armv7 arm64 diff --git a/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.release.xcconfig b/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.release.xcconfig index 0eb6ff8..7adcd39 100644 --- a/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.release.xcconfig +++ b/Pods/Target Support Files/DDProgressHUDKit_Private/DDProgressHUDKit_Private.release.xcconfig @@ -3,13 +3,15 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Priva EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/DDProgressHUDKit_Private +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../PodRepository/DDProgressHUDKit_Private PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES VALID_ARCHS = x86_64 armv7 arm64 diff --git a/Pods/Target Support Files/DDProgressHUDKit_Private/ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist b/Pods/Target Support Files/DDProgressHUDKit_Private/ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist new file mode 100644 index 0000000..53dfc9f --- /dev/null +++ b/Pods/Target Support Files/DDProgressHUDKit_Private/ResourceBundle-ProgressHud-DDProgressHUDKit_Private-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 0.1.1 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSPrincipalClass + + + diff --git a/Pods/Target Support Files/JCore/JCore-xcframeworks-input-files.xcfilelist b/Pods/Target Support Files/JCore/JCore-xcframeworks-input-files.xcfilelist new file mode 100644 index 0000000..030d2d1 --- /dev/null +++ b/Pods/Target Support Files/JCore/JCore-xcframeworks-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/JCore/JCore-xcframeworks.sh +${PODS_ROOT}/JCore/jcore-ios-4.2.1.xcframework \ No newline at end of file diff --git a/Pods/Target Support Files/JCore/JCore-xcframeworks-output-files.xcfilelist b/Pods/Target Support Files/JCore/JCore-xcframeworks-output-files.xcfilelist new file mode 100644 index 0000000..16b4296 --- /dev/null +++ b/Pods/Target Support Files/JCore/JCore-xcframeworks-output-files.xcfilelist @@ -0,0 +1 @@ +${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/jcore-ios-4.2.1.framework \ No newline at end of file diff --git a/Pods/Target Support Files/JCore/JCore-xcframeworks.sh b/Pods/Target Support Files/JCore/JCore-xcframeworks.sh new file mode 100755 index 0000000..cc6bd2a --- /dev/null +++ b/Pods/Target Support Files/JCore/JCore-xcframeworks.sh @@ -0,0 +1,121 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + + +variant_for_slice() +{ + case "$1" in + "jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator") + echo "simulator" + ;; + "jcore-ios-4.2.1.xcframework/ios-arm64") + echo "" + ;; + esac +} + +archs_for_slice() +{ + case "$1" in + "jcore-ios-4.2.1.xcframework/ios-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + "jcore-ios-4.2.1.xcframework/ios-arm64") + echo "arm64" + ;; + esac +} + +copy_dir() +{ + local source="$1" + local destination="$2" + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" \"${source}*\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}" +} + +SELECT_SLICE_RETVAL="" + +select_slice() { + local xcframework_name="$1" + xcframework_name="${xcframework_name##*/}" + local paths=("${@:2}") + # Locate the correct slice of the .xcframework for the current architectures + local target_path="" + + # Split archs on space so we can find a slice that has all the needed archs + local target_archs=$(echo $ARCHS | tr " " "\n") + + local target_variant="" + if [[ "$PLATFORM_NAME" == *"simulator" ]]; then + target_variant="simulator" + fi + if [[ ! -z ${EFFECTIVE_PLATFORM_NAME+x} && "$EFFECTIVE_PLATFORM_NAME" == *"maccatalyst" ]]; then + target_variant="maccatalyst" + fi + for i in ${!paths[@]}; do + local matched_all_archs="1" + local slice_archs="$(archs_for_slice "${xcframework_name}/${paths[$i]}")" + local slice_variant="$(variant_for_slice "${xcframework_name}/${paths[$i]}")" + for target_arch in $target_archs; do + if ! [[ "${slice_variant}" == "$target_variant" ]]; then + matched_all_archs="0" + break + fi + + if ! echo "${slice_archs}" | tr " " "\n" | grep -F -q -x "$target_arch"; then + matched_all_archs="0" + break + fi + done + + if [[ "$matched_all_archs" == "1" ]]; then + # Found a matching slice + echo "Selected xcframework slice ${paths[$i]}" + SELECT_SLICE_RETVAL=${paths[$i]} + break + fi + done +} + +install_xcframework() { + local basepath="$1" + local name="$2" + local package_type="$3" + local paths=("${@:4}") + + # Locate the correct slice of the .xcframework for the current architectures + select_slice "${basepath}" "${paths[@]}" + local target_path="$SELECT_SLICE_RETVAL" + if [[ -z "$target_path" ]]; then + echo "warning: [CP] $(basename ${basepath}): Unable to find matching slice in '${paths[@]}' for the current build architectures ($ARCHS) and platform (${EFFECTIVE_PLATFORM_NAME-${PLATFORM_NAME}})." + return + fi + local source="$basepath/$target_path" + + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}" + + if [ ! -d "$destination" ]; then + mkdir -p "$destination" + fi + + copy_dir "$source/" "$destination" + echo "Copied $source to $destination" +} + +install_xcframework "${PODS_ROOT}/JCore/jcore-ios-4.2.1.xcframework" "JCore" "library" "ios-arm64_x86_64-simulator" "ios-arm64" + diff --git a/Pods/Target Support Files/JCore/JCore.debug.xcconfig b/Pods/Target Support Files/JCore/JCore.debug.xcconfig new file mode 100644 index 0000000..1a9a302 --- /dev/null +++ b/Pods/Target Support Files/JCore/JCore.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JCore +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JCore" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/JCore +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES +VALID_ARCHS = x86_64 arm64 diff --git a/Pods/Target Support Files/JCore/JCore.release.xcconfig b/Pods/Target Support Files/JCore/JCore.release.xcconfig new file mode 100644 index 0000000..1a9a302 --- /dev/null +++ b/Pods/Target Support Files/JCore/JCore.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JCore +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JCore" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/JCore +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES +VALID_ARCHS = x86_64 arm64 diff --git a/Pods/Target Support Files/JPush/JPush-xcframeworks-input-files.xcfilelist b/Pods/Target Support Files/JPush/JPush-xcframeworks-input-files.xcfilelist new file mode 100644 index 0000000..93b6166 --- /dev/null +++ b/Pods/Target Support Files/JPush/JPush-xcframeworks-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/JPush/JPush-xcframeworks.sh +${PODS_ROOT}/JPush/jpush-ios-5.0.1.xcframework \ No newline at end of file diff --git a/Pods/Target Support Files/JPush/JPush-xcframeworks-output-files.xcfilelist b/Pods/Target Support Files/JPush/JPush-xcframeworks-output-files.xcfilelist new file mode 100644 index 0000000..c5703f0 --- /dev/null +++ b/Pods/Target Support Files/JPush/JPush-xcframeworks-output-files.xcfilelist @@ -0,0 +1 @@ +${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush/jpush-ios-5.0.1.framework \ No newline at end of file diff --git a/Pods/Target Support Files/JPush/JPush-xcframeworks.sh b/Pods/Target Support Files/JPush/JPush-xcframeworks.sh new file mode 100755 index 0000000..57fff11 --- /dev/null +++ b/Pods/Target Support Files/JPush/JPush-xcframeworks.sh @@ -0,0 +1,121 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + + +variant_for_slice() +{ + case "$1" in + "jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator") + echo "simulator" + ;; + "jpush-ios-5.0.1.xcframework/ios-arm64") + echo "" + ;; + esac +} + +archs_for_slice() +{ + case "$1" in + "jpush-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + "jpush-ios-5.0.1.xcframework/ios-arm64") + echo "arm64" + ;; + esac +} + +copy_dir() +{ + local source="$1" + local destination="$2" + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" \"${source}*\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}" +} + +SELECT_SLICE_RETVAL="" + +select_slice() { + local xcframework_name="$1" + xcframework_name="${xcframework_name##*/}" + local paths=("${@:2}") + # Locate the correct slice of the .xcframework for the current architectures + local target_path="" + + # Split archs on space so we can find a slice that has all the needed archs + local target_archs=$(echo $ARCHS | tr " " "\n") + + local target_variant="" + if [[ "$PLATFORM_NAME" == *"simulator" ]]; then + target_variant="simulator" + fi + if [[ ! -z ${EFFECTIVE_PLATFORM_NAME+x} && "$EFFECTIVE_PLATFORM_NAME" == *"maccatalyst" ]]; then + target_variant="maccatalyst" + fi + for i in ${!paths[@]}; do + local matched_all_archs="1" + local slice_archs="$(archs_for_slice "${xcframework_name}/${paths[$i]}")" + local slice_variant="$(variant_for_slice "${xcframework_name}/${paths[$i]}")" + for target_arch in $target_archs; do + if ! [[ "${slice_variant}" == "$target_variant" ]]; then + matched_all_archs="0" + break + fi + + if ! echo "${slice_archs}" | tr " " "\n" | grep -F -q -x "$target_arch"; then + matched_all_archs="0" + break + fi + done + + if [[ "$matched_all_archs" == "1" ]]; then + # Found a matching slice + echo "Selected xcframework slice ${paths[$i]}" + SELECT_SLICE_RETVAL=${paths[$i]} + break + fi + done +} + +install_xcframework() { + local basepath="$1" + local name="$2" + local package_type="$3" + local paths=("${@:4}") + + # Locate the correct slice of the .xcframework for the current architectures + select_slice "${basepath}" "${paths[@]}" + local target_path="$SELECT_SLICE_RETVAL" + if [[ -z "$target_path" ]]; then + echo "warning: [CP] $(basename ${basepath}): Unable to find matching slice in '${paths[@]}' for the current build architectures ($ARCHS) and platform (${EFFECTIVE_PLATFORM_NAME-${PLATFORM_NAME}})." + return + fi + local source="$basepath/$target_path" + + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}" + + if [ ! -d "$destination" ]; then + mkdir -p "$destination" + fi + + copy_dir "$source/" "$destination" + echo "Copied $source to $destination" +} + +install_xcframework "${PODS_ROOT}/JPush/jpush-ios-5.0.1.xcframework" "JPush" "library" "ios-arm64_x86_64-simulator" "ios-arm64" + diff --git a/Pods/Target Support Files/JPush/JPush.debug.xcconfig b/Pods/Target Support Files/JPush/JPush.debug.xcconfig new file mode 100644 index 0000000..4dc175d --- /dev/null +++ b/Pods/Target Support Files/JPush/JPush.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JPush +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/JPush +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/JPush/JPush.release.xcconfig b/Pods/Target Support Files/JPush/JPush.release.xcconfig new file mode 100644 index 0000000..4dc175d --- /dev/null +++ b/Pods/Target Support Files/JPush/JPush.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JPush +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush/Headers" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/JPush +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.markdown b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.markdown index 34a967e..0fcf9ed 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.markdown @@ -398,6 +398,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## JCore + +Copyright jpush.cn + +## JPush + +Copyright jiguang.cn + ## JXCategoryView MIT License @@ -533,6 +541,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## YYImage + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + ## ZFPlayer Copyright (c) 2018 renzifeng diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.plist b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.plist index 7a7f267..f0adb1d 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-acknowledgements.plist @@ -535,6 +535,26 @@ SOFTWARE. Type PSGroupSpecifier + + FooterText + Copyright jpush.cn + License + Copyright + Title + JCore + Type + PSGroupSpecifier + + + FooterText + Copyright jiguang.cn + License + Copyright + Title + JPush + Type + PSGroupSpecifier + FooterText MIT License @@ -712,6 +732,38 @@ SOFTWARE. Type PSGroupSpecifier + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYImage + Type + PSGroupSpecifier + FooterText Copyright (c) 2018 renzifeng <zifeng1300@gmail.com> diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-input-files.xcfilelist index fb31135..52f402f 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-input-files.xcfilelist +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-input-files.xcfilelist @@ -1,8 +1,185 @@ ${PODS_ROOT}/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh ${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMapNavi.bundle ${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMap.bundle +${PODS_ROOT}/CocoaDebug/Sources/Resources/App.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/Logs.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/Manager.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/Network.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/NetworkCell.xib ${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private/DDBaseViewController.bundle ${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private/DDMAMapKit_Private.bundle +${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/ProgressHud.bundle ${PODS_ROOT}/ESTabBarController-swift/Sources/en.lproj ${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle ${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ControlView/ZFPlayer.bundle diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-output-files.xcfilelist b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-output-files.xcfilelist index fd99acc..80b8f5a 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Debug-output-files.xcfilelist @@ -1,7 +1,184 @@ ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AMapNavi.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AMap.bundle +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/App.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_app@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_bugs@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_close@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_down@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_logs@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_mail@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_network@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_sandbox@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_up@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Logs.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Manager.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Network.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NetworkCell.nib ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DDBaseViewController.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DDMAMapKit_Private.bundle +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ProgressHud.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/en.lproj ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MJRefresh.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ZFPlayer.bundle diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-input-files.xcfilelist index fb31135..52f402f 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-input-files.xcfilelist +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-input-files.xcfilelist @@ -1,8 +1,185 @@ ${PODS_ROOT}/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh ${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMapNavi.bundle ${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMap.bundle +${PODS_ROOT}/CocoaDebug/Sources/Resources/App.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png +${PODS_ROOT}/CocoaDebug/Sources/Resources/Logs.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/Manager.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/Network.storyboard +${PODS_ROOT}/CocoaDebug/Sources/Resources/NetworkCell.xib ${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private/DDBaseViewController.bundle ${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private/DDMAMapKit_Private.bundle +${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/ProgressHud.bundle ${PODS_ROOT}/ESTabBarController-swift/Sources/en.lproj ${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle ${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ControlView/ZFPlayer.bundle diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-output-files.xcfilelist b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-output-files.xcfilelist index fd99acc..80b8f5a 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources-Release-output-files.xcfilelist @@ -1,7 +1,184 @@ ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AMapNavi.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AMap.bundle +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/App.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_7z@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_aac@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_apk@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_avi@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bin@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_bmp@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_css@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dat@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_db@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_default@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dll@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_dmg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_doc@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_eps@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_fla@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_flv@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_empty@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_folder_not_empty@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_gif@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_html@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ipa@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jar@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_java@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_jpg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_js@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_json@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_keynote@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_md@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_midi@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mov@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp3@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mp4@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_mpg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_numbers@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ogg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pages@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_pdf@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_php@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_plist@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_png@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ppt@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_psd@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_sql@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_svg@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_swift@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_tif@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_torrent@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_ttf@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_txt@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wav@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_wmv@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xls@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_xml@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/icon_file_type_zip@3x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_app@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_bugs@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_close@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_down@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_logs@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_mail@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_network@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_sandbox@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/_icon_file_type_up@2x.png +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Logs.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Manager.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Network.storyboardc +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NetworkCell.nib ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DDBaseViewController.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DDMAMapKit_Private.bundle +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ProgressHud.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/en.lproj ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MJRefresh.bundle ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ZFPlayer.bundle diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh index bde6be1..cb0e59b 100755 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling-resources.sh @@ -99,8 +99,185 @@ EOM if [[ "$CONFIGURATION" == "Debug" ]]; then install_resource "${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMapNavi.bundle" install_resource "${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMap.bundle" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/App.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Logs.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Manager.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Network.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/NetworkCell.xib" install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private/DDBaseViewController.bundle" install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private/DDMAMapKit_Private.bundle" + install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/ProgressHud.bundle" install_resource "${PODS_ROOT}/ESTabBarController-swift/Sources/en.lproj" install_resource "${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle" install_resource "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ControlView/ZFPlayer.bundle" @@ -109,8 +286,185 @@ fi if [[ "$CONFIGURATION" == "Release" ]]; then install_resource "${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMapNavi.bundle" install_resource "${PODS_ROOT}/AMapNavi-NO-IDFA/AMapNaviKit.framework/AMap.bundle" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/App.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_7z@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_aac@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_apk@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_avi@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bin@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_bmp@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_css@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dat@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_db@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_default@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dll@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_dmg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_doc@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_eps@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_fla@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_flv@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_empty@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_folder_not_empty@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_gif@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_html@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ipa@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jar@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_java@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_jpg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_js@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_json@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_keynote@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_md@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_midi@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mov@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp3@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mp4@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_mpg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_numbers@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ogg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pages@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_pdf@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_php@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_plist@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_png@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ppt@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_psd@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_sql@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_svg@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_swift@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_tif@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_torrent@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_ttf@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_txt@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wav@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_wmv@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xls@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_xml@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/FileType/icon_file_type_zip@3x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_app@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_bugs@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_close@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_down@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_logs@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_mail@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_network@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_sandbox@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/images/_icon_file_type_up@2x.png" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Logs.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Manager.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/Network.storyboard" + install_resource "${PODS_ROOT}/CocoaDebug/Sources/Resources/NetworkCell.xib" install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private/DDBaseViewController.bundle" install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private/DDMAMapKit_Private.bundle" + install_resource "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/ProgressHud.bundle" install_resource "${PODS_ROOT}/ESTabBarController-swift/Sources/en.lproj" install_resource "${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle" install_resource "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ControlView/ZFPlayer.bundle" diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.debug.xcconfig b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.debug.xcconfig index c2c2a4d..18b59df 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.debug.xcconfig +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.debug.xcconfig @@ -2,17 +2,17 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ARCHS = $(ARCHS_STANDARD) CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ijkplayer" "${PODS_ROOT}/AMapFoundation-NO-IDFA" "${PODS_ROOT}/AMapLocation-NO-IDFA" "${PODS_ROOT}/AMapNavi-NO-IDFA" "${PODS_ROOT}/AMapSearch-NO-IDFA" "${PODS_ROOT}/AMapTrack-NO-IDFA" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ijkplayer" "${PODS_ROOT}/AMapFoundation-NO-IDFA" "${PODS_ROOT}/AMapLocation-NO-IDFA" "${PODS_ROOT}/AMapNavi-NO-IDFA" "${PODS_ROOT}/AMapSearch-NO-IDFA" "${PODS_ROOT}/AMapTrack-NO-IDFA" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private" "${PODS_ROOT}/Headers/Public/DDCategoryKit_Private" "${PODS_ROOT}/Headers/Public/DDLogKit_Private" "${PODS_ROOT}/Headers/Public/DDMAMapKit_Private" "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public/DDTimerKit_Private" "${PODS_ROOT}/Headers/Public/DDWebImageKit_Private" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/RxCocoa" "${PODS_ROOT}/Headers/Public/ZFPlayer" "${PODS_ROOT}/Headers/Public/ZLPhotoBrowser" -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDCategoryKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDTimerKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDWebImageKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" /usr/lib/swift $(SDKROOT)/usr/lib/swift -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"DDAutoUIKit_Private" -l"DDBasicControlsKit_Private" -l"DDCategoryKit_Private" -l"DDColorKit_Private" -l"DDControlsKit_Private" -l"DDFontKit_Private" -l"DDLogKit_Private" -l"DDMAMapKit_Private" -l"DDNetworkingOfAlamofireKit_Private" -l"DDProgressHUDKit_Private" -l"DDTimerKit_Private" -l"DDToastKit_Private" -l"DDWebImageKit_Private" -l"ESTabBarController-swift" -l"IQKeyboardManagerSwift" -l"JXCategoryView" -l"MJRefresh" -l"RxCocoa" -l"RxRelay" -l"RxSwift" -l"SnapKit" -l"SwiftEntryKit" -l"ZFPlayer" -l"ZLPhotoBrowser" -l"bz2" -l"c++" -l"sqlite3" -l"swiftCoreGraphics" -l"z" -framework "AMapFoundationKit" -framework "AMapLocationKit" -framework "AMapNaviKit" -framework "AMapSearchKit" -framework "AMapTrackKit" -framework "AVFoundation" -framework "Accelerate" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "CoreVideo" -framework "ExternalAccessory" -framework "Foundation" -framework "GLKit" -framework "IJKMediaFramework" -framework "ImageIO" -framework "MapKit" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "OpenGLES" -framework "Photos" -framework "PhotosUI" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaDebug" "${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private" "${PODS_ROOT}/Headers/Public/DDCategoryKit_Private" "${PODS_ROOT}/Headers/Public/DDLogKit_Private" "${PODS_ROOT}/Headers/Public/DDMAMapKit_Private" "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public/DDTimerKit_Private" "${PODS_ROOT}/Headers/Public/DDWebImageKit_Private" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/RxCocoa" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/ZFPlayer" "${PODS_ROOT}/Headers/Public/ZLPhotoBrowser" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush/Headers" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDCategoryKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDTimerKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDWebImageKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug/CocoaDebug.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"CocoaDebug" -l"DDAutoUIKit_Private" -l"DDBasicControlsKit_Private" -l"DDCategoryKit_Private" -l"DDColorKit_Private" -l"DDControlsKit_Private" -l"DDFontKit_Private" -l"DDLogKit_Private" -l"DDMAMapKit_Private" -l"DDNetworkingOfAlamofireKit_Private" -l"DDProgressHUDKit_Private" -l"DDTimerKit_Private" -l"DDToastKit_Private" -l"DDWebImageKit_Private" -l"ESTabBarController-swift" -l"IQKeyboardManagerSwift" -l"JCore" -l"JPush" -l"JXCategoryView" -l"MJRefresh" -l"RxCocoa" -l"RxRelay" -l"RxSwift" -l"SnapKit" -l"SwiftEntryKit" -l"YYImage" -l"ZFPlayer" -l"ZLPhotoBrowser" -l"bz2" -l"c++" -l"resolv" -l"sqlite3" -l"swiftCoreGraphics" -l"z" -framework "AMapFoundationKit" -framework "AMapLocationKit" -framework "AMapNaviKit" -framework "AMapSearchKit" -framework "AMapTrackKit" -framework "AVFoundation" -framework "Accelerate" -framework "AssetsLibrary" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "CoreVideo" -framework "ExternalAccessory" -framework "Foundation" -framework "GLKit" -framework "IJKMediaFramework" -framework "ImageIO" -framework "JavaScriptCore" -framework "MapKit" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "OpenGLES" -framework "Photos" -framework "PhotosUI" -framework "QuartzCore" -framework "QuickLook" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug/CocoaDebug.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.release.xcconfig b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.release.xcconfig index c2c2a4d..18b59df 100644 --- a/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.release.xcconfig +++ b/Pods/Target Support Files/Pods-OrderScheduling/Pods-OrderScheduling.release.xcconfig @@ -2,17 +2,17 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ARCHS = $(ARCHS_STANDARD) CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ijkplayer" "${PODS_ROOT}/AMapFoundation-NO-IDFA" "${PODS_ROOT}/AMapLocation-NO-IDFA" "${PODS_ROOT}/AMapNavi-NO-IDFA" "${PODS_ROOT}/AMapSearch-NO-IDFA" "${PODS_ROOT}/AMapTrack-NO-IDFA" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../../Downloads/iOS相关/ZFPlayer-master/ZFPlayer/Classes/ijkplayer" "${PODS_ROOT}/AMapFoundation-NO-IDFA" "${PODS_ROOT}/AMapLocation-NO-IDFA" "${PODS_ROOT}/AMapNavi-NO-IDFA" "${PODS_ROOT}/AMapSearch-NO-IDFA" "${PODS_ROOT}/AMapTrack-NO-IDFA" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private" "${PODS_ROOT}/Headers/Public/DDCategoryKit_Private" "${PODS_ROOT}/Headers/Public/DDLogKit_Private" "${PODS_ROOT}/Headers/Public/DDMAMapKit_Private" "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public/DDTimerKit_Private" "${PODS_ROOT}/Headers/Public/DDWebImageKit_Private" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/RxCocoa" "${PODS_ROOT}/Headers/Public/ZFPlayer" "${PODS_ROOT}/Headers/Public/ZLPhotoBrowser" -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDCategoryKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDTimerKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDWebImageKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" /usr/lib/swift $(SDKROOT)/usr/lib/swift -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"DDAutoUIKit_Private" -l"DDBasicControlsKit_Private" -l"DDCategoryKit_Private" -l"DDColorKit_Private" -l"DDControlsKit_Private" -l"DDFontKit_Private" -l"DDLogKit_Private" -l"DDMAMapKit_Private" -l"DDNetworkingOfAlamofireKit_Private" -l"DDProgressHUDKit_Private" -l"DDTimerKit_Private" -l"DDToastKit_Private" -l"DDWebImageKit_Private" -l"ESTabBarController-swift" -l"IQKeyboardManagerSwift" -l"JXCategoryView" -l"MJRefresh" -l"RxCocoa" -l"RxRelay" -l"RxSwift" -l"SnapKit" -l"SwiftEntryKit" -l"ZFPlayer" -l"ZLPhotoBrowser" -l"bz2" -l"c++" -l"sqlite3" -l"swiftCoreGraphics" -l"z" -framework "AMapFoundationKit" -framework "AMapLocationKit" -framework "AMapNaviKit" -framework "AMapSearchKit" -framework "AMapTrackKit" -framework "AVFoundation" -framework "Accelerate" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "CoreVideo" -framework "ExternalAccessory" -framework "Foundation" -framework "GLKit" -framework "IJKMediaFramework" -framework "ImageIO" -framework "MapKit" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "OpenGLES" -framework "Photos" -framework "PhotosUI" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaDebug" "${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private" "${PODS_ROOT}/Headers/Public/DDCategoryKit_Private" "${PODS_ROOT}/Headers/Public/DDLogKit_Private" "${PODS_ROOT}/Headers/Public/DDMAMapKit_Private" "${PODS_ROOT}/Headers/Public/DDProgressHUDKit_Private" "${PODS_ROOT}/Headers/Public/DDTimerKit_Private" "${PODS_ROOT}/Headers/Public/DDWebImageKit_Private" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/RxCocoa" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/ZFPlayer" "${PODS_ROOT}/Headers/Public/ZLPhotoBrowser" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore/Headers" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush/Headers" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDBasicControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDCategoryKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDMAMapKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDTimerKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDWebImageKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JPush" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug/CocoaDebug.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"CocoaDebug" -l"DDAutoUIKit_Private" -l"DDBasicControlsKit_Private" -l"DDCategoryKit_Private" -l"DDColorKit_Private" -l"DDControlsKit_Private" -l"DDFontKit_Private" -l"DDLogKit_Private" -l"DDMAMapKit_Private" -l"DDNetworkingOfAlamofireKit_Private" -l"DDProgressHUDKit_Private" -l"DDTimerKit_Private" -l"DDToastKit_Private" -l"DDWebImageKit_Private" -l"ESTabBarController-swift" -l"IQKeyboardManagerSwift" -l"JCore" -l"JPush" -l"JXCategoryView" -l"MJRefresh" -l"RxCocoa" -l"RxRelay" -l"RxSwift" -l"SnapKit" -l"SwiftEntryKit" -l"YYImage" -l"ZFPlayer" -l"ZLPhotoBrowser" -l"bz2" -l"c++" -l"resolv" -l"sqlite3" -l"swiftCoreGraphics" -l"z" -framework "AMapFoundationKit" -framework "AMapLocationKit" -framework "AMapNaviKit" -framework "AMapSearchKit" -framework "AMapTrackKit" -framework "AVFoundation" -framework "Accelerate" -framework "AssetsLibrary" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "CoreVideo" -framework "ExternalAccessory" -framework "Foundation" -framework "GLKit" -framework "IJKMediaFramework" -framework "ImageIO" -framework "JavaScriptCore" -framework "MapKit" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "OpenGLES" -framework "Photos" -framework "PhotosUI" -framework "QuartzCore" -framework "QuickLook" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug/CocoaDebug.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private/DDAutoUIKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private/DDColorKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private/DDControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private/DDFontKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private/DDLogKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private/DDNetworkingOfAlamofireKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private/DDProgressHUDKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private/DDToastKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift/ESTabBarController_swift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser/ZLPhotoBrowser.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDBasicControlsKit_Private/DDBasicControlsKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDCategoryKit_Private/DDCategoryKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDMAMapKit_Private/DDMAMapKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDTimerKit_Private/DDTimerKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/DDWebImageKit_Private/DDWebImageKit_Private.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/JXCategoryView/JXCategoryView.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/MJRefresh/MJRefresh.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/YYImage/YYImage.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/ZFPlayer/ZFPlayer.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaDebug" "${PODS_CONFIGURATION_BUILD_DIR}/DDAutoUIKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDColorKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDControlsKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDFontKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDLogKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDNetworkingOfAlamofireKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDProgressHUDKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/DDToastKit_Private" "${PODS_CONFIGURATION_BUILD_DIR}/ESTabBarController-swift" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit" "${PODS_CONFIGURATION_BUILD_DIR}/ZLPhotoBrowser" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/YYImage/YYImage-dummy.m b/Pods/Target Support Files/YYImage/YYImage-dummy.m new file mode 100644 index 0000000..3940c89 --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_YYImage : NSObject +@end +@implementation PodsDummy_YYImage +@end diff --git a/Pods/Target Support Files/YYImage/YYImage-prefix.pch b/Pods/Target Support Files/YYImage/YYImage-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/YYImage/YYImage-umbrella.h b/Pods/Target Support Files/YYImage/YYImage-umbrella.h new file mode 100644 index 0000000..b7a6e8f --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage-umbrella.h @@ -0,0 +1,21 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "YYAnimatedImageView.h" +#import "YYFrameImage.h" +#import "YYImage.h" +#import "YYImageCoder.h" +#import "YYSpriteSheetImage.h" + +FOUNDATION_EXPORT double YYImageVersionNumber; +FOUNDATION_EXPORT const unsigned char YYImageVersionString[]; + diff --git a/Pods/Target Support Files/YYImage/YYImage.debug.xcconfig b/Pods/Target Support Files/YYImage/YYImage.debug.xcconfig new file mode 100644 index 0000000..8de9af6 --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage.debug.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYImage +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYImage" "${PODS_ROOT}/Headers/Public" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYImage +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/YYImage/YYImage.modulemap b/Pods/Target Support Files/YYImage/YYImage.modulemap new file mode 100644 index 0000000..4aa41d5 --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage.modulemap @@ -0,0 +1,6 @@ +module YYImage { + umbrella header "YYImage-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/YYImage/YYImage.release.xcconfig b/Pods/Target Support Files/YYImage/YYImage.release.xcconfig new file mode 100644 index 0000000..8de9af6 --- /dev/null +++ b/Pods/Target Support Files/YYImage/YYImage.release.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYImage +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYImage" "${PODS_ROOT}/Headers/Public" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYImage +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/YYImage/LICENSE b/Pods/YYImage/LICENSE new file mode 100644 index 0000000..46be20b --- /dev/null +++ b/Pods/YYImage/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Pods/YYImage/README.md b/Pods/YYImage/README.md new file mode 100755 index 0000000..7051d7f --- /dev/null +++ b/Pods/YYImage/README.md @@ -0,0 +1,384 @@ +YYImage +============== +[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYImage/master/LICENSE)  +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)  +[![CocoaPods](http://img.shields.io/cocoapods/v/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage)  +[![CocoaPods](http://img.shields.io/cocoapods/p/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage)  +[![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)  +[![Build Status](https://travis-ci.org/ibireme/YYImage.svg?branch=master)](https://travis-ci.org/ibireme/YYImage) + +Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more.
+(It's a component of [YYKit](https://github.com/ibireme/YYKit)) + +![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif +) + +Features +============== +- Display/encode/decode animated image with these types:
    WebP, APNG, GIF. +- Display/encode/decode still image with these types:
    WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS. +- Baseline/progressive/interlaced image decode with these types:
    PNG, GIF, JPEG, BMP. +- Display frame based image animation and sprite sheet animation. +- Dynamic memory buffer for lower memory usage. +- Fully compatible with UIImage and UIImageView class. +- Extendable protocol for custom image animation. +- Fully documented. + +Usage +============== + +###Display animated image + + // File: ani@3x.gif + UIImage *image = [YYImage imageNamed:@"ani.gif"]; + UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + + +###Display frame animation + + // Files: frame1.png, frame2.png, frame3.png + NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"]; + NSArray *times = @[@0.1, @0.2, @0.1]; + UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES]; + UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + +###Display sprite sheet animation + + // 8 * 12 sprites in a single sheet image + UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"]; + NSMutableArray *contentRects = [NSMutableArray new]; + NSMutableArray *durations = [NSMutableArray new]; + for (int j = 0; j < 12; j++) { + for (int i = 0; i < 8; i++) { + CGRect rect; + rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + rect.origin.x = img.size.width / 8 * i; + rect.origin.y = img.size.height / 12 * j; + [contentRects addObject:[NSValue valueWithCGRect:rect]]; + [durations addObject:@(1 / 60.0)]; + } + } + YYSpriteSheetImage *sprite; + sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img + contentRects:contentRects + frameDurations:durations + loopCount:0]; + YYAnimatedImageView *imageView = [YYAnimatedImageView new]; + imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + imageView.image = sprite; + [self.view addSubView:imageView]; + +###Animation control + + YYAnimatedImageView *imageView = ...; + // pause: + [imageView stopAnimating]; + // play: + [imageView startAnimating]; + // set frame index: + imageView.currentAnimatedImageIndex = 12; + // get current status + image.currentIsPlayingAnimation; + +###Image decoder + + // Decode single frame: + NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"]; + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + + // Progressive: + NSMutableData *data = [NSMutableData new]; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0]; + while(newDataArrived) { + [data appendData:newData]; + [decoder updateData:data final:NO]; + if (decoder.frameCount > 0) { + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // progressive display... + } + } + [decoder updateData:data final:YES]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // final display... + +###Image encoder + + // Encode still image: + YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG]; + jpegEncoder.quality = 0.9; + [jpegEncoder addImage:image duration:0]; + NSData jpegData = [jpegEncoder encode]; + + // Encode animated image: + YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP]; + webpEncoder.loopCount = 5; + [webpEncoder addImage:image0 duration:0.1]; + [webpEncoder addImage:image1 duration:0.15]; + [webpEncoder addImage:image2 duration:0.2]; + NSData webpData = [webpEncoder encode]; + +###Image type detection + + // Get image type from image data + YYImageType type = YYImageDetectType(data); + if (type == YYImageTypePNG) ... + + +Installation +============== + +### CocoaPods + +1. Update cocoapods to the latest version. +2. Add `pod 'YYImage'` to your Podfile. +3. Run `pod install` or `pod update`. +4. Import \. +5. Notice: it doesn't include WebP subspec by default, if you want to support WebP format, you may add `pod 'YYImage/WebP'` to your Podfile. + +### Carthage + +1. Add `github "ibireme/YYImage"` to your Cartfile. +2. Run `carthage update --platform ios` and add the framework to your project. +3. Import \. +4. Notice: carthage framework doesn't include WebP component, if you want to support WebP format, use CocoaPods or install manually. + +### Manually + +1. Download all the files in the YYImage subdirectory. +2. Add the source files to your Xcode project. +3. Link with required frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * AssetsLibrary + * ImageIO + * Accelerate + * MobileCoreServices + * libz +4. Import `YYImage.h`. +5. Notice: if you want to support WebP format, you may add `Vendor/WebP.framework`(static library) to your Xcode project. + +FAQ +============== +_Q: Why I can't display WebP image?_ + +A: Make sure you added the `WebP.framework` in your project. You may call `YYImageWebPAvailable()` to check whether the WebP subspec is installed correctly. + +_Q: Why I can't play APNG animation?_ + +A: You should disable the `Compress PNG Files` and `Remove Text Metadata From PNG Files` in your project's build settings. Or you can rename your APNG file's extension name with `apng`. + +Documentation +============== +Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYImage/).
+You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc). + + + +Requirements +============== +This library requires `iOS 6.0+` and `Xcode 7.0+`. + + +License +============== +YYImage is provided under the MIT license. See LICENSE file for details. + + +

+--- +中文介绍 +============== +YYImage: 功能强大的 iOS 图像框架。
+(该项目是 [YYKit](https://github.com/ibireme/YYKit) 组件之一) + +![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif +) + +特性 +============== +- 支持以下类型动画图像的播放/编码/解码:
+     WebP, APNG, GIF。 +- 支持以下类型静态图像的显示/编码/解码:
+     WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS。 +- 支持以下类型图片的渐进式/逐行扫描/隔行扫描解码:
+     PNG, GIF, JPEG, BMP。 +- 支持多张图片构成的帧动画播放,支持单张图片的 sprite sheet 动画。 +- 高效的动态内存缓存管理,以保证高性能低内存的动画播放。 +- 完全兼容 UIImage 和 UIImageView,使用方便。 +- 保留可扩展的接口,以支持自定义动画。 +- 每个类和方法都有完善的文档注释。 + + +用法 +============== + +###显示动画类型的图片 + + // 文件: ani@3x.gif + UIImage *image = [YYImage imageNamed:@"ani.gif"]; + UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + + +###播放帧动画 + + // 文件: frame1.png, frame2.png, frame3.png + NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"]; + NSArray *times = @[@0.1, @0.2, @0.1]; + UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES]; + UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + +###播放 sprite sheet 动画 + + // 8 * 12 sprites in a single sheet image + UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"]; + NSMutableArray *contentRects = [NSMutableArray new]; + NSMutableArray *durations = [NSMutableArray new]; + for (int j = 0; j < 12; j++) { + for (int i = 0; i < 8; i++) { + CGRect rect; + rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + rect.origin.x = img.size.width / 8 * i; + rect.origin.y = img.size.height / 12 * j; + [contentRects addObject:[NSValue valueWithCGRect:rect]]; + [durations addObject:@(1 / 60.0)]; + } + } + YYSpriteSheetImage *sprite; + sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img + contentRects:contentRects + frameDurations:durations + loopCount:0]; + YYAnimatedImageView *imageView = [YYAnimatedImageView new]; + imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + imageView.image = sprite; + [self.view addSubView:imageView]; + +###动画播放控制 + + YYAnimatedImageView *imageView = ...; + // 暂停: + [imageView stopAnimating]; + // 播放: + [imageView startAnimating]; + // 设置播放进度: + imageView.currentAnimatedImageIndex = 12; + // 获取播放状态: + image.currentIsPlayingAnimation; + //上面两个属性都支持 KVO。 + +###图片解码 + + // 解码单帧图片: + NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"]; + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + + // 渐进式图片解码 (可用于图片下载显示): + NSMutableData *data = [NSMutableData new]; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0]; + while(newDataArrived) { + [data appendData:newData]; + [decoder updateData:data final:NO]; + if (decoder.frameCount > 0) { + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // progressive display... + } + } + [decoder updateData:data final:YES]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // final display... + +###图片编码 + + // 编码静态图 (支持各种常见图片格式): + YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG]; + jpegEncoder.quality = 0.9; + [jpegEncoder addImage:image duration:0]; + NSData jpegData = [jpegEncoder encode]; + + // 编码动态图 (支持 GIF/APNG/WebP): + YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP]; + webpEncoder.loopCount = 5; + [webpEncoder addImage:image0 duration:0.1]; + [webpEncoder addImage:image1 duration:0.15]; + [webpEncoder addImage:image2 duration:0.2]; + NSData webpData = [webpEncoder encode]; + +###图片类型探测 + + // 获取图片类型 + YYImageType type = YYImageDetectType(data); + if (type == YYImageTypePNG) ... + + +安装 +============== + +### CocoaPods + +1. 将 cocoapods 更新至最新版本. +2. 在 Podfile 中添加 `pod 'YYImage'`。 +3. 执行 `pod install` 或 `pod update`。 +4. 导入 \。 +5. 注意:pod 配置并没有包含 WebP 组件, 如果你需要支持 WebP,可以在 Podfile 中添加 `pod 'YYImage/WebP'`。 + +### Carthage + +1. 在 Cartfile 中添加 `github "ibireme/YYImage"`。 +2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。 +3. 导入 \。 +4. 注意:carthage framework 并没有包含 WebP 组件。如果你需要支持 WebP,可以用 CocoaPods 安装,或者手动安装。 + +### 手动安装 + +1. 下载 YYImage 文件夹内的所有内容。 +2. 将 YYImage 内的源文件添加(拖放)到你的工程。 +3. 链接以下 frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * AssetsLibrary + * ImageIO + * Accelerate + * MobileCoreServices + * libz +4. 导入 `YYImage.h`。 +5. 注意:如果你需要支持 WebP,可以将 `Vendor/WebP.framework`(静态库) 加入你的工程。 + +常见问题 +============== +_Q: 为什么我不能显示 WebP 图片?_ + +A: 确保 `WebP.framework` 已经被添加到你的工程内了。你可以调用 `YYImageWebPAvailable()` 来检查一下 WebP 组件是否被正确安装。 + +_Q: 为什么我不能播放 APNG 动画?_ + +A: 你应该禁用 Build Settings 中的 `Compress PNG Files` 和 `Remove Text Metadata From PNG Files`. 或者你也可以把 APNG 文件的扩展名改为`apng`. + +文档 +============== +你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYImage/) 查看在线 API 文档,也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。 + + +系统要求 +============== +该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。 + + +许可证 +============== +YYImage 使用 MIT 许可证,详情见 LICENSE 文件。 + + +相关链接 +============== +[移动端图片格式调研](http://blog.ibireme.com/2015/11/02/mobile_image_benchmark/)
+ +[iOS 处理图片的一些小 Tip](http://blog.ibireme.com/2015/11/02/ios_image_tips/) + diff --git a/Pods/YYImage/YYImage/YYAnimatedImageView.h b/Pods/YYImage/YYImage/YYAnimatedImageView.h new file mode 100644 index 0000000..e70a654 --- /dev/null +++ b/Pods/YYImage/YYImage/YYAnimatedImageView.h @@ -0,0 +1,125 @@ +// +// YYAnimatedImageView.h +// YYImage +// +// Created by ibireme on 14/10/19. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + An image view for displaying animated image. + + @discussion It is a fully compatible `UIImageView` subclass. + If the `image` or `highlightedImage` property adopt to the `YYAnimatedImage` protocol, + then it can be used to play the multi-frame animation. The animation can also be + controlled with the UIImageView methods `-startAnimating`, `-stopAnimating` and `-isAnimating`. + + This view request the frame data just in time. When the device has enough free memory, + this view may cache some or all future frames in an inner buffer for lower CPU cost. + Buffer size is dynamically adjusted based on the current state of the device memory. + + Sample Code: + + // ani@3x.gif + YYImage *image = [YYImage imageNamed:@"ani"]; + YYAnimatedImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [view addSubView:imageView]; + */ +@interface YYAnimatedImageView : UIImageView + +/** + If the image has more than one frame, set this value to `YES` will automatically + play/stop the animation when the view become visible/invisible. + + The default value is `YES`. + */ +@property (nonatomic) BOOL autoPlayAnimatedImage; + +/** + Index of the currently displayed frame (index from 0). + + Set a new value to this property will cause to display the new frame immediately. + If the new value is invalid, this method has no effect. + + You can add an observer to this property to observe the playing status. + */ +@property (nonatomic) NSUInteger currentAnimatedImageIndex; + +/** + Whether the image view is playing animation currently. + + You can add an observer to this property to observe the playing status. + */ +@property (nonatomic, readonly) BOOL currentIsPlayingAnimation; + +/** + The animation timer's runloop mode, default is `NSRunLoopCommonModes`. + + Set this property to `NSDefaultRunLoopMode` will make the animation pause during + UIScrollView scrolling. + */ +@property (nonatomic, copy) NSString *runloopMode; + +/** + The max size (in bytes) for inner frame buffer size, default is 0 (dynamically). + + When the device has enough free memory, this view will request and decode some or + all future frame image into an inner buffer. If this property's value is 0, then + the max buffer size will be dynamically adjusted based on the current state of + the device free memory. Otherwise, the buffer size will be limited by this value. + + When receive memory warning or app enter background, the buffer will be released + immediately, and may grow back at the right time. + */ +@property (nonatomic) NSUInteger maxBufferSize; + +@end + + + +/** + The YYAnimatedImage protocol declares the required methods for animated image + display with YYAnimatedImageView. + + Subclass a UIImage and implement this protocol, so that instances of that class + can be set to YYAnimatedImageView.image or YYAnimatedImageView.highlightedImage + to display animation. + + See `YYImage` and `YYFrameImage` for example. + */ +@protocol YYAnimatedImage +@required +/// Total animated frame count. +/// It the frame count is less than 1, then the methods below will be ignored. +- (NSUInteger)animatedImageFrameCount; + +/// Animation loop count, 0 means infinite looping. +- (NSUInteger)animatedImageLoopCount; + +/// Bytes per frame (in memory). It may used to optimize memory buffer size. +- (NSUInteger)animatedImageBytesPerFrame; + +/// Returns the frame image from a specified index. +/// This method may be called on background thread. +/// @param index Frame index (zero based). +- (nullable UIImage *)animatedImageFrameAtIndex:(NSUInteger)index; + +/// Returns the frames's duration from a specified index. +/// @param index Frame index (zero based). +- (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index; + +@optional +/// A rectangle in image coordinates defining the subrectangle of the image that +/// will be displayed. The rectangle should not outside the image's bounds. +/// It may used to display sprite animation with a single image (sprite sheet). +- (CGRect)animatedImageContentsRectAtIndex:(NSUInteger)index; +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/YYImage/YYImage/YYAnimatedImageView.m b/Pods/YYImage/YYImage/YYAnimatedImageView.m new file mode 100644 index 0000000..5f2bcb4 --- /dev/null +++ b/Pods/YYImage/YYImage/YYAnimatedImageView.m @@ -0,0 +1,672 @@ +// +// YYAnimatedImageView.m +// YYImage +// +// Created by ibireme on 14/10/19. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYAnimatedImageView.h" +#import "YYImageCoder.h" +#import +#import + + +#define BUFFER_SIZE (10 * 1024 * 1024) // 10MB (minimum memory buffer size) + +#define LOCK(...) dispatch_semaphore_wait(self->_lock, DISPATCH_TIME_FOREVER); \ +__VA_ARGS__; \ +dispatch_semaphore_signal(self->_lock); + +#define LOCK_VIEW(...) dispatch_semaphore_wait(view->_lock, DISPATCH_TIME_FOREVER); \ +__VA_ARGS__; \ +dispatch_semaphore_signal(view->_lock); + + +static int64_t _YYDeviceMemoryTotal() { + int64_t mem = [[NSProcessInfo processInfo] physicalMemory]; + if (mem < -1) mem = -1; + return mem; +} + +static int64_t _YYDeviceMemoryFree() { + mach_port_t host_port = mach_host_self(); + mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); + vm_size_t page_size; + vm_statistics_data_t vm_stat; + kern_return_t kern; + + kern = host_page_size(host_port, &page_size); + if (kern != KERN_SUCCESS) return -1; + kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); + if (kern != KERN_SUCCESS) return -1; + return vm_stat.free_count * page_size; +} + +/** + A proxy used to hold a weak object. + It can be used to avoid retain cycles, such as the target in NSTimer or CADisplayLink. + */ +@interface _YYImageWeakProxy : NSProxy +@property (nonatomic, weak, readonly) id target; +- (instancetype)initWithTarget:(id)target; ++ (instancetype)proxyWithTarget:(id)target; +@end + +@implementation _YYImageWeakProxy +- (instancetype)initWithTarget:(id)target { + _target = target; + return self; +} ++ (instancetype)proxyWithTarget:(id)target { + return [[_YYImageWeakProxy alloc] initWithTarget:target]; +} +- (id)forwardingTargetForSelector:(SEL)selector { + return _target; +} +- (void)forwardInvocation:(NSInvocation *)invocation { + void *null = NULL; + [invocation setReturnValue:&null]; +} +- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector { + return [NSObject instanceMethodSignatureForSelector:@selector(init)]; +} +- (BOOL)respondsToSelector:(SEL)aSelector { + return [_target respondsToSelector:aSelector]; +} +- (BOOL)isEqual:(id)object { + return [_target isEqual:object]; +} +- (NSUInteger)hash { + return [_target hash]; +} +- (Class)superclass { + return [_target superclass]; +} +- (Class)class { + return [_target class]; +} +- (BOOL)isKindOfClass:(Class)aClass { + return [_target isKindOfClass:aClass]; +} +- (BOOL)isMemberOfClass:(Class)aClass { + return [_target isMemberOfClass:aClass]; +} +- (BOOL)conformsToProtocol:(Protocol *)aProtocol { + return [_target conformsToProtocol:aProtocol]; +} +- (BOOL)isProxy { + return YES; +} +- (NSString *)description { + return [_target description]; +} +- (NSString *)debugDescription { + return [_target debugDescription]; +} +@end + + + + +typedef NS_ENUM(NSUInteger, YYAnimatedImageType) { + YYAnimatedImageTypeNone = 0, + YYAnimatedImageTypeImage, + YYAnimatedImageTypeHighlightedImage, + YYAnimatedImageTypeImages, + YYAnimatedImageTypeHighlightedImages, +}; + +@interface YYAnimatedImageView() { + @package + UIImage *_curAnimatedImage; + + dispatch_once_t _onceToken; + dispatch_semaphore_t _lock; ///< lock for _buffer + NSOperationQueue *_requestQueue; ///< image request queue, serial + + CADisplayLink *_link; ///< ticker for change frame + NSTimeInterval _time; ///< time after last frame + + UIImage *_curFrame; ///< current frame to display + NSUInteger _curIndex; ///< current frame index (from 0) + NSUInteger _totalFrameCount; ///< total frame count + + BOOL _loopEnd; ///< whether the loop is end. + NSUInteger _curLoop; ///< current loop count (from 0) + NSUInteger _totalLoop; ///< total loop count, 0 means infinity + + NSMutableDictionary *_buffer; ///< frame buffer + BOOL _bufferMiss; ///< whether miss frame on last opportunity + NSUInteger _maxBufferCount; ///< maximum buffer count + NSInteger _incrBufferCount; ///< current allowed buffer count (will increase by step) + + CGRect _curContentsRect; + BOOL _curImageHasContentsRect; ///< image has implementated "animatedImageContentsRectAtIndex:" +} +@property (nonatomic, readwrite) BOOL currentIsPlayingAnimation; +- (void)calcMaxBufferCount; +@end + +/// An operation for image fetch +@interface _YYAnimatedImageViewFetchOperation : NSOperation +@property (nonatomic, weak) YYAnimatedImageView *view; +@property (nonatomic, assign) NSUInteger nextIndex; +@property (nonatomic, strong) UIImage *curImage; +@end + +@implementation _YYAnimatedImageViewFetchOperation +- (void)main { + __strong YYAnimatedImageView *view = _view; + if (!view) return; + if ([self isCancelled]) return; + view->_incrBufferCount++; + if (view->_incrBufferCount == 0) [view calcMaxBufferCount]; + if (view->_incrBufferCount > (NSInteger)view->_maxBufferCount) { + view->_incrBufferCount = view->_maxBufferCount; + } + NSUInteger idx = _nextIndex; + NSUInteger max = view->_incrBufferCount < 1 ? 1 : view->_incrBufferCount; + NSUInteger total = view->_totalFrameCount; + view = nil; + + for (int i = 0; i < max; i++, idx++) { + @autoreleasepool { + if (idx >= total) idx = 0; + if ([self isCancelled]) break; + __strong YYAnimatedImageView *view = _view; + if (!view) break; + LOCK_VIEW(BOOL miss = (view->_buffer[@(idx)] == nil)); + + if (miss) { + UIImage *img = [_curImage animatedImageFrameAtIndex:idx]; + img = img.yy_imageByDecoded; + if ([self isCancelled]) break; + LOCK_VIEW(view->_buffer[@(idx)] = img ? img : [NSNull null]); + view = nil; + } + } + } +} +@end + +@implementation YYAnimatedImageView + +- (instancetype)init { + self = [super init]; + _runloopMode = NSRunLoopCommonModes; + _autoPlayAnimatedImage = YES; + return self; +} + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + _runloopMode = NSRunLoopCommonModes; + _autoPlayAnimatedImage = YES; + return self; +} + +- (instancetype)initWithImage:(UIImage *)image { + self = [super init]; + _runloopMode = NSRunLoopCommonModes; + _autoPlayAnimatedImage = YES; + self.frame = (CGRect) {CGPointZero, image.size }; + self.image = image; + return self; +} + +- (instancetype)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage { + self = [super init]; + _runloopMode = NSRunLoopCommonModes; + _autoPlayAnimatedImage = YES; + CGSize size = image ? image.size : highlightedImage.size; + self.frame = (CGRect) {CGPointZero, size }; + self.image = image; + self.highlightedImage = highlightedImage; + return self; +} + +// init the animated params. +- (void)resetAnimated { + dispatch_once(&_onceToken, ^{ + _lock = dispatch_semaphore_create(1); + _buffer = [NSMutableDictionary new]; + _requestQueue = [[NSOperationQueue alloc] init]; + _requestQueue.maxConcurrentOperationCount = 1; + _link = [CADisplayLink displayLinkWithTarget:[_YYImageWeakProxy proxyWithTarget:self] selector:@selector(step:)]; + if (_runloopMode) { + [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:_runloopMode]; + } + _link.paused = YES; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMemoryWarning:) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; + }); + + [_requestQueue cancelAllOperations]; + LOCK( + if (_buffer.count) { + NSMutableDictionary *holder = _buffer; + _buffer = [NSMutableDictionary new]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ + // Capture the dictionary to global queue, + // release these images in background to avoid blocking UI thread. + [holder class]; + }); + } + ); + _link.paused = YES; + _time = 0; + if (_curIndex != 0) { + [self willChangeValueForKey:@"currentAnimatedImageIndex"]; + _curIndex = 0; + [self didChangeValueForKey:@"currentAnimatedImageIndex"]; + } + _curAnimatedImage = nil; + _curFrame = nil; + _curLoop = 0; + _totalLoop = 0; + _totalFrameCount = 1; + _loopEnd = NO; + _bufferMiss = NO; + _incrBufferCount = 0; +} + +- (void)setImage:(UIImage *)image { + if (self.image == image) return; + [self setImage:image withType:YYAnimatedImageTypeImage]; +} + +- (void)setHighlightedImage:(UIImage *)highlightedImage { + if (self.highlightedImage == highlightedImage) return; + [self setImage:highlightedImage withType:YYAnimatedImageTypeHighlightedImage]; +} + +- (void)setAnimationImages:(NSArray *)animationImages { + if (self.animationImages == animationImages) return; + [self setImage:animationImages withType:YYAnimatedImageTypeImages]; +} + +- (void)setHighlightedAnimationImages:(NSArray *)highlightedAnimationImages { + if (self.highlightedAnimationImages == highlightedAnimationImages) return; + [self setImage:highlightedAnimationImages withType:YYAnimatedImageTypeHighlightedImages]; +} + +- (void)setHighlighted:(BOOL)highlighted { + [super setHighlighted:highlighted]; + if (_link) [self resetAnimated]; + [self imageChanged]; +} + +- (id)imageForType:(YYAnimatedImageType)type { + switch (type) { + case YYAnimatedImageTypeNone: return nil; + case YYAnimatedImageTypeImage: return self.image; + case YYAnimatedImageTypeHighlightedImage: return self.highlightedImage; + case YYAnimatedImageTypeImages: return self.animationImages; + case YYAnimatedImageTypeHighlightedImages: return self.highlightedAnimationImages; + } + return nil; +} + +- (YYAnimatedImageType)currentImageType { + YYAnimatedImageType curType = YYAnimatedImageTypeNone; + if (self.highlighted) { + if (self.highlightedAnimationImages.count) curType = YYAnimatedImageTypeHighlightedImages; + else if (self.highlightedImage) curType = YYAnimatedImageTypeHighlightedImage; + } + if (curType == YYAnimatedImageTypeNone) { + if (self.animationImages.count) curType = YYAnimatedImageTypeImages; + else if (self.image) curType = YYAnimatedImageTypeImage; + } + return curType; +} + +- (void)setImage:(id)image withType:(YYAnimatedImageType)type { + [self stopAnimating]; + if (_link) [self resetAnimated]; + _curFrame = nil; + switch (type) { + case YYAnimatedImageTypeNone: break; + case YYAnimatedImageTypeImage: super.image = image; break; + case YYAnimatedImageTypeHighlightedImage: super.highlightedImage = image; break; + case YYAnimatedImageTypeImages: super.animationImages = image; break; + case YYAnimatedImageTypeHighlightedImages: super.highlightedAnimationImages = image; break; + } + [self imageChanged]; +} + +- (void)imageChanged { + YYAnimatedImageType newType = [self currentImageType]; + id newVisibleImage = [self imageForType:newType]; + NSUInteger newImageFrameCount = 0; + BOOL hasContentsRect = NO; + if ([newVisibleImage isKindOfClass:[UIImage class]] && + [newVisibleImage conformsToProtocol:@protocol(YYAnimatedImage)]) { + newImageFrameCount = ((UIImage *) newVisibleImage).animatedImageFrameCount; + if (newImageFrameCount > 1) { + hasContentsRect = [((UIImage *) newVisibleImage) respondsToSelector:@selector(animatedImageContentsRectAtIndex:)]; + } + } + if (!hasContentsRect && _curImageHasContentsRect) { + if (!CGRectEqualToRect(self.layer.contentsRect, CGRectMake(0, 0, 1, 1)) ) { + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + self.layer.contentsRect = CGRectMake(0, 0, 1, 1); + [CATransaction commit]; + } + } + _curImageHasContentsRect = hasContentsRect; + if (hasContentsRect) { + CGRect rect = [((UIImage *) newVisibleImage) animatedImageContentsRectAtIndex:0]; + [self setContentsRect:rect forImage:newVisibleImage]; + } + + if (newImageFrameCount > 1) { + [self resetAnimated]; + _curAnimatedImage = newVisibleImage; + _curFrame = newVisibleImage; + _totalLoop = _curAnimatedImage.animatedImageLoopCount; + _totalFrameCount = _curAnimatedImage.animatedImageFrameCount; + [self calcMaxBufferCount]; + } + [self setNeedsDisplay]; + [self didMoved]; +} + +// dynamically adjust buffer size for current memory. +- (void)calcMaxBufferCount { + int64_t bytes = (int64_t)_curAnimatedImage.animatedImageBytesPerFrame; + if (bytes == 0) bytes = 1024; + + int64_t total = _YYDeviceMemoryTotal(); + int64_t free = _YYDeviceMemoryFree(); + int64_t max = MIN(total * 0.2, free * 0.6); + max = MAX(max, BUFFER_SIZE); + if (_maxBufferSize) max = max > _maxBufferSize ? _maxBufferSize : max; + double maxBufferCount = (double)max / (double)bytes; + if (maxBufferCount < 1) maxBufferCount = 1; + else if (maxBufferCount > 512) maxBufferCount = 512; + _maxBufferCount = maxBufferCount; +} + +- (void)dealloc { + [_requestQueue cancelAllOperations]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [_link invalidate]; +} + +- (BOOL)isAnimating { + return self.currentIsPlayingAnimation; +} + +- (void)stopAnimating { + [super stopAnimating]; + [_requestQueue cancelAllOperations]; + _link.paused = YES; + self.currentIsPlayingAnimation = NO; +} + +- (void)startAnimating { + YYAnimatedImageType type = [self currentImageType]; + if (type == YYAnimatedImageTypeImages || type == YYAnimatedImageTypeHighlightedImages) { + NSArray *images = [self imageForType:type]; + if (images.count > 0) { + [super startAnimating]; + self.currentIsPlayingAnimation = YES; + } + } else { + if (_curAnimatedImage && _link.paused) { + _curLoop = 0; + _loopEnd = NO; + _link.paused = NO; + self.currentIsPlayingAnimation = YES; + } + } +} + +- (void)didReceiveMemoryWarning:(NSNotification *)notification { + [_requestQueue cancelAllOperations]; + [_requestQueue addOperationWithBlock: ^{ + _incrBufferCount = -60 - (int)(arc4random() % 120); // about 1~3 seconds to grow back.. + NSNumber *next = @((_curIndex + 1) % _totalFrameCount); + LOCK( + NSArray * keys = _buffer.allKeys; + for (NSNumber * key in keys) { + if (![key isEqualToNumber:next]) { // keep the next frame for smoothly animation + [_buffer removeObjectForKey:key]; + } + } + )//LOCK + }]; +} + +- (void)didEnterBackground:(NSNotification *)notification { + [_requestQueue cancelAllOperations]; + NSNumber *next = @((_curIndex + 1) % _totalFrameCount); + LOCK( + NSArray * keys = _buffer.allKeys; + for (NSNumber * key in keys) { + if (![key isEqualToNumber:next]) { // keep the next frame for smoothly animation + [_buffer removeObjectForKey:key]; + } + } + )//LOCK +} + +- (void)step:(CADisplayLink *)link { + UIImage *image = _curAnimatedImage; + NSMutableDictionary *buffer = _buffer; + UIImage *bufferedImage = nil; + NSUInteger nextIndex = (_curIndex + 1) % _totalFrameCount; + BOOL bufferIsFull = NO; + + if (!image) return; + if (_loopEnd) { // view will keep in last frame + [self stopAnimating]; + return; + } + + NSTimeInterval delay = 0; + if (!_bufferMiss) { + _time += link.duration; + delay = [image animatedImageDurationAtIndex:_curIndex]; + if (_time < delay) return; + _time -= delay; + if (nextIndex == 0) { + _curLoop++; + if (_curLoop >= _totalLoop && _totalLoop != 0) { + _loopEnd = YES; + [self stopAnimating]; + [self.layer setNeedsDisplay]; // let system call `displayLayer:` before runloop sleep + return; // stop at last frame + } + } + delay = [image animatedImageDurationAtIndex:nextIndex]; + if (_time > delay) _time = delay; // do not jump over frame + } + LOCK( + bufferedImage = buffer[@(nextIndex)]; + if (bufferedImage) { + if ((int)_incrBufferCount < _totalFrameCount) { + [buffer removeObjectForKey:@(nextIndex)]; + } + [self willChangeValueForKey:@"currentAnimatedImageIndex"]; + _curIndex = nextIndex; + [self didChangeValueForKey:@"currentAnimatedImageIndex"]; + _curFrame = bufferedImage == (id)[NSNull null] ? nil : bufferedImage; + if (_curImageHasContentsRect) { + _curContentsRect = [image animatedImageContentsRectAtIndex:_curIndex]; + [self setContentsRect:_curContentsRect forImage:_curFrame]; + } + nextIndex = (_curIndex + 1) % _totalFrameCount; + _bufferMiss = NO; + if (buffer.count == _totalFrameCount) { + bufferIsFull = YES; + } + } else { + _bufferMiss = YES; + } + )//LOCK + + if (!_bufferMiss) { + [self.layer setNeedsDisplay]; // let system call `displayLayer:` before runloop sleep + } + + if (!bufferIsFull && _requestQueue.operationCount == 0) { // if some work not finished, wait for next opportunity + _YYAnimatedImageViewFetchOperation *operation = [_YYAnimatedImageViewFetchOperation new]; + operation.view = self; + operation.nextIndex = nextIndex; + operation.curImage = image; + [_requestQueue addOperation:operation]; + } +} + +- (void)displayLayer:(CALayer *)layer { + if (_curFrame) { + layer.contents = (__bridge id)_curFrame.CGImage; + } +} + +- (void)setContentsRect:(CGRect)rect forImage:(UIImage *)image{ + CGRect layerRect = CGRectMake(0, 0, 1, 1); + if (image) { + CGSize imageSize = image.size; + if (imageSize.width > 0.01 && imageSize.height > 0.01) { + layerRect.origin.x = rect.origin.x / imageSize.width; + layerRect.origin.y = rect.origin.y / imageSize.height; + layerRect.size.width = rect.size.width / imageSize.width; + layerRect.size.height = rect.size.height / imageSize.height; + layerRect = CGRectIntersection(layerRect, CGRectMake(0, 0, 1, 1)); + if (CGRectIsNull(layerRect) || CGRectIsEmpty(layerRect)) { + layerRect = CGRectMake(0, 0, 1, 1); + } + } + } + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + self.layer.contentsRect = layerRect; + [CATransaction commit]; +} + +- (void)didMoved { + if (self.autoPlayAnimatedImage) { + if(self.superview && self.window) { + [self startAnimating]; + } else { + [self stopAnimating]; + } + } +} + +- (void)didMoveToWindow { + [super didMoveToWindow]; + [self didMoved]; +} + +- (void)didMoveToSuperview { + [super didMoveToSuperview]; + [self didMoved]; +} + +- (void)setCurrentAnimatedImageIndex:(NSUInteger)currentAnimatedImageIndex { + if (!_curAnimatedImage) return; + if (currentAnimatedImageIndex >= _curAnimatedImage.animatedImageFrameCount) return; + if (_curIndex == currentAnimatedImageIndex) return; + + void (^block)() = ^{ + LOCK( + [_requestQueue cancelAllOperations]; + [_buffer removeAllObjects]; + [self willChangeValueForKey:@"currentAnimatedImageIndex"]; + _curIndex = currentAnimatedImageIndex; + [self didChangeValueForKey:@"currentAnimatedImageIndex"]; + _curFrame = [_curAnimatedImage animatedImageFrameAtIndex:_curIndex]; + if (_curImageHasContentsRect) { + _curContentsRect = [_curAnimatedImage animatedImageContentsRectAtIndex:_curIndex]; + } + _time = 0; + _loopEnd = NO; + _bufferMiss = NO; + [self.layer setNeedsDisplay]; + )//LOCK + }; + + if (pthread_main_np()) { + block(); + } else { + dispatch_async(dispatch_get_main_queue(), block); + } +} + +- (NSUInteger)currentAnimatedImageIndex { + return _curIndex; +} + +- (void)setRunloopMode:(NSString *)runloopMode { + if ([_runloopMode isEqual:runloopMode]) return; + if (_link) { + if (_runloopMode) { + [_link removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:_runloopMode]; + } + if (runloopMode.length) { + [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:runloopMode]; + } + } + _runloopMode = runloopMode.copy; +} + +#pragma mark - Override NSObject(NSKeyValueObservingCustomization) + ++ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key { + if ([key isEqualToString:@"currentAnimatedImageIndex"]) { + return NO; + } + return [super automaticallyNotifiesObserversForKey:key]; +} + +#pragma mark - NSCoding + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + self = [super initWithCoder:aDecoder]; + _runloopMode = [aDecoder decodeObjectForKey:@"runloopMode"]; + if (_runloopMode.length == 0) _runloopMode = NSRunLoopCommonModes; + if ([aDecoder containsValueForKey:@"autoPlayAnimatedImage"]) { + _autoPlayAnimatedImage = [aDecoder decodeBoolForKey:@"autoPlayAnimatedImage"]; + } else { + _autoPlayAnimatedImage = YES; + } + + UIImage *image = [aDecoder decodeObjectForKey:@"YYAnimatedImage"]; + UIImage *highlightedImage = [aDecoder decodeObjectForKey:@"YYHighlightedAnimatedImage"]; + if (image) { + self.image = image; + [self setImage:image withType:YYAnimatedImageTypeImage]; + } + if (highlightedImage) { + self.highlightedImage = highlightedImage; + [self setImage:highlightedImage withType:YYAnimatedImageTypeHighlightedImage]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder { + [super encodeWithCoder:aCoder]; + [aCoder encodeObject:_runloopMode forKey:@"runloopMode"]; + [aCoder encodeBool:_autoPlayAnimatedImage forKey:@"autoPlayAnimatedImage"]; + + BOOL ani, multi; + ani = [self.image conformsToProtocol:@protocol(YYAnimatedImage)]; + multi = (ani && ((UIImage *)self.image).animatedImageFrameCount > 1); + if (multi) [aCoder encodeObject:self.image forKey:@"YYAnimatedImage"]; + + ani = [self.highlightedImage conformsToProtocol:@protocol(YYAnimatedImage)]; + multi = (ani && ((UIImage *)self.highlightedImage).animatedImageFrameCount > 1); + if (multi) [aCoder encodeObject:self.highlightedImage forKey:@"YYHighlightedAnimatedImage"]; +} + +@end diff --git a/Pods/YYImage/YYImage/YYFrameImage.h b/Pods/YYImage/YYImage/YYFrameImage.h new file mode 100644 index 0000000..5795cc5 --- /dev/null +++ b/Pods/YYImage/YYImage/YYFrameImage.h @@ -0,0 +1,109 @@ +// +// YYFrameImage.h +// YYImage +// +// Created by ibireme on 14/12/9. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +#if __has_include() +#import +#elif __has_include() +#import +#else +#import "YYAnimatedImageView.h" +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + An image to display frame-based animation. + + @discussion It is a fully compatible `UIImage` subclass. + It only support system image format such as png and jpeg. + The animation can be played by YYAnimatedImageView. + + Sample Code: + + NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"]; + NSArray *times = @[@0.1, @0.2, @0.1]; + YYFrameImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES]; + YYAnimatedImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [view addSubView:imageView]; + */ +@interface YYFrameImage : UIImage + +/** + Create a frame animated image from files. + + @param paths An array of NSString objects, contains the full or + partial path to each image file. + e.g. @[@"/ani/1.png",@"/ani/2.png",@"/ani/3.png"] + + @param oneFrameDuration The duration (in seconds) per frame. + + @param loopCount The animation loop count, 0 means infinite. + + @return An initialized YYFrameImage object, or nil when an error occurs. + */ +- (nullable instancetype)initWithImagePaths:(NSArray *)paths + oneFrameDuration:(NSTimeInterval)oneFrameDuration + loopCount:(NSUInteger)loopCount; + +/** + Create a frame animated image from files. + + @param paths An array of NSString objects, contains the full or + partial path to each image file. + e.g. @[@"/ani/frame1.png",@"/ani/frame2.png",@"/ani/frame3.png"] + + @param frameDurations An array of NSNumber objects, contains the duration (in seconds) per frame. + e.g. @[@0.1, @0.2, @0.3]; + + @param loopCount The animation loop count, 0 means infinite. + + @return An initialized YYFrameImage object, or nil when an error occurs. + */ +- (nullable instancetype)initWithImagePaths:(NSArray *)paths + frameDurations:(NSArray *)frameDurations + loopCount:(NSUInteger)loopCount; + +/** + Create a frame animated image from an array of data. + + @param dataArray An array of NSData objects. + + @param oneFrameDuration The duration (in seconds) per frame. + + @param loopCount The animation loop count, 0 means infinite. + + @return An initialized YYFrameImage object, or nil when an error occurs. + */ +- (nullable instancetype)initWithImageDataArray:(NSArray *)dataArray + oneFrameDuration:(NSTimeInterval)oneFrameDuration + loopCount:(NSUInteger)loopCount; + +/** + Create a frame animated image from an array of data. + + @param dataArray An array of NSData objects. + + @param frameDurations An array of NSNumber objects, contains the duration (in seconds) per frame. + e.g. @[@0.1, @0.2, @0.3]; + + @param loopCount The animation loop count, 0 means infinite. + + @return An initialized YYFrameImage object, or nil when an error occurs. + */ +- (nullable instancetype)initWithImageDataArray:(NSArray *)dataArray + frameDurations:(NSArray *)frameDurations + loopCount:(NSUInteger)loopCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/YYImage/YYImage/YYFrameImage.m b/Pods/YYImage/YYImage/YYFrameImage.m new file mode 100644 index 0000000..93efe88 --- /dev/null +++ b/Pods/YYImage/YYImage/YYFrameImage.m @@ -0,0 +1,150 @@ +// +// YYFrameImage.m +// YYImage +// +// Created by ibireme on 14/12/9. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYFrameImage.h" +#import "YYImageCoder.h" + + +/** + Return the path scale. + + e.g. + + + + + + + + +
Path Scale
"icon.png" 1
"icon@2x.png" 2
"icon@2.5x.png" 2.5
"icon@2x" 1
"icon@2x..png" 1
"icon@2x.png/" 1
+ */ +static CGFloat _NSStringPathScale(NSString *string) { + if (string.length == 0 || [string hasSuffix:@"/"]) return 1; + NSString *name = string.stringByDeletingPathExtension; + __block CGFloat scale = 1; + + NSRegularExpression *pattern = [NSRegularExpression regularExpressionWithPattern:@"@[0-9]+\\.?[0-9]*x$" options:NSRegularExpressionAnchorsMatchLines error:nil]; + [pattern enumerateMatchesInString:name options:kNilOptions range:NSMakeRange(0, name.length) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { + if (result.range.location >= 3) { + scale = [string substringWithRange:NSMakeRange(result.range.location + 1, result.range.length - 2)].doubleValue; + } + }]; + + return scale; +} + + + +@implementation YYFrameImage { + NSUInteger _loopCount; + NSUInteger _oneFrameBytes; + NSArray *_imagePaths; + NSArray *_imageDatas; + NSArray *_frameDurations; +} + +- (instancetype)initWithImagePaths:(NSArray *)paths oneFrameDuration:(NSTimeInterval)oneFrameDuration loopCount:(NSUInteger)loopCount { + NSMutableArray *durations = [NSMutableArray new]; + for (int i = 0, max = (int)paths.count; i < max; i++) { + [durations addObject:@(oneFrameDuration)]; + } + return [self initWithImagePaths:paths frameDurations:durations loopCount:loopCount]; +} + +- (instancetype)initWithImagePaths:(NSArray *)paths frameDurations:(NSArray *)frameDurations loopCount:(NSUInteger)loopCount { + if (paths.count == 0) return nil; + if (paths.count != frameDurations.count) return nil; + + NSString *firstPath = paths[0]; + NSData *firstData = [NSData dataWithContentsOfFile:firstPath]; + CGFloat scale = _NSStringPathScale(firstPath); + UIImage *firstCG = [[[UIImage alloc] initWithData:firstData] yy_imageByDecoded]; + self = [self initWithCGImage:firstCG.CGImage scale:scale orientation:UIImageOrientationUp]; + if (!self) return nil; + long frameByte = CGImageGetBytesPerRow(firstCG.CGImage) * CGImageGetHeight(firstCG.CGImage); + _oneFrameBytes = (NSUInteger)frameByte; + _imagePaths = paths.copy; + _frameDurations = frameDurations.copy; + _loopCount = loopCount; + + return self; +} + +- (instancetype)initWithImageDataArray:(NSArray *)dataArray oneFrameDuration:(NSTimeInterval)oneFrameDuration loopCount:(NSUInteger)loopCount { + NSMutableArray *durations = [NSMutableArray new]; + for (int i = 0, max = (int)dataArray.count; i < max; i++) { + [durations addObject:@(oneFrameDuration)]; + } + return [self initWithImageDataArray:dataArray frameDurations:durations loopCount:loopCount]; +} + +- (instancetype)initWithImageDataArray:(NSArray *)dataArray frameDurations:(NSArray *)frameDurations loopCount:(NSUInteger)loopCount { + if (dataArray.count == 0) return nil; + if (dataArray.count != frameDurations.count) return nil; + + NSData *firstData = dataArray[0]; + CGFloat scale = [UIScreen mainScreen].scale; + UIImage *firstCG = [[[UIImage alloc] initWithData:firstData] yy_imageByDecoded]; + self = [self initWithCGImage:firstCG.CGImage scale:scale orientation:UIImageOrientationUp]; + if (!self) return nil; + long frameByte = CGImageGetBytesPerRow(firstCG.CGImage) * CGImageGetHeight(firstCG.CGImage); + _oneFrameBytes = (NSUInteger)frameByte; + _imageDatas = dataArray.copy; + _frameDurations = frameDurations.copy; + _loopCount = loopCount; + + return self; +} + +#pragma mark - YYAnimtedImage + +- (NSUInteger)animatedImageFrameCount { + if (_imagePaths) { + return _imagePaths.count; + } else if (_imageDatas) { + return _imageDatas.count; + } else { + return 1; + } +} + +- (NSUInteger)animatedImageLoopCount { + return _loopCount; +} + +- (NSUInteger)animatedImageBytesPerFrame { + return _oneFrameBytes; +} + +- (UIImage *)animatedImageFrameAtIndex:(NSUInteger)index { + if (_imagePaths) { + if (index >= _imagePaths.count) return nil; + NSString *path = _imagePaths[index]; + CGFloat scale = _NSStringPathScale(path); + NSData *data = [NSData dataWithContentsOfFile:path]; + return [[UIImage imageWithData:data scale:scale] yy_imageByDecoded]; + } else if (_imageDatas) { + if (index >= _imageDatas.count) return nil; + NSData *data = _imageDatas[index]; + return [[UIImage imageWithData:data scale:[UIScreen mainScreen].scale] yy_imageByDecoded]; + } else { + return index == 0 ? self : nil; + } +} + +- (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index { + if (index >= _frameDurations.count) return 0; + NSNumber *num = _frameDurations[index]; + return [num doubleValue]; +} + +@end diff --git a/Pods/YYImage/YYImage/YYImage.h b/Pods/YYImage/YYImage/YYImage.h new file mode 100644 index 0000000..0361026 --- /dev/null +++ b/Pods/YYImage/YYImage/YYImage.h @@ -0,0 +1,92 @@ +// +// YYImage.h +// YYImage +// +// Created by ibireme on 14/10/20. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +#if __has_include() +FOUNDATION_EXPORT double YYImageVersionNumber; +FOUNDATION_EXPORT const unsigned char YYImageVersionString[]; +#import +#import +#import +#import +#elif __has_include() +#import +#import +#import +#import +#else +#import "YYFrameImage.h" +#import "YYSpriteSheetImage.h" +#import "YYImageCoder.h" +#import "YYAnimatedImageView.h" +#endif + +NS_ASSUME_NONNULL_BEGIN + + +/** + A YYImage object is a high-level way to display animated image data. + + @discussion It is a fully compatible `UIImage` subclass. It extends the UIImage + to support animated WebP, APNG and GIF format image data decoding. It also + support NSCoding protocol to archive and unarchive multi-frame image data. + + If the image is created from multi-frame image data, and you want to play the + animation, try replace UIImageView with `YYAnimatedImageView`. + + Sample Code: + + // animation@3x.webp + YYImage *image = [YYImage imageNamed:@"animation.webp"]; + YYAnimatedImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [view addSubView:imageView]; + + */ +@interface YYImage : UIImage + ++ (nullable YYImage *)imageNamed:(NSString *)name; // no cache! ++ (nullable YYImage *)imageWithContentsOfFile:(NSString *)path; ++ (nullable YYImage *)imageWithData:(NSData *)data; ++ (nullable YYImage *)imageWithData:(NSData *)data scale:(CGFloat)scale; + +/** + If the image is created from data or file, then the value indicates the data type. + */ +@property (nonatomic, readonly) YYImageType animatedImageType; + +/** + If the image is created from animated image data (multi-frame GIF/APNG/WebP), + this property stores the original image data. + */ +@property (nullable, nonatomic, readonly) NSData *animatedImageData; + +/** + The total memory usage (in bytes) if all frame images was loaded into memory. + The value is 0 if the image is not created from a multi-frame image data. + */ +@property (nonatomic, readonly) NSUInteger animatedImageMemorySize; + +/** + Preload all frame image to memory. + + @discussion Set this property to `YES` will block the calling thread to decode + all animation frame image to memory, set to `NO` will release the preloaded frames. + If the image is shared by lots of image views (such as emoticon), preload all + frames will reduce the CPU cost. + + See `animatedImageMemorySize` for memory cost. + */ +@property (nonatomic) BOOL preloadAllAnimatedImageFrames; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/YYImage/YYImage/YYImage.m b/Pods/YYImage/YYImage/YYImage.m new file mode 100644 index 0000000..aaea939 --- /dev/null +++ b/Pods/YYImage/YYImage/YYImage.m @@ -0,0 +1,254 @@ +// +// YYImage.m +// YYImage +// +// Created by ibireme on 14/10/20. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYImage.h" + +/** + An array of NSNumber objects, shows the best order for path scale search. + e.g. iPhone3GS:@[@1,@2,@3] iPhone5:@[@2,@3,@1] iPhone6 Plus:@[@3,@2,@1] + */ +static NSArray *_NSBundlePreferredScales() { + static NSArray *scales; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + CGFloat screenScale = [UIScreen mainScreen].scale; + if (screenScale <= 1) { + scales = @[@1,@2,@3]; + } else if (screenScale <= 2) { + scales = @[@2,@3,@1]; + } else { + scales = @[@3,@2,@1]; + } + }); + return scales; +} + +/** + Add scale modifier to the file name (without path extension), + From @"name" to @"name@2x". + + e.g. + + + + + + + +
Before After(scale:2)
"icon" "icon@2x"
"icon " "icon @2x"
"icon.top" "icon.top@2x"
"/p/name" "/p/name@2x"
"/path/" "/path/"
+ + @param scale Resource scale. + @return String by add scale modifier, or just return if it's not end with file name. + */ +static NSString *_NSStringByAppendingNameScale(NSString *string, CGFloat scale) { + if (!string) return nil; + if (fabs(scale - 1) <= __FLT_EPSILON__ || string.length == 0 || [string hasSuffix:@"/"]) return string.copy; + return [string stringByAppendingFormat:@"@%@x", @(scale)]; +} + +/** + Return the path scale. + + e.g. + + + + + + + + +
Path Scale
"icon.png" 1
"icon@2x.png" 2
"icon@2.5x.png" 2.5
"icon@2x" 1
"icon@2x..png" 1
"icon@2x.png/" 1
+ */ +static CGFloat _NSStringPathScale(NSString *string) { + if (string.length == 0 || [string hasSuffix:@"/"]) return 1; + NSString *name = string.stringByDeletingPathExtension; + __block CGFloat scale = 1; + + NSRegularExpression *pattern = [NSRegularExpression regularExpressionWithPattern:@"@[0-9]+\\.?[0-9]*x$" options:NSRegularExpressionAnchorsMatchLines error:nil]; + [pattern enumerateMatchesInString:name options:kNilOptions range:NSMakeRange(0, name.length) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { + if (result.range.location >= 3) { + scale = [string substringWithRange:NSMakeRange(result.range.location + 1, result.range.length - 2)].doubleValue; + } + }]; + + return scale; +} + + +@implementation YYImage { + YYImageDecoder *_decoder; + NSArray *_preloadedFrames; + dispatch_semaphore_t _preloadedLock; + NSUInteger _bytesPerFrame; +} + ++ (YYImage *)imageNamed:(NSString *)name { + if (name.length == 0) return nil; + if ([name hasSuffix:@"/"]) return nil; + + NSString *res = name.stringByDeletingPathExtension; + NSString *ext = name.pathExtension; + NSString *path = nil; + CGFloat scale = 1; + + // If no extension, guess by system supported (same as UIImage). + NSArray *exts = ext.length > 0 ? @[ext] : @[@"", @"png", @"jpeg", @"jpg", @"gif", @"webp", @"apng"]; + NSArray *scales = _NSBundlePreferredScales(); + for (int s = 0; s < scales.count; s++) { + scale = ((NSNumber *)scales[s]).floatValue; + NSString *scaledName = _NSStringByAppendingNameScale(res, scale); + for (NSString *e in exts) { + path = [[NSBundle mainBundle] pathForResource:scaledName ofType:e]; + if (path) break; + } + if (path) break; + } + if (path.length == 0) return nil; + + NSData *data = [NSData dataWithContentsOfFile:path]; + if (data.length == 0) return nil; + + return [[self alloc] initWithData:data scale:scale]; +} + ++ (YYImage *)imageWithContentsOfFile:(NSString *)path { + return [[self alloc] initWithContentsOfFile:path]; +} + ++ (YYImage *)imageWithData:(NSData *)data { + return [[self alloc] initWithData:data]; +} + ++ (YYImage *)imageWithData:(NSData *)data scale:(CGFloat)scale { + return [[self alloc] initWithData:data scale:scale]; +} + +- (instancetype)initWithContentsOfFile:(NSString *)path { + NSData *data = [NSData dataWithContentsOfFile:path]; + return [self initWithData:data scale:_NSStringPathScale(path)]; +} + +- (instancetype)initWithData:(NSData *)data { + return [self initWithData:data scale:1]; +} + +- (instancetype)initWithData:(NSData *)data scale:(CGFloat)scale { + if (data.length == 0) return nil; + if (scale <= 0) scale = [UIScreen mainScreen].scale; + _preloadedLock = dispatch_semaphore_create(1); + @autoreleasepool { + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:scale]; + YYImageFrame *frame = [decoder frameAtIndex:0 decodeForDisplay:YES]; + UIImage *image = frame.image; + if (!image) return nil; + self = [self initWithCGImage:image.CGImage scale:decoder.scale orientation:image.imageOrientation]; + if (!self) return nil; + _animatedImageType = decoder.type; + if (decoder.frameCount > 1) { + _decoder = decoder; + _bytesPerFrame = CGImageGetBytesPerRow(image.CGImage) * CGImageGetHeight(image.CGImage); + _animatedImageMemorySize = _bytesPerFrame * decoder.frameCount; + } + self.yy_isDecodedForDisplay = YES; + } + return self; +} + +- (NSData *)animatedImageData { + return _decoder.data; +} + +- (void)setPreloadAllAnimatedImageFrames:(BOOL)preloadAllAnimatedImageFrames { + if (_preloadAllAnimatedImageFrames != preloadAllAnimatedImageFrames) { + if (preloadAllAnimatedImageFrames && _decoder.frameCount > 0) { + NSMutableArray *frames = [NSMutableArray new]; + for (NSUInteger i = 0, max = _decoder.frameCount; i < max; i++) { + UIImage *img = [self animatedImageFrameAtIndex:i]; + if (img) { + [frames addObject:img]; + } else { + [frames addObject:[NSNull null]]; + } + } + dispatch_semaphore_wait(_preloadedLock, DISPATCH_TIME_FOREVER); + _preloadedFrames = frames; + dispatch_semaphore_signal(_preloadedLock); + } else { + dispatch_semaphore_wait(_preloadedLock, DISPATCH_TIME_FOREVER); + _preloadedFrames = nil; + dispatch_semaphore_signal(_preloadedLock); + } + } +} + +#pragma mark - protocol NSCoding + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + NSNumber *scale = [aDecoder decodeObjectForKey:@"YYImageScale"]; + NSData *data = [aDecoder decodeObjectForKey:@"YYImageData"]; + if (data.length) { + self = [self initWithData:data scale:scale.doubleValue]; + } else { + self = [super initWithCoder:aDecoder]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder { + if (_decoder.data.length) { + [aCoder encodeObject:@(self.scale) forKey:@"YYImageScale"]; + [aCoder encodeObject:_decoder.data forKey:@"YYImageData"]; + } else { + [super encodeWithCoder:aCoder]; // Apple use UIImagePNGRepresentation() to encode UIImage. + } +} + +#pragma mark - protocol YYAnimatedImage + +- (NSUInteger)animatedImageFrameCount { + return _decoder.frameCount; +} + +- (NSUInteger)animatedImageLoopCount { + return _decoder.loopCount; +} + +- (NSUInteger)animatedImageBytesPerFrame { + return _bytesPerFrame; +} + +- (UIImage *)animatedImageFrameAtIndex:(NSUInteger)index { + if (index >= _decoder.frameCount) return nil; + dispatch_semaphore_wait(_preloadedLock, DISPATCH_TIME_FOREVER); + UIImage *image = _preloadedFrames[index]; + dispatch_semaphore_signal(_preloadedLock); + if (image) return image == (id)[NSNull null] ? nil : image; + return [_decoder frameAtIndex:index decodeForDisplay:YES].image; +} + +- (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index { + NSTimeInterval duration = [_decoder frameDurationAtIndex:index]; + + /* + http://opensource.apple.com/source/WebCore/WebCore-7600.1.25/platform/graphics/cg/ImageSourceCG.cpp + Many annoying ads specify a 0 duration to make an image flash as quickly as + possible. We follow Safari and Firefox's behavior and use a duration of 100 ms + for any frames that specify a duration of <= 10 ms. + See and for more information. + + See also: http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser. + */ + if (duration < 0.011f) return 0.100f; + return duration; +} + +@end diff --git a/Pods/YYImage/YYImage/YYImageCoder.h b/Pods/YYImage/YYImage/YYImageCoder.h new file mode 100644 index 0000000..61a931c --- /dev/null +++ b/Pods/YYImage/YYImage/YYImageCoder.h @@ -0,0 +1,505 @@ +// +// YYImageCoder.h +// YYImage +// +// Created by ibireme on 15/5/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Image file type. + */ +typedef NS_ENUM(NSUInteger, YYImageType) { + YYImageTypeUnknown = 0, ///< unknown + YYImageTypeJPEG, ///< jpeg, jpg + YYImageTypeJPEG2000, ///< jp2 + YYImageTypeTIFF, ///< tiff, tif + YYImageTypeBMP, ///< bmp + YYImageTypeICO, ///< ico + YYImageTypeICNS, ///< icns + YYImageTypeGIF, ///< gif + YYImageTypePNG, ///< png + YYImageTypeWebP, ///< webp + YYImageTypeOther, ///< other image format +}; + + +/** + Dispose method specifies how the area used by the current frame is to be treated + before rendering the next frame on the canvas. + */ +typedef NS_ENUM(NSUInteger, YYImageDisposeMethod) { + + /** + No disposal is done on this frame before rendering the next; the contents + of the canvas are left as is. + */ + YYImageDisposeNone = 0, + + /** + The frame's region of the canvas is to be cleared to fully transparent black + before rendering the next frame. + */ + YYImageDisposeBackground, + + /** + The frame's region of the canvas is to be reverted to the previous contents + before rendering the next frame. + */ + YYImageDisposePrevious, +}; + +/** + Blend operation specifies how transparent pixels of the current frame are + blended with those of the previous canvas. + */ +typedef NS_ENUM(NSUInteger, YYImageBlendOperation) { + + /** + All color components of the frame, including alpha, overwrite the current + contents of the frame's canvas region. + */ + YYImageBlendNone = 0, + + /** + The frame should be composited onto the output buffer based on its alpha. + */ + YYImageBlendOver, +}; + +/** + An image frame object. + */ +@interface YYImageFrame : NSObject +@property (nonatomic) NSUInteger index; ///< Frame index (zero based) +@property (nonatomic) NSUInteger width; ///< Frame width +@property (nonatomic) NSUInteger height; ///< Frame height +@property (nonatomic) NSUInteger offsetX; ///< Frame origin.x in canvas (left-bottom based) +@property (nonatomic) NSUInteger offsetY; ///< Frame origin.y in canvas (left-bottom based) +@property (nonatomic) NSTimeInterval duration; ///< Frame duration in seconds +@property (nonatomic) YYImageDisposeMethod dispose; ///< Frame dispose method. +@property (nonatomic) YYImageBlendOperation blend; ///< Frame blend operation. +@property (nullable, nonatomic, strong) UIImage *image; ///< The image. ++ (instancetype)frameWithImage:(UIImage *)image; +@end + + +#pragma mark - Decoder + +/** + An image decoder to decode image data. + + @discussion This class supports decoding animated WebP, APNG, GIF and system + image format such as PNG, JPG, JP2, BMP, TIFF, PIC, ICNS and ICO. It can be used + to decode complete image data, or to decode incremental image data during image + download. This class is thread-safe. + + Example: + + // Decode single image: + NSData *data = [NSData dataWithContentOfFile:@"/tmp/image.webp"]; + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + + // Decode image during download: + NSMutableData *data = [NSMutableData new]; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0]; + while(newDataArrived) { + [data appendData:newData]; + [decoder updateData:data final:NO]; + if (decoder.frameCount > 0) { + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // progressive display... + } + } + [decoder updateData:data final:YES]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // final display... + + */ +@interface YYImageDecoder : NSObject + +@property (nullable, nonatomic, readonly) NSData *data; ///< Image data. +@property (nonatomic, readonly) YYImageType type; ///< Image data type. +@property (nonatomic, readonly) CGFloat scale; ///< Image scale. +@property (nonatomic, readonly) NSUInteger frameCount; ///< Image frame count. +@property (nonatomic, readonly) NSUInteger loopCount; ///< Image loop count, 0 means infinite. +@property (nonatomic, readonly) NSUInteger width; ///< Image canvas width. +@property (nonatomic, readonly) NSUInteger height; ///< Image canvas height. +@property (nonatomic, readonly, getter=isFinalized) BOOL finalized; + +/** + Creates an image decoder. + + @param scale Image's scale. + @return An image decoder. + */ +- (instancetype)initWithScale:(CGFloat)scale NS_DESIGNATED_INITIALIZER; + +/** + Updates the incremental image with new data. + + @discussion You can use this method to decode progressive/interlaced/baseline + image when you do not have the complete image data. The `data` was retained by + decoder, you should not modify the data in other thread during decoding. + + @param data The data to add to the image decoder. Each time you call this + function, the 'data' parameter must contain all of the image file data + accumulated so far. + + @param final A value that specifies whether the data is the final set. + Pass YES if it is, NO otherwise. When the data is already finalized, you can + not update the data anymore. + + @return Whether succeed. + */ +- (BOOL)updateData:(nullable NSData *)data final:(BOOL)final; + +/** + Convenience method to create a decoder with specified data. + @param data Image data. + @param scale Image's scale. + @return A new decoder, or nil if an error occurs. + */ ++ (nullable instancetype)decoderWithData:(NSData *)data scale:(CGFloat)scale; + +/** + Decodes and returns a frame from a specified index. + @param index Frame image index (zero-based). + @param decodeForDisplay Whether decode the image to memory bitmap for display. + If NO, it will try to returns the original frame data without blend. + @return A new frame with image, or nil if an error occurs. + */ +- (nullable YYImageFrame *)frameAtIndex:(NSUInteger)index decodeForDisplay:(BOOL)decodeForDisplay; + +/** + Returns the frame duration from a specified index. + @param index Frame image (zero-based). + @return Duration in seconds. + */ +- (NSTimeInterval)frameDurationAtIndex:(NSUInteger)index; + +/** + Returns the frame's properties. See "CGImageProperties.h" in ImageIO.framework + for more information. + + @param index Frame image index (zero-based). + @return The ImageIO frame property. + */ +- (nullable NSDictionary *)framePropertiesAtIndex:(NSUInteger)index; + +/** + Returns the image's properties. See "CGImageProperties.h" in ImageIO.framework + for more information. + */ +- (nullable NSDictionary *)imageProperties; + +@end + + + +#pragma mark - Encoder + +/** + An image encoder to encode image to data. + + @discussion It supports encoding single frame image with the type defined in YYImageType. + It also supports encoding multi-frame image with GIF, APNG and WebP. + + Example: + + YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG]; + jpegEncoder.quality = 0.9; + [jpegEncoder addImage:image duration:0]; + NSData jpegData = [jpegEncoder encode]; + + YYImageEncoder *gifEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeGIF]; + gifEncoder.loopCount = 5; + [gifEncoder addImage:image0 duration:0.1]; + [gifEncoder addImage:image1 duration:0.15]; + [gifEncoder addImage:image2 duration:0.2]; + NSData gifData = [gifEncoder encode]; + + @warning It just pack the images together when encoding multi-frame image. If you + want to reduce the image file size, try imagemagick/ffmpeg for GIF and WebP, + and apngasm for APNG. + */ +@interface YYImageEncoder : NSObject + +@property (nonatomic, readonly) YYImageType type; ///< Image type. +@property (nonatomic) NSUInteger loopCount; ///< Loop count, 0 means infinit, only available for GIF/APNG/WebP. +@property (nonatomic) BOOL lossless; ///< Lossless, only available for WebP. +@property (nonatomic) CGFloat quality; ///< Compress quality, 0.0~1.0, only available for JPG/JP2/WebP. + +- (instancetype)init UNAVAILABLE_ATTRIBUTE; ++ (instancetype)new UNAVAILABLE_ATTRIBUTE; + +/** + Create an image encoder with a specified type. + @param type Image type. + @return A new encoder, or nil if an error occurs. + */ +- (nullable instancetype)initWithType:(YYImageType)type NS_DESIGNATED_INITIALIZER; + +/** + Add an image to encoder. + @param image Image. + @param duration Image duration for animation. Pass 0 to ignore this parameter. + */ +- (void)addImage:(UIImage *)image duration:(NSTimeInterval)duration; + +/** + Add an image with image data to encoder. + @param data Image data. + @param duration Image duration for animation. Pass 0 to ignore this parameter. + */ +- (void)addImageWithData:(NSData *)data duration:(NSTimeInterval)duration; + +/** + Add an image from a file path to encoder. + @param image Image file path. + @param duration Image duration for animation. Pass 0 to ignore this parameter. + */ +- (void)addImageWithFile:(NSString *)path duration:(NSTimeInterval)duration; + +/** + Encodes the image and returns the image data. + @return The image data, or nil if an error occurs. + */ +- (nullable NSData *)encode; + +/** + Encodes the image to a file. + @param path The file path (overwrite if exist). + @return Whether succeed. + */ +- (BOOL)encodeToFile:(NSString *)path; + +/** + Convenience method to encode single frame image. + @param image The image. + @param type The destination image type. + @param quality Image quality, 0.0~1.0. + @return The image data, or nil if an error occurs. + */ ++ (nullable NSData *)encodeImage:(UIImage *)image type:(YYImageType)type quality:(CGFloat)quality; + +/** + Convenience method to encode image from a decoder. + @param decoder The image decoder. + @param type The destination image type; + @param quality Image quality, 0.0~1.0. + @return The image data, or nil if an error occurs. + */ ++ (nullable NSData *)encodeImageWithDecoder:(YYImageDecoder *)decoder type:(YYImageType)type quality:(CGFloat)quality; + +@end + + +#pragma mark - UIImage + +@interface UIImage (YYImageCoder) + +/** + Decompress this image to bitmap, so when the image is displayed on screen, + the main thread won't be blocked by additional decode. If the image has already + been decoded or unable to decode, it just returns itself. + + @return an image decoded, or just return itself if no needed. + @see yy_isDecodedForDisplay + */ +- (instancetype)yy_imageByDecoded; + +/** + Wherher the image can be display on screen without additional decoding. + @warning It just a hint for your code, change it has no other effect. + */ +@property (nonatomic) BOOL yy_isDecodedForDisplay; + +/** + Saves this image to iOS Photos Album. + + @discussion This method attempts to save the original data to album if the + image is created from an animated GIF/APNG, otherwise, it will save the image + as JPEG or PNG (based on the alpha information). + + @param completionBlock The block invoked (in main thread) after the save operation completes. + assetURL: An URL that identifies the saved image file. If the image is not saved, assetURL is nil. + error: If the image is not saved, an error object that describes the reason for failure, otherwise nil. + */ +- (void)yy_saveToAlbumWithCompletionBlock:(nullable void(^)(NSURL * _Nullable assetURL, NSError * _Nullable error))completionBlock; + +/** + Return a 'best' data representation for this image. + + @discussion The convertion based on these rule: + 1. If the image is created from an animated GIF/APNG/WebP, it returns the original data. + 2. It returns PNG or JPEG(0.9) representation based on the alpha information. + + @return Image data, or nil if an error occurs. + */ +- (nullable NSData *)yy_imageDataRepresentation; + +@end + + + +#pragma mark - Helper + +/// Detect a data's image type by reading the data's header 16 bytes (very fast). +CG_EXTERN YYImageType YYImageDetectType(CFDataRef data); + +/// Convert YYImageType to UTI (such as kUTTypeJPEG). +CG_EXTERN CFStringRef _Nullable YYImageTypeToUTType(YYImageType type); + +/// Convert UTI (such as kUTTypeJPEG) to YYImageType. +CG_EXTERN YYImageType YYImageTypeFromUTType(CFStringRef uti); + +/// Get image type's file extension (such as @"jpg"). +CG_EXTERN NSString *_Nullable YYImageTypeGetExtension(YYImageType type); + + + +/// Returns the shared DeviceRGB color space. +CG_EXTERN CGColorSpaceRef YYCGColorSpaceGetDeviceRGB(); + +/// Returns the shared DeviceGray color space. +CG_EXTERN CGColorSpaceRef YYCGColorSpaceGetDeviceGray(); + +/// Returns whether a color space is DeviceRGB. +CG_EXTERN BOOL YYCGColorSpaceIsDeviceRGB(CGColorSpaceRef space); + +/// Returns whether a color space is DeviceGray. +CG_EXTERN BOOL YYCGColorSpaceIsDeviceGray(CGColorSpaceRef space); + + + +/// Convert EXIF orientation value to UIImageOrientation. +CG_EXTERN UIImageOrientation YYUIImageOrientationFromEXIFValue(NSInteger value); + +/// Convert UIImageOrientation to EXIF orientation value. +CG_EXTERN NSInteger YYUIImageOrientationToEXIFValue(UIImageOrientation orientation); + + + +/** + Create a decoded image. + + @discussion If the source image is created from a compressed image data (such as + PNG or JPEG), you can use this method to decode the image. After decoded, you can + access the decoded bytes with CGImageGetDataProvider() and CGDataProviderCopyData() + without additional decode process. If the image has already decoded, this method + just copy the decoded bytes to the new image. + + @param imageRef The source image. + @param decodeForDisplay If YES, this method will decode the image and convert + it to BGRA8888 (premultiplied) or BGRX8888 format for CALayer display. + + @return A decoded image, or NULL if an error occurs. + */ +CG_EXTERN CGImageRef _Nullable YYCGImageCreateDecodedCopy(CGImageRef imageRef, BOOL decodeForDisplay); + +/** + Create an image copy with an orientation. + + @param imageRef Source image + @param orientation Image orientation which will applied to the image. + @param destBitmapInfo Destimation image bitmap, only support 32bit format (such as ARGB8888). + @return A new image, or NULL if an error occurs. + */ +CG_EXTERN CGImageRef _Nullable YYCGImageCreateCopyWithOrientation(CGImageRef imageRef, + UIImageOrientation orientation, + CGBitmapInfo destBitmapInfo); + +/** + Create an image copy with CGAffineTransform. + + @param imageRef Source image. + @param transform Transform applied to image (left-bottom based coordinate system). + @param destSize Destination image size + @param destBitmapInfo Destimation image bitmap, only support 32bit format (such as ARGB8888). + @return A new image, or NULL if an error occurs. + */ +CG_EXTERN CGImageRef _Nullable YYCGImageCreateAffineTransformCopy(CGImageRef imageRef, + CGAffineTransform transform, + CGSize destSize, + CGBitmapInfo destBitmapInfo); + +/** + Encode an image to data with CGImageDestination. + + @param imageRef The image. + @param type The image destination data type. + @param quality The quality (0.0~1.0) + @return A new image data, or nil if an error occurs. + */ +CG_EXTERN CFDataRef _Nullable YYCGImageCreateEncodedData(CGImageRef imageRef, YYImageType type, CGFloat quality); + + +/** + Whether WebP is available in YYImage. + */ +CG_EXTERN BOOL YYImageWebPAvailable(); + +/** + Get a webp image frame count; + + @param webpData WebP data. + @return Image frame count, or 0 if an error occurs. + */ +CG_EXTERN NSUInteger YYImageGetWebPFrameCount(CFDataRef webpData); + +/** + Decode an image from WebP data, returns NULL if an error occurs. + + @param webpData The WebP data. + @param decodeForDisplay If YES, this method will decode the image and convert it + to BGRA8888 (premultiplied) format for CALayer display. + @param useThreads YES to enable multi-thread decode. + (speed up, but cost more CPU) + @param bypassFiltering YES to skip the in-loop filtering. + (speed up, but may lose some smooth) + @param noFancyUpsampling YES to use faster pointwise upsampler. + (speed down, and may lose some details). + @return The decoded image, or NULL if an error occurs. + */ +CG_EXTERN CGImageRef _Nullable YYCGImageCreateWithWebPData(CFDataRef webpData, + BOOL decodeForDisplay, + BOOL useThreads, + BOOL bypassFiltering, + BOOL noFancyUpsampling); + +typedef NS_ENUM(NSUInteger, YYImagePreset) { + YYImagePresetDefault = 0, ///< default preset. + YYImagePresetPicture, ///< digital picture, like portrait, inner shot + YYImagePresetPhoto, ///< outdoor photograph, with natural lighting + YYImagePresetDrawing, ///< hand or line drawing, with high-contrast details + YYImagePresetIcon, ///< small-sized colorful images + YYImagePresetText ///< text-like +}; + +/** + Encode a CGImage to WebP data + + @param imageRef image + @param lossless YES=lossless (similar to PNG), NO=lossy (similar to JPEG) + @param quality 0.0~1.0 (0=smallest file, 1.0=biggest file) + For lossless image, try the value near 1.0; for lossy, try the value near 0.8. + @param compressLevel 0~6 (0=fast, 6=slower-better). Default is 4. + @param preset Preset for different image type, default is YYImagePresetDefault. + @return WebP data, or nil if an error occurs. + */ +CG_EXTERN CFDataRef _Nullable YYCGImageCreateEncodedWebPData(CGImageRef imageRef, + BOOL lossless, + CGFloat quality, + int compressLevel, + YYImagePreset preset); + +NS_ASSUME_NONNULL_END diff --git a/Pods/YYImage/YYImage/YYImageCoder.m b/Pods/YYImage/YYImage/YYImageCoder.m new file mode 100644 index 0000000..66cf46e --- /dev/null +++ b/Pods/YYImage/YYImage/YYImageCoder.m @@ -0,0 +1,2870 @@ +// +// YYImageCoder.m +// YYImage +// +// Created by ibireme on 15/5/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYImageCoder.h" +#import "YYImage.h" +#import +#import +#import +#import +#import +#import +#import +#import +#import + + + +#ifndef YYIMAGE_WEBP_ENABLED +#if __has_include() && __has_include() && \ + __has_include() && __has_include() +#define YYIMAGE_WEBP_ENABLED 1 +#import +#import +#import +#import +#elif __has_include("webp/decode.h") && __has_include("webp/encode.h") && \ + __has_include("webp/demux.h") && __has_include("webp/mux.h") +#define YYIMAGE_WEBP_ENABLED 1 +#import "webp/decode.h" +#import "webp/encode.h" +#import "webp/demux.h" +#import "webp/mux.h" +#else +#define YYIMAGE_WEBP_ENABLED 0 +#endif +#endif + + + + + +//////////////////////////////////////////////////////////////////////////////// +#pragma mark - Utility (for little endian platform) + +#define YY_FOUR_CC(c1,c2,c3,c4) ((uint32_t)(((c4) << 24) | ((c3) << 16) | ((c2) << 8) | (c1))) +#define YY_TWO_CC(c1,c2) ((uint16_t)(((c2) << 8) | (c1))) + +static inline uint16_t yy_swap_endian_uint16(uint16_t value) { + return + (uint16_t) ((value & 0x00FF) << 8) | + (uint16_t) ((value & 0xFF00) >> 8) ; +} + +static inline uint32_t yy_swap_endian_uint32(uint32_t value) { + return + (uint32_t)((value & 0x000000FFU) << 24) | + (uint32_t)((value & 0x0000FF00U) << 8) | + (uint32_t)((value & 0x00FF0000U) >> 8) | + (uint32_t)((value & 0xFF000000U) >> 24) ; +} + +//////////////////////////////////////////////////////////////////////////////// +#pragma mark - APNG + +/* + PNG spec: http://www.libpng.org/pub/png/spec/1.2/PNG-Structure.html + APNG spec: https://wiki.mozilla.org/APNG_Specification + + =============================================================================== + PNG format: + header (8): 89 50 4e 47 0d 0a 1a 0a + chunk, chunk, chunk, ... + + =============================================================================== + chunk format: + length (4): uint32_t big endian + fourcc (4): chunk type code + data (length): data + crc32 (4): uint32_t big endian crc32(fourcc + data) + + =============================================================================== + PNG chunk define: + + IHDR (Image Header) required, must appear first, 13 bytes + width (4) pixel count, should not be zero + height (4) pixel count, should not be zero + bit depth (1) expected: 1, 2, 4, 8, 16 + color type (1) 1<<0 (palette used), 1<<1 (color used), 1<<2 (alpha channel used) + compression method (1) 0 (deflate/inflate) + filter method (1) 0 (adaptive filtering with five basic filter types) + interlace method (1) 0 (no interlace) or 1 (Adam7 interlace) + + IDAT (Image Data) required, must appear consecutively if there's multiple 'IDAT' chunk + + IEND (End) required, must appear last, 0 bytes + + =============================================================================== + APNG chunk define: + + acTL (Animation Control) required, must appear before 'IDAT', 8 bytes + num frames (4) number of frames + num plays (4) number of times to loop, 0 indicates infinite looping + + fcTL (Frame Control) required, must appear before the 'IDAT' or 'fdAT' chunks of the frame to which it applies, 26 bytes + sequence number (4) sequence number of the animation chunk, starting from 0 + width (4) width of the following frame + height (4) height of the following frame + x offset (4) x position at which to render the following frame + y offset (4) y position at which to render the following frame + delay num (2) frame delay fraction numerator + delay den (2) frame delay fraction denominator + dispose op (1) type of frame area disposal to be done after rendering this frame (0:none, 1:background 2:previous) + blend op (1) type of frame area rendering for this frame (0:source, 1:over) + + fdAT (Frame Data) required + sequence number (4) sequence number of the animation chunk + frame data (x) frame data for this frame (same as 'IDAT') + + =============================================================================== + `dispose_op` specifies how the output buffer should be changed at the end of the delay + (before rendering the next frame). + + * NONE: no disposal is done on this frame before rendering the next; the contents + of the output buffer are left as is. + * BACKGROUND: the frame's region of the output buffer is to be cleared to fully + transparent black before rendering the next frame. + * PREVIOUS: the frame's region of the output buffer is to be reverted to the previous + contents before rendering the next frame. + + `blend_op` specifies whether the frame is to be alpha blended into the current output buffer + content, or whether it should completely replace its region in the output buffer. + + * SOURCE: all color components of the frame, including alpha, overwrite the current contents + of the frame's output buffer region. + * OVER: the frame should be composited onto the output buffer based on its alpha, + using a simple OVER operation as described in the "Alpha Channel Processing" section + of the PNG specification + */ + +typedef enum { + YY_PNG_ALPHA_TYPE_PALEETE = 1 << 0, + YY_PNG_ALPHA_TYPE_COLOR = 1 << 1, + YY_PNG_ALPHA_TYPE_ALPHA = 1 << 2, +} yy_png_alpha_type; + +typedef enum { + YY_PNG_DISPOSE_OP_NONE = 0, + YY_PNG_DISPOSE_OP_BACKGROUND = 1, + YY_PNG_DISPOSE_OP_PREVIOUS = 2, +} yy_png_dispose_op; + +typedef enum { + YY_PNG_BLEND_OP_SOURCE = 0, + YY_PNG_BLEND_OP_OVER = 1, +} yy_png_blend_op; + +typedef struct { + uint32_t width; ///< pixel count, should not be zero + uint32_t height; ///< pixel count, should not be zero + uint8_t bit_depth; ///< expected: 1, 2, 4, 8, 16 + uint8_t color_type; ///< see yy_png_alpha_type + uint8_t compression_method; ///< 0 (deflate/inflate) + uint8_t filter_method; ///< 0 (adaptive filtering with five basic filter types) + uint8_t interlace_method; ///< 0 (no interlace) or 1 (Adam7 interlace) +} yy_png_chunk_IHDR; + +typedef struct { + uint32_t sequence_number; ///< sequence number of the animation chunk, starting from 0 + uint32_t width; ///< width of the following frame + uint32_t height; ///< height of the following frame + uint32_t x_offset; ///< x position at which to render the following frame + uint32_t y_offset; ///< y position at which to render the following frame + uint16_t delay_num; ///< frame delay fraction numerator + uint16_t delay_den; ///< frame delay fraction denominator + uint8_t dispose_op; ///< see yy_png_dispose_op + uint8_t blend_op; ///< see yy_png_blend_op +} yy_png_chunk_fcTL; + +typedef struct { + uint32_t offset; ///< chunk offset in PNG data + uint32_t fourcc; ///< chunk fourcc + uint32_t length; ///< chunk data length + uint32_t crc32; ///< chunk crc32 +} yy_png_chunk_info; + +typedef struct { + uint32_t chunk_index; ///< the first `fdAT`/`IDAT` chunk index + uint32_t chunk_num; ///< the `fdAT`/`IDAT` chunk count + uint32_t chunk_size; ///< the `fdAT`/`IDAT` chunk bytes + yy_png_chunk_fcTL frame_control; +} yy_png_frame_info; + +typedef struct { + yy_png_chunk_IHDR header; ///< png header + yy_png_chunk_info *chunks; ///< chunks + uint32_t chunk_num; ///< count of chunks + + yy_png_frame_info *apng_frames; ///< frame info, NULL if not apng + uint32_t apng_frame_num; ///< 0 if not apng + uint32_t apng_loop_num; ///< 0 indicates infinite looping + + uint32_t *apng_shared_chunk_indexs; ///< shared chunk index + uint32_t apng_shared_chunk_num; ///< shared chunk count + uint32_t apng_shared_chunk_size; ///< shared chunk bytes + uint32_t apng_shared_insert_index; ///< shared chunk insert index + bool apng_first_frame_is_cover; ///< the first frame is same as png (cover) +} yy_png_info; + +static void yy_png_chunk_IHDR_read(yy_png_chunk_IHDR *IHDR, const uint8_t *data) { + IHDR->width = yy_swap_endian_uint32(*((uint32_t *)(data))); + IHDR->height = yy_swap_endian_uint32(*((uint32_t *)(data + 4))); + IHDR->bit_depth = data[8]; + IHDR->color_type = data[9]; + IHDR->compression_method = data[10]; + IHDR->filter_method = data[11]; + IHDR->interlace_method = data[12]; +} + +static void yy_png_chunk_IHDR_write(yy_png_chunk_IHDR *IHDR, uint8_t *data) { + *((uint32_t *)(data)) = yy_swap_endian_uint32(IHDR->width); + *((uint32_t *)(data + 4)) = yy_swap_endian_uint32(IHDR->height); + data[8] = IHDR->bit_depth; + data[9] = IHDR->color_type; + data[10] = IHDR->compression_method; + data[11] = IHDR->filter_method; + data[12] = IHDR->interlace_method; +} + +static void yy_png_chunk_fcTL_read(yy_png_chunk_fcTL *fcTL, const uint8_t *data) { + fcTL->sequence_number = yy_swap_endian_uint32(*((uint32_t *)(data))); + fcTL->width = yy_swap_endian_uint32(*((uint32_t *)(data + 4))); + fcTL->height = yy_swap_endian_uint32(*((uint32_t *)(data + 8))); + fcTL->x_offset = yy_swap_endian_uint32(*((uint32_t *)(data + 12))); + fcTL->y_offset = yy_swap_endian_uint32(*((uint32_t *)(data + 16))); + fcTL->delay_num = yy_swap_endian_uint16(*((uint16_t *)(data + 20))); + fcTL->delay_den = yy_swap_endian_uint16(*((uint16_t *)(data + 22))); + fcTL->dispose_op = data[24]; + fcTL->blend_op = data[25]; +} + +static void yy_png_chunk_fcTL_write(yy_png_chunk_fcTL *fcTL, uint8_t *data) { + *((uint32_t *)(data)) = yy_swap_endian_uint32(fcTL->sequence_number); + *((uint32_t *)(data + 4)) = yy_swap_endian_uint32(fcTL->width); + *((uint32_t *)(data + 8)) = yy_swap_endian_uint32(fcTL->height); + *((uint32_t *)(data + 12)) = yy_swap_endian_uint32(fcTL->x_offset); + *((uint32_t *)(data + 16)) = yy_swap_endian_uint32(fcTL->y_offset); + *((uint16_t *)(data + 20)) = yy_swap_endian_uint16(fcTL->delay_num); + *((uint16_t *)(data + 22)) = yy_swap_endian_uint16(fcTL->delay_den); + data[24] = fcTL->dispose_op; + data[25] = fcTL->blend_op; +} + +// convert double value to fraction +static void yy_png_delay_to_fraction(double duration, uint16_t *num, uint16_t *den) { + if (duration >= 0xFF) { + *num = 0xFF; + *den = 1; + } else if (duration <= 1.0 / (double)0xFF) { + *num = 1; + *den = 0xFF; + } else { + // Use continued fraction to calculate the num and den. + long MAX = 10; + double eps = (0.5 / (double)0xFF); + long p[MAX], q[MAX], a[MAX], i, numl = 0, denl = 0; + // The first two convergents are 0/1 and 1/0 + p[0] = 0; q[0] = 1; + p[1] = 1; q[1] = 0; + // The rest of the convergents (and continued fraction) + for (i = 2; i < MAX; i++) { + a[i] = lrint(floor(duration)); + p[i] = a[i] * p[i - 1] + p[i - 2]; + q[i] = a[i] * q[i - 1] + q[i - 2]; + if (p[i] <= 0xFF && q[i] <= 0xFF) { // uint16_t + numl = p[i]; + denl = q[i]; + } else break; + if (fabs(duration - a[i]) < eps) break; + duration = 1.0 / (duration - a[i]); + } + + if (numl != 0 && denl != 0) { + *num = numl; + *den = denl; + } else { + *num = 1; + *den = 100; + } + } +} + +// convert fraction to double value +static double yy_png_delay_to_seconds(uint16_t num, uint16_t den) { + if (den == 0) { + return num / 100.0; + } else { + return (double)num / (double)den; + } +} + +static bool yy_png_validate_animation_chunk_order(yy_png_chunk_info *chunks, /* input */ + uint32_t chunk_num, /* input */ + uint32_t *first_idat_index, /* output */ + bool *first_frame_is_cover /* output */) { + /* + PNG at least contains 3 chunks: IHDR, IDAT, IEND. + `IHDR` must appear first. + `IDAT` must appear consecutively. + `IEND` must appear end. + + APNG must contains one `acTL` and at least one 'fcTL' and `fdAT`. + `fdAT` must appear consecutively. + `fcTL` must appear before `IDAT` or `fdAT`. + */ + if (chunk_num <= 2) return false; + if (chunks->fourcc != YY_FOUR_CC('I', 'H', 'D', 'R')) return false; + if ((chunks + chunk_num - 1)->fourcc != YY_FOUR_CC('I', 'E', 'N', 'D')) return false; + + uint32_t prev_fourcc = 0; + uint32_t IHDR_num = 0; + uint32_t IDAT_num = 0; + uint32_t acTL_num = 0; + uint32_t fcTL_num = 0; + uint32_t first_IDAT = 0; + bool first_frame_cover = false; + for (uint32_t i = 0; i < chunk_num; i++) { + yy_png_chunk_info *chunk = chunks + i; + switch (chunk->fourcc) { + case YY_FOUR_CC('I', 'H', 'D', 'R'): { // png header + if (i != 0) return false; + if (IHDR_num > 0) return false; + IHDR_num++; + } break; + case YY_FOUR_CC('I', 'D', 'A', 'T'): { // png data + if (prev_fourcc != YY_FOUR_CC('I', 'D', 'A', 'T')) { + if (IDAT_num == 0) + first_IDAT = i; + else + return false; + } + IDAT_num++; + } break; + case YY_FOUR_CC('a', 'c', 'T', 'L'): { // apng control + if (acTL_num > 0) return false; + acTL_num++; + } break; + case YY_FOUR_CC('f', 'c', 'T', 'L'): { // apng frame control + if (i + 1 == chunk_num) return false; + if ((chunk + 1)->fourcc != YY_FOUR_CC('f', 'd', 'A', 'T') && + (chunk + 1)->fourcc != YY_FOUR_CC('I', 'D', 'A', 'T')) { + return false; + } + if (fcTL_num == 0) { + if ((chunk + 1)->fourcc == YY_FOUR_CC('I', 'D', 'A', 'T')) { + first_frame_cover = true; + } + } + fcTL_num++; + } break; + case YY_FOUR_CC('f', 'd', 'A', 'T'): { // apng data + if (prev_fourcc != YY_FOUR_CC('f', 'd', 'A', 'T') && prev_fourcc != YY_FOUR_CC('f', 'c', 'T', 'L')) { + return false; + } + } break; + } + prev_fourcc = chunk->fourcc; + } + if (IHDR_num != 1) return false; + if (IDAT_num == 0) return false; + if (acTL_num != 1) return false; + if (fcTL_num < acTL_num) return false; + *first_idat_index = first_IDAT; + *first_frame_is_cover = first_frame_cover; + return true; +} + +static void yy_png_info_release(yy_png_info *info) { + if (info) { + if (info->chunks) free(info->chunks); + if (info->apng_frames) free(info->apng_frames); + if (info->apng_shared_chunk_indexs) free(info->apng_shared_chunk_indexs); + free(info); + } +} + +/** + Create a png info from a png file. See struct png_info for more information. + + @param data png/apng file data. + @param length the data's length in bytes. + @return A png info object, you may call yy_png_info_release() to release it. + Returns NULL if an error occurs. + */ +static yy_png_info *yy_png_info_create(const uint8_t *data, uint32_t length) { + if (length < 32) return NULL; + if (*((uint32_t *)data) != YY_FOUR_CC(0x89, 0x50, 0x4E, 0x47)) return NULL; + if (*((uint32_t *)(data + 4)) != YY_FOUR_CC(0x0D, 0x0A, 0x1A, 0x0A)) return NULL; + + uint32_t chunk_realloc_num = 16; + yy_png_chunk_info *chunks = malloc(sizeof(yy_png_chunk_info) * chunk_realloc_num); + if (!chunks) return NULL; + + // parse png chunks + uint32_t offset = 8; + uint32_t chunk_num = 0; + uint32_t chunk_capacity = chunk_realloc_num; + uint32_t apng_loop_num = 0; + int32_t apng_sequence_index = -1; + int32_t apng_frame_index = 0; + int32_t apng_frame_number = -1; + bool apng_chunk_error = false; + do { + if (chunk_num >= chunk_capacity) { + yy_png_chunk_info *new_chunks = realloc(chunks, sizeof(yy_png_chunk_info) * (chunk_capacity + chunk_realloc_num)); + if (!new_chunks) { + free(chunks); + return NULL; + } + chunks = new_chunks; + chunk_capacity += chunk_realloc_num; + } + yy_png_chunk_info *chunk = chunks + chunk_num; + const uint8_t *chunk_data = data + offset; + chunk->offset = offset; + chunk->length = yy_swap_endian_uint32(*((uint32_t *)chunk_data)); + if ((uint64_t)chunk->offset + (uint64_t)chunk->length + 12 > length) { + free(chunks); + return NULL; + } + + chunk->fourcc = *((uint32_t *)(chunk_data + 4)); + if ((uint64_t)chunk->offset + 4 + chunk->length + 4 > (uint64_t)length) break; + chunk->crc32 = yy_swap_endian_uint32(*((uint32_t *)(chunk_data + 8 + chunk->length))); + chunk_num++; + offset += 12 + chunk->length; + + switch (chunk->fourcc) { + case YY_FOUR_CC('a', 'c', 'T', 'L') : { + if (chunk->length == 8) { + apng_frame_number = yy_swap_endian_uint32(*((uint32_t *)(chunk_data + 8))); + apng_loop_num = yy_swap_endian_uint32(*((uint32_t *)(chunk_data + 12))); + } else { + apng_chunk_error = true; + } + } break; + case YY_FOUR_CC('f', 'c', 'T', 'L') : + case YY_FOUR_CC('f', 'd', 'A', 'T') : { + if (chunk->fourcc == YY_FOUR_CC('f', 'c', 'T', 'L')) { + if (chunk->length != 26) { + apng_chunk_error = true; + } else { + apng_frame_index++; + } + } + if (chunk->length > 4) { + uint32_t sequence = yy_swap_endian_uint32(*((uint32_t *)(chunk_data + 8))); + if (apng_sequence_index + 1 == sequence) { + apng_sequence_index++; + } else { + apng_chunk_error = true; + } + } else { + apng_chunk_error = true; + } + } break; + case YY_FOUR_CC('I', 'E', 'N', 'D') : { + offset = length; // end, break do-while loop + } break; + } + } while (offset + 12 <= length); + + if (chunk_num < 3 || + chunks->fourcc != YY_FOUR_CC('I', 'H', 'D', 'R') || + chunks->length != 13) { + free(chunks); + return NULL; + } + + // png info + yy_png_info *info = calloc(1, sizeof(yy_png_info)); + if (!info) { + free(chunks); + return NULL; + } + info->chunks = chunks; + info->chunk_num = chunk_num; + yy_png_chunk_IHDR_read(&info->header, data + chunks->offset + 8); + + // apng info + if (!apng_chunk_error && apng_frame_number == apng_frame_index && apng_frame_number >= 1) { + bool first_frame_is_cover = false; + uint32_t first_IDAT_index = 0; + if (!yy_png_validate_animation_chunk_order(info->chunks, info->chunk_num, &first_IDAT_index, &first_frame_is_cover)) { + return info; // ignore apng chunk + } + + info->apng_loop_num = apng_loop_num; + info->apng_frame_num = apng_frame_number; + info->apng_first_frame_is_cover = first_frame_is_cover; + info->apng_shared_insert_index = first_IDAT_index; + info->apng_frames = calloc(apng_frame_number, sizeof(yy_png_frame_info)); + if (!info->apng_frames) { + yy_png_info_release(info); + return NULL; + } + info->apng_shared_chunk_indexs = calloc(info->chunk_num, sizeof(uint32_t)); + if (!info->apng_shared_chunk_indexs) { + yy_png_info_release(info); + return NULL; + } + + int32_t frame_index = -1; + uint32_t *shared_chunk_index = info->apng_shared_chunk_indexs; + for (int32_t i = 0; i < info->chunk_num; i++) { + yy_png_chunk_info *chunk = info->chunks + i; + switch (chunk->fourcc) { + case YY_FOUR_CC('I', 'D', 'A', 'T'): { + if (info->apng_shared_insert_index == 0) { + info->apng_shared_insert_index = i; + } + if (first_frame_is_cover) { + yy_png_frame_info *frame = info->apng_frames + frame_index; + frame->chunk_num++; + frame->chunk_size += chunk->length + 12; + } + } break; + case YY_FOUR_CC('a', 'c', 'T', 'L'): { + } break; + case YY_FOUR_CC('f', 'c', 'T', 'L'): { + frame_index++; + yy_png_frame_info *frame = info->apng_frames + frame_index; + frame->chunk_index = i + 1; + yy_png_chunk_fcTL_read(&frame->frame_control, data + chunk->offset + 8); + } break; + case YY_FOUR_CC('f', 'd', 'A', 'T'): { + yy_png_frame_info *frame = info->apng_frames + frame_index; + frame->chunk_num++; + frame->chunk_size += chunk->length + 12; + } break; + default: { + *shared_chunk_index = i; + shared_chunk_index++; + info->apng_shared_chunk_size += chunk->length + 12; + info->apng_shared_chunk_num++; + } break; + } + } + } + return info; +} + +/** + Copy a png frame data from an apng file. + + @param data apng file data + @param info png info + @param index frame index (zero-based) + @param size output, the size of the frame data + @return A frame data (single-frame png file), call free() to release the data. + Returns NULL if an error occurs. + */ +static uint8_t *yy_png_copy_frame_data_at_index(const uint8_t *data, + const yy_png_info *info, + const uint32_t index, + uint32_t *size) { + if (index >= info->apng_frame_num) return NULL; + + yy_png_frame_info *frame_info = info->apng_frames + index; + uint32_t frame_remux_size = 8 /* PNG Header */ + info->apng_shared_chunk_size + frame_info->chunk_size; + if (!(info->apng_first_frame_is_cover && index == 0)) { + frame_remux_size -= frame_info->chunk_num * 4; // remove fdAT sequence number + } + uint8_t *frame_data = malloc(frame_remux_size); + if (!frame_data) return NULL; + *size = frame_remux_size; + + uint32_t data_offset = 0; + bool inserted = false; + memcpy(frame_data, data, 8); // PNG File Header + data_offset += 8; + for (uint32_t i = 0; i < info->apng_shared_chunk_num; i++) { + uint32_t shared_chunk_index = info->apng_shared_chunk_indexs[i]; + yy_png_chunk_info *shared_chunk_info = info->chunks + shared_chunk_index; + + if (shared_chunk_index >= info->apng_shared_insert_index && !inserted) { // replace IDAT with fdAT + inserted = true; + for (uint32_t c = 0; c < frame_info->chunk_num; c++) { + yy_png_chunk_info *insert_chunk_info = info->chunks + frame_info->chunk_index + c; + if (insert_chunk_info->fourcc == YY_FOUR_CC('f', 'd', 'A', 'T')) { + *((uint32_t *)(frame_data + data_offset)) = yy_swap_endian_uint32(insert_chunk_info->length - 4); + *((uint32_t *)(frame_data + data_offset + 4)) = YY_FOUR_CC('I', 'D', 'A', 'T'); + memcpy(frame_data + data_offset + 8, data + insert_chunk_info->offset + 12, insert_chunk_info->length - 4); + uint32_t crc = (uint32_t)crc32(0, frame_data + data_offset + 4, insert_chunk_info->length); + *((uint32_t *)(frame_data + data_offset + insert_chunk_info->length + 4)) = yy_swap_endian_uint32(crc); + data_offset += insert_chunk_info->length + 8; + } else { // IDAT + memcpy(frame_data + data_offset, data + insert_chunk_info->offset, insert_chunk_info->length + 12); + data_offset += insert_chunk_info->length + 12; + } + } + } + + if (shared_chunk_info->fourcc == YY_FOUR_CC('I', 'H', 'D', 'R')) { + uint8_t tmp[25] = {0}; + memcpy(tmp, data + shared_chunk_info->offset, 25); + yy_png_chunk_IHDR IHDR = info->header; + IHDR.width = frame_info->frame_control.width; + IHDR.height = frame_info->frame_control.height; + yy_png_chunk_IHDR_write(&IHDR, tmp + 8); + *((uint32_t *)(tmp + 21)) = yy_swap_endian_uint32((uint32_t)crc32(0, tmp + 4, 17)); + memcpy(frame_data + data_offset, tmp, 25); + data_offset += 25; + } else { + memcpy(frame_data + data_offset, data + shared_chunk_info->offset, shared_chunk_info->length + 12); + data_offset += shared_chunk_info->length + 12; + } + } + return frame_data; +} + + + +//////////////////////////////////////////////////////////////////////////////// +#pragma mark - Helper + +/// Returns byte-aligned size. +static inline size_t YYImageByteAlign(size_t size, size_t alignment) { + return ((size + (alignment - 1)) / alignment) * alignment; +} + +/// Convert degree to radians +static inline CGFloat YYImageDegreesToRadians(CGFloat degrees) { + return degrees * M_PI / 180; +} + +CGColorSpaceRef YYCGColorSpaceGetDeviceRGB() { + static CGColorSpaceRef space; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + space = CGColorSpaceCreateDeviceRGB(); + }); + return space; +} + +CGColorSpaceRef YYCGColorSpaceGetDeviceGray() { + static CGColorSpaceRef space; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + space = CGColorSpaceCreateDeviceGray(); + }); + return space; +} + +BOOL YYCGColorSpaceIsDeviceRGB(CGColorSpaceRef space) { + return space && CFEqual(space, YYCGColorSpaceGetDeviceRGB()); +} + +BOOL YYCGColorSpaceIsDeviceGray(CGColorSpaceRef space) { + return space && CFEqual(space, YYCGColorSpaceGetDeviceGray()); +} + +/** + A callback used in CGDataProviderCreateWithData() to release data. + + Example: + + void *data = malloc(size); + CGDataProviderRef provider = CGDataProviderCreateWithData(data, data, size, YYCGDataProviderReleaseDataCallback); + */ +static void YYCGDataProviderReleaseDataCallback(void *info, const void *data, size_t size) { + if (info) free(info); +} + +/** + Decode an image to bitmap buffer with the specified format. + + @param srcImage Source image. + @param dest Destination buffer. It should be zero before call this method. + If decode succeed, you should release the dest->data using free(). + @param destFormat Destination bitmap format. + + @return Whether succeed. + + @warning This method support iOS7.0 and later. If call it on iOS6, it just returns NO. + CG_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) + */ +static BOOL YYCGImageDecodeToBitmapBufferWithAnyFormat(CGImageRef srcImage, vImage_Buffer *dest, vImage_CGImageFormat *destFormat) { + if (!srcImage || (((long)vImageConvert_AnyToAny) + 1 == 1) || !destFormat || !dest) return NO; + size_t width = CGImageGetWidth(srcImage); + size_t height = CGImageGetHeight(srcImage); + if (width == 0 || height == 0) return NO; + dest->data = NULL; + + vImage_Error error = kvImageNoError; + CFDataRef srcData = NULL; + vImageConverterRef convertor = NULL; + vImage_CGImageFormat srcFormat = {0}; + srcFormat.bitsPerComponent = (uint32_t)CGImageGetBitsPerComponent(srcImage); + srcFormat.bitsPerPixel = (uint32_t)CGImageGetBitsPerPixel(srcImage); + srcFormat.colorSpace = CGImageGetColorSpace(srcImage); + srcFormat.bitmapInfo = CGImageGetBitmapInfo(srcImage) | CGImageGetAlphaInfo(srcImage); + + convertor = vImageConverter_CreateWithCGImageFormat(&srcFormat, destFormat, NULL, kvImageNoFlags, NULL); + if (!convertor) goto fail; + + CGDataProviderRef srcProvider = CGImageGetDataProvider(srcImage); + srcData = srcProvider ? CGDataProviderCopyData(srcProvider) : NULL; // decode + size_t srcLength = srcData ? CFDataGetLength(srcData) : 0; + const void *srcBytes = srcData ? CFDataGetBytePtr(srcData) : NULL; + if (srcLength == 0 || !srcBytes) goto fail; + + vImage_Buffer src = {0}; + src.data = (void *)srcBytes; + src.width = width; + src.height = height; + src.rowBytes = CGImageGetBytesPerRow(srcImage); + + error = vImageBuffer_Init(dest, height, width, 32, kvImageNoFlags); + if (error != kvImageNoError) goto fail; + + error = vImageConvert_AnyToAny(convertor, &src, dest, NULL, kvImageNoFlags); // convert + if (error != kvImageNoError) goto fail; + + CFRelease(convertor); + CFRelease(srcData); + return YES; + +fail: + if (convertor) CFRelease(convertor); + if (srcData) CFRelease(srcData); + if (dest->data) free(dest->data); + dest->data = NULL; + return NO; +} + +/** + Decode an image to bitmap buffer with the 32bit format (such as ARGB8888). + + @param srcImage Source image. + @param dest Destination buffer. It should be zero before call this method. + If decode succeed, you should release the dest->data using free(). + @param bitmapInfo Destination bitmap format. + + @return Whether succeed. + */ +static BOOL YYCGImageDecodeToBitmapBufferWith32BitFormat(CGImageRef srcImage, vImage_Buffer *dest, CGBitmapInfo bitmapInfo) { + if (!srcImage || !dest) return NO; + size_t width = CGImageGetWidth(srcImage); + size_t height = CGImageGetHeight(srcImage); + if (width == 0 || height == 0) return NO; + + BOOL hasAlpha = NO; + BOOL alphaFirst = NO; + BOOL alphaPremultiplied = NO; + BOOL byteOrderNormal = NO; + + switch (bitmapInfo & kCGBitmapAlphaInfoMask) { + case kCGImageAlphaPremultipliedLast: { + hasAlpha = YES; + alphaPremultiplied = YES; + } break; + case kCGImageAlphaPremultipliedFirst: { + hasAlpha = YES; + alphaPremultiplied = YES; + alphaFirst = YES; + } break; + case kCGImageAlphaLast: { + hasAlpha = YES; + } break; + case kCGImageAlphaFirst: { + hasAlpha = YES; + alphaFirst = YES; + } break; + case kCGImageAlphaNoneSkipLast: { + } break; + case kCGImageAlphaNoneSkipFirst: { + alphaFirst = YES; + } break; + default: { + return NO; + } break; + } + + switch (bitmapInfo & kCGBitmapByteOrderMask) { + case kCGBitmapByteOrderDefault: { + byteOrderNormal = YES; + } break; + case kCGBitmapByteOrder32Little: { + } break; + case kCGBitmapByteOrder32Big: { + byteOrderNormal = YES; + } break; + default: { + return NO; + } break; + } + + /* + Try convert with vImageConvert_AnyToAny() (avaliable since iOS 7.0). + If fail, try decode with CGContextDrawImage(). + CGBitmapContext use a premultiplied alpha format, unpremultiply may lose precision. + */ + vImage_CGImageFormat destFormat = {0}; + destFormat.bitsPerComponent = 8; + destFormat.bitsPerPixel = 32; + destFormat.colorSpace = YYCGColorSpaceGetDeviceRGB(); + destFormat.bitmapInfo = bitmapInfo; + dest->data = NULL; + if (YYCGImageDecodeToBitmapBufferWithAnyFormat(srcImage, dest, &destFormat)) return YES; + + CGBitmapInfo contextBitmapInfo = bitmapInfo & kCGBitmapByteOrderMask; + if (!hasAlpha || alphaPremultiplied) { + contextBitmapInfo |= (bitmapInfo & kCGBitmapAlphaInfoMask); + } else { + contextBitmapInfo |= alphaFirst ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaPremultipliedLast; + } + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, YYCGColorSpaceGetDeviceRGB(), contextBitmapInfo); + if (!context) goto fail; + + CGContextDrawImage(context, CGRectMake(0, 0, width, height), srcImage); // decode and convert + size_t bytesPerRow = CGBitmapContextGetBytesPerRow(context); + size_t length = height * bytesPerRow; + void *data = CGBitmapContextGetData(context); + if (length == 0 || !data) goto fail; + + dest->data = malloc(length); + dest->width = width; + dest->height = height; + dest->rowBytes = bytesPerRow; + if (!dest->data) goto fail; + + if (hasAlpha && !alphaPremultiplied) { + vImage_Buffer tmpSrc = {0}; + tmpSrc.data = data; + tmpSrc.width = width; + tmpSrc.height = height; + tmpSrc.rowBytes = bytesPerRow; + vImage_Error error; + if (alphaFirst && byteOrderNormal) { + error = vImageUnpremultiplyData_ARGB8888(&tmpSrc, dest, kvImageNoFlags); + } else { + error = vImageUnpremultiplyData_RGBA8888(&tmpSrc, dest, kvImageNoFlags); + } + if (error != kvImageNoError) goto fail; + } else { + memcpy(dest->data, data, length); + } + + CFRelease(context); + return YES; + +fail: + if (context) CFRelease(context); + if (dest->data) free(dest->data); + dest->data = NULL; + return NO; + return NO; +} + +CGImageRef YYCGImageCreateDecodedCopy(CGImageRef imageRef, BOOL decodeForDisplay) { + if (!imageRef) return NULL; + size_t width = CGImageGetWidth(imageRef); + size_t height = CGImageGetHeight(imageRef); + if (width == 0 || height == 0) return NULL; + + if (decodeForDisplay) { //decode with redraw (may lose some precision) + CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef) & kCGBitmapAlphaInfoMask; + BOOL hasAlpha = NO; + if (alphaInfo == kCGImageAlphaPremultipliedLast || + alphaInfo == kCGImageAlphaPremultipliedFirst || + alphaInfo == kCGImageAlphaLast || + alphaInfo == kCGImageAlphaFirst) { + hasAlpha = YES; + } + // BGRA8888 (premultiplied) or BGRX8888 + // same as UIGraphicsBeginImageContext() and -[UIView drawRect:] + CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Host; + bitmapInfo |= hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst; + CGContextRef context = CGBitmapContextCreate(NULL, width, height, 8, 0, YYCGColorSpaceGetDeviceRGB(), bitmapInfo); + if (!context) return NULL; + CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); // decode + CGImageRef newImage = CGBitmapContextCreateImage(context); + CFRelease(context); + return newImage; + + } else { + CGColorSpaceRef space = CGImageGetColorSpace(imageRef); + size_t bitsPerComponent = CGImageGetBitsPerComponent(imageRef); + size_t bitsPerPixel = CGImageGetBitsPerPixel(imageRef); + size_t bytesPerRow = CGImageGetBytesPerRow(imageRef); + CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef); + if (bytesPerRow == 0 || width == 0 || height == 0) return NULL; + + CGDataProviderRef dataProvider = CGImageGetDataProvider(imageRef); + if (!dataProvider) return NULL; + CFDataRef data = CGDataProviderCopyData(dataProvider); // decode + if (!data) return NULL; + + CGDataProviderRef newProvider = CGDataProviderCreateWithCFData(data); + CFRelease(data); + if (!newProvider) return NULL; + + CGImageRef newImage = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, space, bitmapInfo, newProvider, NULL, false, kCGRenderingIntentDefault); + CFRelease(newProvider); + return newImage; + } +} + +CGImageRef YYCGImageCreateAffineTransformCopy(CGImageRef imageRef, CGAffineTransform transform, CGSize destSize, CGBitmapInfo destBitmapInfo) { + if (!imageRef) return NULL; + size_t srcWidth = CGImageGetWidth(imageRef); + size_t srcHeight = CGImageGetHeight(imageRef); + size_t destWidth = round(destSize.width); + size_t destHeight = round(destSize.height); + if (srcWidth == 0 || srcHeight == 0 || destWidth == 0 || destHeight == 0) return NULL; + + CGDataProviderRef tmpProvider = NULL, destProvider = NULL; + CGImageRef tmpImage = NULL, destImage = NULL; + vImage_Buffer src = {0}, tmp = {0}, dest = {0}; + if(!YYCGImageDecodeToBitmapBufferWith32BitFormat(imageRef, &src, kCGImageAlphaFirst | kCGBitmapByteOrderDefault)) return NULL; + + size_t destBytesPerRow = YYImageByteAlign(destWidth * 4, 32); + tmp.data = malloc(destHeight * destBytesPerRow); + if (!tmp.data) goto fail; + + tmp.width = destWidth; + tmp.height = destHeight; + tmp.rowBytes = destBytesPerRow; + vImage_CGAffineTransform vTransform = *((vImage_CGAffineTransform *)&transform); + uint8_t backColor[4] = {0}; + vImage_Error error = vImageAffineWarpCG_ARGB8888(&src, &tmp, NULL, &vTransform, backColor, kvImageBackgroundColorFill); + if (error != kvImageNoError) goto fail; + free(src.data); + src.data = NULL; + + tmpProvider = CGDataProviderCreateWithData(tmp.data, tmp.data, destHeight * destBytesPerRow, YYCGDataProviderReleaseDataCallback); + if (!tmpProvider) goto fail; + tmp.data = NULL; // hold by provider + tmpImage = CGImageCreate(destWidth, destHeight, 8, 32, destBytesPerRow, YYCGColorSpaceGetDeviceRGB(), kCGImageAlphaFirst | kCGBitmapByteOrderDefault, tmpProvider, NULL, false, kCGRenderingIntentDefault); + if (!tmpImage) goto fail; + CFRelease(tmpProvider); + tmpProvider = NULL; + + if ((destBitmapInfo & kCGBitmapAlphaInfoMask) == kCGImageAlphaFirst && + (destBitmapInfo & kCGBitmapByteOrderMask) != kCGBitmapByteOrder32Little) { + return tmpImage; + } + + if (!YYCGImageDecodeToBitmapBufferWith32BitFormat(tmpImage, &dest, destBitmapInfo)) goto fail; + CFRelease(tmpImage); + tmpImage = NULL; + + destProvider = CGDataProviderCreateWithData(dest.data, dest.data, destHeight * destBytesPerRow, YYCGDataProviderReleaseDataCallback); + if (!destProvider) goto fail; + dest.data = NULL; // hold by provider + destImage = CGImageCreate(destWidth, destHeight, 8, 32, destBytesPerRow, YYCGColorSpaceGetDeviceRGB(), destBitmapInfo, destProvider, NULL, false, kCGRenderingIntentDefault); + if (!destImage) goto fail; + CFRelease(destProvider); + destProvider = NULL; + + return destImage; + +fail: + if (src.data) free(src.data); + if (tmp.data) free(tmp.data); + if (dest.data) free(dest.data); + if (tmpProvider) CFRelease(tmpProvider); + if (tmpImage) CFRelease(tmpImage); + if (destProvider) CFRelease(destProvider); + return NULL; +} + +UIImageOrientation YYUIImageOrientationFromEXIFValue(NSInteger value) { + switch (value) { + case kCGImagePropertyOrientationUp: return UIImageOrientationUp; + case kCGImagePropertyOrientationDown: return UIImageOrientationDown; + case kCGImagePropertyOrientationLeft: return UIImageOrientationLeft; + case kCGImagePropertyOrientationRight: return UIImageOrientationRight; + case kCGImagePropertyOrientationUpMirrored: return UIImageOrientationUpMirrored; + case kCGImagePropertyOrientationDownMirrored: return UIImageOrientationDownMirrored; + case kCGImagePropertyOrientationLeftMirrored: return UIImageOrientationLeftMirrored; + case kCGImagePropertyOrientationRightMirrored: return UIImageOrientationRightMirrored; + default: return UIImageOrientationUp; + } +} + +NSInteger YYUIImageOrientationToEXIFValue(UIImageOrientation orientation) { + switch (orientation) { + case UIImageOrientationUp: return kCGImagePropertyOrientationUp; + case UIImageOrientationDown: return kCGImagePropertyOrientationDown; + case UIImageOrientationLeft: return kCGImagePropertyOrientationLeft; + case UIImageOrientationRight: return kCGImagePropertyOrientationRight; + case UIImageOrientationUpMirrored: return kCGImagePropertyOrientationUpMirrored; + case UIImageOrientationDownMirrored: return kCGImagePropertyOrientationDownMirrored; + case UIImageOrientationLeftMirrored: return kCGImagePropertyOrientationLeftMirrored; + case UIImageOrientationRightMirrored: return kCGImagePropertyOrientationRightMirrored; + default: return kCGImagePropertyOrientationUp; + } +} + +CGImageRef YYCGImageCreateCopyWithOrientation(CGImageRef imageRef, UIImageOrientation orientation, CGBitmapInfo destBitmapInfo) { + if (!imageRef) return NULL; + if (orientation == UIImageOrientationUp) return (CGImageRef)CFRetain(imageRef); + + size_t width = CGImageGetWidth(imageRef); + size_t height = CGImageGetHeight(imageRef); + + CGAffineTransform transform = CGAffineTransformIdentity; + BOOL swapWidthAndHeight = NO; + switch (orientation) { + case UIImageOrientationDown: { + transform = CGAffineTransformMakeRotation(YYImageDegreesToRadians(180)); + transform = CGAffineTransformTranslate(transform, -(CGFloat)width, -(CGFloat)height); + } break; + case UIImageOrientationLeft: { + transform = CGAffineTransformMakeRotation(YYImageDegreesToRadians(90)); + transform = CGAffineTransformTranslate(transform, -(CGFloat)0, -(CGFloat)height); + swapWidthAndHeight = YES; + } break; + case UIImageOrientationRight: { + transform = CGAffineTransformMakeRotation(YYImageDegreesToRadians(-90)); + transform = CGAffineTransformTranslate(transform, -(CGFloat)width, (CGFloat)0); + swapWidthAndHeight = YES; + } break; + case UIImageOrientationUpMirrored: { + transform = CGAffineTransformTranslate(transform, (CGFloat)width, 0); + transform = CGAffineTransformScale(transform, -1, 1); + } break; + case UIImageOrientationDownMirrored: { + transform = CGAffineTransformTranslate(transform, 0, (CGFloat)height); + transform = CGAffineTransformScale(transform, 1, -1); + } break; + case UIImageOrientationLeftMirrored: { + transform = CGAffineTransformMakeRotation(YYImageDegreesToRadians(-90)); + transform = CGAffineTransformScale(transform, 1, -1); + transform = CGAffineTransformTranslate(transform, -(CGFloat)width, -(CGFloat)height); + swapWidthAndHeight = YES; + } break; + case UIImageOrientationRightMirrored: { + transform = CGAffineTransformMakeRotation(YYImageDegreesToRadians(90)); + transform = CGAffineTransformScale(transform, 1, -1); + swapWidthAndHeight = YES; + } break; + default: break; + } + if (CGAffineTransformIsIdentity(transform)) return (CGImageRef)CFRetain(imageRef); + + CGSize destSize = {width, height}; + if (swapWidthAndHeight) { + destSize.width = height; + destSize.height = width; + } + + return YYCGImageCreateAffineTransformCopy(imageRef, transform, destSize, destBitmapInfo); +} + +YYImageType YYImageDetectType(CFDataRef data) { + if (!data) return YYImageTypeUnknown; + uint64_t length = CFDataGetLength(data); + if (length < 16) return YYImageTypeUnknown; + + const char *bytes = (char *)CFDataGetBytePtr(data); + + uint32_t magic4 = *((uint32_t *)bytes); + switch (magic4) { + case YY_FOUR_CC(0x4D, 0x4D, 0x00, 0x2A): { // big endian TIFF + return YYImageTypeTIFF; + } break; + + case YY_FOUR_CC(0x49, 0x49, 0x2A, 0x00): { // little endian TIFF + return YYImageTypeTIFF; + } break; + + case YY_FOUR_CC(0x00, 0x00, 0x01, 0x00): { // ICO + return YYImageTypeICO; + } break; + + case YY_FOUR_CC(0x00, 0x00, 0x02, 0x00): { // CUR + return YYImageTypeICO; + } break; + + case YY_FOUR_CC('i', 'c', 'n', 's'): { // ICNS + return YYImageTypeICNS; + } break; + + case YY_FOUR_CC('G', 'I', 'F', '8'): { // GIF + return YYImageTypeGIF; + } break; + + case YY_FOUR_CC(0x89, 'P', 'N', 'G'): { // PNG + uint32_t tmp = *((uint32_t *)(bytes + 4)); + if (tmp == YY_FOUR_CC('\r', '\n', 0x1A, '\n')) { + return YYImageTypePNG; + } + } break; + + case YY_FOUR_CC('R', 'I', 'F', 'F'): { // WebP + uint32_t tmp = *((uint32_t *)(bytes + 8)); + if (tmp == YY_FOUR_CC('W', 'E', 'B', 'P')) { + return YYImageTypeWebP; + } + } break; + /* + case YY_FOUR_CC('B', 'P', 'G', 0xFB): { // BPG + return YYImageTypeBPG; + } break; + */ + } + + uint16_t magic2 = *((uint16_t *)bytes); + switch (magic2) { + case YY_TWO_CC('B', 'A'): + case YY_TWO_CC('B', 'M'): + case YY_TWO_CC('I', 'C'): + case YY_TWO_CC('P', 'I'): + case YY_TWO_CC('C', 'I'): + case YY_TWO_CC('C', 'P'): { // BMP + return YYImageTypeBMP; + } + case YY_TWO_CC(0xFF, 0x4F): { // JPEG2000 + return YYImageTypeJPEG2000; + } + } + + // JPG FF D8 FF + if (memcmp(bytes,"\377\330\377",3) == 0) return YYImageTypeJPEG; + + // JP2 + if (memcmp(bytes + 4, "\152\120\040\040\015", 5) == 0) return YYImageTypeJPEG2000; + + return YYImageTypeUnknown; +} + +CFStringRef YYImageTypeToUTType(YYImageType type) { + switch (type) { + case YYImageTypeJPEG: return kUTTypeJPEG; + case YYImageTypeJPEG2000: return kUTTypeJPEG2000; + case YYImageTypeTIFF: return kUTTypeTIFF; + case YYImageTypeBMP: return kUTTypeBMP; + case YYImageTypeICO: return kUTTypeICO; + case YYImageTypeICNS: return kUTTypeAppleICNS; + case YYImageTypeGIF: return kUTTypeGIF; + case YYImageTypePNG: return kUTTypePNG; + default: return NULL; + } +} + +YYImageType YYImageTypeFromUTType(CFStringRef uti) { + static NSDictionary *dic; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + dic = @{(id)kUTTypeJPEG : @(YYImageTypeJPEG), + (id)kUTTypeJPEG2000 : @(YYImageTypeJPEG2000), + (id)kUTTypeTIFF : @(YYImageTypeTIFF), + (id)kUTTypeBMP : @(YYImageTypeBMP), + (id)kUTTypeICO : @(YYImageTypeICO), + (id)kUTTypeAppleICNS : @(YYImageTypeICNS), + (id)kUTTypeGIF : @(YYImageTypeGIF), + (id)kUTTypePNG : @(YYImageTypePNG)}; + }); + if (!uti) return YYImageTypeUnknown; + NSNumber *num = dic[(__bridge __strong id)(uti)]; + return num.unsignedIntegerValue; +} + +NSString *YYImageTypeGetExtension(YYImageType type) { + switch (type) { + case YYImageTypeJPEG: return @"jpg"; + case YYImageTypeJPEG2000: return @"jp2"; + case YYImageTypeTIFF: return @"tiff"; + case YYImageTypeBMP: return @"bmp"; + case YYImageTypeICO: return @"ico"; + case YYImageTypeICNS: return @"icns"; + case YYImageTypeGIF: return @"gif"; + case YYImageTypePNG: return @"png"; + case YYImageTypeWebP: return @"webp"; + default: return nil; + } +} + +CFDataRef YYCGImageCreateEncodedData(CGImageRef imageRef, YYImageType type, CGFloat quality) { + if (!imageRef) return nil; + quality = quality < 0 ? 0 : quality > 1 ? 1 : quality; + + if (type == YYImageTypeWebP) { +#if YYIMAGE_WEBP_ENABLED + if (quality == 1) { + return YYCGImageCreateEncodedWebPData(imageRef, YES, quality, 4, YYImagePresetDefault); + } else { + return YYCGImageCreateEncodedWebPData(imageRef, NO, quality, 4, YYImagePresetDefault); + } +#else + return NULL; +#endif + } + + CFStringRef uti = YYImageTypeToUTType(type); + if (!uti) return nil; + + CFMutableDataRef data = CFDataCreateMutable(CFAllocatorGetDefault(), 0); + if (!data) return NULL; + CGImageDestinationRef dest = CGImageDestinationCreateWithData(data, uti, 1, NULL); + if (!dest) { + CFRelease(data); + return NULL; + } + NSDictionary *options = @{(id)kCGImageDestinationLossyCompressionQuality : @(quality) }; + CGImageDestinationAddImage(dest, imageRef, (CFDictionaryRef)options); + if (!CGImageDestinationFinalize(dest)) { + CFRelease(data); + CFRelease(dest); + return nil; + } + CFRelease(dest); + + if (CFDataGetLength(data) == 0) { + CFRelease(data); + return NULL; + } + return data; +} + +#if YYIMAGE_WEBP_ENABLED + +BOOL YYImageWebPAvailable() { + return YES; +} + +CFDataRef YYCGImageCreateEncodedWebPData(CGImageRef imageRef, BOOL lossless, CGFloat quality, int compressLevel, YYImagePreset preset) { + if (!imageRef) return nil; + size_t width = CGImageGetWidth(imageRef); + size_t height = CGImageGetHeight(imageRef); + if (width == 0 || width > WEBP_MAX_DIMENSION) return nil; + if (height == 0 || height > WEBP_MAX_DIMENSION) return nil; + + vImage_Buffer buffer = {0}; + if(!YYCGImageDecodeToBitmapBufferWith32BitFormat(imageRef, &buffer, kCGImageAlphaLast | kCGBitmapByteOrderDefault)) return nil; + + WebPConfig config = {0}; + WebPPicture picture = {0}; + WebPMemoryWriter writer = {0}; + CFDataRef webpData = NULL; + BOOL pictureNeedFree = NO; + + quality = quality < 0 ? 0 : quality > 1 ? 1 : quality; + preset = preset > YYImagePresetText ? YYImagePresetDefault : preset; + compressLevel = compressLevel < 0 ? 0 : compressLevel > 6 ? 6 : compressLevel; + if (!WebPConfigPreset(&config, (WebPPreset)preset, quality)) goto fail; + + config.quality = round(quality * 100.0); + config.lossless = lossless; + config.method = compressLevel; + switch ((WebPPreset)preset) { + case WEBP_PRESET_DEFAULT: { + config.image_hint = WEBP_HINT_DEFAULT; + } break; + case WEBP_PRESET_PICTURE: { + config.image_hint = WEBP_HINT_PICTURE; + } break; + case WEBP_PRESET_PHOTO: { + config.image_hint = WEBP_HINT_PHOTO; + } break; + case WEBP_PRESET_DRAWING: + case WEBP_PRESET_ICON: + case WEBP_PRESET_TEXT: { + config.image_hint = WEBP_HINT_GRAPH; + } break; + } + if (!WebPValidateConfig(&config)) goto fail; + + if (!WebPPictureInit(&picture)) goto fail; + pictureNeedFree = YES; + picture.width = (int)buffer.width; + picture.height = (int)buffer.height; + picture.use_argb = lossless; + if(!WebPPictureImportRGBA(&picture, buffer.data, (int)buffer.rowBytes)) goto fail; + + WebPMemoryWriterInit(&writer); + picture.writer = WebPMemoryWrite; + picture.custom_ptr = &writer; + if(!WebPEncode(&config, &picture)) goto fail; + + webpData = CFDataCreate(CFAllocatorGetDefault(), writer.mem, writer.size); + free(writer.mem); + WebPPictureFree(&picture); + free(buffer.data); + return webpData; + +fail: + if (buffer.data) free(buffer.data); + if (pictureNeedFree) WebPPictureFree(&picture); + return nil; +} + +NSUInteger YYImageGetWebPFrameCount(CFDataRef webpData) { + if (!webpData || CFDataGetLength(webpData) == 0) return 0; + + WebPData data = {CFDataGetBytePtr(webpData), CFDataGetLength(webpData)}; + WebPDemuxer *demuxer = WebPDemux(&data); + if (!demuxer) return 0; + NSUInteger webpFrameCount = WebPDemuxGetI(demuxer, WEBP_FF_FRAME_COUNT); + WebPDemuxDelete(demuxer); + return webpFrameCount; +} + +CGImageRef YYCGImageCreateWithWebPData(CFDataRef webpData, + BOOL decodeForDisplay, + BOOL useThreads, + BOOL bypassFiltering, + BOOL noFancyUpsampling) { + /* + Call WebPDecode() on a multi-frame webp data will get an error (VP8_STATUS_UNSUPPORTED_FEATURE). + Use WebPDemuxer to unpack it first. + */ + WebPData data = {0}; + WebPDemuxer *demuxer = NULL; + + int frameCount = 0, canvasWidth = 0, canvasHeight = 0; + WebPIterator iter = {0}; + BOOL iterInited = NO; + const uint8_t *payload = NULL; + size_t payloadSize = 0; + WebPDecoderConfig config = {0}; + + BOOL hasAlpha = NO; + size_t bitsPerComponent = 0, bitsPerPixel = 0, bytesPerRow = 0, destLength = 0; + CGBitmapInfo bitmapInfo = 0; + WEBP_CSP_MODE colorspace = 0; + void *destBytes = NULL; + CGDataProviderRef provider = NULL; + CGImageRef imageRef = NULL; + + if (!webpData || CFDataGetLength(webpData) == 0) return NULL; + data.bytes = CFDataGetBytePtr(webpData); + data.size = CFDataGetLength(webpData); + demuxer = WebPDemux(&data); + if (!demuxer) goto fail; + + frameCount = WebPDemuxGetI(demuxer, WEBP_FF_FRAME_COUNT); + if (frameCount == 0) { + goto fail; + + } else if (frameCount == 1) { // single-frame + payload = data.bytes; + payloadSize = data.size; + if (!WebPInitDecoderConfig(&config)) goto fail; + if (WebPGetFeatures(payload , payloadSize, &config.input) != VP8_STATUS_OK) goto fail; + canvasWidth = config.input.width; + canvasHeight = config.input.height; + + } else { // multi-frame + canvasWidth = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_WIDTH); + canvasHeight = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_HEIGHT); + if (canvasWidth < 1 || canvasHeight < 1) goto fail; + + if (!WebPDemuxGetFrame(demuxer, 1, &iter)) goto fail; + iterInited = YES; + + if (iter.width > canvasWidth || iter.height > canvasHeight) goto fail; + payload = iter.fragment.bytes; + payloadSize = iter.fragment.size; + + if (!WebPInitDecoderConfig(&config)) goto fail; + if (WebPGetFeatures(payload , payloadSize, &config.input) != VP8_STATUS_OK) goto fail; + } + if (payload == NULL || payloadSize == 0) goto fail; + + hasAlpha = config.input.has_alpha; + bitsPerComponent = 8; + bitsPerPixel = 32; + bytesPerRow = YYImageByteAlign(bitsPerPixel / 8 * canvasWidth, 32); + destLength = bytesPerRow * canvasHeight; + if (decodeForDisplay) { + bitmapInfo = kCGBitmapByteOrder32Host; + bitmapInfo |= hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNoneSkipFirst; + colorspace = MODE_bgrA; // small endian + } else { + bitmapInfo = kCGBitmapByteOrderDefault; + bitmapInfo |= hasAlpha ? kCGImageAlphaLast : kCGImageAlphaNoneSkipLast; + colorspace = MODE_RGBA; + } + destBytes = calloc(1, destLength); + if (!destBytes) goto fail; + + config.options.use_threads = useThreads; //speed up 23% + config.options.bypass_filtering = bypassFiltering; //speed up 11%, cause some banding + config.options.no_fancy_upsampling = noFancyUpsampling; //speed down 16%, lose some details + config.output.colorspace = colorspace; + config.output.is_external_memory = 1; + config.output.u.RGBA.rgba = destBytes; + config.output.u.RGBA.stride = (int)bytesPerRow; + config.output.u.RGBA.size = destLength; + + VP8StatusCode result = WebPDecode(payload, payloadSize, &config); + if ((result != VP8_STATUS_OK) && (result != VP8_STATUS_NOT_ENOUGH_DATA)) goto fail; + + if (iter.x_offset != 0 || iter.y_offset != 0) { + void *tmp = calloc(1, destLength); + if (tmp) { + vImage_Buffer src = {destBytes, canvasHeight, canvasWidth, bytesPerRow}; + vImage_Buffer dest = {tmp, canvasHeight, canvasWidth, bytesPerRow}; + vImage_CGAffineTransform transform = {1, 0, 0, 1, iter.x_offset, -iter.y_offset}; + uint8_t backColor[4] = {0}; + vImageAffineWarpCG_ARGB8888(&src, &dest, NULL, &transform, backColor, kvImageBackgroundColorFill); + memcpy(destBytes, tmp, destLength); + free(tmp); + } + } + + provider = CGDataProviderCreateWithData(destBytes, destBytes, destLength, YYCGDataProviderReleaseDataCallback); + if (!provider) goto fail; + destBytes = NULL; // hold by provider + + imageRef = CGImageCreate(canvasWidth, canvasHeight, bitsPerComponent, bitsPerPixel, bytesPerRow, YYCGColorSpaceGetDeviceRGB(), bitmapInfo, provider, NULL, false, kCGRenderingIntentDefault); + + CFRelease(provider); + if (iterInited) WebPDemuxReleaseIterator(&iter); + WebPDemuxDelete(demuxer); + + return imageRef; + +fail: + if (destBytes) free(destBytes); + if (provider) CFRelease(provider); + if (iterInited) WebPDemuxReleaseIterator(&iter); + if (demuxer) WebPDemuxDelete(demuxer); + return NULL; +} + +#else + +BOOL YYImageWebPAvailable() { + return NO; +} + +CFDataRef YYCGImageCreateEncodedWebPData(CGImageRef imageRef, BOOL lossless, CGFloat quality, int compressLevel, YYImagePreset preset) { + NSLog(@"WebP decoder is disabled"); + return NULL; +} + +NSUInteger YYImageGetWebPFrameCount(CFDataRef webpData) { + NSLog(@"WebP decoder is disabled"); + return 0; +} + +CGImageRef YYCGImageCreateWithWebPData(CFDataRef webpData, + BOOL decodeForDisplay, + BOOL useThreads, + BOOL bypassFiltering, + BOOL noFancyUpsampling) { + NSLog(@"WebP decoder is disabled"); + return NULL; +} + +#endif + + +//////////////////////////////////////////////////////////////////////////////// +#pragma mark - Decoder + +@implementation YYImageFrame ++ (instancetype)frameWithImage:(UIImage *)image { + YYImageFrame *frame = [self new]; + frame.image = image; + return frame; +} +- (id)copyWithZone:(NSZone *)zone { + YYImageFrame *frame = [self.class new]; + frame.index = _index; + frame.width = _width; + frame.height = _height; + frame.offsetX = _offsetX; + frame.offsetY = _offsetY; + frame.duration = _duration; + frame.dispose = _dispose; + frame.blend = _blend; + frame.image = _image.copy; + return frame; +} +@end + +// Internal frame object. +@interface _YYImageDecoderFrame : YYImageFrame +@property (nonatomic, assign) BOOL hasAlpha; ///< Whether frame has alpha. +@property (nonatomic, assign) BOOL isFullSize; ///< Whether frame fill the canvas. +@property (nonatomic, assign) NSUInteger blendFromIndex; ///< Blend from frame index to current frame. +@end + +@implementation _YYImageDecoderFrame +- (id)copyWithZone:(NSZone *)zone { + _YYImageDecoderFrame *frame = [super copyWithZone:zone]; + frame.hasAlpha = _hasAlpha; + frame.isFullSize = _isFullSize; + frame.blendFromIndex = _blendFromIndex; + return frame; +} +@end + + +@implementation YYImageDecoder { + pthread_mutex_t _lock; // recursive lock + + BOOL _sourceTypeDetected; + CGImageSourceRef _source; + yy_png_info *_apngSource; +#if YYIMAGE_WEBP_ENABLED + WebPDemuxer *_webpSource; +#endif + + UIImageOrientation _orientation; + dispatch_semaphore_t _framesLock; + NSArray *_frames; ///< Array, without image + BOOL _needBlend; + NSUInteger _blendFrameIndex; + CGContextRef _blendCanvas; +} + +- (void)dealloc { + if (_source) CFRelease(_source); + if (_apngSource) yy_png_info_release(_apngSource); +#if YYIMAGE_WEBP_ENABLED + if (_webpSource) WebPDemuxDelete(_webpSource); +#endif + if (_blendCanvas) CFRelease(_blendCanvas); + pthread_mutex_destroy(&_lock); +} + ++ (instancetype)decoderWithData:(NSData *)data scale:(CGFloat)scale { + if (!data) return nil; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:scale]; + [decoder updateData:data final:YES]; + if (decoder.frameCount == 0) return nil; + return decoder; +} + +- (instancetype)init { + return [self initWithScale:[UIScreen mainScreen].scale]; +} + +- (instancetype)initWithScale:(CGFloat)scale { + self = [super init]; + if (scale <= 0) scale = 1; + _scale = scale; + _framesLock = dispatch_semaphore_create(1); + + pthread_mutexattr_t attr; + pthread_mutexattr_init (&attr); + pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init (&_lock, &attr); + pthread_mutexattr_destroy (&attr); + + return self; +} + +- (BOOL)updateData:(NSData *)data final:(BOOL)final { + BOOL result = NO; + pthread_mutex_lock(&_lock); + result = [self _updateData:data final:final]; + pthread_mutex_unlock(&_lock); + return result; +} + +- (YYImageFrame *)frameAtIndex:(NSUInteger)index decodeForDisplay:(BOOL)decodeForDisplay { + YYImageFrame *result = nil; + pthread_mutex_lock(&_lock); + result = [self _frameAtIndex:index decodeForDisplay:decodeForDisplay]; + pthread_mutex_unlock(&_lock); + return result; +} + +- (NSTimeInterval)frameDurationAtIndex:(NSUInteger)index { + NSTimeInterval result = 0; + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + if (index < _frames.count) { + result = ((_YYImageDecoderFrame *)_frames[index]).duration; + } + dispatch_semaphore_signal(_framesLock); + return result; +} + +- (NSDictionary *)framePropertiesAtIndex:(NSUInteger)index { + NSDictionary *result = nil; + pthread_mutex_lock(&_lock); + result = [self _framePropertiesAtIndex:index]; + pthread_mutex_unlock(&_lock); + return result; +} + +- (NSDictionary *)imageProperties { + NSDictionary *result = nil; + pthread_mutex_lock(&_lock); + result = [self _imageProperties]; + pthread_mutex_unlock(&_lock); + return result; +} + +#pragma private (wrap) + +- (BOOL)_updateData:(NSData *)data final:(BOOL)final { + if (_finalized) return NO; + if (data.length < _data.length) return NO; + _finalized = final; + _data = data; + + YYImageType type = YYImageDetectType((__bridge CFDataRef)data); + if (_sourceTypeDetected) { + if (_type != type) { + return NO; + } else { + [self _updateSource]; + } + } else { + if (_data.length > 16) { + _type = type; + _sourceTypeDetected = YES; + [self _updateSource]; + } + } + return YES; +} + +- (YYImageFrame *)_frameAtIndex:(NSUInteger)index decodeForDisplay:(BOOL)decodeForDisplay { + if (index >= _frames.count) return 0; + _YYImageDecoderFrame *frame = [(_YYImageDecoderFrame *)_frames[index] copy]; + BOOL decoded = NO; + BOOL extendToCanvas = NO; + if (_type != YYImageTypeICO && decodeForDisplay) { // ICO contains multi-size frame and should not extend to canvas. + extendToCanvas = YES; + } + + if (!_needBlend) { + CGImageRef imageRef = [self _newUnblendedImageAtIndex:index extendToCanvas:extendToCanvas decoded:&decoded]; + if (!imageRef) return nil; + if (decodeForDisplay && !decoded) { + CGImageRef imageRefDecoded = YYCGImageCreateDecodedCopy(imageRef, YES); + if (imageRefDecoded) { + CFRelease(imageRef); + imageRef = imageRefDecoded; + decoded = YES; + } + } + UIImage *image = [UIImage imageWithCGImage:imageRef scale:_scale orientation:_orientation]; + CFRelease(imageRef); + if (!image) return nil; + image.yy_isDecodedForDisplay = decoded; + frame.image = image; + return frame; + } + + // blend + if (![self _createBlendContextIfNeeded]) return nil; + CGImageRef imageRef = NULL; + + if (_blendFrameIndex + 1 == frame.index) { + imageRef = [self _newBlendedImageWithFrame:frame]; + _blendFrameIndex = index; + } else { // should draw canvas from previous frame + _blendFrameIndex = NSNotFound; + CGContextClearRect(_blendCanvas, CGRectMake(0, 0, _width, _height)); + + if (frame.blendFromIndex == frame.index) { + CGImageRef unblendedImage = [self _newUnblendedImageAtIndex:index extendToCanvas:NO decoded:NULL]; + if (unblendedImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendedImage); + CFRelease(unblendedImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + if (frame.dispose == YYImageDisposeBackground) { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + } + _blendFrameIndex = index; + } else { // canvas is not ready + for (uint32_t i = (uint32_t)frame.blendFromIndex; i <= (uint32_t)frame.index; i++) { + if (i == frame.index) { + if (!imageRef) imageRef = [self _newBlendedImageWithFrame:frame]; + } else { + [self _blendImageWithFrame:_frames[i]]; + } + } + _blendFrameIndex = index; + } + } + + if (!imageRef) return nil; + UIImage *image = [UIImage imageWithCGImage:imageRef scale:_scale orientation:_orientation]; + CFRelease(imageRef); + if (!image) return nil; + + image.yy_isDecodedForDisplay = YES; + frame.image = image; + if (extendToCanvas) { + frame.width = _width; + frame.height = _height; + frame.offsetX = 0; + frame.offsetY = 0; + frame.dispose = YYImageDisposeNone; + frame.blend = YYImageBlendNone; + } + return frame; +} + +- (NSDictionary *)_framePropertiesAtIndex:(NSUInteger)index { + if (index >= _frames.count) return nil; + if (!_source) return nil; + CFDictionaryRef properties = CGImageSourceCopyPropertiesAtIndex(_source, index, NULL); + if (!properties) return nil; + return CFBridgingRelease(properties); +} + +- (NSDictionary *)_imageProperties { + if (!_source) return nil; + CFDictionaryRef properties = CGImageSourceCopyProperties(_source, NULL); + if (!properties) return nil; + return CFBridgingRelease(properties); +} + +#pragma private + +- (void)_updateSource { + switch (_type) { + case YYImageTypeWebP: { + [self _updateSourceWebP]; + } break; + + case YYImageTypePNG: { + [self _updateSourceAPNG]; + } break; + + default: { + [self _updateSourceImageIO]; + } break; + } +} + +- (void)_updateSourceWebP { +#if YYIMAGE_WEBP_ENABLED + _width = 0; + _height = 0; + _loopCount = 0; + if (_webpSource) WebPDemuxDelete(_webpSource); + _webpSource = NULL; + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + _frames = nil; + dispatch_semaphore_signal(_framesLock); + + /* + https://developers.google.com/speed/webp/docs/api + The documentation said we can use WebPIDecoder to decode webp progressively, + but currently it can only returns an empty image (not same as progressive jpegs), + so we don't use progressive decoding. + + When using WebPDecode() to decode multi-frame webp, we will get the error + "VP8_STATUS_UNSUPPORTED_FEATURE", so we first use WebPDemuxer to unpack it. + */ + + WebPData webPData = {0}; + webPData.bytes = _data.bytes; + webPData.size = _data.length; + WebPDemuxer *demuxer = WebPDemux(&webPData); + if (!demuxer) return; + + uint32_t webpFrameCount = WebPDemuxGetI(demuxer, WEBP_FF_FRAME_COUNT); + uint32_t webpLoopCount = WebPDemuxGetI(demuxer, WEBP_FF_LOOP_COUNT); + uint32_t canvasWidth = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_WIDTH); + uint32_t canvasHeight = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_HEIGHT); + if (webpFrameCount == 0 || canvasWidth < 1 || canvasHeight < 1) { + WebPDemuxDelete(demuxer); + return; + } + + NSMutableArray *frames = [NSMutableArray new]; + BOOL needBlend = NO; + uint32_t iterIndex = 0; + uint32_t lastBlendIndex = 0; + WebPIterator iter = {0}; + if (WebPDemuxGetFrame(demuxer, 1, &iter)) { // one-based index... + do { + _YYImageDecoderFrame *frame = [_YYImageDecoderFrame new]; + [frames addObject:frame]; + if (iter.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { + frame.dispose = YYImageDisposeBackground; + } + if (iter.blend_method == WEBP_MUX_BLEND) { + frame.blend = YYImageBlendOver; + } + + int canvasWidth = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_WIDTH); + int canvasHeight = WebPDemuxGetI(demuxer, WEBP_FF_CANVAS_HEIGHT); + frame.index = iterIndex; + frame.duration = iter.duration / 1000.0; + frame.width = iter.width; + frame.height = iter.height; + frame.hasAlpha = iter.has_alpha; + frame.blend = iter.blend_method == WEBP_MUX_BLEND; + frame.offsetX = iter.x_offset; + frame.offsetY = canvasHeight - iter.y_offset - iter.height; + + BOOL sizeEqualsToCanvas = (iter.width == canvasWidth && iter.height == canvasHeight); + BOOL offsetIsZero = (iter.x_offset == 0 && iter.y_offset == 0); + frame.isFullSize = (sizeEqualsToCanvas && offsetIsZero); + + if ((!frame.blend || !frame.hasAlpha) && frame.isFullSize) { + frame.blendFromIndex = lastBlendIndex = iterIndex; + } else { + if (frame.dispose && frame.isFullSize) { + frame.blendFromIndex = lastBlendIndex; + lastBlendIndex = iterIndex + 1; + } else { + frame.blendFromIndex = lastBlendIndex; + } + } + if (frame.index != frame.blendFromIndex) needBlend = YES; + iterIndex++; + } while (WebPDemuxNextFrame(&iter)); + WebPDemuxReleaseIterator(&iter); + } + if (frames.count != webpFrameCount) { + WebPDemuxDelete(demuxer); + return; + } + + _width = canvasWidth; + _height = canvasHeight; + _frameCount = frames.count; + _loopCount = webpLoopCount; + _needBlend = needBlend; + _webpSource = demuxer; + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + _frames = frames; + dispatch_semaphore_signal(_framesLock); +#else + static const char *func = __FUNCTION__; + static const int line = __LINE__; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSLog(@"[%s: %d] WebP is not available, check the documentation to see how to install WebP component: https://github.com/ibireme/YYImage#installation", func, line); + }); +#endif +} + +- (void)_updateSourceAPNG { + /* + APNG extends PNG format to support animation, it was supported by ImageIO + since iOS 8. + + We use a custom APNG decoder to make APNG available in old system, so we + ignore the ImageIO's APNG frame info. Typically the custom decoder is a bit + faster than ImageIO. + */ + + yy_png_info_release(_apngSource); + _apngSource = nil; + + [self _updateSourceImageIO]; // decode first frame + if (_frameCount == 0) return; // png decode failed + if (!_finalized) return; // ignore multi-frame before finalized + + yy_png_info *apng = yy_png_info_create(_data.bytes, (uint32_t)_data.length); + if (!apng) return; // apng decode failed + if (apng->apng_frame_num == 0 || + (apng->apng_frame_num == 1 && apng->apng_first_frame_is_cover)) { + yy_png_info_release(apng); + return; // no animation + } + if (_source) { // apng decode succeed, no longer need image souce + CFRelease(_source); + _source = NULL; + } + + uint32_t canvasWidth = apng->header.width; + uint32_t canvasHeight = apng->header.height; + NSMutableArray *frames = [NSMutableArray new]; + BOOL needBlend = NO; + uint32_t lastBlendIndex = 0; + for (uint32_t i = 0; i < apng->apng_frame_num; i++) { + _YYImageDecoderFrame *frame = [_YYImageDecoderFrame new]; + [frames addObject:frame]; + + yy_png_frame_info *fi = apng->apng_frames + i; + frame.index = i; + frame.duration = yy_png_delay_to_seconds(fi->frame_control.delay_num, fi->frame_control.delay_den); + frame.hasAlpha = YES; + frame.width = fi->frame_control.width; + frame.height = fi->frame_control.height; + frame.offsetX = fi->frame_control.x_offset; + frame.offsetY = canvasHeight - fi->frame_control.y_offset - fi->frame_control.height; + + BOOL sizeEqualsToCanvas = (frame.width == canvasWidth && frame.height == canvasHeight); + BOOL offsetIsZero = (fi->frame_control.x_offset == 0 && fi->frame_control.y_offset == 0); + frame.isFullSize = (sizeEqualsToCanvas && offsetIsZero); + + switch (fi->frame_control.dispose_op) { + case YY_PNG_DISPOSE_OP_BACKGROUND: { + frame.dispose = YYImageDisposeBackground; + } break; + case YY_PNG_DISPOSE_OP_PREVIOUS: { + frame.dispose = YYImageDisposePrevious; + } break; + default: { + frame.dispose = YYImageDisposeNone; + } break; + } + switch (fi->frame_control.blend_op) { + case YY_PNG_BLEND_OP_OVER: { + frame.blend = YYImageBlendOver; + } break; + + default: { + frame.blend = YYImageBlendNone; + } break; + } + + if (frame.blend == YYImageBlendNone && frame.isFullSize) { + frame.blendFromIndex = i; + if (frame.dispose != YYImageDisposePrevious) lastBlendIndex = i; + } else { + if (frame.dispose == YYImageDisposeBackground && frame.isFullSize) { + frame.blendFromIndex = lastBlendIndex; + lastBlendIndex = i + 1; + } else { + frame.blendFromIndex = lastBlendIndex; + } + } + if (frame.index != frame.blendFromIndex) needBlend = YES; + } + + _width = canvasWidth; + _height = canvasHeight; + _frameCount = frames.count; + _loopCount = apng->apng_loop_num; + _needBlend = needBlend; + _apngSource = apng; + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + _frames = frames; + dispatch_semaphore_signal(_framesLock); +} + +- (void)_updateSourceImageIO { + _width = 0; + _height = 0; + _orientation = UIImageOrientationUp; + _loopCount = 0; + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + _frames = nil; + dispatch_semaphore_signal(_framesLock); + + if (!_source) { + if (_finalized) { + _source = CGImageSourceCreateWithData((__bridge CFDataRef)_data, NULL); + } else { + _source = CGImageSourceCreateIncremental(NULL); + if (_source) CGImageSourceUpdateData(_source, (__bridge CFDataRef)_data, false); + } + } else { + CGImageSourceUpdateData(_source, (__bridge CFDataRef)_data, _finalized); + } + if (!_source) return; + + _frameCount = CGImageSourceGetCount(_source); + if (_frameCount == 0) return; + + if (!_finalized) { // ignore multi-frame before finalized + _frameCount = 1; + } else { + if (_type == YYImageTypePNG) { // use custom apng decoder and ignore multi-frame + _frameCount = 1; + } + if (_type == YYImageTypeGIF) { // get gif loop count + CFDictionaryRef properties = CGImageSourceCopyProperties(_source, NULL); + if (properties) { + CFDictionaryRef gif = CFDictionaryGetValue(properties, kCGImagePropertyGIFDictionary); + if (gif) { + CFTypeRef loop = CFDictionaryGetValue(gif, kCGImagePropertyGIFLoopCount); + if (loop) CFNumberGetValue(loop, kCFNumberNSIntegerType, &_loopCount); + } + CFRelease(properties); + } + } + } + + /* + ICO, GIF, APNG may contains multi-frame. + */ + NSMutableArray *frames = [NSMutableArray new]; + for (NSUInteger i = 0; i < _frameCount; i++) { + _YYImageDecoderFrame *frame = [_YYImageDecoderFrame new]; + frame.index = i; + frame.blendFromIndex = i; + frame.hasAlpha = YES; + frame.isFullSize = YES; + [frames addObject:frame]; + + CFDictionaryRef properties = CGImageSourceCopyPropertiesAtIndex(_source, i, NULL); + if (properties) { + NSTimeInterval duration = 0; + NSInteger orientationValue = 0, width = 0, height = 0; + CFTypeRef value = NULL; + + value = CFDictionaryGetValue(properties, kCGImagePropertyPixelWidth); + if (value) CFNumberGetValue(value, kCFNumberNSIntegerType, &width); + value = CFDictionaryGetValue(properties, kCGImagePropertyPixelHeight); + if (value) CFNumberGetValue(value, kCFNumberNSIntegerType, &height); + if (_type == YYImageTypeGIF) { + CFDictionaryRef gif = CFDictionaryGetValue(properties, kCGImagePropertyGIFDictionary); + if (gif) { + // Use the unclamped frame delay if it exists. + value = CFDictionaryGetValue(gif, kCGImagePropertyGIFUnclampedDelayTime); + if (!value) { + // Fall back to the clamped frame delay if the unclamped frame delay does not exist. + value = CFDictionaryGetValue(gif, kCGImagePropertyGIFDelayTime); + } + if (value) CFNumberGetValue(value, kCFNumberDoubleType, &duration); + } + } + + frame.width = width; + frame.height = height; + frame.duration = duration; + + if (i == 0 && _width + _height == 0) { // init first frame + _width = width; + _height = height; + value = CFDictionaryGetValue(properties, kCGImagePropertyOrientation); + if (value) { + CFNumberGetValue(value, kCFNumberNSIntegerType, &orientationValue); + _orientation = YYUIImageOrientationFromEXIFValue(orientationValue); + } + } + CFRelease(properties); + } + } + dispatch_semaphore_wait(_framesLock, DISPATCH_TIME_FOREVER); + _frames = frames; + dispatch_semaphore_signal(_framesLock); +} + +- (CGImageRef)_newUnblendedImageAtIndex:(NSUInteger)index + extendToCanvas:(BOOL)extendToCanvas + decoded:(BOOL *)decoded CF_RETURNS_RETAINED { + + if (!_finalized && index > 0) return NULL; + if (_frames.count <= index) return NULL; + _YYImageDecoderFrame *frame = _frames[index]; + + if (_source) { + CGImageRef imageRef = CGImageSourceCreateImageAtIndex(_source, index, (CFDictionaryRef)@{(id)kCGImageSourceShouldCache:@(YES)}); + if (imageRef && extendToCanvas) { + size_t width = CGImageGetWidth(imageRef); + size_t height = CGImageGetHeight(imageRef); + if (width == _width && height == _height) { + CGImageRef imageRefExtended = YYCGImageCreateDecodedCopy(imageRef, YES); + if (imageRefExtended) { + CFRelease(imageRef); + imageRef = imageRefExtended; + if (decoded) *decoded = YES; + } + } else { + CGContextRef context = CGBitmapContextCreate(NULL, _width, _height, 8, 0, YYCGColorSpaceGetDeviceRGB(), kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst); + if (context) { + CGContextDrawImage(context, CGRectMake(0, _height - height, width, height), imageRef); + CGImageRef imageRefExtended = CGBitmapContextCreateImage(context); + CFRelease(context); + if (imageRefExtended) { + CFRelease(imageRef); + imageRef = imageRefExtended; + if (decoded) *decoded = YES; + } + } + } + } + return imageRef; + } + + if (_apngSource) { + uint32_t size = 0; + uint8_t *bytes = yy_png_copy_frame_data_at_index(_data.bytes, _apngSource, (uint32_t)index, &size); + if (!bytes) return NULL; + CGDataProviderRef provider = CGDataProviderCreateWithData(bytes, bytes, size, YYCGDataProviderReleaseDataCallback); + if (!provider) { + free(bytes); + return NULL; + } + bytes = NULL; // hold by provider + + CGImageSourceRef source = CGImageSourceCreateWithDataProvider(provider, NULL); + if (!source) { + CFRelease(provider); + return NULL; + } + CFRelease(provider); + + if(CGImageSourceGetCount(source) < 1) { + CFRelease(source); + return NULL; + } + + CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, 0, (CFDictionaryRef)@{(id)kCGImageSourceShouldCache:@(YES)}); + CFRelease(source); + if (!imageRef) return NULL; + if (extendToCanvas) { + CGContextRef context = CGBitmapContextCreate(NULL, _width, _height, 8, 0, YYCGColorSpaceGetDeviceRGB(), kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst); //bgrA + if (context) { + CGContextDrawImage(context, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), imageRef); + CFRelease(imageRef); + imageRef = CGBitmapContextCreateImage(context); + CFRelease(context); + if (decoded) *decoded = YES; + } + } + return imageRef; + } + +#if YYIMAGE_WEBP_ENABLED + if (_webpSource) { + WebPIterator iter; + if (!WebPDemuxGetFrame(_webpSource, (int)(index + 1), &iter)) return NULL; // demux webp frame data + // frame numbers are one-based in webp -----------^ + + int frameWidth = iter.width; + int frameHeight = iter.height; + if (frameWidth < 1 || frameHeight < 1) return NULL; + + int width = extendToCanvas ? (int)_width : frameWidth; + int height = extendToCanvas ? (int)_height : frameHeight; + if (width > _width || height > _height) return NULL; + + const uint8_t *payload = iter.fragment.bytes; + size_t payloadSize = iter.fragment.size; + + WebPDecoderConfig config; + if (!WebPInitDecoderConfig(&config)) { + WebPDemuxReleaseIterator(&iter); + return NULL; + } + if (WebPGetFeatures(payload , payloadSize, &config.input) != VP8_STATUS_OK) { + WebPDemuxReleaseIterator(&iter); + return NULL; + } + + size_t bitsPerComponent = 8; + size_t bitsPerPixel = 32; + size_t bytesPerRow = YYImageByteAlign(bitsPerPixel / 8 * width, 32); + size_t length = bytesPerRow * height; + CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst; //bgrA + + void *pixels = calloc(1, length); + if (!pixels) { + WebPDemuxReleaseIterator(&iter); + return NULL; + } + + config.output.colorspace = MODE_bgrA; + config.output.is_external_memory = 1; + config.output.u.RGBA.rgba = pixels; + config.output.u.RGBA.stride = (int)bytesPerRow; + config.output.u.RGBA.size = length; + VP8StatusCode result = WebPDecode(payload, payloadSize, &config); // decode + if ((result != VP8_STATUS_OK) && (result != VP8_STATUS_NOT_ENOUGH_DATA)) { + WebPDemuxReleaseIterator(&iter); + free(pixels); + return NULL; + } + WebPDemuxReleaseIterator(&iter); + + if (extendToCanvas && (iter.x_offset != 0 || iter.y_offset != 0)) { + void *tmp = calloc(1, length); + if (tmp) { + vImage_Buffer src = {pixels, height, width, bytesPerRow}; + vImage_Buffer dest = {tmp, height, width, bytesPerRow}; + vImage_CGAffineTransform transform = {1, 0, 0, 1, iter.x_offset, -iter.y_offset}; + uint8_t backColor[4] = {0}; + vImage_Error error = vImageAffineWarpCG_ARGB8888(&src, &dest, NULL, &transform, backColor, kvImageBackgroundColorFill); + if (error == kvImageNoError) { + memcpy(pixels, tmp, length); + } + free(tmp); + } + } + + CGDataProviderRef provider = CGDataProviderCreateWithData(pixels, pixels, length, YYCGDataProviderReleaseDataCallback); + if (!provider) { + free(pixels); + return NULL; + } + pixels = NULL; // hold by provider + + CGImageRef image = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, YYCGColorSpaceGetDeviceRGB(), bitmapInfo, provider, NULL, false, kCGRenderingIntentDefault); + CFRelease(provider); + if (decoded) *decoded = YES; + return image; + } +#endif + + return NULL; +} + +- (BOOL)_createBlendContextIfNeeded { + if (!_blendCanvas) { + _blendFrameIndex = NSNotFound; + _blendCanvas = CGBitmapContextCreate(NULL, _width, _height, 8, 0, YYCGColorSpaceGetDeviceRGB(), kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst); + } + BOOL suc = _blendCanvas != NULL; + return suc; +} + +- (void)_blendImageWithFrame:(_YYImageDecoderFrame *)frame { + if (frame.dispose == YYImageDisposePrevious) { + // nothing + } else if (frame.dispose == YYImageDisposeBackground) { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + } else { // no dispose + if (frame.blend == YYImageBlendOver) { + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + } else { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + } + } +} + +- (CGImageRef)_newBlendedImageWithFrame:(_YYImageDecoderFrame *)frame CF_RETURNS_RETAINED{ + CGImageRef imageRef = NULL; + if (frame.dispose == YYImageDisposePrevious) { + if (frame.blend == YYImageBlendOver) { + CGImageRef previousImage = CGBitmapContextCreateImage(_blendCanvas); + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + CGContextClearRect(_blendCanvas, CGRectMake(0, 0, _width, _height)); + if (previousImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(0, 0, _width, _height), previousImage); + CFRelease(previousImage); + } + } else { + CGImageRef previousImage = CGBitmapContextCreateImage(_blendCanvas); + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + CGContextClearRect(_blendCanvas, CGRectMake(0, 0, _width, _height)); + if (previousImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(0, 0, _width, _height), previousImage); + CFRelease(previousImage); + } + } + } else if (frame.dispose == YYImageDisposeBackground) { + if (frame.blend == YYImageBlendOver) { + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + } else { + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + } + } else { // no dispose + if (frame.blend == YYImageBlendOver) { + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + } else { + CGImageRef unblendImage = [self _newUnblendedImageAtIndex:frame.index extendToCanvas:NO decoded:NULL]; + if (unblendImage) { + CGContextClearRect(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height)); + CGContextDrawImage(_blendCanvas, CGRectMake(frame.offsetX, frame.offsetY, frame.width, frame.height), unblendImage); + CFRelease(unblendImage); + } + imageRef = CGBitmapContextCreateImage(_blendCanvas); + } + } + return imageRef; +} + +@end + + +//////////////////////////////////////////////////////////////////////////////// +#pragma mark - Encoder + +@implementation YYImageEncoder { + NSMutableArray *_images; + NSMutableArray *_durations; +} + +- (instancetype)init { + @throw [NSException exceptionWithName:@"YYImageEncoder init error" reason:@"YYImageEncoder must be initialized with a type. Use 'initWithType:' instead." userInfo:nil]; + return [self initWithType:YYImageTypeUnknown]; +} + +- (instancetype)initWithType:(YYImageType)type { + if (type == YYImageTypeUnknown || type >= YYImageTypeOther) { + NSLog(@"[%s: %d] Unsupported image type:%d",__FUNCTION__, __LINE__, (int)type); + return nil; + } + +#if !YYIMAGE_WEBP_ENABLED + if (type == YYImageTypeWebP) { + NSLog(@"[%s: %d] WebP is not available, check the documentation to see how to install WebP component: https://github.com/ibireme/YYImage#installation", __FUNCTION__, __LINE__); + return nil; + } +#endif + + self = [super init]; + if (!self) return nil; + _type = type; + _images = [NSMutableArray new]; + _durations = [NSMutableArray new]; + + switch (type) { + case YYImageTypeJPEG: + case YYImageTypeJPEG2000: { + _quality = 0.9; + } break; + case YYImageTypeTIFF: + case YYImageTypeBMP: + case YYImageTypeGIF: + case YYImageTypeICO: + case YYImageTypeICNS: + case YYImageTypePNG: { + _quality = 1; + _lossless = YES; + } break; + case YYImageTypeWebP: { + _quality = 0.8; + } break; + default: + break; + } + + return self; +} + +- (void)setQuality:(CGFloat)quality { + _quality = quality < 0 ? 0 : quality > 1 ? 1 : quality; +} + +- (void)addImage:(UIImage *)image duration:(NSTimeInterval)duration { + if (!image.CGImage) return; + duration = duration < 0 ? 0 : duration; + [_images addObject:image]; + [_durations addObject:@(duration)]; +} + +- (void)addImageWithData:(NSData *)data duration:(NSTimeInterval)duration { + if (data.length == 0) return; + duration = duration < 0 ? 0 : duration; + [_images addObject:data]; + [_durations addObject:@(duration)]; +} + +- (void)addImageWithFile:(NSString *)path duration:(NSTimeInterval)duration { + if (path.length == 0) return; + duration = duration < 0 ? 0 : duration; + NSURL *url = [NSURL URLWithString:path]; + if (!url) return; + [_images addObject:url]; + [_durations addObject:@(duration)]; +} + +- (BOOL)_imageIOAvaliable { + switch (_type) { + case YYImageTypeJPEG: + case YYImageTypeJPEG2000: + case YYImageTypeTIFF: + case YYImageTypeBMP: + case YYImageTypeICO: + case YYImageTypeICNS: + case YYImageTypeGIF: { + return _images.count > 0; + } break; + case YYImageTypePNG: { + return _images.count == 1; + } break; + case YYImageTypeWebP: { + return NO; + } break; + default: return NO; + } +} + +- (CGImageDestinationRef)_newImageDestination:(id)dest imageCount:(NSUInteger)count CF_RETURNS_RETAINED { + if (!dest) return nil; + CGImageDestinationRef destination = NULL; + if ([dest isKindOfClass:[NSString class]]) { + NSURL *url = [[NSURL alloc] initFileURLWithPath:dest]; + if (url) { + destination = CGImageDestinationCreateWithURL((CFURLRef)url, YYImageTypeToUTType(_type), count, NULL); + } + } else if ([dest isKindOfClass:[NSMutableData class]]) { + destination = CGImageDestinationCreateWithData((CFMutableDataRef)dest, YYImageTypeToUTType(_type), count, NULL); + } + return destination; +} + +- (void)_encodeImageWithDestination:(CGImageDestinationRef)destination imageCount:(NSUInteger)count { + if (_type == YYImageTypeGIF) { + NSDictionary *gifProperty = @{(__bridge id)kCGImagePropertyGIFDictionary: + @{(__bridge id)kCGImagePropertyGIFLoopCount: @(_loopCount)}}; + CGImageDestinationSetProperties(destination, (__bridge CFDictionaryRef)gifProperty); + } + + for (int i = 0; i < count; i++) { + @autoreleasepool { + id imageSrc = _images[i]; + NSDictionary *frameProperty = NULL; + if (_type == YYImageTypeGIF && count > 1) { + frameProperty = @{(NSString *)kCGImagePropertyGIFDictionary : @{(NSString *) kCGImagePropertyGIFDelayTime:_durations[i]}}; + } else { + frameProperty = @{(id)kCGImageDestinationLossyCompressionQuality : @(_quality)}; + } + + if ([imageSrc isKindOfClass:[UIImage class]]) { + UIImage *image = imageSrc; + if (image.imageOrientation != UIImageOrientationUp && image.CGImage) { + CGBitmapInfo info = CGImageGetBitmapInfo(image.CGImage) | CGImageGetAlphaInfo(image.CGImage); + CGImageRef rotated = YYCGImageCreateCopyWithOrientation(image.CGImage, image.imageOrientation, info); + if (rotated) { + image = [UIImage imageWithCGImage:rotated]; + CFRelease(rotated); + } + } + if (image.CGImage) CGImageDestinationAddImage(destination, ((UIImage *)imageSrc).CGImage, (CFDictionaryRef)frameProperty); + } else if ([imageSrc isKindOfClass:[NSURL class]]) { + CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)imageSrc, NULL); + if (source) { + CGImageDestinationAddImageFromSource(destination, source, 0, (CFDictionaryRef)frameProperty); + CFRelease(source); + } + } else if ([imageSrc isKindOfClass:[NSData class]]) { + CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef)imageSrc, NULL); + if (source) { + CGImageDestinationAddImageFromSource(destination, source, 0, (CFDictionaryRef)frameProperty); + CFRelease(source); + } + } + } + } +} + +- (CGImageRef)_newCGImageFromIndex:(NSUInteger)index decoded:(BOOL)decoded CF_RETURNS_RETAINED { + UIImage *image = nil; + id imageSrc= _images[index]; + if ([imageSrc isKindOfClass:[UIImage class]]) { + image = imageSrc; + } else if ([imageSrc isKindOfClass:[NSURL class]]) { + image = [UIImage imageWithContentsOfFile:((NSURL *)imageSrc).absoluteString]; + } else if ([imageSrc isKindOfClass:[NSData class]]) { + image = [UIImage imageWithData:imageSrc]; + } + if (!image) return NULL; + CGImageRef imageRef = image.CGImage; + if (!imageRef) return NULL; + if (image.imageOrientation != UIImageOrientationUp) { + return YYCGImageCreateCopyWithOrientation(imageRef, image.imageOrientation, kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst); + } + if (decoded) { + return YYCGImageCreateDecodedCopy(imageRef, YES); + } + return (CGImageRef)CFRetain(imageRef); +} + +- (NSData *)_encodeWithImageIO { + NSMutableData *data = [NSMutableData new]; + NSUInteger count = _type == YYImageTypeGIF ? _images.count : 1; + CGImageDestinationRef destination = [self _newImageDestination:data imageCount:count]; + BOOL suc = NO; + if (destination) { + [self _encodeImageWithDestination:destination imageCount:count]; + suc = CGImageDestinationFinalize(destination); + CFRelease(destination); + } + if (suc && data.length > 0) { + return data; + } else { + return nil; + } +} + +- (BOOL)_encodeWithImageIO:(NSString *)path { + NSUInteger count = _type == YYImageTypeGIF ? _images.count : 1; + CGImageDestinationRef destination = [self _newImageDestination:path imageCount:count]; + BOOL suc = NO; + if (destination) { + [self _encodeImageWithDestination:destination imageCount:count]; + suc = CGImageDestinationFinalize(destination); + CFRelease(destination); + } + return suc; +} + +- (NSData *)_encodeAPNG { + // encode APNG (ImageIO doesn't support APNG encoding, so we use a custom encoder) + NSMutableArray *pngDatas = [NSMutableArray new]; + NSMutableArray *pngSizes = [NSMutableArray new]; + NSUInteger canvasWidth = 0, canvasHeight = 0; + for (int i = 0; i < _images.count; i++) { + CGImageRef decoded = [self _newCGImageFromIndex:i decoded:YES]; + if (!decoded) return nil; + CGSize size = CGSizeMake(CGImageGetWidth(decoded), CGImageGetHeight(decoded)); + [pngSizes addObject:[NSValue valueWithCGSize:size]]; + if (canvasWidth < size.width) canvasWidth = size.width; + if (canvasHeight < size.height) canvasHeight = size.height; + CFDataRef frameData = YYCGImageCreateEncodedData(decoded, YYImageTypePNG, 1); + CFRelease(decoded); + if (!frameData) return nil; + [pngDatas addObject:(__bridge id)(frameData)]; + CFRelease(frameData); + if (size.width < 1 || size.height < 1) return nil; + } + CGSize firstFrameSize = [(NSValue *)[pngSizes firstObject] CGSizeValue]; + if (firstFrameSize.width < canvasWidth || firstFrameSize.height < canvasHeight) { + CGImageRef decoded = [self _newCGImageFromIndex:0 decoded:YES]; + if (!decoded) return nil; + CGContextRef context = CGBitmapContextCreate(NULL, canvasWidth, canvasHeight, 8, + 0, YYCGColorSpaceGetDeviceRGB(), kCGBitmapByteOrder32Host | kCGImageAlphaPremultipliedFirst); + if (!context) { + CFRelease(decoded); + return nil; + } + CGContextDrawImage(context, CGRectMake(0, canvasHeight - firstFrameSize.height, firstFrameSize.width, firstFrameSize.height), decoded); + CFRelease(decoded); + CGImageRef extendedImage = CGBitmapContextCreateImage(context); + CFRelease(context); + if (!extendedImage) return nil; + CFDataRef frameData = YYCGImageCreateEncodedData(extendedImage, YYImageTypePNG, 1); + if (!frameData) { + CFRelease(extendedImage); + return nil; + } + pngDatas[0] = (__bridge id)(frameData); + CFRelease(frameData); + } + + NSData *firstFrameData = pngDatas[0]; + yy_png_info *info = yy_png_info_create(firstFrameData.bytes, (uint32_t)firstFrameData.length); + if (!info) return nil; + NSMutableData *result = [NSMutableData new]; + BOOL insertBefore = NO, insertAfter = NO; + uint32_t apngSequenceIndex = 0; + + uint32_t png_header[2]; + png_header[0] = YY_FOUR_CC(0x89, 0x50, 0x4E, 0x47); + png_header[1] = YY_FOUR_CC(0x0D, 0x0A, 0x1A, 0x0A); + + [result appendBytes:png_header length:8]; + + for (int i = 0; i < info->chunk_num; i++) { + yy_png_chunk_info *chunk = info->chunks + i; + + if (!insertBefore && chunk->fourcc == YY_FOUR_CC('I', 'D', 'A', 'T')) { + insertBefore = YES; + // insert acTL (APNG Control) + uint32_t acTL[5] = {0}; + acTL[0] = yy_swap_endian_uint32(8); //length + acTL[1] = YY_FOUR_CC('a', 'c', 'T', 'L'); // fourcc + acTL[2] = yy_swap_endian_uint32((uint32_t)pngDatas.count); // num frames + acTL[3] = yy_swap_endian_uint32((uint32_t)_loopCount); // num plays + acTL[4] = yy_swap_endian_uint32((uint32_t)crc32(0, (const Bytef *)(acTL + 1), 12)); //crc32 + [result appendBytes:acTL length:20]; + + // insert fcTL (first frame control) + yy_png_chunk_fcTL chunk_fcTL = {0}; + chunk_fcTL.sequence_number = apngSequenceIndex; + chunk_fcTL.width = (uint32_t)firstFrameSize.width; + chunk_fcTL.height = (uint32_t)firstFrameSize.height; + yy_png_delay_to_fraction([(NSNumber *)_durations[0] doubleValue], &chunk_fcTL.delay_num, &chunk_fcTL.delay_den); + chunk_fcTL.delay_num = chunk_fcTL.delay_num; + chunk_fcTL.delay_den = chunk_fcTL.delay_den; + chunk_fcTL.dispose_op = YY_PNG_DISPOSE_OP_BACKGROUND; + chunk_fcTL.blend_op = YY_PNG_BLEND_OP_SOURCE; + + uint8_t fcTL[38] = {0}; + *((uint32_t *)fcTL) = yy_swap_endian_uint32(26); //length + *((uint32_t *)(fcTL + 4)) = YY_FOUR_CC('f', 'c', 'T', 'L'); // fourcc + yy_png_chunk_fcTL_write(&chunk_fcTL, fcTL + 8); + *((uint32_t *)(fcTL + 34)) = yy_swap_endian_uint32((uint32_t)crc32(0, (const Bytef *)(fcTL + 4), 30)); + [result appendBytes:fcTL length:38]; + + apngSequenceIndex++; + } + + if (!insertAfter && insertBefore && chunk->fourcc != YY_FOUR_CC('I', 'D', 'A', 'T')) { + insertAfter = YES; + // insert fcTL and fdAT (APNG frame control and data) + + for (int i = 1; i < pngDatas.count; i++) { + NSData *frameData = pngDatas[i]; + yy_png_info *frame = yy_png_info_create(frameData.bytes, (uint32_t)frameData.length); + if (!frame) { + yy_png_info_release(info); + return nil; + } + + // insert fcTL (first frame control) + yy_png_chunk_fcTL chunk_fcTL = {0}; + chunk_fcTL.sequence_number = apngSequenceIndex; + chunk_fcTL.width = frame->header.width; + chunk_fcTL.height = frame->header.height; + yy_png_delay_to_fraction([(NSNumber *)_durations[i] doubleValue], &chunk_fcTL.delay_num, &chunk_fcTL.delay_den); + chunk_fcTL.delay_num = chunk_fcTL.delay_num; + chunk_fcTL.delay_den = chunk_fcTL.delay_den; + chunk_fcTL.dispose_op = YY_PNG_DISPOSE_OP_BACKGROUND; + chunk_fcTL.blend_op = YY_PNG_BLEND_OP_SOURCE; + + uint8_t fcTL[38] = {0}; + *((uint32_t *)fcTL) = yy_swap_endian_uint32(26); //length + *((uint32_t *)(fcTL + 4)) = YY_FOUR_CC('f', 'c', 'T', 'L'); // fourcc + yy_png_chunk_fcTL_write(&chunk_fcTL, fcTL + 8); + *((uint32_t *)(fcTL + 34)) = yy_swap_endian_uint32((uint32_t)crc32(0, (const Bytef *)(fcTL + 4), 30)); + [result appendBytes:fcTL length:38]; + + apngSequenceIndex++; + + // insert fdAT (frame data) + for (int d = 0; d < frame->chunk_num; d++) { + yy_png_chunk_info *dchunk = frame->chunks + d; + if (dchunk->fourcc == YY_FOUR_CC('I', 'D', 'A', 'T')) { + uint32_t length = yy_swap_endian_uint32(dchunk->length + 4); + [result appendBytes:&length length:4]; //length + uint32_t fourcc = YY_FOUR_CC('f', 'd', 'A', 'T'); + [result appendBytes:&fourcc length:4]; //fourcc + uint32_t sq = yy_swap_endian_uint32(apngSequenceIndex); + [result appendBytes:&sq length:4]; //data (sq) + [result appendBytes:(((uint8_t *)frameData.bytes) + dchunk->offset + 8) length:dchunk->length]; //data + uint8_t *bytes = ((uint8_t *)result.bytes) + result.length - dchunk->length - 8; + uint32_t crc = yy_swap_endian_uint32((uint32_t)crc32(0, bytes, dchunk->length + 8)); + [result appendBytes:&crc length:4]; //crc + + apngSequenceIndex++; + } + } + yy_png_info_release(frame); + } + } + + [result appendBytes:((uint8_t *)firstFrameData.bytes) + chunk->offset length:chunk->length + 12]; + } + yy_png_info_release(info); + return result; +} + +- (NSData *)_encodeWebP { +#if YYIMAGE_WEBP_ENABLED + // encode webp + NSMutableArray *webpDatas = [NSMutableArray new]; + for (NSUInteger i = 0; i < _images.count; i++) { + CGImageRef image = [self _newCGImageFromIndex:i decoded:NO]; + if (!image) return nil; + CFDataRef frameData = YYCGImageCreateEncodedWebPData(image, _lossless, _quality, 4, YYImagePresetDefault); + CFRelease(image); + if (!frameData) return nil; + [webpDatas addObject:(__bridge id)frameData]; + CFRelease(frameData); + } + if (webpDatas.count == 1) { + return webpDatas.firstObject; + } else { + // multi-frame webp + WebPMux *mux = WebPMuxNew(); + if (!mux) return nil; + for (NSUInteger i = 0; i < _images.count; i++) { + NSData *data = webpDatas[i]; + NSNumber *duration = _durations[i]; + WebPMuxFrameInfo frame = {0}; + frame.bitstream.bytes = data.bytes; + frame.bitstream.size = data.length; + frame.duration = (int)(duration.floatValue * 1000.0); + frame.id = WEBP_CHUNK_ANMF; + frame.dispose_method = WEBP_MUX_DISPOSE_BACKGROUND; + frame.blend_method = WEBP_MUX_NO_BLEND; + if (WebPMuxPushFrame(mux, &frame, 0) != WEBP_MUX_OK) { + WebPMuxDelete(mux); + return nil; + } + } + + WebPMuxAnimParams params = {(uint32_t)0, (int)_loopCount}; + if (WebPMuxSetAnimationParams(mux, ¶ms) != WEBP_MUX_OK) { + WebPMuxDelete(mux); + return nil; + } + + WebPData output_data; + WebPMuxError error = WebPMuxAssemble(mux, &output_data); + WebPMuxDelete(mux); + if (error != WEBP_MUX_OK) { + return nil; + } + NSData *result = [NSData dataWithBytes:output_data.bytes length:output_data.size]; + WebPDataClear(&output_data); + return result.length ? result : nil; + } +#else + return nil; +#endif +} +- (NSData *)encode { + if (_images.count == 0) return nil; + + if ([self _imageIOAvaliable]) return [self _encodeWithImageIO]; + if (_type == YYImageTypePNG) return [self _encodeAPNG]; + if (_type == YYImageTypeWebP) return [self _encodeWebP]; + return nil; +} + +- (BOOL)encodeToFile:(NSString *)path { + if (_images.count == 0 || path.length == 0) return NO; + + if ([self _imageIOAvaliable]) return [self _encodeWithImageIO:path]; + NSData *data = [self encode]; + if (!data) return NO; + return [data writeToFile:path atomically:YES]; +} + ++ (NSData *)encodeImage:(UIImage *)image type:(YYImageType)type quality:(CGFloat)quality { + YYImageEncoder *encoder = [[YYImageEncoder alloc] initWithType:type]; + encoder.quality = quality; + [encoder addImage:image duration:0]; + return [encoder encode]; +} + ++ (NSData *)encodeImageWithDecoder:(YYImageDecoder *)decoder type:(YYImageType)type quality:(CGFloat)quality { + if (!decoder || decoder.frameCount == 0) return nil; + YYImageEncoder *encoder = [[YYImageEncoder alloc] initWithType:type]; + encoder.quality = quality; + for (int i = 0; i < decoder.frameCount; i++) { + UIImage *frame = [decoder frameAtIndex:i decodeForDisplay:YES].image; + [encoder addImageWithData:UIImagePNGRepresentation(frame) duration:[decoder frameDurationAtIndex:i]]; + } + return encoder.encode; +} + +@end + + +@implementation UIImage (YYImageCoder) + +- (instancetype)yy_imageByDecoded { + if (self.yy_isDecodedForDisplay) return self; + CGImageRef imageRef = self.CGImage; + if (!imageRef) return self; + CGImageRef newImageRef = YYCGImageCreateDecodedCopy(imageRef, YES); + if (!newImageRef) return self; + UIImage *newImage = [[self.class alloc] initWithCGImage:newImageRef scale:self.scale orientation:self.imageOrientation]; + CGImageRelease(newImageRef); + if (!newImage) newImage = self; // decode failed, return self. + newImage.yy_isDecodedForDisplay = YES; + return newImage; +} + +- (BOOL)yy_isDecodedForDisplay { + if (self.images.count > 1 || [self isKindOfClass:[YYSpriteSheetImage class]]) return YES; + NSNumber *num = objc_getAssociatedObject(self, @selector(yy_isDecodedForDisplay)); + return [num boolValue]; +} + +- (void)setYy_isDecodedForDisplay:(BOOL)isDecodedForDisplay { + objc_setAssociatedObject(self, @selector(yy_isDecodedForDisplay), @(isDecodedForDisplay), OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (void)yy_saveToAlbumWithCompletionBlock:(void(^)(NSURL *assetURL, NSError *error))completionBlock { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSData *data = [self _yy_dataRepresentationForSystem:YES]; + ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; + [library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error){ + if (!completionBlock) return; + if (pthread_main_np()) { + completionBlock(assetURL, error); + } else { + dispatch_async(dispatch_get_main_queue(), ^{ + completionBlock(assetURL, error); + }); + } + }]; + }); +} + +- (NSData *)yy_imageDataRepresentation { + return [self _yy_dataRepresentationForSystem:NO]; +} + +/// @param forSystem YES: used for system album (PNG/JPEG/GIF), NO: used for YYImage (PNG/JPEG/GIF/WebP) +- (NSData *)_yy_dataRepresentationForSystem:(BOOL)forSystem { + NSData *data = nil; + if ([self isKindOfClass:[YYImage class]]) { + YYImage *image = (id)self; + if (image.animatedImageData) { + if (forSystem) { // system only support GIF and PNG + if (image.animatedImageType == YYImageTypeGIF || + image.animatedImageType == YYImageTypePNG) { + data = image.animatedImageData; + } + } else { + data = image.animatedImageData; + } + } + } + if (!data) { + CGImageRef imageRef = self.CGImage ? (CGImageRef)CFRetain(self.CGImage) : nil; + if (imageRef) { + CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef); + CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef) & kCGBitmapAlphaInfoMask; + BOOL hasAlpha = NO; + if (alphaInfo == kCGImageAlphaPremultipliedLast || + alphaInfo == kCGImageAlphaPremultipliedFirst || + alphaInfo == kCGImageAlphaLast || + alphaInfo == kCGImageAlphaFirst) { + hasAlpha = YES; + } + if (self.imageOrientation != UIImageOrientationUp) { + CGImageRef rotated = YYCGImageCreateCopyWithOrientation(imageRef, self.imageOrientation, bitmapInfo | alphaInfo); + if (rotated) { + CFRelease(imageRef); + imageRef = rotated; + } + } + @autoreleasepool { + UIImage *newImage = [UIImage imageWithCGImage:imageRef]; + if (newImage) { + if (hasAlpha) { + data = UIImagePNGRepresentation([UIImage imageWithCGImage:imageRef]); + } else { + data = UIImageJPEGRepresentation([UIImage imageWithCGImage:imageRef], 0.9); // same as Apple's example + } + } + } + CFRelease(imageRef); + } + } + if (!data) { + data = UIImagePNGRepresentation(self); + } + return data; +} + +@end diff --git a/Pods/YYImage/YYImage/YYSpriteSheetImage.h b/Pods/YYImage/YYImage/YYSpriteSheetImage.h new file mode 100644 index 0000000..403bbf5 --- /dev/null +++ b/Pods/YYImage/YYImage/YYSpriteSheetImage.h @@ -0,0 +1,104 @@ +// +// YYSpriteImage.h +// YYImage +// +// Created by ibireme on 15/4/21. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +#if __has_include() +#import +#elif __has_include() +#import +#else +#import "YYAnimatedImageView.h" +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + An image to display sprite sheet animation. + + @discussion It is a fully compatible `UIImage` subclass. + The animation can be played by YYAnimatedImageView. + + Sample Code: + + // 8 * 12 sprites in a single sheet image + UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"]; + NSMutableArray *contentRects = [NSMutableArray new]; + NSMutableArray *durations = [NSMutableArray new]; + for (int j = 0; j < 12; j++) { + for (int i = 0; i < 8; i++) { + CGRect rect; + rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + rect.origin.x = img.size.width / 8 * i; + rect.origin.y = img.size.height / 12 * j; + [contentRects addObject:[NSValue valueWithCGRect:rect]]; + [durations addObject:@(1 / 60.0)]; + } + } + YYSpriteSheetImage *sprite; + sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img + contentRects:contentRects + frameDurations:durations + loopCount:0]; + YYAnimatedImageView *imgView = [YYAnimatedImageView new]; + imgView.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + imgView.image = sprite; + + + + @discussion It can also be used to display single frame in sprite sheet image. + Sample Code: + + YYSpriteSheetImage *sheet = ...; + UIImageView *imageView = ...; + imageView.image = sheet; + imageView.layer.contentsRect = [sheet contentsRectForCALayerAtIndex:6]; + + */ +@interface YYSpriteSheetImage : UIImage + +/** + Creates and returns an image object. + + @param image The sprite sheet image (contains all frames). + + @param contentRects The sprite sheet image frame rects in the image coordinates. + The rectangle should not outside the image's bounds. The objects in this array + should be created with [NSValue valueWithCGRect:]. + + @param frameDurations The sprite sheet image frame's durations in seconds. + The objects in this array should be NSNumber. + + @param loopCount Animation loop count, 0 means infinite looping. + + @return An image object, or nil if an error occurs. + */ +- (nullable instancetype)initWithSpriteSheetImage:(UIImage *)image + contentRects:(NSArray *)contentRects + frameDurations:(NSArray *)frameDurations + loopCount:(NSUInteger)loopCount; + +@property (nonatomic, readonly) NSArray *contentRects; +@property (nonatomic, readonly) NSArray *frameDurations; +@property (nonatomic, readonly) NSUInteger loopCount; + +/** + Get the contents rect for CALayer. + See "contentsRect" property in CALayer for more information. + + @param index Index of frame. + @return Contents Rect. + */ +- (CGRect)contentsRectForCALayerAtIndex:(NSUInteger)index; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/YYImage/YYImage/YYSpriteSheetImage.m b/Pods/YYImage/YYImage/YYSpriteSheetImage.m new file mode 100644 index 0000000..f5a0d77 --- /dev/null +++ b/Pods/YYImage/YYImage/YYSpriteSheetImage.m @@ -0,0 +1,80 @@ +// +// YYSpriteImage.m +// YYImage +// +// Created by ibireme on 15/4/21. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYSpriteSheetImage.h" + +@implementation YYSpriteSheetImage + +- (instancetype)initWithSpriteSheetImage:(UIImage *)image + contentRects:(NSArray *)contentRects + frameDurations:(NSArray *)frameDurations + loopCount:(NSUInteger)loopCount { + if (!image.CGImage) return nil; + if (contentRects.count < 1 || frameDurations.count < 1) return nil; + if (contentRects.count != frameDurations.count) return nil; + + self = [super initWithCGImage:image.CGImage scale:image.scale orientation:image.imageOrientation]; + if (!self) return nil; + + _contentRects = contentRects.copy; + _frameDurations = frameDurations.copy; + _loopCount = loopCount; + return self; +} + +- (CGRect)contentsRectForCALayerAtIndex:(NSUInteger)index { + CGRect layerRect = CGRectMake(0, 0, 1, 1); + if (index >= _contentRects.count) return layerRect; + + CGSize imageSize = self.size; + CGRect rect = [self animatedImageContentsRectAtIndex:index]; + if (imageSize.width > 0.01 && imageSize.height > 0.01) { + layerRect.origin.x = rect.origin.x / imageSize.width; + layerRect.origin.y = rect.origin.y / imageSize.height; + layerRect.size.width = rect.size.width / imageSize.width; + layerRect.size.height = rect.size.height / imageSize.height; + layerRect = CGRectIntersection(layerRect, CGRectMake(0, 0, 1, 1)); + if (CGRectIsNull(layerRect) || CGRectIsEmpty(layerRect)) { + layerRect = CGRectMake(0, 0, 1, 1); + } + } + return layerRect; +} + +#pragma mark @protocol YYAnimatedImage + +- (NSUInteger)animatedImageFrameCount { + return _contentRects.count; +} + +- (NSUInteger)animatedImageLoopCount { + return _loopCount; +} + +- (NSUInteger)animatedImageBytesPerFrame { + return 0; +} + +- (UIImage *)animatedImageFrameAtIndex:(NSUInteger)index { + return self; +} + +- (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index { + if (index >= _frameDurations.count) return 0; + return ((NSNumber *)_frameDurations[index]).doubleValue; +} + +- (CGRect)animatedImageContentsRectAtIndex:(NSUInteger)index { + if (index >= _contentRects.count) return CGRectZero; + return ((NSValue *)_contentRects[index]).CGRectValue; +} + +@end