From 1e03d0913b8cff69e14524218607dbeeda2c8a60 Mon Sep 17 00:00:00 2001 From: CodeEagle Date: Wed, 1 Jun 2016 23:31:29 +0800 Subject: [PATCH 1/5] Add Carthage Support Add Carthage Support --- .../FDFullscreenPopGesture.h | 19 ++ .../FDFullscreenPopGesture/Info.plist | 26 +++ .../project.pbxproj | 170 ++++++++++++++++++ .../xcschemes/FDFullscreenPopGesture.xcscheme | 80 +++++++++ 4 files changed, 295 insertions(+) create mode 100644 FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h create mode 100644 FDFullscreenPopGestureDemo/FDFullscreenPopGesture/Info.plist create mode 100644 FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/xcshareddata/xcschemes/FDFullscreenPopGesture.xcscheme diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h new file mode 100644 index 0000000..a21d2ab --- /dev/null +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h @@ -0,0 +1,19 @@ +// +// FDFullscreenPopGesture.h +// FDFullscreenPopGesture +// +// Created by LawLincoln on 16/6/1. +// Copyright © 2016年 forkingdog. All rights reserved. +// + +#import + +//! Project version number for FDFullscreenPopGesture. +FOUNDATION_EXPORT double FDFullscreenPopGestureVersionNumber; + +//! Project version string for FDFullscreenPopGesture. +FOUNDATION_EXPORT const unsigned char FDFullscreenPopGestureVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/Info.plist b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/Info.plist new file mode 100644 index 0000000..d3de8ee --- /dev/null +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj index 6a5d986..2a1af05 100644 --- a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj @@ -7,6 +7,11 @@ objects = { /* Begin PBXBuildFile section */ + 16AE774B1CFF368F0071C3F9 /* FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 16AE774F1CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; }; + 16AE77501CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 16AE775B1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */; }; + 16AE775C1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */; }; 4894F4201B183DE3009F44D9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F41F1B183DE3009F44D9 /* main.m */; }; 4894F4231B183DE3009F44D9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F4221B183DE3009F44D9 /* AppDelegate.m */; }; 4894F4291B183DE3009F44D9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4894F4271B183DE3009F44D9 /* Main.storyboard */; }; @@ -15,7 +20,36 @@ 4894F4461B183E99009F44D9 /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F4441B183E99009F44D9 /* UINavigationController+FDFullscreenPopGesture.m */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 16AE774D1CFF368F0071C3F9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4894F4121B183DE3009F44D9 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 16AE77471CFF368F0071C3F9; + remoteInfo = FDFullscreenPopGesture; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 16AE77541CFF368F0071C3F9 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 16AE77501CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ + 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FDFullscreenPopGesture.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FDFullscreenPopGesture.h; sourceTree = ""; }; + 16AE774C1CFF368F0071C3F9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+FDFullscreenPopGesture.h"; path = "../../FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h"; sourceTree = ""; }; + 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+FDFullscreenPopGesture.m"; path = "../../FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m"; sourceTree = ""; }; 4894F41A1B183DE3009F44D9 /* FDFullscreenPopGestureDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FDFullscreenPopGestureDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4894F41E1B183DE3009F44D9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 4894F41F1B183DE3009F44D9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -29,20 +63,40 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 16AE77441CFF368F0071C3F9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4894F4171B183DE3009F44D9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 16AE774F1CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 16AE77491CFF368F0071C3F9 /* FDFullscreenPopGesture */ = { + isa = PBXGroup; + children = ( + 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */, + 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */, + 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */, + 16AE774C1CFF368F0071C3F9 /* Info.plist */, + ); + path = FDFullscreenPopGesture; + sourceTree = ""; + }; 4894F4111B183DE3009F44D9 = { isa = PBXGroup; children = ( 4894F41C1B183DE3009F44D9 /* FDFullscreenPopGestureDemo */, + 16AE77491CFF368F0071C3F9 /* FDFullscreenPopGesture */, 4894F41B1B183DE3009F44D9 /* Products */, ); sourceTree = ""; @@ -51,6 +105,7 @@ isa = PBXGroup; children = ( 4894F41A1B183DE3009F44D9 /* FDFullscreenPopGestureDemo.app */, + 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */, ); name = Products; sourceTree = ""; @@ -90,7 +145,37 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 16AE77451CFF368F0071C3F9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 16AE774B1CFF368F0071C3F9 /* FDFullscreenPopGesture.h in Headers */, + 16AE775B1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ + 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */ = { + isa = PBXNativeTarget; + buildConfigurationList = 16AE77531CFF368F0071C3F9 /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */; + buildPhases = ( + 16AE77431CFF368F0071C3F9 /* Sources */, + 16AE77441CFF368F0071C3F9 /* Frameworks */, + 16AE77451CFF368F0071C3F9 /* Headers */, + 16AE77461CFF368F0071C3F9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FDFullscreenPopGesture; + productName = FDFullscreenPopGesture; + productReference = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; + productType = "com.apple.product-type.framework"; + }; 4894F4191B183DE3009F44D9 /* FDFullscreenPopGestureDemo */ = { isa = PBXNativeTarget; buildConfigurationList = 4894F43D1B183DE3009F44D9 /* Build configuration list for PBXNativeTarget "FDFullscreenPopGestureDemo" */; @@ -98,10 +183,12 @@ 4894F4161B183DE3009F44D9 /* Sources */, 4894F4171B183DE3009F44D9 /* Frameworks */, 4894F4181B183DE3009F44D9 /* Resources */, + 16AE77541CFF368F0071C3F9 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 16AE774E1CFF368F0071C3F9 /* PBXTargetDependency */, ); name = FDFullscreenPopGestureDemo; productName = FDFullscreenPopGestureDemo; @@ -117,6 +204,9 @@ LastUpgradeCheck = 0630; ORGANIZATIONNAME = forkingdog; TargetAttributes = { + 16AE77471CFF368F0071C3F9 = { + CreatedOnToolsVersion = 7.3.1; + }; 4894F4191B183DE3009F44D9 = { CreatedOnToolsVersion = 6.3.1; }; @@ -136,11 +226,19 @@ projectRoot = ""; targets = ( 4894F4191B183DE3009F44D9 /* FDFullscreenPopGestureDemo */, + 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 16AE77461CFF368F0071C3F9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4894F4181B183DE3009F44D9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -154,6 +252,14 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 16AE77431CFF368F0071C3F9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 16AE775C1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4894F4161B183DE3009F44D9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -166,6 +272,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 16AE774E1CFF368F0071C3F9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */; + targetProxy = 16AE774D1CFF368F0071C3F9 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 4894F4271B183DE3009F44D9 /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -186,6 +300,52 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 16AE77511CFF368F0071C3F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_TESTABILITY = YES; + INFOPLIST_FILE = FDFullscreenPopGesture/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.SelfStudio.FDFullscreenPopGesture; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 16AE77521CFF368F0071C3F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = FDFullscreenPopGesture/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.SelfStudio.FDFullscreenPopGesture; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 4894F43B1B183DE3009F44D9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -289,6 +449,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 16AE77531CFF368F0071C3F9 /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16AE77511CFF368F0071C3F9 /* Debug */, + 16AE77521CFF368F0071C3F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 4894F4151B183DE3009F44D9 /* Build configuration list for PBXProject "FDFullscreenPopGestureDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -305,6 +474,7 @@ 4894F43F1B183DE3009F44D9 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/xcshareddata/xcschemes/FDFullscreenPopGesture.xcscheme b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/xcshareddata/xcschemes/FDFullscreenPopGesture.xcscheme new file mode 100644 index 0000000..77078cf --- /dev/null +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/xcshareddata/xcschemes/FDFullscreenPopGesture.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 05b39c9e98cbff86a6cb3c9999b95dd921c7310d Mon Sep 17 00:00:00 2001 From: CodeEagle Date: Thu, 2 Jun 2016 13:13:46 +0800 Subject: [PATCH 2/5] fixed --- ...igationController+FDFullscreenPopGesture.m | 2 +- .../FDFullscreenPopGesture.h | 39 ++++++++- .../project.pbxproj | 86 ++++++++++--------- 3 files changed, 84 insertions(+), 43 deletions(-) diff --git a/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m b/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m index 914f217..46936d7 100644 --- a/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m +++ b/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#import "UINavigationController+FDFullscreenPopGesture.h" +#import "FDFullscreenPopGesture.h" #import @interface _FDFullscreenPopGestureRecognizerDelegate : NSObject diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h index a21d2ab..09abd00 100644 --- a/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGesture/FDFullscreenPopGesture.h @@ -2,7 +2,7 @@ // FDFullscreenPopGesture.h // FDFullscreenPopGesture // -// Created by LawLincoln on 16/6/1. +// Created by LawLincoln on 16/6/2. // Copyright © 2016年 forkingdog. All rights reserved. // @@ -14,6 +14,41 @@ FOUNDATION_EXPORT double FDFullscreenPopGestureVersionNumber; //! Project version string for FDFullscreenPopGesture. FOUNDATION_EXPORT const unsigned char FDFullscreenPopGestureVersionString[]; -// In this header, you should import all the public headers of your framework using statements like #import +/// "UINavigation+FDFullscreenPopGesture" extends UINavigationController's swipe- +/// to-pop behavior in iOS 7+ by supporting fullscreen pan gesture. Instead of +/// screen edge, you can now swipe from any place on the screen and the onboard +/// interactive pop transition works seamlessly. +/// +/// Adding the implementation file of this category to your target will +/// automatically patch UINavigationController with this feature. +@interface UINavigationController (FDFullscreenPopGesture) +/// The gesture recognizer that actually handles interactive pop. +@property (nonatomic, strong, readonly) UIPanGestureRecognizer *fd_fullscreenPopGestureRecognizer; +/// A view controller is able to control navigation bar's appearance by itself, +/// rather than a global way, checking "fd_prefersNavigationBarHidden" property. +/// Default to YES, disable it if you don't want so. +@property (nonatomic, assign) BOOL fd_viewControllerBasedNavigationBarAppearanceEnabled; + +@end + +/// Allows any view controller to disable interactive pop gesture, which might +/// be necessary when the view controller itself handles pan gesture in some +/// cases. +@interface UIViewController (FDFullscreenPopGesture) + +/// Whether the interactive pop gesture is disabled when contained in a navigation +/// stack. +@property (nonatomic, assign) BOOL fd_interactivePopDisabled; + +/// Indicate this view controller prefers its navigation bar hidden or not, +/// checked when view controller based navigation bar's appearance is enabled. +/// Default to NO, bars are more likely to show. +@property (nonatomic, assign) BOOL fd_prefersNavigationBarHidden; + +/// Max allowed initial distance to left edge when you begin the interactive pop +/// gesture. 0 by default, which means it will ignore this limit. +@property (nonatomic, assign) CGFloat fd_interactivePopMaxAllowedInitialDistanceToLeftEdge; + +@end diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj index 2a1af05..691df77 100644 --- a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj @@ -7,11 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 16AE774B1CFF368F0071C3F9 /* FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 16AE774F1CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; }; - 16AE77501CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 16AE775B1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */; }; - 16AE775C1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */; }; + 166C9AC31CFFEDC70091C82E /* FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 166C9AC21CFFEDC70091C82E /* FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 166C9AC71CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */; }; + 166C9AC81CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4894F4201B183DE3009F44D9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F41F1B183DE3009F44D9 /* main.m */; }; 4894F4231B183DE3009F44D9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F4221B183DE3009F44D9 /* AppDelegate.m */; }; 4894F4291B183DE3009F44D9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4894F4271B183DE3009F44D9 /* Main.storyboard */; }; @@ -21,11 +19,11 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 16AE774D1CFF368F0071C3F9 /* PBXContainerItemProxy */ = { + 166C9AC51CFFEDC70091C82E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 4894F4121B183DE3009F44D9 /* Project object */; proxyType = 1; - remoteGlobalIDString = 16AE77471CFF368F0071C3F9; + remoteGlobalIDString = 166C9ABF1CFFEDC70091C82E; remoteInfo = FDFullscreenPopGesture; }; /* End PBXContainerItemProxy section */ @@ -37,7 +35,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 16AE77501CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Embed Frameworks */, + 166C9AC81CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -45,10 +43,11 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FDFullscreenPopGesture.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FDFullscreenPopGesture.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 166C9AC21CFFEDC70091C82E /* FDFullscreenPopGesture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FDFullscreenPopGesture.h; sourceTree = ""; }; + 166C9AC41CFFEDC70091C82E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FDFullscreenPopGesture.h; sourceTree = ""; }; 16AE774C1CFF368F0071C3F9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UINavigationController+FDFullscreenPopGesture.h"; path = "../../FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h"; sourceTree = ""; }; 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UINavigationController+FDFullscreenPopGesture.m"; path = "../../FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.m"; sourceTree = ""; }; 4894F41A1B183DE3009F44D9 /* FDFullscreenPopGestureDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FDFullscreenPopGestureDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4894F41E1B183DE3009F44D9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -63,7 +62,7 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 16AE77441CFF368F0071C3F9 /* Frameworks */ = { + 166C9ABC1CFFEDC70091C82E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -74,18 +73,26 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 16AE774F1CFF368F0071C3F9 /* FDFullscreenPopGesture.framework in Frameworks */, + 166C9AC71CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 166C9AC11CFFEDC70091C82E /* FDFullscreenPopGesture */ = { + isa = PBXGroup; + children = ( + 166C9AC21CFFEDC70091C82E /* FDFullscreenPopGesture.h */, + 166C9AC41CFFEDC70091C82E /* Info.plist */, + ); + path = FDFullscreenPopGesture; + sourceTree = ""; + }; 16AE77491CFF368F0071C3F9 /* FDFullscreenPopGesture */ = { isa = PBXGroup; children = ( 16AE774A1CFF368F0071C3F9 /* FDFullscreenPopGesture.h */, - 16AE77591CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h */, 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */, 16AE774C1CFF368F0071C3F9 /* Info.plist */, ); @@ -97,6 +104,7 @@ children = ( 4894F41C1B183DE3009F44D9 /* FDFullscreenPopGestureDemo */, 16AE77491CFF368F0071C3F9 /* FDFullscreenPopGesture */, + 166C9AC11CFFEDC70091C82E /* FDFullscreenPopGesture */, 4894F41B1B183DE3009F44D9 /* Products */, ); sourceTree = ""; @@ -105,7 +113,7 @@ isa = PBXGroup; children = ( 4894F41A1B183DE3009F44D9 /* FDFullscreenPopGestureDemo.app */, - 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */, + 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */, ); name = Products; sourceTree = ""; @@ -146,26 +154,25 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 16AE77451CFF368F0071C3F9 /* Headers */ = { + 166C9ABD1CFFEDC70091C82E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 16AE774B1CFF368F0071C3F9 /* FDFullscreenPopGesture.h in Headers */, - 16AE775B1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.h in Headers */, + 166C9AC31CFFEDC70091C82E /* FDFullscreenPopGesture.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */ = { + 166C9ABF1CFFEDC70091C82E /* FDFullscreenPopGesture */ = { isa = PBXNativeTarget; - buildConfigurationList = 16AE77531CFF368F0071C3F9 /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */; + buildConfigurationList = 166C9AC91CFFEDC70091C82E /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */; buildPhases = ( - 16AE77431CFF368F0071C3F9 /* Sources */, - 16AE77441CFF368F0071C3F9 /* Frameworks */, - 16AE77451CFF368F0071C3F9 /* Headers */, - 16AE77461CFF368F0071C3F9 /* Resources */, + 166C9ABB1CFFEDC70091C82E /* Sources */, + 166C9ABC1CFFEDC70091C82E /* Frameworks */, + 166C9ABD1CFFEDC70091C82E /* Headers */, + 166C9ABE1CFFEDC70091C82E /* Resources */, ); buildRules = ( ); @@ -173,7 +180,7 @@ ); name = FDFullscreenPopGesture; productName = FDFullscreenPopGesture; - productReference = 16AE77481CFF368F0071C3F9 /* FDFullscreenPopGesture.framework */; + productReference = 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */; productType = "com.apple.product-type.framework"; }; 4894F4191B183DE3009F44D9 /* FDFullscreenPopGestureDemo */ = { @@ -188,7 +195,7 @@ buildRules = ( ); dependencies = ( - 16AE774E1CFF368F0071C3F9 /* PBXTargetDependency */, + 166C9AC61CFFEDC70091C82E /* PBXTargetDependency */, ); name = FDFullscreenPopGestureDemo; productName = FDFullscreenPopGestureDemo; @@ -204,7 +211,7 @@ LastUpgradeCheck = 0630; ORGANIZATIONNAME = forkingdog; TargetAttributes = { - 16AE77471CFF368F0071C3F9 = { + 166C9ABF1CFFEDC70091C82E = { CreatedOnToolsVersion = 7.3.1; }; 4894F4191B183DE3009F44D9 = { @@ -226,13 +233,13 @@ projectRoot = ""; targets = ( 4894F4191B183DE3009F44D9 /* FDFullscreenPopGestureDemo */, - 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */, + 166C9ABF1CFFEDC70091C82E /* FDFullscreenPopGesture */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 16AE77461CFF368F0071C3F9 /* Resources */ = { + 166C9ABE1CFFEDC70091C82E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -252,11 +259,10 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 16AE77431CFF368F0071C3F9 /* Sources */ = { + 166C9ABB1CFFEDC70091C82E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 16AE775C1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -273,10 +279,10 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 16AE774E1CFF368F0071C3F9 /* PBXTargetDependency */ = { + 166C9AC61CFFEDC70091C82E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 16AE77471CFF368F0071C3F9 /* FDFullscreenPopGesture */; - targetProxy = 16AE774D1CFF368F0071C3F9 /* PBXContainerItemProxy */; + target = 166C9ABF1CFFEDC70091C82E /* FDFullscreenPopGesture */; + targetProxy = 166C9AC51CFFEDC70091C82E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -300,7 +306,7 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 16AE77511CFF368F0071C3F9 /* Debug */ = { + 166C9ACA1CFFEDC70091C82E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; @@ -313,7 +319,7 @@ ENABLE_TESTABILITY = YES; INFOPLIST_FILE = FDFullscreenPopGesture/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.SelfStudio.FDFullscreenPopGesture; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -324,7 +330,7 @@ }; name = Debug; }; - 16AE77521CFF368F0071C3F9 /* Release */ = { + 166C9ACB1CFFEDC70091C82E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; @@ -335,7 +341,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = FDFullscreenPopGesture/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.SelfStudio.FDFullscreenPopGesture; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -449,11 +455,11 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 16AE77531CFF368F0071C3F9 /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */ = { + 166C9AC91CFFEDC70091C82E /* Build configuration list for PBXNativeTarget "FDFullscreenPopGesture" */ = { isa = XCConfigurationList; buildConfigurations = ( - 16AE77511CFF368F0071C3F9 /* Debug */, - 16AE77521CFF368F0071C3F9 /* Release */, + 166C9ACA1CFFEDC70091C82E /* Debug */, + 166C9ACB1CFFEDC70091C82E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; From e4b45f1a088cbcbfb97357fa1f7b97a7daeac30a Mon Sep 17 00:00:00 2001 From: CodeEagle Date: Fri, 3 Jun 2016 15:50:21 +0800 Subject: [PATCH 3/5] add .m to framework --- .../FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj index 691df77..182de36 100644 --- a/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj +++ b/FDFullscreenPopGestureDemo/FDFullscreenPopGestureDemo.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ 166C9AC31CFFEDC70091C82E /* FDFullscreenPopGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 166C9AC21CFFEDC70091C82E /* FDFullscreenPopGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; 166C9AC71CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */; }; 166C9AC81CFFEDC70091C82E /* FDFullscreenPopGesture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 166C9AC01CFFEDC70091C82E /* FDFullscreenPopGesture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 1673A1F31D016E1300519B15 /* UINavigationController+FDFullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 16AE775A1CFF37220071C3F9 /* UINavigationController+FDFullscreenPopGesture.m */; }; 4894F4201B183DE3009F44D9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F41F1B183DE3009F44D9 /* main.m */; }; 4894F4231B183DE3009F44D9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4894F4221B183DE3009F44D9 /* AppDelegate.m */; }; 4894F4291B183DE3009F44D9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4894F4271B183DE3009F44D9 /* Main.storyboard */; }; @@ -263,6 +264,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1673A1F31D016E1300519B15 /* UINavigationController+FDFullscreenPopGesture.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 6a33402d9c8d9715ed368cbe49fb0cae78e59064 Mon Sep 17 00:00:00 2001 From: Lincoln Law Date: Wed, 10 May 2017 14:45:23 +0800 Subject: [PATCH 4/5] downgrade --- FDFullscreenPopGestureDemo/.DS_Store | Bin 0 -> 6148 bytes .../project.pbxproj | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 FDFullscreenPopGestureDemo/.DS_Store diff --git a/FDFullscreenPopGestureDemo/.DS_Store b/FDFullscreenPopGestureDemo/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..59e9fc22f8de986cab6e400a8f2d1b996afe7ac9 GIT binary patch literal 6148 zcmeHLy-veG4F0ZkC}Qczcmp$1H^!(6up;#ZkdmqhC0s-si7~Ih8}Smn51-Fgp(4ci|jw=cG&1$x&Qrqc+KF<$% zcALtw?l%?ida>&B4F~((ZK}WR?C$O(Cof8kTW7!-a0Y&t0oH7h$%&#{XTTY72DS{y z`yo;V3&TM%zdC4g3qX|5$SfR7FCj6}urM4Hxk3pVO4QI`Ek@9A`lIbD34E!qw!nj Date: Wed, 10 May 2017 14:45:56 +0800 Subject: [PATCH 5/5] downloadgrade --- FDFullscreenPopGestureDemo/.DS_Store | Bin 6148 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/FDFullscreenPopGestureDemo/.DS_Store b/FDFullscreenPopGestureDemo/.DS_Store index 59e9fc22f8de986cab6e400a8f2d1b996afe7ac9..3a38b36f76d0185d3fe3a8c72ecb4fea98108053 100644 GIT binary patch delta 38 ucmZoMXffE3#>6zKVX^|V4_|J+i%UvrNiqY&Rg3hp$#Tqon+2G^hyVce@eFeS delta 27 icmZoMXffE3#>6zyX|e*d4|8t5%Vc5Z$jt)GUqk?R5(rBG