Compare commits

...

27 Commits

Author SHA1 Message Date
jonkykong be2ac457c1 Change default behavior of statusBarEndAlpha as its caused confusion for users who haven't read the documentation. 2020-07-23 19:00:12 -07:00
jonkykong c451180c26 Updated cocoapods 2020-07-23 18:16:45 -07:00
jonkykong 224581cac8 Updated podspec 2020-07-23 17:51:27 -07:00
jonkykong 2f4d99a03c Minor bugfix for interactive pop gesture settings getting overwritten 2020-07-23 17:50:47 -07:00
jonkykong e10c8b8d51 Switch to safer weak declarations to avoid memory access crashes 2020-07-23 17:50:19 -07:00
jonkykong 8314bde8e0 Comment spelling correction 2020-07-23 17:41:28 -07:00
jonkykong 1381030931 Updated podspec 2020-03-26 13:24:24 -07:00
jonkykong 7fc34c74ed Updated local pods 2020-03-26 13:19:24 -07:00
jonkykong 66cb4a2d4b Merge branch '6.4.8' into circular-reference-fix
* 6.4.8:
  Reran pod install to correct issues with running demo project
  Minor refactor
2020-03-26 13:18:43 -07:00
carlos 18a6f1d229 add xcode 11.4 support 2020-03-05 18:10:23 +01:00
jonkykong d593da496b Reran pod install to correct issues with running demo project 2019-12-03 11:02:29 -08:00
jonkykong 537f39373c Minor refactor 2019-12-03 10:55:46 -08:00
jonkykong 73be895065 Updated podspec 2019-11-20 01:54:23 -08:00
jonkykong 00003f098f Fix for animation flash when dismissing modal view controller over SideMenu 2019-11-20 01:43:12 -08:00
jonkykong f4b74330c0 Minor refactor 2019-11-20 01:35:23 -08:00
jonkykong fb25017bc7 Updated podspec 2019-10-31 17:37:16 -07:00
jonkykong 1841827ef9 Fix for interactive regression 2019-10-30 11:36:40 -07:00
jonkykong a5852d8fd0 Refactor 2019-10-30 11:36:15 -07:00
jonkykong 3e4e829ce0 Updated podspec 2019-10-27 23:59:58 -07:00
jonkykong 43d1768175 Fix for in-call status bar height on iOS 12 and lower. 2019-10-27 16:10:21 -07:00
jonkykong 8ecc8ab441 Refactor to move view hierarchy logic out of the presentation controller and into the animation controller. Not moving it to the transition controller since it needs to happen before the animation is fully completed. 2019-10-27 16:09:54 -07:00
jonkykong 4b01b0f874 Update cocoapods and project settings 2019-10-27 16:01:40 -07:00
jonkykong 6b7de92136 Refactor 2019-10-27 16:01:18 -07:00
jonkykong f3c4a22931 Refactor 2019-10-16 23:07:03 -07:00
jonkykong 46c40f081a Refactor 2019-10-16 23:04:45 -07:00
jonkykong 3659e868be Refactor 2019-10-16 22:59:28 -07:00
jonkykong 4e7a35f0b8 Updated cocoapods 2019-10-16 22:56:13 -07:00
25 changed files with 537 additions and 323 deletions
+5 -5
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="yAA-s6-Bam">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15400" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="yAA-s6-Bam">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15404"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -470,7 +470,7 @@
</tableViewCellContentView>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<segue destination="uMV-sw-TbB" kind="presentation" id="7VM-K4-IQ0"/>
<segue destination="uMV-sw-TbB" kind="presentation" modalPresentationStyle="fullScreen" id="7VM-K4-IQ0"/>
</connections>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" textLabel="IdU-2D-zHb" style="IBUITableViewCellStyleDefault" id="Eok-gX-LwQ" customClass="UITableViewVibrantCell" customModule="SideMenu">
@@ -534,11 +534,11 @@
<objects>
<viewController id="uMV-sw-TbB" customClass="PresentedViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="087-P6-J9s">
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TJh-vs-sd4">
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<state key="normal" title="Dismiss">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
+1 -1
View File
@@ -10,7 +10,7 @@ import UIKit
class PresentedViewController: UIViewController {
@IBAction private func close() {
self.dismiss(animated: true, completion: nil)
dismiss(animated: true, completion: nil)
}
}
+3 -4
View File
@@ -30,9 +30,9 @@ internal extension UIView {
}
}
static func animationsEnabled(_ block: () -> Void) {
static func animationsEnabled(_ enabled: Bool = true, _ block: () -> Void) {
let a = areAnimationsEnabled
setAnimationsEnabled(true)
setAnimationsEnabled(enabled)
block()
setAnimationsEnabled(a)
}
@@ -75,8 +75,7 @@ internal extension UIViewController {
internal extension UIGestureRecognizer {
convenience init(addTo view: UIView, target: Any, action: Selector) {
self.init()
addTarget(target, action: action)
self.init(target: target, action: action)
view.addGestureRecognizer(self)
}
+47 -19
View File
@@ -34,6 +34,7 @@ internal final class SideMenuAnimationController: NSObject, UIViewControllerAnim
private var config: Model
private weak var containerView: UIView?
private let leftSide: Bool
private weak var originalSuperview: UIView?
private var presentationController: SideMenuPresentationController!
private unowned var presentedViewController: UIViewController?
private unowned var presentingViewController: UIViewController?
@@ -82,18 +83,21 @@ internal final class SideMenuAnimationController: NSObject, UIViewControllerAnim
}
func transition(presenting: Bool, animated: Bool = true, interactive: Bool = false, alongsideTransition: (() -> Void)? = nil, complete: Bool = true, completion: ((Bool) -> Void)? = nil) {
prepare(presenting: presenting)
transitionWillBegin(presenting: presenting)
transition(presenting: presenting,
animated: animated,
interactive: interactive,
animations: { [weak self] in
guard let self = self else { return }
self.transition(presenting: presenting)
alongsideTransition?()
transition(
presenting: presenting,
animated: animated,
interactive: interactive,
animations: { [weak self] in
guard let self = self else { return }
self.transition(presenting: presenting)
alongsideTransition?()
}, completion: { [weak self] _ in
guard let self = self else { return }
if complete {
self.transitionDidEnd(presenting: presenting, completed: true)
self.finish(presenting: presenting, completed: true)
}
completion?(true)
})
@@ -111,10 +115,21 @@ private extension SideMenuAnimationController {
return presenting ? config.presentDuration : config.dismissDuration
}
func prepare(presenting: Bool) {
guard
presenting,
let presentingViewController = presentingViewController,
let presentedViewController = presentedViewController
else { return }
originalSuperview = presentingViewController.view.superview
containerView?.addSubview(presentingViewController.view)
containerView?.addSubview(presentedViewController.view)
}
func transitionWillBegin(presenting: Bool) {
// prevent any other menu gestures from firing
containerView?.isUserInteractionEnabled = false
if presenting {
presentationController.presentationTransitionWillBegin()
} else {
@@ -136,23 +151,36 @@ private extension SideMenuAnimationController {
} else {
presentationController.dismissalTransitionDidEnd(completed)
}
containerView?.isUserInteractionEnabled = true
}
func finish(presenting: Bool, completed: Bool) {
guard
presenting != completed,
let presentingViewController = self.presentingViewController
else { return }
presentedViewController?.view.removeFromSuperview()
originalSuperview?.addSubview(presentingViewController.view)
}
func transition(using transitionContext: UIViewControllerContextTransitioning) {
prepare(presenting: transitionContext.isPresenting)
transitionWillBegin(presenting: transitionContext.isPresenting)
transition(presenting: transitionContext.isPresenting,
animated: transitionContext.isAnimated,
interactive: transitionContext.isInteractive,
animations: { [weak self] in
guard let self = self else { return }
self.transition(presenting: transitionContext.isPresenting)
transition(
presenting: transitionContext.isPresenting,
animated: transitionContext.isAnimated,
interactive: transitionContext.isInteractive,
animations: { [weak self] in
guard let self = self else { return }
self.transition(presenting: transitionContext.isPresenting)
}, completion: { [weak self] _ in
guard let self = self else { return }
let completed = !transitionContext.transitionWasCancelled
self.transitionDidEnd(presenting: transitionContext.isPresenting, completed: completed)
transitionContext.completeTransition(completed)
guard let self = self else { return }
let completed = !transitionContext.transitionWasCancelled
self.transitionDidEnd(presenting: transitionContext.isPresenting, completed: completed)
self.finish(presenting: transitionContext.isPresenting, completed: completed)
// Called last. This causes the transition container to be removed and animationEnded() to be called.
transitionContext.completeTransition(completed)
})
}
+2 -4
View File
@@ -151,7 +151,6 @@ private extension SideMenuManager {
let width = activeMenu.menuWidth
let distance = gesture.xTranslation / width
switch (gesture.state) {
case .began: break
case .changed:
if gesture.canSwitch {
switching = (distance > 0 && !activeMenu.leftSide) || (distance < 0 && activeMenu.leftSide)
@@ -171,12 +170,11 @@ private extension SideMenuManager {
} else {
// not sure which way the user is swiping yet, so do nothing
if gesture.xTranslation == 0 { return }
leftSide = gesture.xTranslation > 0
}
guard let menu = menu(forLeftSide: leftSide) else { return }
menu.present(topMostViewController, interactively: true)
menu.present(from: topMostViewController, interactively: true)
}
activeMenu?.handleMenuPan(gesture, true)
@@ -226,6 +224,6 @@ extension SideMenuManager: SideMenuNavigationControllerTransitionDelegate {
internal func sideMenuTransitionDidDismiss(menu: Menu) {
defer { switching = false }
guard switching, let switchToMenu = self.menu(forLeftSide: !menu.leftSide) else { return }
switchToMenu.present(topMostViewController, interactively: true)
switchToMenu.present(from: topMostViewController, interactively: true)
}
}
+20 -21
View File
@@ -73,7 +73,7 @@ internal protocol SideMenuNavigationControllerTransitionDelegate: class {
func sideMenuTransitionDidDismiss(menu: Menu)
}
public struct SideMenuSettings: SideMenuNavigationController.Model, InitializableStruct {
public struct SideMenuSettings: Model, InitializableStruct {
public var allowPushOfSameClassTwice: Bool = true
public var alwaysAnimate: Bool = true
public var animationOptions: UIView.AnimationOptions = .curveEaseInOut
@@ -98,19 +98,18 @@ public struct SideMenuSettings: SideMenuNavigationController.Model, Initializabl
public var presentDuration: Double = 0.35
public var presentationStyle: SideMenuPresentationStyle = .viewSlideOut
public var pushStyle: SideMenuPushStyle = .default
public var statusBarEndAlpha: CGFloat = 1
public var statusBarEndAlpha: CGFloat = 0
public var usingSpringWithDamping: CGFloat = 1
public init() {}
}
internal typealias Menu = SideMenuNavigationController
typealias Model = MenuModel & PresentationModel & AnimationModel
@objcMembers
open class SideMenuNavigationController: UINavigationController {
internal typealias Model = MenuModel & PresentationModel & AnimationModel
private lazy var _leftSide = Protected(false) { [weak self] oldValue, newValue in
guard self?.isHidden != false else {
Print.warning(.property, arguments: .leftSide, required: true)
@@ -124,6 +123,7 @@ open class SideMenuNavigationController: UINavigationController {
private var originalBackgroundColor: UIColor?
private var rotating: Bool = false
private var transitionController: SideMenuTransitionController?
private var transitionInteractive: Bool = false
/// Delegate for receiving appear and disappear related events. If `nil` the visible view controller that displays a `SideMenuNavigationController` automatically receives these events.
public weak var sideMenuDelegate: SideMenuNavigationControllerDelegate?
@@ -167,7 +167,6 @@ open class SideMenuNavigationController: UINavigationController {
public init(rootViewController: UIViewController, settings: SideMenuSettings = SideMenuSettings()) {
self.settings = settings
super.init(rootViewController: rootViewController)
setup()
}
@@ -200,7 +199,6 @@ open class SideMenuNavigationController: UINavigationController {
// We had presented a view before, so lets dismiss ourselves as already acted upon
if view.isHidden {
transitionController?.transition(presenting: false, animated: false)
dismiss(animated: false, completion: { [weak self] in
self?.view.isHidden = false
})
@@ -212,9 +210,7 @@ open class SideMenuNavigationController: UINavigationController {
override open func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
defer {
activeDelegate?.sideMenuWillDisappear?(menu: self, animated: animated)
}
defer { activeDelegate?.sideMenuWillDisappear?(menu: self, animated: animated) }
guard !isBeingDismissed else { return }
@@ -244,11 +240,11 @@ open class SideMenuNavigationController: UINavigationController {
// the view hierarchy leaving the screen black/empty. This is because the transition moves views within a container
// view, but dismissing without animation removes the container view before the original hierarchy is restored.
// This check corrects that.
if let foundViewController = findViewController, foundViewController.view.window == nil {
if isBeingDismissed {
transitionController?.transition(presenting: false, animated: false)
}
// Clear selecton on UITableViewControllers when reappearing using custom transitions
// Clear selection on UITableViewControllers when reappearing using custom transitions
if let tableViewController = topViewController as? UITableViewController,
let tableView = tableViewController.tableView,
let indexPaths = tableView.indexPathsForSelectedRows,
@@ -327,8 +323,11 @@ open class SideMenuNavigationController: UINavigationController {
override open var transitioningDelegate: UIViewControllerTransitioningDelegate? {
get {
transitionController = transitionController ?? SideMenuTransitionController(leftSide: leftSide, config: settings)
guard transitionController == nil else { return transitionController }
transitionController = SideMenuTransitionController(leftSide: leftSide, config: settings)
transitionController?.delegate = self
transitionController?.interactive = transitionInteractive
transitionInteractive = false
return transitionController
}
set { Print.warning(.transitioningDelegate, required: true) }
@@ -336,7 +335,7 @@ open class SideMenuNavigationController: UINavigationController {
}
// Interface
extension SideMenuNavigationController: SideMenuNavigationController.Model {
extension SideMenuNavigationController: Model {
@IBInspectable open var allowPushOfSameClassTwice: Bool {
get { return settings.allowPushOfSameClassTwice }
@@ -484,7 +483,7 @@ internal extension SideMenuNavigationController {
if !presenting {
dismissMenu(interactively: true)
}
transitionController?.handle(state: .update(progress: progress))
fallthrough
case .changed:
transitionController?.handle(state: .update(progress: progress))
case .ended:
@@ -500,17 +499,17 @@ internal extension SideMenuNavigationController {
transitionController?.handle(state: .cancel)
}
func dismissMenu(animated flag: Bool = true, interactively interactive: Bool = false, completion: (() -> Void)? = nil) {
func dismissMenu(animated flag: Bool = true, interactively: Bool = false, completion: (() -> Void)? = nil) {
guard !isHidden else { return }
transitionController?.interactive = interactive
transitionController?.interactive = interactively
dismiss(animated: flag, completion: completion)
}
// Note: although this method is syntactically reversed it allows the interactive property to scoped privately
func present(_ viewControllerToPresentFrom: UIViewController?, interactively: Bool, completion: (() -> Void)? = nil) {
guard let viewControllerToPresentFrom = viewControllerToPresentFrom, transitioningDelegate != nil else { return }
transitionController?.interactive = interactively
viewControllerToPresentFrom.present(self, animated: true, completion: completion)
func present(from viewController: UIViewController?, interactively: Bool, completion: (() -> Void)? = nil) {
guard let viewController = viewController else { return }
transitionInteractive = interactively
viewController.present(self, animated: true, completion: completion)
}
}
@@ -28,17 +28,16 @@ internal protocol SideMenuPresentationControllerDelegate: class {
internal final class SideMenuPresentationController {
private let config: PresentationModel
private unowned var containerView: UIView
private weak var containerView: UIView?
private var interactivePopGestureRecognizerEnabled: Bool?
private var clipsToBounds: Bool?
private let leftSide: Bool
private weak var originalSuperview: UIView?
private unowned var presentedViewController: UIViewController
private unowned var presentingViewController: UIViewController
private weak var presentedViewController: UIViewController?
private weak var presentingViewController: UIViewController?
private lazy var snapshotView: UIView? = {
guard config.presentingViewControllerUseSnapshot,
let view = presentingViewController.view.snapshotView(afterScreenUpdates: true) else {
let view = presentingViewController?.view.snapshotView(afterScreenUpdates: true) else {
return nil
}
@@ -47,7 +46,7 @@ internal final class SideMenuPresentationController {
}()
private lazy var statusBarView: UIView? = {
guard config.statusBarEndAlpha != 0 else { return nil }
guard config.statusBarEndAlpha > .leastNonzeroMagnitude else { return nil }
return UIView {
$0.backgroundColor = config.presentationStyle.backgroundColor
@@ -65,7 +64,7 @@ internal final class SideMenuPresentationController {
}
deinit {
guard !presentedViewController.isHidden else { return }
guard presentedViewController?.isHidden == false else { return }
// Presentations must be reversed to preserve user experience
dismissalTransitionWillBegin()
@@ -73,51 +72,39 @@ internal final class SideMenuPresentationController {
dismissalTransitionDidEnd(true)
}
var frameOfPresentedViewInContainerView: CGRect {
var rect = containerView.frame
rect.origin.x = leftSide ? 0 : rect.width - config.menuWidth
rect.size.width = config.menuWidth
return rect
}
func containerViewWillLayoutSubviews() {
guard let containerView = containerView,
let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
presentedViewController.view.untransform {
presentedViewController.view.frame = frameOfPresentedViewInContainerView
}
presentingViewController.view.untransform {
presentingViewController.view.frame = containerView.frame
snapshotView?.frame = containerView.frame
presentingViewController.view.frame = frameOfPresentingViewInContainerView
snapshotView?.frame = presentingViewController.view.bounds
}
guard let statusBarView = statusBarView else { return }
let statusBarOffset = containerView.frame.size.height - presentedViewController.view.bounds.height
var statusBarFrame: CGRect
if #available(iOS 13.0, *) {
statusBarFrame = containerView.window?.windowScene?.statusBarManager?.statusBarFrame ?? .zero
} else {
statusBarFrame = UIApplication.shared.statusBarFrame
}
// For in-call status bar, height is normally 40, which overlaps view. Instead, calculate height difference
// of view and set height to fill in remaining space.
if statusBarOffset >= CGFloat.ulpOfOne {
statusBarFrame.size.height = statusBarOffset
}
var statusBarFrame: CGRect = self.statusBarFrame
statusBarFrame.size.height -= containerView.frame.minY
statusBarView.frame = statusBarFrame
}
func presentationTransitionWillBegin() {
guard let containerView = containerView,
let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
if let snapshotView = snapshotView {
presentingViewController.view.addSubview(snapshotView)
}
presentingViewController.view.isUserInteractionEnabled = config.presentingViewControllerUserInteractionEnabled
containerView.backgroundColor = config.presentationStyle.backgroundColor
originalSuperview = presentingViewController.view.superview
containerView.addSubview(presentingViewController.view)
containerView.addSubview(presentedViewController.view)
layerViews()
@@ -130,6 +117,10 @@ internal final class SideMenuPresentationController {
}
func presentationTransition() {
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
transition(
to: presentedViewController,
from: presentingViewController,
@@ -149,10 +140,14 @@ internal final class SideMenuPresentationController {
return
}
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
addParallax(to: presentingViewController.view)
if let topNavigationController = presentingViewController as? UINavigationController {
interactivePopGestureRecognizerEnabled = topNavigationController.interactivePopGestureRecognizer?.isEnabled
interactivePopGestureRecognizerEnabled = interactivePopGestureRecognizerEnabled ?? topNavigationController.interactivePopGestureRecognizer?.isEnabled
topNavigationController.interactivePopGestureRecognizer?.isEnabled = false
}
@@ -163,10 +158,19 @@ internal final class SideMenuPresentationController {
func dismissalTransitionWillBegin() {
snapshotView?.removeFromSuperview()
presentationTransition()
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
config.presentationStyle.dismissalTransitionWillBegin(to: presentedViewController, from: presentingViewController)
}
func dismissalTransition() {
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
transition(
to: presentingViewController,
from: presentedViewController,
@@ -181,16 +185,18 @@ internal final class SideMenuPresentationController {
func dismissalTransitionDidEnd(_ completed: Bool) {
guard completed else {
if let snapshotView = snapshotView {
if let snapshotView = snapshotView, let presentingViewController = presentingViewController {
presentingViewController.view.addSubview(snapshotView)
}
presentationTransitionDidEnd(!completed)
return
}
statusBarView?.removeFromSuperview()
presentedViewController.view.removeFromSuperview()
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
statusBarView?.removeFromSuperview()
removeStyles(from: presentingViewController.containerViewController.view)
if let interactivePopGestureRecognizerEnabled = interactivePopGestureRecognizerEnabled,
@@ -198,7 +204,6 @@ internal final class SideMenuPresentationController {
topNavigationController.interactivePopGestureRecognizer?.isEnabled = interactivePopGestureRecognizerEnabled
}
originalSuperview?.addSubview(presentingViewController.view)
presentingViewController.view.isUserInteractionEnabled = true
config.presentationStyle.dismissalTransitionDidEnd(to: presentedViewController, from: presentingViewController, completed)
}
@@ -206,6 +211,33 @@ internal final class SideMenuPresentationController {
private extension SideMenuPresentationController {
var statusBarFrame: CGRect {
if #available(iOS 13.0, *) {
return containerView?.window?.windowScene?.statusBarManager?.statusBarFrame ?? .zero
} else {
return UIApplication.shared.statusBarFrame
}
}
var frameOfPresentedViewInContainerView: CGRect {
guard let containerView = containerView else { return .zero }
var rect = containerView.bounds
rect.origin.x = leftSide ? 0 : rect.width - config.menuWidth
rect.size.width = config.menuWidth
return rect
}
var frameOfPresentingViewInContainerView: CGRect {
guard let containerView = containerView else { return .zero }
var rect = containerView.frame
if containerView.superview != nil, containerView.frame.minY > .ulpOfOne {
let statusBarOffset = statusBarFrame.height - rect.minY
rect.origin.y = statusBarOffset
rect.size.height -= statusBarOffset
}
return rect
}
func transition(to: UIViewController, from: UIViewController, alpha: CGFloat, statusBarAlpha: CGFloat, scale: CGFloat, translate: CGFloat) {
containerViewWillLayoutSubviews()
@@ -223,6 +255,10 @@ private extension SideMenuPresentationController {
}
func layerViews() {
guard let presentedViewController = presentedViewController,
let presentingViewController = presentingViewController
else { return }
statusBarView?.layer.zPosition = 2
if config.presentationStyle.menuOnTop {
+3 -3
View File
@@ -1,5 +1,5 @@
PODS:
- SideMenu (6.2.5)
- SideMenu (6.4.9)
DEPENDENCIES:
- SideMenu (from `.`)
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
:path: "."
SPEC CHECKSUMS:
SideMenu: cba46f5cd6080a0e38137d5be285e8bcf0f36eb4
SideMenu: 8ef57a3cfc024a2d3fc1c036c7fe98537baec9e0
PODFILE CHECKSUM: 863f183ea1ab6f64dc8553590349c586faf8e4a1
COCOAPODS: 1.7.4
COCOAPODS: 1.9.3
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "SideMenu",
"version": "6.2.5",
"version": "6.4.9",
"summary": "Simple side menu control for iOS in Swift inspired by Facebook. Right and Left sides. No coding required.",
"description": "SideMenu is a simple and versatile side menu control. It's highly customizable, but can also be implemented in storyboard without a single line of code. The are three standard animation styles to choose from along with several other options for further customization if desired. Just type SideMenuManager.menu... and code completion will show you everything you can customize.",
"homepage": "https://github.com/jonkykong/SideMenu",
@@ -19,7 +19,7 @@
},
"source": {
"git": "https://github.com/jonkykong/SideMenu.git",
"tag": "6.2.5"
"tag": "6.4.9"
},
"platforms": {
"ios": "10.0"
+3 -3
View File
@@ -1,5 +1,5 @@
PODS:
- SideMenu (6.2.5)
- SideMenu (6.4.9)
DEPENDENCIES:
- SideMenu (from `.`)
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
:path: "."
SPEC CHECKSUMS:
SideMenu: cba46f5cd6080a0e38137d5be285e8bcf0f36eb4
SideMenu: 8ef57a3cfc024a2d3fc1c036c7fe98537baec9e0
PODFILE CHECKSUM: 863f183ea1ab6f64dc8553590349c586faf8e4a1
COCOAPODS: 1.7.4
COCOAPODS: 1.9.3
+185 -193
View File
@@ -7,29 +7,30 @@
objects = {
/* Begin PBXBuildFile section */
849F7B5B2320FCC6005DEB6A /* SideMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 849F7B562320F3A4005DEB6A /* SideMenu.h */; settings = {ATTRIBUTES = (Public, ); }; };
849F7B5E2320FD67005DEB6A /* SideMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 849F7B562320F3A4005DEB6A /* SideMenu.h */; settings = {ATTRIBUTES = (Public, ); }; };
849F7B7123210C6E005DEB6A /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B6C23210C6E005DEB6A /* Deprecations.swift */; };
849F7B7223210C6E005DEB6A /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B6D23210C6E005DEB6A /* Extensions.swift */; };
849F7B7323210C6E005DEB6A /* Initializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B6E23210C6E005DEB6A /* Initializable.swift */; };
849F7B7423210C6E005DEB6A /* Print.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B6F23210C6E005DEB6A /* Print.swift */; };
849F7B7523210C6E005DEB6A /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7023210C6E005DEB6A /* Protected.swift */; };
849F7B7F23210C79005DEB6A /* SideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7623210C79005DEB6A /* SideMenuNavigationController.swift */; };
849F7B8023210C79005DEB6A /* SideMenuManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7723210C79005DEB6A /* SideMenuManager.swift */; };
849F7B8123210C79005DEB6A /* SideMenuPresentationStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7823210C79005DEB6A /* SideMenuPresentationStyle.swift */; };
849F7B8223210C79005DEB6A /* SideMenuInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7923210C79005DEB6A /* SideMenuInteractionController.swift */; };
849F7B8323210C79005DEB6A /* SideMenuPushCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7A23210C79005DEB6A /* SideMenuPushCoordinator.swift */; };
849F7B8423210C79005DEB6A /* SideMenuAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7B23210C79005DEB6A /* SideMenuAnimationController.swift */; };
849F7B8523210C79005DEB6A /* SideMenuTransitionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7C23210C79005DEB6A /* SideMenuTransitionController.swift */; };
849F7B8623210C79005DEB6A /* UITableViewVibrantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7D23210C79005DEB6A /* UITableViewVibrantCell.swift */; };
849F7B8723210C79005DEB6A /* SideMenuPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849F7B7E23210C79005DEB6A /* SideMenuPresentationController.swift */; };
89B2CFA98A07964FBD2D7775FF5FB98D /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */; };
D7BD58D0FF7BF7E887B6D70D4651D70B /* Pods-Example.h in Headers */ = {isa = PBXBuildFile; fileRef = 7825A90E082A1582EB16256B0E722B3F /* Pods-Example.h */; settings = {ATTRIBUTES = (Public, ); }; };
E6F2CD13BC297BF5E7707DEDE9C7F271 /* SideMenu-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DF9702572C0E4370367755578F2ECE7 /* SideMenu-dummy.m */; };
08B5B89F28224381711F45A680C292D9 /* SideMenu-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCD4C3C9B1360F2706D4472B32A040C2 /* SideMenu-dummy.m */; };
09A0A5D3733F69E93F553ABBCF02FB77 /* SideMenuTransitionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DB2FCF7289269CF73AAD86DFC2D345D /* SideMenuTransitionController.swift */; };
27D830F1CAC60B99CC0A135F583BFFF2 /* SideMenuPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08537E8BBE7ABFE95446DC710B5CA68F /* SideMenuPresentationController.swift */; };
2ED518A3FA8DCBE08E621AC5C32844A9 /* SideMenuPushCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B12324910F79679BA0707A997EE246D /* SideMenuPushCoordinator.swift */; };
3846AFE38D1B63A9F0D9073C4ABC6DAA /* SideMenuNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC0F62E98B30ABE6E1DA4C0821E349D5 /* SideMenuNavigationController.swift */; };
3A358C7C255C5E67B42729AD26AC2BE9 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */; };
3E18B004D34ED5441A193684EEB25BD3 /* SideMenuPresentationStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75E92B56D27669C0EFD32652E4B4C6BC /* SideMenuPresentationStyle.swift */; };
4E88B70410F6837FBD463EA4B6C33155 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC3E686FC854CBB0B215650F83A859AF /* Extensions.swift */; };
77AF2098DDCCAAE0CE4A20725C466905 /* SideMenuManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C22CF7F3EB1488DA359A0994B465DCF /* SideMenuManager.swift */; };
890FF25D0CCFF9BADECBA64DCCEFF4FF /* SideMenuAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 216DDC59E0AE3161D4469142098E58BB /* SideMenuAnimationController.swift */; };
8C06632AA14D12278B1277AC0CC6A0B2 /* SideMenuInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785AE78619D6F0A898BC84959C23C8B2 /* SideMenuInteractionController.swift */; };
905A503F069C27E841BAD9F4EFD4F1AF /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = E243DBFFA13966D8B85A1810538669F4 /* Protected.swift */; };
99BC9343999BE171CC246EA71BDC14FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
B27B12C5D2EF1BE7B3CBBBC8FA98110E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
C798DA148F7F666F393F2009DDF73E35 /* Initializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E6DEF2DCDB4156AABEABBE9C43FC39 /* Initializable.swift */; };
C96A55C2A869A97AC4CA628A7F2A2A21 /* UITableViewVibrantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C804A8A4C31CB5771D1B4B3A10893D06 /* UITableViewVibrantCell.swift */; };
D1BD7393C7934049B3E51D9C5A5CD8A0 /* Print.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757B027F9380E1557B402821E49A0142 /* Print.swift */; };
D3D22BB8C279DC03EA91BFE3F5412477 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5A5E5A2577A9E258F119FD1EF0740B /* Deprecations.swift */; };
D777716F0B6C0754B7B0230531743BC4 /* SideMenu-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AD6FBFBCFDC8E30A14F4DD08181DC32E /* SideMenu-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
E66FB00B7E71FB268CDCE280DB232C13 /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
87B48297DED8909797B8D15640B05D9C /* PBXContainerItemProxy */ = {
C5CC24C9C39C34E8241F8C32E0081254 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
@@ -39,55 +40,59 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
03ED340E3F0982B22C1442787BB3F693 /* SideMenu.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SideMenu.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
08537E8BBE7ABFE95446DC710B5CA68F /* SideMenuPresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuPresentationController.swift; path = Pod/Classes/SideMenuPresentationController.swift; sourceTree = "<group>"; };
16E6DEF2DCDB4156AABEABBE9C43FC39 /* Initializable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Initializable.swift; path = Pod/Classes/Initializable.swift; sourceTree = "<group>"; };
1DB2FCF7289269CF73AAD86DFC2D345D /* SideMenuTransitionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuTransitionController.swift; path = Pod/Classes/SideMenuTransitionController.swift; sourceTree = "<group>"; };
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Example.framework; path = "Pods-Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
216DDC59E0AE3161D4469142098E58BB /* SideMenuAnimationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuAnimationController.swift; path = Pod/Classes/SideMenuAnimationController.swift; sourceTree = "<group>"; };
243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
319D06AA0D1D0BA345459C039040A1ED /* SideMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SideMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2C733C9A378087C910DD4047EF7EA724 /* SideMenu.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SideMenu.release.xcconfig; sourceTree = "<group>"; };
319D06AA0D1D0BA345459C039040A1ED /* SideMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SideMenu.framework; path = SideMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
378E89CFE30A7A8171AF400CDF0E7F6F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
4DF9702572C0E4370367755578F2ECE7 /* SideMenu-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SideMenu-dummy.m"; sourceTree = "<group>"; };
5B30AFEB50A77ED133026BBB542D4DC2 /* SideMenu-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SideMenu-Info.plist"; sourceTree = "<group>"; };
5F375DA230E88A457A5F6021E054F56D /* SideMenu.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SideMenu.xcconfig; sourceTree = "<group>"; };
7825A90E082A1582EB16256B0E722B3F /* Pods-Example.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example.h"; sourceTree = "<group>"; };
849F7B562320F3A4005DEB6A /* SideMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenu.h; sourceTree = "<group>"; };
849F7B6C23210C6E005DEB6A /* Deprecations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Pod/Classes/Deprecations.swift; sourceTree = "<group>"; };
849F7B6D23210C6E005DEB6A /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Extensions.swift; path = Pod/Classes/Extensions.swift; sourceTree = "<group>"; };
849F7B6E23210C6E005DEB6A /* Initializable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Initializable.swift; path = Pod/Classes/Initializable.swift; sourceTree = "<group>"; };
849F7B6F23210C6E005DEB6A /* Print.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Print.swift; path = Pod/Classes/Print.swift; sourceTree = "<group>"; };
849F7B7023210C6E005DEB6A /* Protected.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Pod/Classes/Protected.swift; sourceTree = "<group>"; };
849F7B7623210C79005DEB6A /* SideMenuNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuNavigationController.swift; path = Pod/Classes/SideMenuNavigationController.swift; sourceTree = "<group>"; };
849F7B7723210C79005DEB6A /* SideMenuManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuManager.swift; path = Pod/Classes/SideMenuManager.swift; sourceTree = "<group>"; };
849F7B7823210C79005DEB6A /* SideMenuPresentationStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuPresentationStyle.swift; path = Pod/Classes/SideMenuPresentationStyle.swift; sourceTree = "<group>"; };
849F7B7923210C79005DEB6A /* SideMenuInteractionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuInteractionController.swift; path = Pod/Classes/SideMenuInteractionController.swift; sourceTree = "<group>"; };
849F7B7A23210C79005DEB6A /* SideMenuPushCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuPushCoordinator.swift; path = Pod/Classes/SideMenuPushCoordinator.swift; sourceTree = "<group>"; };
849F7B7B23210C79005DEB6A /* SideMenuAnimationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuAnimationController.swift; path = Pod/Classes/SideMenuAnimationController.swift; sourceTree = "<group>"; };
849F7B7C23210C79005DEB6A /* SideMenuTransitionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuTransitionController.swift; path = Pod/Classes/SideMenuTransitionController.swift; sourceTree = "<group>"; };
849F7B7D23210C79005DEB6A /* UITableViewVibrantCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UITableViewVibrantCell.swift; path = Pod/Classes/UITableViewVibrantCell.swift; sourceTree = "<group>"; };
849F7B7E23210C79005DEB6A /* SideMenuPresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenuPresentationController.swift; path = Pod/Classes/SideMenuPresentationController.swift; sourceTree = "<group>"; };
863A19DF8C4FEFD1D2DFF3C6C85F3013 /* SideMenu-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SideMenu-prefix.pch"; sourceTree = "<group>"; };
89DDCB61CB91FEE47235E0C0915F9F88 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
9A5090CE306074592C68F6FB7ADF43FA /* SideMenu.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SideMenu.modulemap; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
6C22CF7F3EB1488DA359A0994B465DCF /* SideMenuManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuManager.swift; path = Pod/Classes/SideMenuManager.swift; sourceTree = "<group>"; };
757B027F9380E1557B402821E49A0142 /* Print.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Print.swift; path = Pod/Classes/Print.swift; sourceTree = "<group>"; };
75E92B56D27669C0EFD32652E4B4C6BC /* SideMenuPresentationStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuPresentationStyle.swift; path = Pod/Classes/SideMenuPresentationStyle.swift; sourceTree = "<group>"; };
7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
785AE78619D6F0A898BC84959C23C8B2 /* SideMenuInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuInteractionController.swift; path = Pod/Classes/SideMenuInteractionController.swift; sourceTree = "<group>"; };
7C663DE5E181D3EA71DA759455D9253F /* SideMenu-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SideMenu-Info.plist"; sourceTree = "<group>"; };
7DBCE21C607119C657BA6E897384BBCD /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
9B12324910F79679BA0707A997EE246D /* SideMenuPushCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuPushCoordinator.swift; path = Pod/Classes/SideMenuPushCoordinator.swift; sourceTree = "<group>"; };
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; };
A8A5144070CA33EE55B4D3922237479D /* SideMenu.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SideMenu.modulemap; sourceTree = "<group>"; };
AD6FBFBCFDC8E30A14F4DD08181DC32E /* SideMenu-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SideMenu-umbrella.h"; sourceTree = "<group>"; };
AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = "<group>"; };
B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
BE3D03F947820C757C6A1858FE0784C9 /* SideMenu.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = SideMenu.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
BCE53FC0821A97094EAD7E011345C22A /* SideMenu.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SideMenu.debug.xcconfig; sourceTree = "<group>"; };
C804A8A4C31CB5771D1B4B3A10893D06 /* UITableViewVibrantCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UITableViewVibrantCell.swift; path = Pod/Classes/UITableViewVibrantCell.swift; sourceTree = "<group>"; };
D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
E243DBFFA13966D8B85A1810538669F4 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Pod/Classes/Protected.swift; sourceTree = "<group>"; };
EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
F2868E435B4FF74B943FC555CA3271AA /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
ED5281EB7B737F2FAF0CFACAA24B8570 /* SideMenu-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SideMenu-prefix.pch"; sourceTree = "<group>"; };
FC0F62E98B30ABE6E1DA4C0821E349D5 /* SideMenuNavigationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SideMenuNavigationController.swift; path = Pod/Classes/SideMenuNavigationController.swift; sourceTree = "<group>"; };
FC3E686FC854CBB0B215650F83A859AF /* Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Extensions.swift; path = Pod/Classes/Extensions.swift; sourceTree = "<group>"; };
FCD4C3C9B1360F2706D4472B32A040C2 /* SideMenu-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SideMenu-dummy.m"; sourceTree = "<group>"; };
FE5A5E5A2577A9E258F119FD1EF0740B /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Pod/Classes/Deprecations.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
0579BEA08C6FF08F9DA652EDDBF42D43 /* Frameworks */ = {
8F0EA116E5392C3C78ABBCCD2C5320AD /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
99BC9343999BE171CC246EA71BDC14FE /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D530FD6E7F0D492D9036605CB47EAB59 /* Frameworks */ = {
D9D87C2BC8D3C4B8382407D4C6B16014 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B27B12C5D2EF1BE7B3CBBBC8FA98110E /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -103,50 +108,61 @@
name = Products;
sourceTree = "<group>";
};
0D8598CC67DCD15FA8FD2571BFA1FDD0 /* Development Pods */ = {
2A7F78FEA350BF62EE25FB7AA75683E2 /* Development Pods */ = {
isa = PBXGroup;
children = (
15941242C0946F16AAC2EA37A208D559 /* SideMenu */,
357E9701276B290F3A9BFD6EDA0098B1 /* SideMenu */,
);
name = "Development Pods";
sourceTree = "<group>";
};
15941242C0946F16AAC2EA37A208D559 /* SideMenu */ = {
357E9701276B290F3A9BFD6EDA0098B1 /* SideMenu */ = {
isa = PBXGroup;
children = (
B9E764EFCD0B407437AC1550B5A6FB28 /* Pod */,
F2C813E2A0676FE71DB8D655549E2635 /* Support Files */,
FE5A5E5A2577A9E258F119FD1EF0740B /* Deprecations.swift */,
FC3E686FC854CBB0B215650F83A859AF /* Extensions.swift */,
16E6DEF2DCDB4156AABEABBE9C43FC39 /* Initializable.swift */,
757B027F9380E1557B402821E49A0142 /* Print.swift */,
E243DBFFA13966D8B85A1810538669F4 /* Protected.swift */,
216DDC59E0AE3161D4469142098E58BB /* SideMenuAnimationController.swift */,
785AE78619D6F0A898BC84959C23C8B2 /* SideMenuInteractionController.swift */,
6C22CF7F3EB1488DA359A0994B465DCF /* SideMenuManager.swift */,
FC0F62E98B30ABE6E1DA4C0821E349D5 /* SideMenuNavigationController.swift */,
08537E8BBE7ABFE95446DC710B5CA68F /* SideMenuPresentationController.swift */,
75E92B56D27669C0EFD32652E4B4C6BC /* SideMenuPresentationStyle.swift */,
9B12324910F79679BA0707A997EE246D /* SideMenuPushCoordinator.swift */,
1DB2FCF7289269CF73AAD86DFC2D345D /* SideMenuTransitionController.swift */,
C804A8A4C31CB5771D1B4B3A10893D06 /* UITableViewVibrantCell.swift */,
6CAB774E229F38DF89F131E0C9F471B5 /* Pod */,
60D2103A5E77AD9C7D20CDE1AD7D5CED /* Support Files */,
);
name = SideMenu;
path = ..;
sourceTree = "<group>";
};
849F7B062320DF40005DEB6A /* Classes */ = {
60D2103A5E77AD9C7D20CDE1AD7D5CED /* Support Files */ = {
isa = PBXGroup;
children = (
849F7B7B23210C79005DEB6A /* SideMenuAnimationController.swift */,
849F7B7923210C79005DEB6A /* SideMenuInteractionController.swift */,
849F7B7723210C79005DEB6A /* SideMenuManager.swift */,
849F7B7623210C79005DEB6A /* SideMenuNavigationController.swift */,
849F7B7E23210C79005DEB6A /* SideMenuPresentationController.swift */,
849F7B7823210C79005DEB6A /* SideMenuPresentationStyle.swift */,
849F7B7A23210C79005DEB6A /* SideMenuPushCoordinator.swift */,
849F7B7C23210C79005DEB6A /* SideMenuTransitionController.swift */,
849F7B7D23210C79005DEB6A /* UITableViewVibrantCell.swift */,
A8A5144070CA33EE55B4D3922237479D /* SideMenu.modulemap */,
FCD4C3C9B1360F2706D4472B32A040C2 /* SideMenu-dummy.m */,
7C663DE5E181D3EA71DA759455D9253F /* SideMenu-Info.plist */,
ED5281EB7B737F2FAF0CFACAA24B8570 /* SideMenu-prefix.pch */,
AD6FBFBCFDC8E30A14F4DD08181DC32E /* SideMenu-umbrella.h */,
BCE53FC0821A97094EAD7E011345C22A /* SideMenu.debug.xcconfig */,
2C733C9A378087C910DD4047EF7EA724 /* SideMenu.release.xcconfig */,
);
name = Classes;
name = "Support Files";
path = "Pods/Target Support Files/SideMenu";
sourceTree = "<group>";
};
849F7B072320DF54005DEB6A /* Supporting */ = {
6CAB774E229F38DF89F131E0C9F471B5 /* Pod */ = {
isa = PBXGroup;
children = (
849F7B6C23210C6E005DEB6A /* Deprecations.swift */,
849F7B6D23210C6E005DEB6A /* Extensions.swift */,
849F7B6E23210C6E005DEB6A /* Initializable.swift */,
849F7B6F23210C6E005DEB6A /* Print.swift */,
849F7B7023210C6E005DEB6A /* Protected.swift */,
378E89CFE30A7A8171AF400CDF0E7F6F /* LICENSE */,
7DBCE21C607119C657BA6E897384BBCD /* README.md */,
03ED340E3F0982B22C1442787BB3F693 /* SideMenu.podspec */,
);
name = Supporting;
name = Pod;
sourceTree = "<group>";
};
9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */ = {
@@ -158,7 +174,7 @@
D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */,
AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */,
31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */,
7825A90E082A1582EB16256B0E722B3F /* Pods-Example.h */,
7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */,
B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */,
243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */,
);
@@ -166,16 +182,12 @@
path = "Target Support Files/Pods-Example";
sourceTree = "<group>";
};
B9E764EFCD0B407437AC1550B5A6FB28 /* Pod */ = {
C0834CEBB1379A84116EF29F93051C60 /* iOS */ = {
isa = PBXGroup;
children = (
849F7B062320DF40005DEB6A /* Classes */,
849F7B072320DF54005DEB6A /* Supporting */,
89DDCB61CB91FEE47235E0C0915F9F88 /* LICENSE */,
F2868E435B4FF74B943FC555CA3271AA /* README.md */,
BE3D03F947820C757C6A1858FE0784C9 /* SideMenu.podspec */,
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */,
);
name = Pod;
name = iOS;
sourceTree = "<group>";
};
CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */ = {
@@ -190,43 +202,37 @@
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
0D8598CC67DCD15FA8FD2571BFA1FDD0 /* Development Pods */,
2A7F78FEA350BF62EE25FB7AA75683E2 /* Development Pods */,
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
0161DC4DC33723D9E6F365301D5BEA4B /* Products */,
CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */,
);
sourceTree = "<group>";
};
F2C813E2A0676FE71DB8D655549E2635 /* Support Files */ = {
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
9A5090CE306074592C68F6FB7ADF43FA /* SideMenu.modulemap */,
5F375DA230E88A457A5F6021E054F56D /* SideMenu.xcconfig */,
4DF9702572C0E4370367755578F2ECE7 /* SideMenu-dummy.m */,
5B30AFEB50A77ED133026BBB542D4DC2 /* SideMenu-Info.plist */,
863A19DF8C4FEFD1D2DFF3C6C85F3013 /* SideMenu-prefix.pch */,
849F7B562320F3A4005DEB6A /* SideMenu.h */,
C0834CEBB1379A84116EF29F93051C60 /* iOS */,
);
name = "Support Files";
path = "Pods/Target Support Files/SideMenu";
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
1FF6F4EFB377CABFB60CDF71BBE5ECFA /* Headers */ = {
1CAED307DAAAEB116620B1103FEA41DC /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
D7BD58D0FF7BF7E887B6D70D4651D70B /* Pods-Example.h in Headers */,
849F7B5B2320FCC6005DEB6A /* SideMenu.h in Headers */,
E66FB00B7E71FB268CDCE280DB232C13 /* Pods-Example-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
EF1C6F3F91891316D1CEDAF556483650 /* Headers */ = {
28761BD3C505CCB36997450A19676357 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
849F7B5E2320FD67005DEB6A /* SideMenu.h in Headers */,
D777716F0B6C0754B7B0230531743BC4 /* SideMenu-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -235,17 +241,17 @@
/* Begin PBXNativeTarget section */
0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4FF1F53D3F7F3CDABFC9B823668659F3 /* Build configuration list for PBXNativeTarget "Pods-Example" */;
buildConfigurationList = 6A677E09A16BD8D71C8AE232ADE35F08 /* Build configuration list for PBXNativeTarget "Pods-Example" */;
buildPhases = (
1FF6F4EFB377CABFB60CDF71BBE5ECFA /* Headers */,
D9817E95D3CAD2C77E505358A150AA51 /* Sources */,
0579BEA08C6FF08F9DA652EDDBF42D43 /* Frameworks */,
EBCD5697FDA524E13CD0B7862D761201 /* Resources */,
1CAED307DAAAEB116620B1103FEA41DC /* Headers */,
132CDCAF919B38D48344BED7D9612DDE /* Sources */,
8F0EA116E5392C3C78ABBCCD2C5320AD /* Frameworks */,
194F98D37C5A65264E7233FD378EDA62 /* Resources */,
);
buildRules = (
);
dependencies = (
160F2B7F347D6DCAFE9BF34108A8FE98 /* PBXTargetDependency */,
19FCABDC662F90481E6BCE27BC4A49A6 /* PBXTargetDependency */,
);
name = "Pods-Example";
productName = "Pods-Example";
@@ -254,12 +260,12 @@
};
C4A0A7D8591B67FB75E2E8D215E3735B /* SideMenu */ = {
isa = PBXNativeTarget;
buildConfigurationList = CBE9024CB4C6BC4472FB1D55493FB8E9 /* Build configuration list for PBXNativeTarget "SideMenu" */;
buildConfigurationList = 92707F899E1CD6FD63DCC66A3882B68C /* Build configuration list for PBXNativeTarget "SideMenu" */;
buildPhases = (
EF1C6F3F91891316D1CEDAF556483650 /* Headers */,
C433EA7C535EE6A47E1A454086B654C2 /* Sources */,
D530FD6E7F0D492D9036605CB47EAB59 /* Frameworks */,
98655D66022D8A23B945B5400D0D96E7 /* Resources */,
28761BD3C505CCB36997450A19676357 /* Headers */,
8B7A6B51F5DD73DE3F3F294B1BF713BE /* Sources */,
D9D87C2BC8D3C4B8382407D4C6B16014 /* Frameworks */,
E880A6A8817A45BC1BDE085DEC3399E0 /* Resources */,
);
buildRules = (
);
@@ -278,14 +284,6 @@
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1100;
TargetAttributes = {
0AEE99A309977BD12A049FF48AF9BA4B = {
LastSwiftMigration = 1030;
};
C4A0A7D8591B67FB75E2E8D215E3735B = {
LastSwiftMigration = 1030;
};
};
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
@@ -293,6 +291,7 @@
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = 0161DC4DC33723D9E6F365301D5BEA4B /* Products */;
@@ -306,14 +305,14 @@
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
98655D66022D8A23B945B5400D0D96E7 /* Resources */ = {
194F98D37C5A65264E7233FD378EDA62 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
EBCD5697FDA524E13CD0B7862D761201 /* Resources */ = {
E880A6A8817A45BC1BDE085DEC3399E0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -323,44 +322,44 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
C433EA7C535EE6A47E1A454086B654C2 /* Sources */ = {
132CDCAF919B38D48344BED7D9612DDE /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E6F2CD13BC297BF5E7707DEDE9C7F271 /* SideMenu-dummy.m in Sources */,
3A358C7C255C5E67B42729AD26AC2BE9 /* Pods-Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D9817E95D3CAD2C77E505358A150AA51 /* Sources */ = {
8B7A6B51F5DD73DE3F3F294B1BF713BE /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
849F7B7523210C6E005DEB6A /* Protected.swift in Sources */,
849F7B8523210C79005DEB6A /* SideMenuTransitionController.swift in Sources */,
849F7B8623210C79005DEB6A /* UITableViewVibrantCell.swift in Sources */,
849F7B7123210C6E005DEB6A /* Deprecations.swift in Sources */,
849F7B8123210C79005DEB6A /* SideMenuPresentationStyle.swift in Sources */,
849F7B8323210C79005DEB6A /* SideMenuPushCoordinator.swift in Sources */,
849F7B7223210C6E005DEB6A /* Extensions.swift in Sources */,
849F7B8223210C79005DEB6A /* SideMenuInteractionController.swift in Sources */,
849F7B8723210C79005DEB6A /* SideMenuPresentationController.swift in Sources */,
849F7B8423210C79005DEB6A /* SideMenuAnimationController.swift in Sources */,
849F7B7423210C6E005DEB6A /* Print.swift in Sources */,
89B2CFA98A07964FBD2D7775FF5FB98D /* Pods-Example-dummy.m in Sources */,
849F7B8023210C79005DEB6A /* SideMenuManager.swift in Sources */,
849F7B7F23210C79005DEB6A /* SideMenuNavigationController.swift in Sources */,
849F7B7323210C6E005DEB6A /* Initializable.swift in Sources */,
D3D22BB8C279DC03EA91BFE3F5412477 /* Deprecations.swift in Sources */,
4E88B70410F6837FBD463EA4B6C33155 /* Extensions.swift in Sources */,
C798DA148F7F666F393F2009DDF73E35 /* Initializable.swift in Sources */,
D1BD7393C7934049B3E51D9C5A5CD8A0 /* Print.swift in Sources */,
905A503F069C27E841BAD9F4EFD4F1AF /* Protected.swift in Sources */,
08B5B89F28224381711F45A680C292D9 /* SideMenu-dummy.m in Sources */,
890FF25D0CCFF9BADECBA64DCCEFF4FF /* SideMenuAnimationController.swift in Sources */,
8C06632AA14D12278B1277AC0CC6A0B2 /* SideMenuInteractionController.swift in Sources */,
77AF2098DDCCAAE0CE4A20725C466905 /* SideMenuManager.swift in Sources */,
3846AFE38D1B63A9F0D9073C4ABC6DAA /* SideMenuNavigationController.swift in Sources */,
27D830F1CAC60B99CC0A135F583BFFF2 /* SideMenuPresentationController.swift in Sources */,
3E18B004D34ED5441A193684EEB25BD3 /* SideMenuPresentationStyle.swift in Sources */,
2ED518A3FA8DCBE08E621AC5C32844A9 /* SideMenuPushCoordinator.swift in Sources */,
09A0A5D3733F69E93F553ABBCF02FB77 /* SideMenuTransitionController.swift in Sources */,
C96A55C2A869A97AC4CA628A7F2A2A21 /* UITableViewVibrantCell.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
160F2B7F347D6DCAFE9BF34108A8FE98 /* PBXTargetDependency */ = {
19FCABDC662F90481E6BCE27BC4A49A6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SideMenu;
target = C4A0A7D8591B67FB75E2E8D215E3735B /* SideMenu */;
targetProxy = 87B48297DED8909797B8D15640B05D9C /* PBXContainerItemProxy */;
targetProxy = C5CC24C9C39C34E8241F8C32E0081254 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -429,11 +428,10 @@
};
name = Debug;
};
56A1664171D7685EBD62329421925629 /* Debug */ = {
1C8A687A8AC1620ECDFCDED2FAC17C9E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 5F375DA230E88A457A5F6021E054F56D /* SideMenu.xcconfig */;
baseConfigurationReference = 2C733C9A378087C910DD4047EF7EA724 /* SideMenu.release.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -455,20 +453,19 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
name = Release;
};
70D2F3623D3AA27E6FB62D0291A05518 /* Release */ = {
3C1BD4803349F65445CBED845A842E39 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -492,7 +489,6 @@
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
@@ -500,11 +496,10 @@
};
name = Release;
};
801960B1745A4330B44246D5CDA31330 /* Release */ = {
45B6D36435972CBBC59A481A20E44C4A /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 5F375DA230E88A457A5F6021E054F56D /* SideMenu.xcconfig */;
baseConfigurationReference = BCE53FC0821A97094EAD7E011345C22A /* SideMenu.debug.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
@@ -528,11 +523,44 @@
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
name = Debug;
};
7925ED1295850F1BD5AC38F354843ED0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = {
isa = XCBuildConfiguration;
@@ -587,49 +615,13 @@
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Release;
};
E0399C70B1E68B80285D26D138D37391 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -642,20 +634,20 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4FF1F53D3F7F3CDABFC9B823668659F3 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
6A677E09A16BD8D71C8AE232ADE35F08 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E0399C70B1E68B80285D26D138D37391 /* Debug */,
70D2F3623D3AA27E6FB62D0291A05518 /* Release */,
7925ED1295850F1BD5AC38F354843ED0 /* Debug */,
3C1BD4803349F65445CBED845A842E39 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CBE9024CB4C6BC4472FB1D55493FB8E9 /* Build configuration list for PBXNativeTarget "SideMenu" */ = {
92707F899E1CD6FD63DCC66A3882B68C /* Build configuration list for PBXNativeTarget "SideMenu" */ = {
isa = XCConfigurationList;
buildConfigurations = (
56A1664171D7685EBD62329421925629 /* Debug */,
801960B1745A4330B44246D5CDA31330 /* Release */,
45B6D36435972CBBC59A481A20E44C4A /* Debug */,
1C8A687A8AC1620ECDFCDED2FAC17C9E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -46,8 +46,8 @@ install_framework()
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
@@ -84,27 +84,29 @@ install_framework()
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into a the targets temp dir.
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .framework.dSYM "$source")"
binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary"
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
@@ -135,13 +137,16 @@ code_sign_if_enabled() {
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=0
return
fi
@@ -159,6 +164,37 @@ strip_invalid_archs() {
STRIP_BINARY_RETVAL=1
}
install_artifact() {
artifact="$1"
base="$(basename "$artifact")"
case $base in
*.framework)
install_framework "$artifact"
;;
*.dSYM)
# Suppress arch warnings since XCFrameworks will include many dSYM files
install_dsym "$artifact" "false"
;;
*.bcsymbolmap)
install_bcsymbolmap "$artifact"
;;
*)
echo "error: Unrecognized artifact "$artifact""
;;
esac
}
copy_artifacts() {
file_list="$1"
while read artifact; do
install_artifact "$artifact"
done <$file_list
}
ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt"
if [ -r "${ARTIFACT_LIST_FILE}" ]; then
copy_artifacts "${ARTIFACT_LIST_FILE}"
fi
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/SideMenu/SideMenu.framework"
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
@@ -9,3 +9,4 @@ 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
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -1,5 +1,5 @@
framework module Pods_Example {
umbrella header "Pods-Example.h"
umbrella header "Pods-Example-umbrella.h"
export *
module * { export * }
@@ -9,3 +9,4 @@ 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
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>6.4.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
+16
View File
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double SideMenuVersionNumber;
FOUNDATION_EXPORT const unsigned char SideMenuVersionString[];
+1 -1
View File
@@ -1,5 +1,5 @@
framework module SideMenu {
umbrella header "SideMenu.h"
umbrella header "SideMenu-umbrella.h"
export *
module * { export * }
+1
View File
@@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
+2 -2
View File
@@ -261,8 +261,8 @@ var presentationStyle: SideMenuPresentStyle = .viewSlideOut
- subMenu: Unlike all other behaviors that push using the menu's presentingViewController, this behavior pushes view controllers within the menu. Use this behavior if you want to display a sub menu.
*/
var pushStyle: MenuPushStyle = .default
/// Draws `presentationStyle.backgroundColor` behind the status bar. Default is 1.
var statusBarEndAlpha: CGFloat = 1
/// Draws `presentationStyle.backgroundColor` behind the status bar. Default is 0.
var statusBarEndAlpha: CGFloat = 0
/// The animation spring damping when a menu is displayed. Ignored when displayed with a gesture.
var usingSpringWithDamping: CGFloat = 1
/// Indicates if the menu is anywhere in the view hierarchy, even if covered by another view controller.
+1 -1
View File
@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = "SideMenu"
s.version = "6.4.4"
s.version = "6.4.9"
s.summary = "Simple side menu control for iOS in Swift inspired by Facebook. Right and Left sides. No coding required."
# This description is used to generate tags and improve search results.
+31 -2
View File
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
055AE0A193A9EA88D3279D68 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38DA39CCF181EA30E4346328 /* Pods_Example.framework */; };
7B48A0D61DCB2487002990A1 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B48A0D51DCB2487002990A1 /* AppDelegate.swift */; };
7B48A0DD1DCB2487002990A1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B48A0DC1DCB2487002990A1 /* Assets.xcassets */; };
7B48A0F61DCB2518002990A1 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B48A0F31DCB2518002990A1 /* MainViewController.swift */; };
@@ -43,11 +44,19 @@
remoteGlobalIDString = 7B48A0D21DCB2487002990A1;
remoteInfo = Example;
};
84418E042362E364002DE07F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7B9DC8FB1DC6E8C1000D4007 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 7B9DC9031DC6E8C1000D4007;
remoteInfo = SideMenu;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
1F17B9D56ADA958C611FAA83 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
281FB58A39C022692CEEBF0D /* Pods-Example-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-ExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-ExampleTests/Pods-Example-ExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
38DA39CCF181EA30E4346328 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
7B48A0D31DCB2487002990A1 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
7B48A0D51DCB2487002990A1 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7B48A0DC1DCB2487002990A1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -79,6 +88,8 @@
84B489B21DD469B000D6CB43 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
84B489B41DD469B000D6CB43 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
84B489B91DD469DA00D6CB43 /* SideMenu.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SideMenu.podspec; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
84FFB98523556C1600E241DA /* SideMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SideMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
84FFB98723556C4400E241DA /* SideMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SideMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C5943C005BBB10263AFAC91E /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
C7DA85E73FE6228663AD9236 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
C9E09E1C686BF24AD4976EA7 /* Pods-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig"; sourceTree = "<group>"; };
@@ -90,6 +101,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
055AE0A193A9EA88D3279D68 /* Pods_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -164,6 +176,7 @@
8432CC0222FFBCF5003D2BBD /* ExampleTests */,
7B9DC9051DC6E8C1000D4007 /* Products */,
9FB98148377EAEC00E35AC14 /* Pods */,
84FFB98323556BD900E241DA /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -196,6 +209,16 @@
name = "Podspec Metadata";
sourceTree = "<group>";
};
84FFB98323556BD900E241DA /* Frameworks */ = {
isa = PBXGroup;
children = (
84FFB98723556C4400E241DA /* SideMenu.framework */,
84FFB98523556C1600E241DA /* SideMenu.framework */,
38DA39CCF181EA30E4346328 /* Pods_Example.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
9FB98148377EAEC00E35AC14 /* Pods */ = {
isa = PBXGroup;
children = (
@@ -236,6 +259,7 @@
buildRules = (
);
dependencies = (
84418E052362E364002DE07F /* PBXTargetDependency */,
);
name = Example;
productName = Example;
@@ -446,6 +470,11 @@
target = 7B48A0D21DCB2487002990A1 /* Example */;
targetProxy = 8432CC0622FFBCF5003D2BBD /* PBXContainerItemProxy */;
};
84418E052362E364002DE07F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7B9DC9031DC6E8C1000D4007 /* SideMenu */;
targetProxy = 84418E042362E364002DE07F /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
@@ -453,9 +482,9 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 1F17B9D56ADA958C611FAA83 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Example/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.jonkykong.Example;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -467,9 +496,9 @@
isa = XCBuildConfiguration;
baseConfigurationReference = C7DA85E73FE6228663AD9236 /* Pods-Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Example/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.jonkykong.Example;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -6,6 +6,20 @@
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C4A0A7D8591B67FB75E2E8D215E3735B"
BuildableName = "SideMenu.framework"
BlueprintName = "SideMenu"
ReferencedContainer = "container:Pods/Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
@@ -27,6 +41,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7B48A0D21DCB2487002990A1"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:SideMenu.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
@@ -39,17 +62,6 @@
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7B48A0D21DCB2487002990A1"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:SideMenu.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -71,8 +83,6 @@
ReferencedContainer = "container:SideMenu.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"