Merge branch 'master'

Conflicts:
	Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate
	Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
This commit is contained in:
Okechi Onyeje 2017-01-18 09:58:20 -05:00
commit 7df6d20db2
75 changed files with 11935 additions and 4199 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -22,6 +22,7 @@ use_frameworks!
pod 'TYMActivityIndicatorView' pod 'TYMActivityIndicatorView'
pod 'BSImagePicker', '~> 2.3' pod 'BSImagePicker', '~> 2.3'
pod 'SWRevealViewController' pod 'SWRevealViewController'
pod 'IQKeyboardManagerSwift', '4.0.5'

View File

@ -82,6 +82,7 @@ PODS:
- GoogleSymbolUtilities (1.1.1) - GoogleSymbolUtilities (1.1.1)
- GoogleUtilities (1.3.1): - GoogleUtilities (1.3.1):
- GoogleSymbolUtilities (~> 1.0) - GoogleSymbolUtilities (~> 1.0)
- IQKeyboardManagerSwift (4.0.5)
- Locksmith (2.0.8) - Locksmith (2.0.8)
- OAuthSwift (0.5.2) - OAuthSwift (0.5.2)
- PicoKit (0.7.2): - PicoKit (0.7.2):
@ -114,6 +115,7 @@ DEPENDENCIES:
- Firebase/Database - Firebase/Database
- Firebase/Storage - Firebase/Storage
- FirebaseAuth - FirebaseAuth
- IQKeyboardManagerSwift (= 4.0.5)
- Locksmith - Locksmith
- OAuthSwift (~> 0.5.0) - OAuthSwift (~> 0.5.0)
- PicoKit - PicoKit
@ -144,6 +146,7 @@ SPEC CHECKSUMS:
GoogleParsingUtilities: 30b3896f9ee167dc78747f013d3de157ced1cadf GoogleParsingUtilities: 30b3896f9ee167dc78747f013d3de157ced1cadf
GoogleSymbolUtilities: 33117db1b5f290c6fbf259585e4885b4c84b98d7 GoogleSymbolUtilities: 33117db1b5f290c6fbf259585e4885b4c84b98d7
GoogleUtilities: 56c5ac05b7aa5dc417a1bb85221a9516e04d7032 GoogleUtilities: 56c5ac05b7aa5dc417a1bb85221a9516e04d7032
IQKeyboardManagerSwift: 41fd3a45a2cdb2a0e031af697708a95b865068a1
Locksmith: a8ed41ac4c06506ea8cb199d8ec8a8d3d108eb2a Locksmith: a8ed41ac4c06506ea8cb199d8ec8a8d3d108eb2a
OAuthSwift: 1ef042d4362e755e24a78f158d817245641a5d24 OAuthSwift: 1ef042d4362e755e24a78f158d817245641a5d24
PicoKit: 9079bce659a8d5408c8af1c45254b971df614de3 PicoKit: 9079bce659a8d5408c8af1c45254b971df614de3
@ -152,6 +155,6 @@ SPEC CHECKSUMS:
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
PODFILE CHECKSUM: 3b36a7c734809ee54f4ecf0055d9910a9279d555 PODFILE CHECKSUM: a5b9fc7936a4325a63c9d869e6f03bd79c28df5f
COCOAPODS: 1.0.0 COCOAPODS: 1.0.0

View File

@ -0,0 +1,72 @@
//
// IQNSArray+Sort.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
/**
UIView.subviews sorting category.
*/
internal extension Array {
///--------------
/// MARK: Sorting
///--------------
/**
Returns the array by sorting the UIView's by their tag property.
*/
internal func sortedArrayByTag() -> [Element] {
return sort({ (obj1 : Element, obj2 : Element) -> Bool in
let view1 = obj1 as! UIView
let view2 = obj2 as! UIView
return (view1.tag < view2.tag)
})
}
/**
Returns the array by sorting the UIView's by their tag property.
*/
internal func sortedArrayByPosition() -> [Element] {
return sort({ (obj1 : Element, obj2 : Element) -> Bool in
let view1 = obj1 as! UIView
let view2 = obj2 as! UIView
let x1 = CGRectGetMinX(view1.frame)
let y1 = CGRectGetMinY(view1.frame)
let x2 = CGRectGetMinX(view2.frame)
let y2 = CGRectGetMinY(view2.frame)
if y1 != y2 {
return y1 < y2
} else {
return x1 < x2
}
})
}
}

View File

@ -0,0 +1,47 @@
//
// IQUIScrollView+Additions.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
import UIKit
private var kIQShouldRestoreScrollViewContentOffset = "kIQShouldRestoreScrollViewContentOffset"
public extension UIScrollView {
/**
To set customized distance from keyboard for textField/textView. Can't be less than zero
*/
public var shouldRestoreScrollViewContentOffset: Bool {
get {
if let aValue = objc_getAssociatedObject(self, &kIQShouldRestoreScrollViewContentOffset) as? Bool {
return aValue
} else {
return false
}
}
set(newValue) {
objc_setAssociatedObject(self, &kIQShouldRestoreScrollViewContentOffset, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}

View File

@ -0,0 +1,56 @@
//
// IQUITextFieldView+Additions.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
import UIKit
/**
Uses default keyboard distance for textField.
*/
public let kIQUseDefaultKeyboardDistance = CGFloat.max
private var kIQKeyboardDistanceFromTextField = "kIQKeyboardDistanceFromTextField"
/**
UIView category for managing UITextField/UITextView
*/
public extension UIView {
/**
To set customized distance from keyboard for textField/textView. Can't be less than zero
*/
public var keyboardDistanceFromTextField: CGFloat {
get {
if let aValue = objc_getAssociatedObject(self, &kIQKeyboardDistanceFromTextField) as? CGFloat {
return aValue
} else {
return kIQUseDefaultKeyboardDistance
}
}
set(newValue) {
objc_setAssociatedObject(self, &kIQKeyboardDistanceFromTextField, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}

View File

@ -0,0 +1,344 @@
//
// IQUIView+Hierarchy.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
private var kIQIsAskingCanBecomeFirstResponder = "kIQIsAskingCanBecomeFirstResponder"
/**
UIView hierarchy category.
*/
public extension UIView {
///------------------------------
/// MARK: canBecomeFirstResponder
///------------------------------
/**
Returns YES if IQKeyboardManager asking for `canBecomeFirstResponder. Useful when doing custom work in `textFieldShouldBeginEditing:` delegate.
*/
public var isAskingCanBecomeFirstResponder: Bool {
if let aValue = objc_getAssociatedObject(self, &kIQIsAskingCanBecomeFirstResponder) as? Bool {
return aValue
} else {
return false
}
}
///----------------------
/// MARK: viewControllers
///----------------------
/**
Returns the UIViewController object that manages the receiver.
*/
public func viewController()->UIViewController? {
var nextResponder: UIResponder? = self
repeat {
nextResponder = nextResponder?.nextResponder()
if let viewController = nextResponder as? UIViewController {
return viewController
}
} while nextResponder != nil
return nil
}
/**
Returns the topMost UIViewController object in hierarchy.
*/
public func topMostController()->UIViewController? {
var controllersHierarchy = [UIViewController]()
if var topController = window?.rootViewController {
controllersHierarchy.append(topController)
while topController.presentedViewController != nil {
topController = topController.presentedViewController!
controllersHierarchy.append(topController)
}
var matchController :UIResponder? = viewController()
while matchController != nil && controllersHierarchy.contains(matchController as! UIViewController) == false {
repeat {
matchController = matchController?.nextResponder()
} while matchController != nil && matchController is UIViewController == false
}
return matchController as? UIViewController
} else {
return viewController()
}
}
///-----------------------------------
/// MARK: Superviews/Subviews/Siglings
///-----------------------------------
/**
Returns the superView of provided class type.
*/
public func superviewOfClassType(classType:AnyClass)->UIView? {
struct InternalClass {
static var UITableViewCellScrollViewClass: AnyClass? = NSClassFromString("UITableViewCellScrollView") //UITableViewCell
static var UITableViewWrapperViewClass: AnyClass? = NSClassFromString("UITableViewWrapperView") //UITableViewCell
static var UIQueuingScrollViewClass: AnyClass? = NSClassFromString("_UIQueuingScrollView") //UIPageViewController
}
var superView = superview
while let unwrappedSuperView = superView {
if unwrappedSuperView.isKindOfClass(classType) &&
((InternalClass.UITableViewCellScrollViewClass == nil || unwrappedSuperView.isKindOfClass(InternalClass.UITableViewCellScrollViewClass!) == false) &&
(InternalClass.UITableViewWrapperViewClass == nil || unwrappedSuperView.isKindOfClass(InternalClass.UITableViewWrapperViewClass!) == false) &&
(InternalClass.UIQueuingScrollViewClass == nil || unwrappedSuperView.isKindOfClass(InternalClass.UIQueuingScrollViewClass!) == false)) {
return superView
} else {
superView = unwrappedSuperView.superview
}
}
return nil
}
/**
Returns all siblings of the receiver which canBecomeFirstResponder.
*/
public func responderSiblings()->[UIView] {
//Array of (UITextField/UITextView's).
var tempTextFields = [UIView]()
// Getting all siblings
if let siblings = superview?.subviews {
for textField in siblings {
if textField._IQcanBecomeFirstResponder() == true {
tempTextFields.append(textField)
}
}
}
return tempTextFields
}
/**
Returns all deep subViews of the receiver which canBecomeFirstResponder.
*/
public func deepResponderViews()->[UIView] {
//Array of (UITextField/UITextView's).
var textfields = [UIView]()
for textField in subviews {
if textField._IQcanBecomeFirstResponder() == true {
textfields.append(textField)
//Sometimes there are hidden or disabled views and textField inside them still recorded, so we added some more validations here (Bug ID:
} else if textField.subviews.count != 0 && userInteractionEnabled == true && hidden == false && alpha != 0.0 {
for deepView in textField.deepResponderViews() {
textfields.append(deepView)
}
}
}
//subviews are returning in opposite order. Sorting according the frames 'y'.
return textfields.sort({ (view1 : UIView, view2 : UIView) -> Bool in
let frame1 = view1.convertRect(view1.bounds, toView: self)
let frame2 = view2.convertRect(view2.bounds, toView: self)
let x1 = CGRectGetMinX(frame1)
let y1 = CGRectGetMinY(frame1)
let x2 = CGRectGetMinX(frame2)
let y2 = CGRectGetMinY(frame2)
if y1 != y2 {
return y1 < y2
} else {
return x1 < x2
}
})
}
private func _IQcanBecomeFirstResponder() -> Bool {
objc_setAssociatedObject(self, &kIQIsAskingCanBecomeFirstResponder, true, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
var _IQcanBecomeFirstResponder = (canBecomeFirstResponder() == true && userInteractionEnabled == true && hidden == false && alpha != 0.0 && isAlertViewTextField() == false && isSearchBarTextField() == false) as Bool
if _IQcanBecomeFirstResponder == true {
// Setting toolbar to keyboard.
if let textField = self as? UITextField {
_IQcanBecomeFirstResponder = textField.enabled
} else if let textView = self as? UITextView {
_IQcanBecomeFirstResponder = textView.editable
}
}
objc_setAssociatedObject(self, &kIQIsAskingCanBecomeFirstResponder, false, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
return _IQcanBecomeFirstResponder
}
///-------------------------
/// MARK: Special TextFields
///-------------------------
/**
Returns YES if the receiver object is UISearchBarTextField, otherwise return NO.
*/
public func isSearchBarTextField()-> Bool {
struct InternalClass {
static var UISearchBarTextFieldClass: AnyClass? = NSClassFromString("UISearchBarTextField") //UISearchBar
}
return (InternalClass.UISearchBarTextFieldClass != nil && isKindOfClass(InternalClass.UISearchBarTextFieldClass!)) || self is UISearchBar
}
/**
Returns YES if the receiver object is UIAlertSheetTextField, otherwise return NO.
*/
public func isAlertViewTextField()->Bool {
struct InternalClass {
static var UIAlertSheetTextFieldClass: AnyClass? = NSClassFromString("UIAlertSheetTextField") //UIAlertView
static var UIAlertSheetTextFieldClass_iOS8: AnyClass? = NSClassFromString("_UIAlertControllerTextField") //UIAlertView
}
return (InternalClass.UIAlertSheetTextFieldClass != nil && isKindOfClass(InternalClass.UIAlertSheetTextFieldClass!)) ||
(InternalClass.UIAlertSheetTextFieldClass_iOS8 != nil && isKindOfClass(InternalClass.UIAlertSheetTextFieldClass_iOS8!))
}
///----------------
/// MARK: Transform
///----------------
/**
Returns current view transform with respect to the 'toView'.
*/
public func convertTransformToView(toView:UIView?)->CGAffineTransform {
var newView = toView
if newView == nil {
newView = window
}
//My Transform
var myTransform = CGAffineTransformIdentity
if let superView = superview {
myTransform = CGAffineTransformConcat(transform, superView.convertTransformToView(nil))
} else {
myTransform = transform
}
var viewTransform = CGAffineTransformIdentity
//view Transform
if let unwrappedToView = newView {
if let unwrappedSuperView = unwrappedToView.superview {
viewTransform = CGAffineTransformConcat(unwrappedToView.transform, unwrappedSuperView.convertTransformToView(nil))
}
else {
viewTransform = unwrappedToView.transform
}
}
//Concating MyTransform and ViewTransform
return CGAffineTransformConcat(myTransform, CGAffineTransformInvert(viewTransform))
}
///-----------------
/// TODO: Hierarchy
///-----------------
// /**
// Returns a string that represent the information about it's subview's hierarchy. You can use this method to debug the subview's positions.
// */
// func subHierarchy()->NSString {
//
// }
//
// /**
// Returns an string that represent the information about it's upper hierarchy. You can use this method to debug the superview's positions.
// */
// func superHierarchy()->NSString {
//
// }
//
// /**
// Returns an string that represent the information about it's frame positions. You can use this method to debug self positions.
// */
// func debugHierarchy()->NSString {
//
// }
private func depth()->Int {
var depth : Int = 0
if let superView = superview {
depth = superView.depth()+1
}
return depth
}
}
extension NSObject {
public func _IQDescription() -> String {
return "<\(self) \(unsafeAddressOf(self))>"
}
}

View File

@ -0,0 +1,45 @@
//
// IQUIViewController+Additions.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
private var kIQLayoutGuideConstraint = "kIQLayoutGuideConstraint"
public extension UIViewController {
/**
To set customized distance from keyboard for textField/textView. Can't be less than zero
*/
@IBOutlet public var IQLayoutGuideConstraint: NSLayoutConstraint? {
get {
return objc_getAssociatedObject(self, &kIQLayoutGuideConstraint) as? NSLayoutConstraint
}
set(newValue) {
objc_setAssociatedObject(self, &kIQLayoutGuideConstraint, newValue,objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}

View File

@ -0,0 +1,53 @@
//
// IQUIWindow+Hierarchy.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
/** @abstract UIWindow hierarchy category. */
public extension UIWindow {
/** @return Returns the current Top Most ViewController in hierarchy. */
override public func topMostController()->UIViewController? {
var topController = rootViewController
while let presentedController = topController?.presentedViewController {
topController = presentedController
}
return topController
}
/** @return Returns the topViewController in stack of topMostController. */
public func currentViewController()->UIViewController? {
var currentViewController = topMostController()
while currentViewController != nil && currentViewController is UINavigationController && (currentViewController as! UINavigationController).topViewController != nil {
currentViewController = (currentViewController as! UINavigationController).topViewController
}
return currentViewController
}
}

View File

@ -0,0 +1,120 @@
//
// IQKeyboardManagerConstants.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
///-----------------------------------
/// MARK: IQAutoToolbarManageBehaviour
///-----------------------------------
/**
`IQAutoToolbarBySubviews`
Creates Toolbar according to subview's hirarchy of Textfield's in view.
`IQAutoToolbarByTag`
Creates Toolbar according to tag property of TextField's.
`IQAutoToolbarByPosition`
Creates Toolbar according to the y,x position of textField in it's superview coordinate.
*/
public enum IQAutoToolbarManageBehaviour : Int {
case BySubviews
case ByTag
case ByPosition
}
/*
/---------------------------------------------------------------------------------------------------\
\---------------------------------------------------------------------------------------------------/
| iOS NSNotification Mechanism |
/---------------------------------------------------------------------------------------------------\
\---------------------------------------------------------------------------------------------------/
------------------------------------------------------------
When UITextField become first responder
------------------------------------------------------------
- UITextFieldTextDidBeginEditingNotification (UITextField)
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
------------------------------------------------------------
When UITextView become first responder
------------------------------------------------------------
- UIKeyboardWillShowNotification
- UITextViewTextDidBeginEditingNotification (UITextView)
- UIKeyboardDidShowNotification
------------------------------------------------------------
When switching focus from UITextField to another UITextField
------------------------------------------------------------
- UITextFieldTextDidEndEditingNotification (UITextField1)
- UITextFieldTextDidBeginEditingNotification (UITextField2)
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
------------------------------------------------------------
When switching focus from UITextView to another UITextView
------------------------------------------------------------
- UITextViewTextDidEndEditingNotification : (UITextView1)
- UIKeyboardWillShowNotification
- UITextViewTextDidBeginEditingNotification : (UITextView2)
- UIKeyboardDidShowNotification
------------------------------------------------------------
When switching focus from UITextField to UITextView
------------------------------------------------------------
- UITextFieldTextDidEndEditingNotification (UITextField)
- UIKeyboardWillShowNotification
- UITextViewTextDidBeginEditingNotification (UITextView)
- UIKeyboardDidShowNotification
------------------------------------------------------------
When switching focus from UITextView to UITextField
------------------------------------------------------------
- UITextViewTextDidEndEditingNotification (UITextView)
- UITextFieldTextDidBeginEditingNotification (UITextField)
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
------------------------------------------------------------
When opening/closing UIKeyboard Predictive bar
------------------------------------------------------------
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
------------------------------------------------------------
On orientation change
------------------------------------------------------------
- UIApplicationWillChangeStatusBarOrientationNotification
- UIKeyboardWillHideNotification
- UIKeyboardDidHideNotification
- UIApplicationDidChangeStatusBarOrientationNotification
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
*/

View File

@ -0,0 +1,45 @@
//
// IQKeyboardManagerConstantsInternal.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
///-----------------------------------
/// MARK: IQLayoutGuidePosition
///-----------------------------------
/**
`IQLayoutGuidePositionNone`
If there are no IQLayoutGuideConstraint associated with viewController
`IQLayoutGuidePositionTop`
If provided IQLayoutGuideConstraint is associated with with viewController topLayoutGuide
`IQLayoutGuidePositionBottom`
If provided IQLayoutGuideConstraint is associated with with viewController bottomLayoutGuide
*/
enum IQLayoutGuidePosition : Int {
case None
case Top
case Bottom
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,469 @@
//
// IQKeyboardReturnKeyHandler.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
/**
Manages the return key to work like next/done in a view hierarchy.
*/
public class IQKeyboardReturnKeyHandler: NSObject , UITextFieldDelegate, UITextViewDelegate {
///---------------
/// MARK: Settings
///---------------
/**
Delegate of textField/textView.
*/
public var delegate: protocol<UITextFieldDelegate, UITextViewDelegate>?
/**
Set the last textfield return key type. Default is UIReturnKeyDefault.
*/
public var lastTextFieldReturnKeyType : UIReturnKeyType = UIReturnKeyType.Default {
didSet {
for infoDict in textFieldInfoCache {
if let view = infoDict.objectForKey(kIQTextField) as? UIView {
updateReturnKeyTypeOnTextField(view)
}
}
}
}
///--------------------------------------
/// MARK: Initialization/Deinitialization
///--------------------------------------
public override init() {
super.init()
}
/**
Add all the textFields available in UIViewController's view.
*/
public init(controller : UIViewController) {
super.init()
addResponderFromView(controller.view)
}
deinit {
for infoDict in textFieldInfoCache {
let view : AnyObject = infoDict.objectForKey(kIQTextField)!
if let textField = view as? UITextField {
let returnKeyTypeValue = infoDict[kIQTextFieldReturnKeyType] as! NSNumber
textField.returnKeyType = UIReturnKeyType(rawValue: returnKeyTypeValue.integerValue)!
textField.delegate = infoDict[kIQTextFieldDelegate] as! UITextFieldDelegate?
} else if let textView = view as? UITextView {
textView.returnKeyType = UIReturnKeyType(rawValue: (infoDict[kIQTextFieldReturnKeyType] as! NSNumber).integerValue)!
let returnKeyTypeValue = infoDict[kIQTextFieldReturnKeyType] as! NSNumber
textView.returnKeyType = UIReturnKeyType(rawValue: returnKeyTypeValue.integerValue)!
textView.delegate = infoDict[kIQTextFieldDelegate] as! UITextViewDelegate?
}
}
textFieldInfoCache.removeAllObjects()
}
///------------------------
/// MARK: Private variables
///------------------------
private var textFieldInfoCache = NSMutableSet()
private let kIQTextField = "kIQTextField"
private let kIQTextFieldDelegate = "kIQTextFieldDelegate"
private let kIQTextFieldReturnKeyType = "kIQTextFieldReturnKeyType"
///------------------------
/// MARK: Private Functions
///------------------------
private func textFieldCachedInfo(textField : UIView) -> [String : AnyObject]? {
for infoDict in textFieldInfoCache {
if infoDict.objectForKey(kIQTextField) as! NSObject == textField {
return infoDict as? [String : AnyObject]
}
}
return nil
}
private func updateReturnKeyTypeOnTextField(view : UIView)
{
var superConsideredView : UIView?
//If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
for disabledClass in IQKeyboardManager.sharedManager().toolbarPreviousNextAllowedClasses {
superConsideredView = view.superviewOfClassType(disabledClass)
if superConsideredView != nil {
break
}
}
var textFields : [UIView]?
//If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
if let unwrappedTableView = superConsideredView { // (Enhancement ID: #22)
textFields = unwrappedTableView.deepResponderViews()
} else { //Otherwise fetching all the siblings
textFields = view.responderSiblings()
//Sorting textFields according to behaviour
switch IQKeyboardManager.sharedManager().toolbarManageBehaviour {
//If needs to sort it by tag
case .ByTag: textFields = textFields?.sortedArrayByTag()
//If needs to sort it by Position
case .ByPosition: textFields = textFields?.sortedArrayByPosition()
default: break
}
}
if let lastView = textFields?.last {
if let textField = view as? UITextField {
//If it's the last textField in responder view, else next
textField.returnKeyType = (view == lastView) ? lastTextFieldReturnKeyType : UIReturnKeyType.Next
} else if let textView = view as? UITextView {
//If it's the last textField in responder view, else next
textView.returnKeyType = (view == lastView) ? lastTextFieldReturnKeyType : UIReturnKeyType.Next
}
}
}
///----------------------------------------------
/// MARK: Registering/Unregistering textFieldView
///----------------------------------------------
/**
Should pass UITextField/UITextView intance. Assign textFieldView delegate to self, change it's returnKeyType.
@param textFieldView UITextField/UITextView object to register.
*/
public func addTextFieldView(view : UIView) {
var dictInfo : [String : AnyObject] = [String : AnyObject]()
dictInfo[kIQTextField] = view
if let textField = view as? UITextField {
dictInfo[kIQTextFieldReturnKeyType] = textField.returnKeyType.rawValue
if let textFieldDelegate = textField.delegate {
dictInfo[kIQTextFieldDelegate] = textFieldDelegate
}
textField.delegate = self
} else if let textView = view as? UITextView {
dictInfo[kIQTextFieldReturnKeyType] = textView.returnKeyType.rawValue
if let textViewDelegate = textView.delegate {
dictInfo[kIQTextFieldDelegate] = textViewDelegate
}
textView.delegate = self
}
textFieldInfoCache.addObject(dictInfo)
}
/**
Should pass UITextField/UITextView intance. Restore it's textFieldView delegate and it's returnKeyType.
@param textFieldView UITextField/UITextView object to unregister.
*/
public func removeTextFieldView(view : UIView) {
if let dict : [String : AnyObject] = textFieldCachedInfo(view) {
if let textField = view as? UITextField {
let returnKeyTypeValue = dict[kIQTextFieldReturnKeyType] as! NSNumber
textField.returnKeyType = UIReturnKeyType(rawValue: returnKeyTypeValue.integerValue)!
textField.delegate = dict[kIQTextFieldDelegate] as! UITextFieldDelegate?
} else if let textView = view as? UITextView {
let returnKeyTypeValue = dict[kIQTextFieldReturnKeyType] as! NSNumber
textView.returnKeyType = UIReturnKeyType(rawValue: returnKeyTypeValue.integerValue)!
textView.delegate = dict[kIQTextFieldDelegate] as! UITextViewDelegate?
}
textFieldInfoCache.removeObject(dict)
}
}
/**
Add all the UITextField/UITextView responderView's.
@param UIView object to register all it's responder subviews.
*/
public func addResponderFromView(view : UIView) {
let textFields = view.deepResponderViews()
for textField in textFields {
addTextFieldView(textField)
}
}
/**
Remove all the UITextField/UITextView responderView's.
@param UIView object to unregister all it's responder subviews.
*/
public func removeResponderFromView(view : UIView) {
let textFields = view.deepResponderViews()
for textField in textFields {
removeTextFieldView(textField)
}
}
private func goToNextResponderOrResign(view : UIView) -> Bool {
var superConsideredView : UIView?
//If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
for disabledClass in IQKeyboardManager.sharedManager().toolbarPreviousNextAllowedClasses {
superConsideredView = view.superviewOfClassType(disabledClass)
if superConsideredView != nil {
break
}
}
var textFields : [UIView]?
//If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
if let unwrappedTableView = superConsideredView { // (Enhancement ID: #22)
textFields = unwrappedTableView.deepResponderViews()
} else { //Otherwise fetching all the siblings
textFields = view.responderSiblings()
//Sorting textFields according to behaviour
switch IQKeyboardManager.sharedManager().toolbarManageBehaviour {
//If needs to sort it by tag
case .ByTag: textFields = textFields?.sortedArrayByTag()
//If needs to sort it by Position
case .ByPosition: textFields = textFields?.sortedArrayByPosition()
default:
break
}
}
if let unwrappedTextFields = textFields {
//Getting index of current textField.
if let index = unwrappedTextFields.indexOf(view) {
//If it is not last textField. then it's next object becomeFirstResponder.
if index < (unwrappedTextFields.count - 1) {
let nextTextField = unwrappedTextFields[index+1]
nextTextField.becomeFirstResponder()
return false;
} else {
view.resignFirstResponder()
return true;
}
} else {
return true;
}
} else {
return true;
}
}
///----------------------------------------------
/// MARK: UITextField/UITextView delegates
///----------------------------------------------
public func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
if delegate?.respondsToSelector(#selector(UITextFieldDelegate.textFieldShouldBeginEditing(_:))) != nil {
return (delegate?.textFieldShouldBeginEditing?(textField) == true)
} else {
return true
}
}
public func textFieldShouldEndEditing(textField: UITextField) -> Bool {
if delegate?.respondsToSelector(#selector(UITextFieldDelegate.textFieldShouldEndEditing(_:))) != nil {
return (delegate?.textFieldShouldEndEditing?(textField) == true)
} else {
return true
}
}
public func textFieldDidBeginEditing(textField: UITextField) {
updateReturnKeyTypeOnTextField(textField)
delegate?.textFieldShouldBeginEditing?(textField)
}
public func textFieldDidEndEditing(textField: UITextField) {
delegate?.textFieldDidEndEditing?(textField)
}
public func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if delegate?.respondsToSelector(#selector(UITextFieldDelegate.textField(_:shouldChangeCharactersInRange:replacementString:))) != nil {
return (delegate?.textField?(textField, shouldChangeCharactersInRange: range, replacementString: string) == true)
} else {
return true
}
}
public func textFieldShouldClear(textField: UITextField) -> Bool {
if delegate?.respondsToSelector(#selector(UITextFieldDelegate.textFieldShouldClear(_:))) != nil {
return (delegate?.textFieldShouldClear?(textField) == true)
} else {
return true
}
}
public func textFieldShouldReturn(textField: UITextField) -> Bool {
if delegate?.respondsToSelector(#selector(UITextFieldDelegate.textFieldShouldReturn(_:))) != nil {
let shouldReturn = (delegate?.textFieldShouldReturn?(textField) == true)
if shouldReturn == true {
goToNextResponderOrResign(textField)
}
return shouldReturn
} else {
return goToNextResponderOrResign(textField)
}
}
public func textViewShouldBeginEditing(textView: UITextView) -> Bool {
if delegate?.respondsToSelector(#selector(UITextViewDelegate.textViewShouldBeginEditing(_:))) != nil {
return (delegate?.textViewShouldBeginEditing?(textView) == true)
} else {
return true
}
}
public func textViewShouldEndEditing(textView: UITextView) -> Bool {
if delegate?.respondsToSelector(#selector(UITextViewDelegate.textViewShouldEndEditing(_:))) != nil {
return (delegate?.textViewShouldEndEditing?(textView) == true)
} else {
return true
}
}
public func textViewDidBeginEditing(textView: UITextView) {
updateReturnKeyTypeOnTextField(textView)
delegate?.textViewDidBeginEditing?(textView)
}
public func textViewDidEndEditing(textView: UITextView) {
delegate?.textViewDidEndEditing?(textView)
}
public func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
var shouldReturn = true
if delegate?.respondsToSelector(#selector(UITextViewDelegate.textView(_:shouldChangeTextInRange:replacementText:))) != nil {
shouldReturn = ((delegate?.textView?(textView, shouldChangeTextInRange: range, replacementText: text)) == true)
}
if shouldReturn == true && text == "\n" {
shouldReturn = goToNextResponderOrResign(textView)
}
return shouldReturn
}
public func textViewDidChange(textView: UITextView) {
delegate?.textViewDidChange?(textView)
}
public func textViewDidChangeSelection(textView: UITextView) {
delegate?.textViewDidChangeSelection?(textView)
}
public func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool {
if delegate?.respondsToSelector(#selector(UITextViewDelegate.textView(_:shouldInteractWithURL:inRange:))) != nil {
return ((delegate?.textView?(textView, shouldInteractWithURL: URL, inRange: characterRange)) == true)
} else {
return true
}
}
public func textView(textView: UITextView, shouldInteractWithTextAttachment textAttachment: NSTextAttachment, inRange characterRange: NSRange) -> Bool {
if delegate?.respondsToSelector(#selector(UITextViewDelegate.textView(_:shouldInteractWithTextAttachment:inRange:))) != nil {
return ((delegate?.textView?(textView, shouldInteractWithTextAttachment: textAttachment, inRange: characterRange)) == true)
} else {
return true
}
}
}

View File

@ -0,0 +1,134 @@
//
// IQTextView.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
/** @abstract UITextView with placeholder support */
public class IQTextView : UITextView {
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.refreshPlaceholder), name: UITextViewTextDidChangeNotification, object: self)
}
override init(frame: CGRect, textContainer: NSTextContainer?) {
super.init(frame: frame, textContainer: textContainer)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.refreshPlaceholder), name: UITextViewTextDidChangeNotification, object: self)
}
override public func awakeFromNib() {
super.awakeFromNib()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.refreshPlaceholder), name: UITextViewTextDidChangeNotification, object: self)
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
private var placeholderLabel: UILabel?
/** @abstract To set textView's placeholder text. Default is ni. */
@IBInspectable public var placeholder : String? {
get {
return placeholderLabel?.text
}
set {
if placeholderLabel == nil {
placeholderLabel = UILabel()
if let unwrappedPlaceholderLabel = placeholderLabel {
unwrappedPlaceholderLabel.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
unwrappedPlaceholderLabel.lineBreakMode = .ByWordWrapping
unwrappedPlaceholderLabel.numberOfLines = 0
unwrappedPlaceholderLabel.font = self.font
unwrappedPlaceholderLabel.backgroundColor = UIColor.clearColor()
unwrappedPlaceholderLabel.textColor = UIColor(white: 0.7, alpha: 1.0)
unwrappedPlaceholderLabel.alpha = 0
addSubview(unwrappedPlaceholderLabel)
}
}
placeholderLabel?.text = newValue
refreshPlaceholder()
}
}
public override func layoutSubviews() {
super.layoutSubviews()
if let unwrappedPlaceholderLabel = placeholderLabel {
unwrappedPlaceholderLabel.sizeToFit()
unwrappedPlaceholderLabel.frame = CGRectMake(8, 8, CGRectGetWidth(self.frame)-16, CGRectGetHeight(unwrappedPlaceholderLabel.frame))
}
}
public func refreshPlaceholder() {
if text.characters.count != 0 {
placeholderLabel?.alpha = 0
} else {
placeholderLabel?.alpha = 1
}
}
override public var text: String! {
didSet {
refreshPlaceholder()
}
}
override public var font : UIFont? {
didSet {
if let unwrappedFont = font {
placeholderLabel?.font = unwrappedFont
} else {
placeholderLabel?.font = UIFont.systemFontOfSize(12)
}
}
}
override public var delegate : UITextViewDelegate? {
get {
refreshPlaceholder()
return super.delegate
}
set {
super.delegate = newValue
}
}
}

View File

@ -0,0 +1,79 @@
//
// IQBarButtonItem.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
public class IQBarButtonItem: UIBarButtonItem {
override public class func initialize() {
superclass()?.initialize()
//Tint color
self.appearance().tintColor = nil
//Title
self.appearance().setTitlePositionAdjustment(UIOffsetZero, forBarMetrics: UIBarMetrics.Default)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Normal)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Highlighted)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Disabled)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Selected)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Application)
self.appearance().setTitleTextAttributes(nil, forState: UIControlState.Reserved)
//Background Image
self.appearance().setBackgroundImage(nil, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Highlighted, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Disabled, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Selected, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Application, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Reserved, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Normal, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Highlighted, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Disabled, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Selected, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Application, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Reserved, style: UIBarButtonItemStyle.Done, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Normal, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Highlighted, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Disabled, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Selected, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Application, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forState: UIControlState.Reserved, style: UIBarButtonItemStyle.Plain, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundVerticalPositionAdjustment(0, forBarMetrics: UIBarMetrics.Default)
//Back Button
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Highlighted, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Disabled, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Selected, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Application, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundImage(nil, forState: UIControlState.Reserved, barMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonTitlePositionAdjustment(UIOffsetZero, forBarMetrics: UIBarMetrics.Default)
self.appearance().setBackButtonBackgroundVerticalPositionAdjustment(0, forBarMetrics: UIBarMetrics.Default)
}
}

View File

@ -0,0 +1,28 @@
//
// IQPreviousNextView.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
public class IQPreviousNextView: UIView {
}

View File

@ -0,0 +1,144 @@
//
// IQTitleBarButtonItem.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
private var kIQBarTitleInvocationTarget = "kIQBarTitleInvocationTarget"
private var kIQBarTitleInvocationSelector = "kIQBarTitleInvocationSelector"
public class IQTitleBarButtonItem: IQBarButtonItem {
public var font : UIFont? {
didSet {
if let unwrappedFont = font {
_titleButton?.titleLabel?.font = unwrappedFont
} else {
_titleButton?.titleLabel?.font = UIFont.systemFontOfSize(13)
}
}
}
override public var title: String? {
didSet {
_titleButton?.setTitle(title, forState: .Normal)
}
}
/**
selectableTextColor to be used for displaying button text when button is enabled.
*/
public var selectableTextColor : UIColor? {
didSet {
if let color = selectableTextColor {
_titleButton?.setTitleColor(color, forState:.Normal)
} else {
_titleButton?.setTitleColor(UIColor.init(colorLiteralRed: 0.0, green: 0.5, blue: 1.0, alpha: 1), forState:.Normal)
}
}
}
/**
Optional target & action to behave toolbar title button as clickable button
@param target Target object.
@param action Target Selector.
*/
public func setTitleTarget(target: AnyObject?, action: Selector?) {
titleInvocation = (target, action)
}
/**
Customized Invocation to be called on title button action. titleInvocation is internally created using setTitleTarget:action: method.
*/
public var titleInvocation : (target: AnyObject?, action: Selector?) {
get {
let target: AnyObject? = objc_getAssociatedObject(self, &kIQBarTitleInvocationTarget)
var action : Selector?
if let selectorString = objc_getAssociatedObject(self, &kIQBarTitleInvocationSelector) as? String {
action = NSSelectorFromString(selectorString)
}
return (target: target, action: action)
}
set(newValue) {
objc_setAssociatedObject(self, &kIQBarTitleInvocationTarget, newValue.target, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
if let unwrappedSelector = newValue.action {
objc_setAssociatedObject(self, &kIQBarTitleInvocationSelector, NSStringFromSelector(unwrappedSelector), objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
} else {
objc_setAssociatedObject(self, &kIQBarTitleInvocationSelector, nil, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
if (newValue.target == nil || newValue.action == nil)
{
self.enabled = false
_titleButton?.enabled = false
_titleButton?.removeTarget(nil, action: nil, forControlEvents: .TouchUpInside)
}
else
{
self.enabled = true
_titleButton?.enabled = true
_titleButton?.addTarget(newValue.target, action: newValue.action!, forControlEvents: .TouchUpInside)
}
}
}
private var _titleButton : UIButton?
private var _titleView : UIView?
override init() {
super.init()
}
init(title : String?) {
self.init(title: nil, style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
_titleView = UIView()
_titleView?.backgroundColor = UIColor.clearColor()
_titleView?.autoresizingMask = [.FlexibleWidth,.FlexibleHeight]
_titleButton = UIButton(type: .System)
_titleButton?.enabled = false
_titleButton?.titleLabel?.numberOfLines = 3
_titleButton?.setTitleColor(UIColor.lightGrayColor(), forState:.Disabled)
_titleButton?.setTitleColor(UIColor.init(colorLiteralRed: 0.0, green: 0.5, blue: 1.0, alpha: 1), forState:.Normal)
_titleButton?.backgroundColor = UIColor.clearColor()
_titleButton?.titleLabel?.textAlignment = .Center
_titleButton?.setTitle(title, forState: .Normal)
_titleButton?.autoresizingMask = [.FlexibleWidth,.FlexibleHeight]
font = UIFont.systemFontOfSize(13.0)
_titleButton?.titleLabel?.font = self.font
_titleView?.addSubview(_titleButton!)
customView = _titleView
}
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}

View File

@ -0,0 +1,262 @@
//
// IQToolbar.swift
// https://github.com/hackiftekhar/IQKeyboardManager
// Copyright (c) 2013-16 Iftekhar Qurashi.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
private var kIQToolbarTitleInvocationTarget = "kIQToolbarTitleInvocationTarget"
private var kIQToolbarTitleInvocationSelector = "kIQToolbarTitleInvocationSelector"
/** @abstract IQToolbar for IQKeyboardManager. */
public class IQToolbar: UIToolbar , UIInputViewAudioFeedback {
override public class func initialize() {
superclass()?.initialize()
self.appearance().barTintColor = nil
//Background image
self.appearance().setBackgroundImage(nil, forToolbarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forToolbarPosition: UIBarPosition.Bottom, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forToolbarPosition: UIBarPosition.Top, barMetrics: UIBarMetrics.Default)
self.appearance().setBackgroundImage(nil, forToolbarPosition: UIBarPosition.TopAttached, barMetrics: UIBarMetrics.Default)
self.appearance().setShadowImage(nil, forToolbarPosition: UIBarPosition.Any)
self.appearance().setShadowImage(nil, forToolbarPosition: UIBarPosition.Bottom)
self.appearance().setShadowImage(nil, forToolbarPosition: UIBarPosition.Top)
self.appearance().setShadowImage(nil, forToolbarPosition: UIBarPosition.TopAttached)
//Background color
self.appearance().backgroundColor = nil
}
public var titleFont : UIFont? {
didSet {
if let newItems = items {
for item in newItems {
if let newItem = item as? IQTitleBarButtonItem {
newItem.font = titleFont
break
}
}
}
}
}
public var title : String? {
didSet {
if let newItems = items {
for item in newItems {
if let newItem = item as? IQTitleBarButtonItem {
newItem.title = title
break
}
}
}
}
}
public var doneTitle : String?
public var doneImage : UIImage?
/**
Optional target & action to behave toolbar title button as clickable button
@param target Target object.
@param action Target Selector.
*/
public func setCustomToolbarTitleTarget(target: AnyObject?, action: Selector?) {
toolbarTitleInvocation = (target, action)
}
/**
Customized Invocation to be called on title button action. titleInvocation is internally created using setTitleTarget:action: method.
*/
public var toolbarTitleInvocation : (target: AnyObject?, action: Selector?) {
get {
let target: AnyObject? = objc_getAssociatedObject(self, &kIQToolbarTitleInvocationTarget)
var action : Selector?
if let selectorString = objc_getAssociatedObject(self, &kIQToolbarTitleInvocationSelector) as? String {
action = NSSelectorFromString(selectorString)
}
return (target: target, action: action)
}
set(newValue) {
objc_setAssociatedObject(self, &kIQToolbarTitleInvocationTarget, newValue.target, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
if let unwrappedSelector = newValue.action {
objc_setAssociatedObject(self, &kIQToolbarTitleInvocationSelector, NSStringFromSelector(unwrappedSelector), objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
} else {
objc_setAssociatedObject(self, &kIQToolbarTitleInvocationSelector, nil, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
if let unwrappedItems = items {
for item in unwrappedItems {
if let newItem = item as? IQTitleBarButtonItem {
newItem.titleInvocation = newValue
break
}
}
}
}
}
override init(frame: CGRect) {
super.init(frame: frame)
sizeToFit()
autoresizingMask = UIViewAutoresizing.FlexibleWidth
tintColor = UIColor .blackColor()
self.translucent = true
}
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sizeToFit()
autoresizingMask = UIViewAutoresizing.FlexibleWidth
tintColor = UIColor .blackColor()
self.translucent = true
}
override public func sizeThatFits(size: CGSize) -> CGSize {
var sizeThatFit = super.sizeThatFits(size)
sizeThatFit.height = 44
return sizeThatFit
}
override public var tintColor: UIColor! {
didSet {
if let unwrappedItems = items {
for item in unwrappedItems {
item.tintColor = tintColor
}
}
}
}
override public var barStyle: UIBarStyle {
didSet {
if let unwrappedItems = items {
for item in unwrappedItems {
if let newItem = item as? IQTitleBarButtonItem {
if barStyle == .Default {
newItem.selectableTextColor = UIColor.init(colorLiteralRed: 0.0, green: 0.5, blue: 1.0, alpha: 1)
} else {
newItem.selectableTextColor = UIColor.yellowColor()
}
break
}
}
}
}
}
override public func layoutSubviews() {
super.layoutSubviews()
struct InternalClass {
static var IQUIToolbarTextButtonClass: AnyClass? = NSClassFromString("UIToolbarTextButton")
static var IQUIToolbarButtonClass: AnyClass? = NSClassFromString("UIToolbarButton")
}
var leftRect = CGRectNull
var rightRect = CGRectNull
var isTitleBarButtonFound = false
let sortedSubviews = self.subviews.sort({ (view1 : UIView, view2 : UIView) -> Bool in
let x1 = CGRectGetMinX(view1.frame)
let y1 = CGRectGetMinY(view1.frame)
let x2 = CGRectGetMinX(view2.frame)
let y2 = CGRectGetMinY(view2.frame)
if x1 != x2 {
return x1 < x2
} else {
return y1 < y2
}
})
for barButtonItemView in sortedSubviews {
if (isTitleBarButtonFound == true)
{
rightRect = barButtonItemView.frame
break
}
else if (barButtonItemView.dynamicType === UIView.self)
{
isTitleBarButtonFound = true
}
else if ((InternalClass.IQUIToolbarTextButtonClass != nil && barButtonItemView.isKindOfClass(InternalClass.IQUIToolbarTextButtonClass!) == true) || (InternalClass.IQUIToolbarButtonClass != nil && barButtonItemView.isKindOfClass(InternalClass.IQUIToolbarButtonClass!) == true))
{
leftRect = barButtonItemView.frame
}
}
var x : CGFloat = 16
if (CGRectIsNull(leftRect) == false)
{
x = CGRectGetMaxX(leftRect) + 16
}
let width : CGFloat = CGRectGetWidth(self.frame) - 32 - (CGRectIsNull(leftRect) ? 0 : CGRectGetMaxX(leftRect)) - (CGRectIsNull(rightRect) ? 0 : CGRectGetWidth(self.frame) - CGRectGetMinX(rightRect))
if let unwrappedItems = items {
for item in unwrappedItems {
if let newItem = item as? IQTitleBarButtonItem {
let titleRect = CGRectMake(x, 0, width, self.frame.size.height)
newItem.customView?.frame = titleRect
break
}
}
}
}
public var enableInputClicksWhenVisible: Bool {
return true
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,13 @@
"enabled" = "aktiviert";
"disabled" = "deaktiviert";
"already disabled" = "bereits deaktiviert";
"already enabled" = "bereits aktiviert";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Sie müssen im AppDelegate UIWindow.rootViewController setzen um mit IQKeyboardManager zu arbeiten";
"Previous" = "Zurück";
"Next" = "Vor";

View File

@ -0,0 +1,13 @@
"enabled" = "enabled";
"disabled" = "disabled";
"already disabled" = "already disabled";
"already enabled" = "already enabled";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager";
"Previous" = "Previous";
"Next" = "Next";

View File

@ -0,0 +1,14 @@
"enabled" = "activado";
"disabled" = "desactivado";
"already disabled" = "ya está desactivado";
"already enabled" = "ya está activado";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Debe establecer UIWindow.rootViewController en su AppDelegate para trabajar con IQKeyboardManager";
"Previous" = "Anterior";
"Next" = "Siguiente";

View File

@ -0,0 +1,13 @@
"enabled" = "activé";
"disabled" = "désactivé";
"already disabled" = "déjà désactivé";
"already enabled" = "déjà activé";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Vous devez définir UIWindow.rootViewController dans votre AppDelegate pour IQKeyboardManager fonctionne";
"Previous" = "Précédent";
"Next" = "Suivant";

View File

@ -0,0 +1,13 @@
"enabled" = "开启";
"disabled" = "关闭";
"already disabled" = "已经开启";
"already enabled" = "已经关闭";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "为了使用IQKeyboardManager必须在你的 AppDelegate 中设置 UIWindow.rootViewController。";
"Previous" = "前一个";
"Next" = "下一个";

View File

@ -0,0 +1,13 @@
"enabled" = "開啟";
"disabled" = "關閉";
"already disabled" = "已經開啟";
"already enabled" = "已經關閉";
"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "為了使用IQKeyboardManager必須在妳的 AppDelegate 中設置 UIWindow.rootViewController。";
"Previous" = "前一個";
"Next" = "下一個";

24
Pods/IQKeyboardManagerSwift/LICENSE.md generated Normal file
View File

@ -0,0 +1,24 @@
IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

185
Pods/IQKeyboardManagerSwift/README.md generated Normal file
View File

@ -0,0 +1,185 @@
<p align="center">
<img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Demo/Resources/icon.png" alt="Icon"/>
</p>
<H1 align="center">IQKeyboardManager</H1>
<p align="center">
<img src="https://img.shields.io/github/license/hackiftekhar/IQKeyboardManager.svg"
alt="GitHub license"/>
[![Build Status](https://travis-ci.org/hackiftekhar/IQKeyboardManager.svg)](https://travis-ci.org/hackiftekhar/IQKeyboardManager)
[![Coverage Status](http://img.shields.io/coveralls/hackiftekhar/IQKeyboardManager/master.svg)](https://coveralls.io/r/hackiftekhar/IQKeyboardManager?branch=master)
[![Code Health](https://landscape.io/github/hackiftekhar/IQKeyboardManager/master/landscape.svg?style=flat)](https://landscape.io/github/hackiftekhar/IQKeyboardManager/master)
Often while developing an app, We ran into an issues where the iPhone keyboard slide up and cover the `UITextField/UITextView`. `IQKeyboardManager` allows you to prevent issues of the keyboard sliding up and cover `UITextField/UITextView` without needing you to enter any code and no additional setup required. To use `IQKeyboardManager` you simply need to add source files to your project.
####Key Features
[![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/pr?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager)
[![Issue Stats](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager/badge/issue?style=flat)](http://issuestats.com/github/hackiftekhar/iqkeyboardmanager)
1) `**CODELESS**, Zero Line Of Code`
2) `Works Automatically`
3) `No More UIScrollView`
4) `No More Subclasses`
5) `No More Manual Work`
6) `No More #imports`
`IQKeyboardManager` works on all orientations, and with the toolbar. There are also nice optional features allowing you to customize the distance from the text field, add the next/previous done button as a keyboard UIToolbar, play sounds when the user navigations through the form and more.
## Screenshot
[![IQKeyboardManager](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerScreenshot.png)](http://youtu.be/6nhLw6hju2A)
[![Settings](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerSettings.png)](http://youtu.be/6nhLw6hju2A)
## GIF animation
[![IQKeyboardManager](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManager.gif)](http://youtu.be/6nhLw6hju2A)
## Video
<a href="http://youtu.be/WAYc2Qj-OQg" target="_blank"><img src="http://img.youtube.com/vi/WAYc2Qj-OQg/0.jpg"
alt="IQKeyboardManager Demo Video" width="480" height="360" border="10" /></a>
## Warning
- **If you're planning to build SDK/library/framework and wants to handle UITextField/UITextView with IQKeyboardManager then you're totally going on wrong way.** I would never suggest to add IQKeyboardManager as dependency/adding/shipping with any third-party library, instead of adding IQKeyboardManager you should implement your custom solution to achieve same result. IQKeyboardManager is totally designed for projects to help developers for their convenience, it's not designed for adding/dependency/shipping with any third-party library, because **doing this could block adoption by other developers for their projects as well(who are not using IQKeyboardManager and implemented their custom solution to handle UITextField/UITextView throught the project).**
- If IQKeybaordManager conflicts with other third-party library, then it's developer responsibility to enable/disable IQKeyboardManager when presenting/dismissing third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager.
## Requirements
[![Platform iOS](https://img.shields.io/badge/Platform-iOS-blue.svg?style=fla)]()
#### IQKeyboardManager:-
[![Objective-c](https://img.shields.io/badge/Language-Objective C-blue.svg?style=flat)](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html)
Minimum iOS Target: iOS 8.0
Minimum Xcode Version: Xcode 6.0.1
#### IQKeyboardManagerSwift:-
[![Swift 2.2 compatible](https://img.shields.io/badge/Language-Swift2-blue.svg?style=flat)](https://developer.apple.com/swift)
Minimum iOS Target: iOS 8.0
Minimum Xcode Version: Xcode 7.3
#### Demo Project:-
Minimum Xcode Version: Xcode 7.3
Installation
==========================
#### Cocoapod Method:-
[![CocoaPods](https://img.shields.io/cocoapods/v/IQKeyboardManager.svg)](http://cocoadocs.org/docsets/IQKeyboardManager)
**Note:-** 3.3.7 is the last iOS 7 supported version.
***IQKeyboardManager (Objective-C):-*** IQKeyboardManager is available through [CocoaPods](http://cocoapods.org), to install
it simply add the following line to your Podfile: ([#9](https://github.com/hackiftekhar/IQKeyboardManager/issues/9))
`pod 'IQKeyboardManager'`
***IQKeyboardManager (Swift):-*** IQKeyboardManagerSwift is available through [CocoaPods](http://cocoapods.org), to install
it simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236))
*Swift 2.2 (Xcode 7.3)*
`pod 'IQKeyboardManagerSwift'`
*Or*
`pod 'IQKeyboardManagerSwift', '4.0.3'`
*Swift 2.1.1 (Xcode 7.2)* `pod 'IQKeyboardManagerSwift', '4.0.0'`
*Swift 2.0 (Xcode 7.0)* `pod 'IQKeyboardManagerSwift', '3.3.3.1'`
In AppDelegate.swift, just import IQKeyboardManagerSwift framework and enable IQKeyboardManager.
```swift
import IQKeyboardManagerSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
IQKeyboardManager.sharedManager().enable = true
return true
}
}
```
#### Source Code Method:-
[![Github tag](https://img.shields.io/github/tag/hackiftekhar/iqkeyboardmanager.svg)]()
***IQKeyboardManager (Objective-C):-*** Just ***drag and drop*** `IQKeyboardManager` directory from demo project to your project. That's it.
***IQKeyboardManager (Swift):-*** ***Drag and drop*** `IQKeyboardManagerSwift` directory from demo project to your project
In AppDelegate.swift, just enable IQKeyboardManager.
```swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
IQKeyboardManager.sharedManager().enable = true
return true
}
}
```
## Known Issues:-
You can find known issues list [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/KNOWN ISSUES.md).
Manual Management:-
---
You can find some manual management tweaks & examples [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/MANUAL MANAGEMENT.md).
## Control Flow Diagram
[![IQKeyboardManager CFD](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg)](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerCFD.jpg)
##Properties and functions usage:-
You can find some documentation about properties, methods and their uses [here](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/PROPERTIES & FUNCTIONS.md).
LICENSE
---
Distributed under the MIT License.
Contributions
---
Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.
Author
---
If you wish to contact me, email at: hack.iftekhar@gmail.com

5
Pods/Manifest.lock generated
View File

@ -82,6 +82,7 @@ PODS:
- GoogleSymbolUtilities (1.1.1) - GoogleSymbolUtilities (1.1.1)
- GoogleUtilities (1.3.1): - GoogleUtilities (1.3.1):
- GoogleSymbolUtilities (~> 1.0) - GoogleSymbolUtilities (~> 1.0)
- IQKeyboardManagerSwift (4.0.5)
- Locksmith (2.0.8) - Locksmith (2.0.8)
- OAuthSwift (0.5.2) - OAuthSwift (0.5.2)
- PicoKit (0.7.2): - PicoKit (0.7.2):
@ -114,6 +115,7 @@ DEPENDENCIES:
- Firebase/Database - Firebase/Database
- Firebase/Storage - Firebase/Storage
- FirebaseAuth - FirebaseAuth
- IQKeyboardManagerSwift (= 4.0.5)
- Locksmith - Locksmith
- OAuthSwift (~> 0.5.0) - OAuthSwift (~> 0.5.0)
- PicoKit - PicoKit
@ -144,6 +146,7 @@ SPEC CHECKSUMS:
GoogleParsingUtilities: 30b3896f9ee167dc78747f013d3de157ced1cadf GoogleParsingUtilities: 30b3896f9ee167dc78747f013d3de157ced1cadf
GoogleSymbolUtilities: 33117db1b5f290c6fbf259585e4885b4c84b98d7 GoogleSymbolUtilities: 33117db1b5f290c6fbf259585e4885b4c84b98d7
GoogleUtilities: 56c5ac05b7aa5dc417a1bb85221a9516e04d7032 GoogleUtilities: 56c5ac05b7aa5dc417a1bb85221a9516e04d7032
IQKeyboardManagerSwift: 41fd3a45a2cdb2a0e031af697708a95b865068a1
Locksmith: a8ed41ac4c06506ea8cb199d8ec8a8d3d108eb2a Locksmith: a8ed41ac4c06506ea8cb199d8ec8a8d3d108eb2a
OAuthSwift: 1ef042d4362e755e24a78f158d817245641a5d24 OAuthSwift: 1ef042d4362e755e24a78f158d817245641a5d24
PicoKit: 9079bce659a8d5408c8af1c45254b971df614de3 PicoKit: 9079bce659a8d5408c8af1c45254b971df614de3
@ -152,6 +155,6 @@ SPEC CHECKSUMS:
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
PODFILE CHECKSUM: 3b36a7c734809ee54f4ecf0055d9910a9279d555 PODFILE CHECKSUM: a5b9fc7936a4325a63c9d869e6f03bd79c28df5f
COCOAPODS: 1.0.0 COCOAPODS: 1.0.0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0700"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForAnalyzing = "YES"
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = 'primary'
BlueprintIdentifier = '1520003FEBEC114D6C84F832AFEDB994'
BlueprintName = 'IQKeyboardManagerSwift'
ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'IQKeyboardManagerSwift.framework'>
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
buildConfiguration = "Debug"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES"
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -14,7 +14,7 @@
buildForAnalyzing = "YES"> buildForAnalyzing = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "21020CCDF572876803FA95BD48270386" BlueprintIdentifier = "13E789F2135C3464CC44331D35EA6D55"
BuildableName = "Pods_Vendoo_VendooTests.framework" BuildableName = "Pods_Vendoo_VendooTests.framework"
BlueprintName = "Pods-Vendoo-VendooTests" BlueprintName = "Pods-Vendoo-VendooTests"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">
@ -45,7 +45,7 @@
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "21020CCDF572876803FA95BD48270386" BlueprintIdentifier = "13E789F2135C3464CC44331D35EA6D55"
BuildableName = "Pods_Vendoo_VendooTests.framework" BuildableName = "Pods_Vendoo_VendooTests.framework"
BlueprintName = "Pods-Vendoo-VendooTests" BlueprintName = "Pods-Vendoo-VendooTests"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -14,7 +14,7 @@
buildForAnalyzing = "YES"> buildForAnalyzing = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "66B6577A34875C54541830039899A97A" BlueprintIdentifier = "D5E1EBAE58A3407275E34535A464AD07"
BuildableName = "Pods_Vendoo_VendooUITests.framework" BuildableName = "Pods_Vendoo_VendooUITests.framework"
BlueprintName = "Pods-Vendoo-VendooUITests" BlueprintName = "Pods-Vendoo-VendooUITests"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">
@ -45,7 +45,7 @@
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "66B6577A34875C54541830039899A97A" BlueprintIdentifier = "D5E1EBAE58A3407275E34535A464AD07"
BuildableName = "Pods_Vendoo_VendooUITests.framework" BuildableName = "Pods_Vendoo_VendooUITests.framework"
BlueprintName = "Pods-Vendoo-VendooUITests" BlueprintName = "Pods-Vendoo-VendooUITests"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -14,7 +14,7 @@
buildForAnalyzing = "YES"> buildForAnalyzing = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "9AAFED731A7D62458AD19F177724048B" BlueprintIdentifier = "BD843EDB72C3CAE7FB318509D5760C48"
BuildableName = "Pods_Vendoo.framework" BuildableName = "Pods_Vendoo.framework"
BlueprintName = "Pods-Vendoo" BlueprintName = "Pods-Vendoo"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">
@ -45,7 +45,7 @@
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "9AAFED731A7D62458AD19F177724048B" BlueprintIdentifier = "BD843EDB72C3CAE7FB318509D5760C48"
BuildableName = "Pods_Vendoo.framework" BuildableName = "Pods_Vendoo.framework"
BlueprintName = "Pods-Vendoo" BlueprintName = "Pods-Vendoo"
ReferencedContainer = "container:Pods.xcodeproj"> ReferencedContainer = "container:Pods.xcodeproj">

View File

@ -14,7 +14,7 @@
buildForArchiving = "YES"> buildForArchiving = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = 'primary' BuildableIdentifier = 'primary'
BlueprintIdentifier = '0D52FE07CEB8B5458F3C73BB37A484FB' BlueprintIdentifier = '49F3B7712D4FF68BBFE915996B75BDD5'
BlueprintName = 'SWRevealViewController' BlueprintName = 'SWRevealViewController'
ReferencedContainer = 'container:Pods.xcodeproj' ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'SWRevealViewController.framework'> BuildableName = 'SWRevealViewController.framework'>

View File

@ -14,7 +14,7 @@
buildForArchiving = "YES"> buildForArchiving = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = 'primary' BuildableIdentifier = 'primary'
BlueprintIdentifier = '31CABCBBC4853F0A3523D99FE6D41F17' BlueprintIdentifier = '16268EF4CC5A18611AADAC899811214A'
BlueprintName = 'TYMActivityIndicatorView' BlueprintName = 'TYMActivityIndicatorView'
ReferencedContainer = 'container:Pods.xcodeproj' ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'TYMActivityIndicatorView.framework'> BuildableName = 'TYMActivityIndicatorView.framework'>

View File

@ -69,6 +69,11 @@
<key>isShown</key> <key>isShown</key>
<false/> <false/>
</dict> </dict>
<key>IQKeyboardManagerSwift.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
</dict>
<key>Locksmith.xcscheme</key> <key>Locksmith.xcscheme</key>
<dict> <dict>
<key>isShown</key> <key>isShown</key>
@ -122,22 +127,22 @@
</dict> </dict>
<key>SuppressBuildableAutocreation</key> <key>SuppressBuildableAutocreation</key>
<dict> <dict>
<key>0D52FE07CEB8B5458F3C73BB37A484FB</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>0EB19C1377A747F81110D44E2D5FCF78</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>0FF38C485BD8E73F614C919F834D6EAB</key> <key>0FF38C485BD8E73F614C919F834D6EAB</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>21020CCDF572876803FA95BD48270386</key> <key>13E789F2135C3464CC44331D35EA6D55</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>1520003FEBEC114D6C84F832AFEDB994</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>16268EF4CC5A18611AADAC899811214A</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>
@ -152,11 +157,6 @@
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>31CABCBBC4853F0A3523D99FE6D41F17</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>3C34098A7DACA89F52BF902062730F50</key> <key>3C34098A7DACA89F52BF902062730F50</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
@ -177,7 +177,7 @@
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>66B6577A34875C54541830039899A97A</key> <key>49F3B7712D4FF68BBFE915996B75BDD5</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>
@ -212,11 +212,6 @@
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>9AAFED731A7D62458AD19F177724048B</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>9D0F2E5EA1B46A5D72FFD42B0B39DBBC</key> <key>9D0F2E5EA1B46A5D72FFD42B0B39DBBC</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
@ -232,11 +227,21 @@
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>BD843EDB72C3CAE7FB318509D5760C48</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>C59EE95662AD4757E7FCE220DB1AFA41</key> <key>C59EE95662AD4757E7FCE220DB1AFA41</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>D5E1EBAE58A3407275E34535A464AD07</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>F7DE5171AA3C53DA4E4A078B795C78EE</key> <key>F7DE5171AA3C53DA4E4A078B795C78EE</key>
<dict> <dict>
<key>primary</key> <key>primary</key>

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_IQKeyboardManagerSwift : NSObject
@end
@implementation PodsDummy_IQKeyboardManagerSwift
@end

View File

@ -0,0 +1,4 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif

View File

@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
FOUNDATION_EXPORT double IQKeyboardManagerSwiftVersionNumber;
FOUNDATION_EXPORT const unsigned char IQKeyboardManagerSwiftVersionString[];

View File

@ -0,0 +1,6 @@
framework module IQKeyboardManagerSwift {
umbrella header "IQKeyboardManagerSwift-umbrella.h"
export *
module * { export * }
}

View File

@ -0,0 +1,10 @@
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES

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>4.0.5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -874,6 +874,34 @@ Copyright 2015 Google Inc.
Copyright 2015 Google Inc. Copyright 2015 Google Inc.
## IQKeyboardManagerSwift
IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## Locksmith ## Locksmith
Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net> Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net>

View File

@ -977,6 +977,38 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<key>Type</key> <key>Type</key>
<string>PSGroupSpecifier</string> <string>PSGroupSpecifier</string>
</dict> </dict>
<dict>
<key>FooterText</key>
<string>IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>Title</key>
<string>IQKeyboardManagerSwift</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt; <string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt;

View File

@ -96,6 +96,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"
@ -117,6 +118,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -874,6 +874,34 @@ Copyright 2015 Google Inc.
Copyright 2015 Google Inc. Copyright 2015 Google Inc.
## IQKeyboardManagerSwift
IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## Locksmith ## Locksmith
Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net> Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net>

View File

@ -977,6 +977,38 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<key>Type</key> <key>Type</key>
<string>PSGroupSpecifier</string> <string>PSGroupSpecifier</string>
</dict> </dict>
<dict>
<key>FooterText</key>
<string>IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>Title</key>
<string>IQKeyboardManagerSwift</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt; <string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt;

View File

@ -96,6 +96,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"
@ -117,6 +118,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -874,6 +874,34 @@ Copyright 2015 Google Inc.
Copyright 2015 Google Inc. Copyright 2015 Google Inc.
## IQKeyboardManagerSwift
IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## Locksmith ## Locksmith
Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net> Copyright (c) 2015 matthewpalmer <matt@matthewpalmer.net>

View File

@ -977,6 +977,38 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<key>Type</key> <key>Type</key>
<string>PSGroupSpecifier</string> <string>PSGroupSpecifier</string>
</dict> </dict>
<dict>
<key>FooterText</key>
<string>IQKeyboardManager license
=========================
The MIT License (MIT)
Copyright (c) 2013-16 Iftekhar Qurashi
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>Title</key>
<string>IQKeyboardManagerSwift</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt; <string>Copyright (c) 2015 matthewpalmer &lt;matt@matthewpalmer.net&gt;

View File

@ -96,6 +96,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"
@ -117,6 +118,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKLoginKit/FBSDKLoginKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework" install_framework "$BUILT_PRODUCTS_DIR/FBSDKShareKit/FBSDKShareKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework" install_framework "$BUILT_PRODUCTS_DIR/GDataXML-HTML/GDataXML_HTML.framework"
install_framework "$BUILT_PRODUCTS_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework" install_framework "$BUILT_PRODUCTS_DIR/Locksmith/Locksmith.framework"
install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework" install_framework "$BUILT_PRODUCTS_DIR/OAuthSwift/OAuthSwift.framework"
install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework" install_framework "$BUILT_PRODUCTS_DIR/PicoKit/PicoKit.framework"

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -1,10 +1,10 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities" HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities" OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp/AeroGearHttp.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2/AeroGearOAuth2.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON/Alamofire_SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout/BSGridCollectionViewLayout.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker/BSImagePicker.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Bolts/Bolts.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit/FBSDKLoginKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit/FBSDKShareKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML/GDataXML_HTML.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Locksmith/Locksmith.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift/OAuthSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/PicoKit/PicoKit.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController/SWRevealViewController.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView/TYMActivityIndicatorView.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect/UIImageViewModeScaleAspect.framework/Headers" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Firebase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" -isystem "${PODS_ROOT}/Headers/Public/FirebaseAuth" -isystem "${PODS_ROOT}/Headers/Public/FirebaseDatabase" -isystem "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" -isystem "${PODS_ROOT}/Headers/Public/FirebaseStorage" -isystem "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" -isystem "${PODS_ROOT}/Headers/Public/GoogleUtilities"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"icucore" -l"sqlite3" -l"z" -framework "AFNetworking" -framework "AdSupport" -framework "AddressBook" -framework "AeroGearHttp" -framework "AeroGearOAuth2" -framework "Alamofire" -framework "Alamofire_SwiftyJSON" -framework "BSGridCollectionViewLayout" -framework "BSImagePicker" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FirebaseAnalytics" -framework "FirebaseAuth" -framework "FirebaseDatabase" -framework "FirebaseInstanceID" -framework "FirebaseStorage" -framework "GDataXML_HTML" -framework "GoogleInterchangeUtilities" -framework "GoogleNetworkingUtilities" -framework "GoogleParsingUtilities" -framework "GoogleSymbolUtilities" -framework "GoogleUtilities" -framework "IQKeyboardManagerSwift" -framework "Locksmith" -framework "MobileCoreServices" -framework "OAuthSwift" -framework "PicoKit" -framework "SWRevealViewController" -framework "SafariServices" -framework "Security" -framework "StoreKit" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "TYMActivityIndicatorView" -framework "UIImageViewModeScaleAspect"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -28,6 +28,7 @@
3E7CF3FC1CF5FE9400F486B2 /* RecoverPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E7CF3FB1CF5FE9400F486B2 /* RecoverPasswordViewController.swift */; }; 3E7CF3FC1CF5FE9400F486B2 /* RecoverPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E7CF3FB1CF5FE9400F486B2 /* RecoverPasswordViewController.swift */; };
3E7CF3FE1CF5FF8200F486B2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3E7CF3FD1CF5FF8200F486B2 /* GoogleService-Info.plist */; }; 3E7CF3FE1CF5FF8200F486B2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3E7CF3FD1CF5FF8200F486B2 /* GoogleService-Info.plist */; };
3E7CF4011CF6366300F486B2 /* EtsyRESTAPIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E7CF4001CF6366300F486B2 /* EtsyRESTAPIManager.swift */; }; 3E7CF4011CF6366300F486B2 /* EtsyRESTAPIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E7CF4001CF6366300F486B2 /* EtsyRESTAPIManager.swift */; };
3E93DEDB1E15C3D800849ED6 /* ExternalWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E93DEDA1E15C3D800849ED6 /* ExternalWebViewController.swift */; };
3EA668A11D02836C00EE57A8 /* EbayWebServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA668A01D02836C00EE57A8 /* EbayWebServiceManager.swift */; }; 3EA668A11D02836C00EE57A8 /* EbayWebServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EA668A01D02836C00EE57A8 /* EbayWebServiceManager.swift */; };
3EB2F5161CF442CF002E6D2C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB2F5151CF442CF002E6D2C /* Security.framework */; }; 3EB2F5161CF442CF002E6D2C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB2F5151CF442CF002E6D2C /* Security.framework */; };
3EB54E0E1DE08A2E006D918B /* NetworkCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB54E0D1DE08A2E006D918B /* NetworkCollectionViewCell.swift */; }; 3EB54E0E1DE08A2E006D918B /* NetworkCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB54E0D1DE08A2E006D918B /* NetworkCollectionViewCell.swift */; };
@ -97,6 +98,7 @@
3E7CF3FB1CF5FE9400F486B2 /* RecoverPasswordViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoverPasswordViewController.swift; sourceTree = "<group>"; }; 3E7CF3FB1CF5FE9400F486B2 /* RecoverPasswordViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecoverPasswordViewController.swift; sourceTree = "<group>"; };
3E7CF3FD1CF5FF8200F486B2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; }; 3E7CF3FD1CF5FF8200F486B2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
3E7CF4001CF6366300F486B2 /* EtsyRESTAPIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EtsyRESTAPIManager.swift; sourceTree = "<group>"; }; 3E7CF4001CF6366300F486B2 /* EtsyRESTAPIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EtsyRESTAPIManager.swift; sourceTree = "<group>"; };
3E93DEDA1E15C3D800849ED6 /* ExternalWebViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExternalWebViewController.swift; sourceTree = "<group>"; };
3EA668961D026E7800EE57A8 /* Vendoo-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Vendoo-Bridging-Header.h"; sourceTree = "<group>"; }; 3EA668961D026E7800EE57A8 /* Vendoo-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Vendoo-Bridging-Header.h"; sourceTree = "<group>"; };
3EA668A01D02836C00EE57A8 /* EbayWebServiceManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EbayWebServiceManager.swift; sourceTree = "<group>"; }; 3EA668A01D02836C00EE57A8 /* EbayWebServiceManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EbayWebServiceManager.swift; sourceTree = "<group>"; };
3EA668A21D02ECB100EE57A8 /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; }; 3EA668A21D02ECB100EE57A8 /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; };
@ -267,6 +269,14 @@
name = EtsyServices; name = EtsyServices;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
3E93DED91E15C38300849ED6 /* Web Views */ = {
isa = PBXGroup;
children = (
3E93DEDA1E15C3D800849ED6 /* ExternalWebViewController.swift */,
);
name = "Web Views";
sourceTree = "<group>";
};
3EA668941D026E2A00EE57A8 /* EbayServices */ = { 3EA668941D026E2A00EE57A8 /* EbayServices */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -349,6 +359,7 @@
3EFB0E2F1D0B95B200A05D7A /* Menu */ = { 3EFB0E2F1D0B95B200A05D7A /* Menu */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3E93DED91E15C38300849ED6 /* Web Views */,
3EE734E41DCD347900F771AE /* Notifications */, 3EE734E41DCD347900F771AE /* Notifications */,
3E1AA4331D0DD0B2005FCCBB /* Settings */, 3E1AA4331D0DD0B2005FCCBB /* Settings */,
3EFB0E321D0B968300A05D7A /* SideMenuView.swift */, 3EFB0E321D0B968300A05D7A /* SideMenuView.swift */,
@ -774,6 +785,7 @@
3E6CC3571CF2A94B00E00A70 /* AppDelegate.swift in Sources */, 3E6CC3571CF2A94B00E00A70 /* AppDelegate.swift in Sources */,
3EC3251E1CF734C100626C48 /* NetworksTableViewController.swift in Sources */, 3EC3251E1CF734C100626C48 /* NetworksTableViewController.swift in Sources */,
3EC325201CF7C3AB00626C48 /* NetworkTableViewCell.swift in Sources */, 3EC325201CF7C3AB00626C48 /* NetworkTableViewCell.swift in Sources */,
3E93DEDB1E15C3D800849ED6 /* ExternalWebViewController.swift in Sources */,
3EC325261CF7E90000626C48 /* FacebookGraphAPIManager.swift in Sources */, 3EC325261CF7E90000626C48 /* FacebookGraphAPIManager.swift in Sources */,
3E7CF3FC1CF5FE9400F486B2 /* RecoverPasswordViewController.swift in Sources */, 3E7CF3FC1CF5FE9400F486B2 /* RecoverPasswordViewController.swift in Sources */,
3E1DC3CF1D42328C0091BC60 /* CategoryCell.swift in Sources */, 3E1DC3CF1D42328C0091BC60 /* CategoryCell.swift in Sources */,

View File

@ -3,12 +3,345 @@
type = "0" type = "0"
version = "2.0"> version = "2.0">
<Breakpoints> <Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "443"
endingLineNumber = "443"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/SignUpViewController.swift"
timestampString = "502139384.128941"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "54"
endingLineNumber = "54"
landmarkName = "signUpUser(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "505234532.167163"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "145"
endingLineNumber = "145"
landmarkName = "activeHistorSegSwitch(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/MenuPanelViewController.swift"
timestampString = "505228994.948802"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "141"
endingLineNumber = "141"
landmarkName = "MenuPanelViewController"
landmarkType = "3">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/MenuPanelViewController.swift"
timestampString = "504756693.881355"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "15"
endingLineNumber = "15"
landmarkName = "MenuPanelViewController"
landmarkType = "3">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.MenuPanelViewController.count.getter : Swift.Int"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/MenuPanelViewController.swift"
timestampString = "504763956.717651"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "15"
endingLineNumber = "15"
offsetFromSymbolStart = "19">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.MenuPanelViewController.count.setter : Swift.Int"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/MenuPanelViewController.swift"
timestampString = "504763956.717752"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "15"
endingLineNumber = "15"
offsetFromSymbolStart = "23">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.MenuPanelViewController.init (nibName : Swift.Optional&lt;Swift.String&gt;, bundle : Swift.Optional&lt;__ObjC.NSBundle&gt;) -&gt; Vendoo.MenuPanelViewController"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/MenuPanelViewController.swift"
timestampString = "504763956.717837"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "15"
endingLineNumber = "15"
offsetFromSymbolStart = "57">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.MenuPanelViewController.init (coder : __ObjC.NSCoder) -&gt; Swift.Optional&lt;Vendoo.MenuPanelViewController&gt;"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/MenuPanelViewController.swift"
timestampString = "504763956.717917"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "15"
endingLineNumber = "15"
offsetFromSymbolStart = "19">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/MenuPanelViewController.swift"
timestampString = "505228994.948802"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "97"
endingLineNumber = "97"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/MenuPanelViewController.swift"
timestampString = "504757521.054217"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "50"
endingLineNumber = "50"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504766044.982825"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "94"
endingLineNumber = "94"
landmarkName = "segSwitcher(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504766044.982825"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "101"
endingLineNumber = "101"
landmarkName = "segSwitcher(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504766044.982825"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "81"
endingLineNumber = "81"
landmarkName = "webView(_:shouldStartLoadWithRequest:navigationType:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504766044.982825"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "85"
endingLineNumber = "85"
landmarkName = "webViewDidFinishLoad(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/MenuPanelViewController.swift"
timestampString = "505228994.948802"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "70"
endingLineNumber = "70"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504766044.982825"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
landmarkName = "ExternalWebViewController"
landmarkType = "3">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ExternalWebViewController.contentStringUrlType.getter : Swift.Optional&lt;Swift.String&gt;"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
timestampString = "506444138.580552"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
offsetFromSymbolStart = "80">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ExternalWebViewController.contentStringUrlType.setter : Swift.Optional&lt;Swift.String&gt;"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
timestampString = "506444138.580651"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
offsetFromSymbolStart = "172">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ExternalWebViewController.init (nibName : Swift.Optional&lt;Swift.String&gt;, bundle : Swift.Optional&lt;__ObjC.NSBundle&gt;) -&gt; Vendoo.ExternalWebViewController"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
timestampString = "506444138.580732"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
offsetFromSymbolStart = "488">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ExternalWebViewController.init (coder : __ObjC.NSCoder) -&gt; Swift.Optional&lt;Vendoo.ExternalWebViewController&gt;"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
timestampString = "506444138.580811"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
offsetFromSymbolStart = "394">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
filePath = "Vendoo/ListingPreviewViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "501292645.293697" timestampString = "501292645.293697"
@ -463,6 +796,15 @@
startingLineNumber = "747" startingLineNumber = "747"
endingLineNumber = "747" endingLineNumber = "747"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)" landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
=======
filePath = "Vendoo/ExternalWebViewController.swift"
timestampString = "504764648.887768"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "42"
endingLineNumber = "42"
landmarkName = "viewDidLoad()"
>>>>>>> master
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -472,6 +814,7 @@
shouldBeEnabled = "No" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
<<<<<<< HEAD
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "500945314.687625" timestampString = "500945314.687625"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
@ -591,12 +934,22 @@
startingLineNumber = "185" startingLineNumber = "185"
endingLineNumber = "185" endingLineNumber = "185"
landmarkName = "tableView(_:cellForRowAtIndexPath:)" landmarkName = "tableView(_:cellForRowAtIndexPath:)"
=======
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "505234532.167163"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "299"
endingLineNumber = "299"
landmarkName = "numberOfSectionsInTableView(_:)"
>>>>>>> master
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
<<<<<<< HEAD
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
@ -617,46 +970,195 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
======= =======
>>>>>>> master
=======
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
>>>>>>> master >>>>>>> master
filePath = "Vendoo/ItemTableViewController.swift" filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "502130300.686017" timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "540"
endingLineNumber = "540"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "541"
endingLineNumber = "541"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "505231873.493537"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "213"
endingLineNumber = "213"
landmarkName = "viewDidLoad()"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "504968877.331559"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "193"
endingLineNumber = "193"
offsetFromSymbolStart = "22569">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "504968877.331655"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "193"
endingLineNumber = "193"
offsetFromSymbolStart = "19">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "505231873.493537"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "215"
endingLineNumber = "215"
landmarkName = "viewDidLoad()"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "504968909.842325"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "194"
endingLineNumber = "194"
offsetFromSymbolStart = "23455">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2).(closure #2)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "504968909.842488"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "194"
endingLineNumber = "194"
offsetFromSymbolStart = "19">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "505231873.493537"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "217" startingLineNumber = "217"
endingLineNumber = "217" endingLineNumber = "217"
landmarkName = "tableView(_:cellForRowAtIndexPath:)" landmarkName = "viewDidLoad()"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
shouldBeEnabled = "Yes" shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "505231873.493537"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "150"
endingLineNumber = "150"
landmarkName = "viewDidLoad()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift" filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "502130607.978907" timestampString = "505234532.167163"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "253" startingLineNumber = "146"
endingLineNumber = "253" endingLineNumber = "146"
landmarkName = "tableView(_:cellForRowAtIndexPath:)" landmarkName = "activeHistorSegSwitch(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
shouldBeEnabled = "Yes" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift" filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "502130713.514106" timestampString = "505234532.167163"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "258" startingLineNumber = "159"
endingLineNumber = "258" endingLineNumber = "159"
landmarkName = "tableView(_:cellForRowAtIndexPath:)" landmarkName = "historyCurrentlyFilterSegSwitch(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -666,6 +1168,359 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "505231873.493537"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "88"
endingLineNumber = "88"
landmarkName = "viewDidLoad()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "505233658.513094"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "33"
endingLineNumber = "33"
landmarkName = "viewDidLoad()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "549"
endingLineNumber = "549"
landmarkName = "tableView(_:titleForHeaderInSection:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "506359165.328679"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "438"
endingLineNumber = "438"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "506415773.009495"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "245"
endingLineNumber = "245"
landmarkName = "listItem(_:imageUrls:completion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "506416123.471754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "296"
endingLineNumber = "296"
landmarkName = "listItem(_:imageUrls:completion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "506416197.569007"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "559"
endingLineNumber = "559"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "420"
endingLineNumber = "420"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506444138.584428"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "420"
endingLineNumber = "420"
offsetFromSymbolStart = "8768">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506444138.584528"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "420"
endingLineNumber = "420"
offsetFromSymbolStart = "20489">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506417060.929718"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "382"
endingLineNumber = "382"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506417060.932611"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "382"
endingLineNumber = "382"
offsetFromSymbolStart = "3520">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506417060.932738"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "382"
endingLineNumber = "382"
offsetFromSymbolStart = "20465">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "458"
endingLineNumber = "458"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506443695.961323"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "458"
endingLineNumber = "458"
offsetFromSymbolStart = "13681">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506443695.96148"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "458"
endingLineNumber = "458"
offsetFromSymbolStart = "20513">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "489"
endingLineNumber = "489"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506443695.96225"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "489"
endingLineNumber = "489"
offsetFromSymbolStart = "18482">
</Location>
<Location
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ItemTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Kroleo/Vendoo/Vendoo_bb/Vendoo/Vendoo/ItemTableViewController.swift"
timestampString = "506443695.962349"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "489"
endingLineNumber = "489"
offsetFromSymbolStart = "20537">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506417283.852662"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "387"
endingLineNumber = "387"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "506441897.665422"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "463"
endingLineNumber = "463"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/SignInViewController.swift"
timestampString = "506442291.093686"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "64"
endingLineNumber = "64"
landmarkName = "signInUser(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
filePath = "Vendoo/HomeViewController.swift" filePath = "Vendoo/HomeViewController.swift"
timestampString = "501429562.960347" timestampString = "501429562.960347"
@ -768,12 +1623,16 @@
======= =======
filePath = "Vendoo/SignUpViewController.swift" filePath = "Vendoo/SignUpViewController.swift"
timestampString = "502139384.128941" timestampString = "502139384.128941"
>>>>>>> master
=======
filePath = "Vendoo/NetworkCollectionViewCell.swift"
timestampString = "506443799.616654"
>>>>>>> master >>>>>>> master
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "54" startingLineNumber = "16"
endingLineNumber = "54" endingLineNumber = "16"
landmarkName = "signUpUser(_:)" landmarkName = "setImg(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>

BIN
Vendoo/.DS_Store vendored

Binary file not shown.

View File

@ -11,6 +11,8 @@ import Firebase
import OAuthSwift import OAuthSwift
import FBSDKCoreKit import FBSDKCoreKit
import FBSDKLoginKit import FBSDKLoginKit
import IQKeyboardManagerSwift
@UIApplicationMain @UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate { class AppDelegate: UIResponder, UIApplicationDelegate {
@ -19,6 +21,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
IQKeyboardManager.sharedManager().enable = true
//configures firebase for app use //configures firebase for app use
FIRApp.configure() FIRApp.configure()
@ -35,6 +39,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
}else { }else {
view = storyboard.instantiateViewControllerWithIdentifier("SignUp") view = storyboard.instantiateViewControllerWithIdentifier("SignUp")
} }
self.window?.rootViewController = view self.window?.rootViewController = view

View File

@ -0,0 +1,131 @@
//
// ExternalWebViewController.swift
// Vendoo
//
// Created by Okechi Onyeje on 12/29/16.
// Copyright © 2016 Okechi Onyeje. All rights reserved.
//
import UIKit
enum WebContent {
case FAQ
case GetStarted
}
class ExternalWebViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var webViewSelector: UISegmentedControl!
//var activity: UIActivityIndicatorView!
//contanst urls for the various app web documents on hosted website
final let privPolicy = "http://vendoo.co/privacy-policy/"
final let termsCond = "http://vendoo.co/terms-conditions/"
final let getStarted = "http://vendoo.co"
var allowLoad = true
var currIndex: Int!
var contentStringUrlType: String?
var content: WebContent!
var url: NSURL!
//controller selection
override func viewDidLoad() {
super.viewDidLoad()
contentStringUrlType = (NSUserDefaults.standardUserDefaults().objectForKey("whichContent") as? String)
//content = ((contentStringUrlType == "FAQ") ? WebContent.FAQ : WebContent.GetStarted)
self.webView.delegate = self
self.webView.dataDetectorTypes = UIDataDetectorTypes.None
// Do any additional setup after loading the view.
//self.activity = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)
//self.activity.color = UIColor.purpleColor()
//self.activity.backgroundColor = UIColor.grayColor()
//self.activity.frame = self.webView.frame;
content = ((contentStringUrlType == "FAQ") ? WebContent.FAQ : WebContent.GetStarted)
if (self.content == WebContent.FAQ){
webViewSelector.hidden = false
webViewSelector.enabled = true
if(webViewSelector.selectedSegmentIndex == 0){
url = NSURL (string: termsCond)
}else{
url = NSURL (string: privPolicy)
}
currIndex = webViewSelector.selectedSegmentIndex
}else{
webViewSelector.hidden = true
webViewSelector.enabled = false
url = NSURL (string: getStarted);
}
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}
/*
// MARK: - WebView
*/
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
return allowLoad
}
func webViewDidFinishLoad(webView: UIWebView) {
allowLoad = false
}
/*
//MARK: - SegmentControl
*/
@IBAction func segSwitcher(sender: UISegmentedControl) {
if(!(self.currIndex == self.webViewSelector.selectedSegmentIndex)){
if (self.webViewSelector.selectedSegmentIndex == 0){
let requestObj = NSURLRequest(URL: NSURL (string: termsCond)!);
webView.loadRequest(requestObj);
}else{
let requestObj = NSURLRequest(URL: NSURL (string: privPolicy)!);
webView.loadRequest(requestObj);
}
self.currIndex = self.webViewSelector.selectedSegmentIndex
self.allowLoad = true
}
}
@IBAction func navigateBack(sender: UIButton) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("Reveal View Controller")
self.presentViewController(vc, animated: true, completion: {
NSUserDefaults.standardUserDefaults().removeObjectForKey("whichContent")
//self.parentViewController!.dismissViewControllerAnimated(true, completion: nil)
})
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}

View File

@ -7,6 +7,7 @@
// //
import UIKit import UIKit
import Foundation
/// This class is resonsible for retrieving all listing information for the current user. /// This class is resonsible for retrieving all listing information for the current user.
/// Acts as the tab bar controller for entire application. /// Acts as the tab bar controller for entire application.
@ -24,6 +25,7 @@ class HomeViewController: UITabBarController {
var userListings: [Listing] = [] var userListings: [Listing] = []
var endedListings: [Listing] = [] var endedListings: [Listing] = []
var soldListings: [Listing] = [] var soldListings: [Listing] = []
var draftListings: [Listing] = []
//notification manager variables //notification manager variables
var notificationsManager = ServiceNotificationManager() var notificationsManager = ServiceNotificationManager()
@ -32,7 +34,8 @@ class HomeViewController: UITabBarController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
NSUserDefaults.standardUserDefaults().removeObjectForKey("whichContent") //used to reset which webview is loaded in Faq and get started pages
//initialize notifications manager //initialize notifications manager
ServiceNotificationManager.delegate = self ServiceNotificationManager.delegate = self
self.notificationsManager.setManagers(fbGraphManager, fireManager: firebaseManager, ebayManager: ebayGraphManager, etsyManager: etsyManager) self.notificationsManager.setManagers(fbGraphManager, fireManager: firebaseManager, ebayManager: ebayGraphManager, etsyManager: etsyManager)
@ -79,9 +82,10 @@ class HomeViewController: UITabBarController {
} }
NSUserDefaults.standardUserDefaults().setObject(userDict!["name"] as? String, forKey: "name") NSUserDefaults.standardUserDefaults().setObject(userDict!["name"] as? String, forKey: "name")
//check if user has any listings to track for notifications //check if user has any listings to track for notifications
if listingDict != nil { NSUserDefaults.standardUserDefaults().removeObjectForKey("isAnalytics")
if listingDict != nil || !NSUserDefaults.standardUserDefaults().boolForKey("isAnalytics"){
var notificationStartTracker = 0 //number used to indicate when to start retrieving notifications var notificationStartTracker = 0 //number used to indicate when to start retrieving notifications
dispatch_async(dispatch_get_main_queue(), { dispatch_async(dispatch_get_main_queue(), {
@ -143,18 +147,34 @@ class HomeViewController: UITabBarController {
//if no Listing status found then the listing is either active or a draft //if no Listing status found then the listing is either active or a draft
if listingInfo!["listingStatus"] == nil { if listingInfo!["listingStatus"] == nil {
self.userListings.append( if(((listingInfo!["isListingDraft"] as! Bool))){
Listing( self.draftListings.append(
itemTitle: (listingInfo!["listingTitle"] as? String)!, Listing(
itemCategory: listingInfo!["listingCategory"] as? String, itemTitle: (listingInfo!["listingTitle"] as? String)!,
itemQuantity: (listingInfo!["listingQuantity"] as? String)!, itemCategory: listingInfo!["listingCategory"] as? String,
itemPrice: listingInfo!["listingPrice"] as? String, itemQuantity: (listingInfo!["listingQuantity"] as? String)!,
itemDescription: listingInfo!["listingDescription"] as? String, itemPrice: listingInfo!["listingPrice"] as? String,
itemImages: listingImages, itemDescription: listingInfo!["listingDescription"] as? String,
isDraftListing: (listingInfo!["isListingDraft"] as? Bool)!, itemImages: listingImages,
itemKey: key, isDraftListing: (listingInfo!["isListingDraft"] as? Bool)!,
networksSellingOn: (listingInfo!["networks"] as? Dictionary<String, Bool>)! itemKey: key,
)) networksSellingOn: (listingInfo!["networks"] as? Dictionary<String, Bool>)!
))
}else{
self.userListings.append(
Listing(
itemTitle: (listingInfo!["listingTitle"] as? String)!,
itemCategory: listingInfo!["listingCategory"] as? String,
itemQuantity: (listingInfo!["listingQuantity"] as? String)!,
itemPrice: listingInfo!["listingPrice"] as? String,
itemDescription: listingInfo!["listingDescription"] as? String,
itemImages: listingImages,
isDraftListing: (listingInfo!["isListingDraft"] as? Bool)!,
itemKey: key,
networksSellingOn: (listingInfo!["networks"] as? Dictionary<String, Bool>)!
))
}
} }
//create ended Listing objects //create ended Listing objects
else if listingInfo!["listingStatus"] as? String == "Ended" { else if listingInfo!["listingStatus"] as? String == "Ended" {
@ -188,8 +208,13 @@ class HomeViewController: UITabBarController {
print(notificationStartTracker) print(notificationStartTracker)
//once all listings have been retrieved and processed start retrieving possible notifications //once all listings have been retrieved and processed start retrieving possible notifications
if(notificationStartTracker == listingDict?.count){ if(notificationStartTracker == listingDict?.count){
NSNotificationCenter.defaultCenter().postNotificationName("finished_fetching_listings", object: nil) self.userListings.sortInPlace({$0.title.lowercaseString < $1.title.lowercaseString})
self.draftListings.sortInPlace({$0.title.lowercaseString < $1.title.lowercaseString})
self.endedListings.sortInPlace({$0.title.lowercaseString < $1.title.lowercaseString})
self.soldListings.sortInPlace({$0.title.lowercaseString < $1.title.lowercaseString})
NSNotificationCenter.defaultCenter().postNotificationName("finished_fetching_listings", object: nil)
self.notificationsManager.setListings(self.userListings) self.notificationsManager.setListings(self.userListings)
self.notificationsManager.startServicePolling() self.notificationsManager.startServicePolling()

View File

@ -62,7 +62,10 @@ extension ItemCell: UICollectionViewDataSource{
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: NetworkCollectionViewCell! = self.networks.dequeueReusableCellWithReuseIdentifier("network", forIndexPath: indexPath) as! NetworkCollectionViewCell let cell: NetworkCollectionViewCell! = self.networks.dequeueReusableCellWithReuseIdentifier("network", forIndexPath: indexPath) as! NetworkCollectionViewCell
cell.setImg(selectedNetworks[indexPath.row])
dispatch_async(dispatch_get_main_queue(), {
cell.setImg(self.selectedNetworks[indexPath.row])
})
/*switch (indexPath.row){ /*switch (indexPath.row){
case 0: case 0:
cell = collectionView.dequeueReusableCellWithReuseIdentifier("ebay", forIndexPath: indexPath) cell = collectionView.dequeueReusableCellWithReuseIdentifier("ebay", forIndexPath: indexPath)

View File

@ -47,6 +47,10 @@ class ItemImagePickerViewController: UIViewController {
private var imageIndex: Int! private var imageIndex: Int!
private var isEditing: Bool = false private var isEditing: Bool = false
private var currentInformation: Dictionary<String, AnyObject>! private var currentInformation: Dictionary<String, AnyObject>!
var loadingView: UIView!
private var firManager: FirebaseManager! = nil
override func viewDidLoad() { override func viewDidLoad() {
@ -69,12 +73,24 @@ class ItemImagePickerViewController: UIViewController {
let tapGestureMain = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture)) let tapGestureMain = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture))
self.view.addGestureRecognizer(tapGestureMain) self.view.addGestureRecognizer(tapGestureMain)
//hide all images and labels for picture slots 2 - 5
//self.possibleItemImageMain.addGestureRecognizer(tapGestureMain) self.possibleItemImage2.hidden = true
//self.possibleItemImage2.addGestureRecognizer(tapGesture2) self.possibleItemImage3.hidden = true
//self.possibleItemImage3.addGestureRecognizer(tapGesture) self.possibleItemImage4.hidden = true
//self.possibleItemImage4.addGestureRecognizer(tapGesture) self.possibleItemImage5.hidden = true
//self.possibleItemImage5.addGestureRecognizer(tapGesture) self.possibleItemImage2.userInteractionEnabled = false
self.possibleItemImage3.userInteractionEnabled = false
self.possibleItemImage4.userInteractionEnabled = false
self.possibleItemImage5.userInteractionEnabled = false
self.plus_label0.hidden = false
self.plus_label1.hidden = true
self.plus_label2.hidden = true
self.plus_label3.hidden = true
self.plus_label4.hidden = true
self.plus_label1.userInteractionEnabled = false
self.plus_label2.userInteractionEnabled = false
self.plus_label3.userInteractionEnabled = false
self.plus_label4.userInteractionEnabled = false
} }
@ -88,6 +104,9 @@ class ItemImagePickerViewController: UIViewController {
override func viewWillAppear(animated: Bool) { override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
if (!self.isEditing) {
self.firManager = (self.tabBarController as! HomeViewController).firebaseManager
}
self.tabBarController?.tabBar.hidden = true self.tabBarController?.tabBar.hidden = true
} }
@ -206,15 +225,36 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
switch(self.imageIndex){ switch(self.imageIndex){
case 0: case 0:
self.plus_label0.hidden = true self.plus_label0.hidden = true
//show slot 2
self.possibleItemImage2.hidden = false
self.possibleItemImage2.userInteractionEnabled = true
self.plus_label1.hidden = false
self.plus_label1.userInteractionEnabled = true
break break
case 1: case 1:
self.plus_label1.hidden = true self.plus_label1.hidden = true
//show slot 3
self.possibleItemImage3.hidden = false
self.possibleItemImage3.userInteractionEnabled = true
self.plus_label2.hidden = false
self.plus_label2.userInteractionEnabled = true
break break
case 2: case 2:
self.plus_label2.hidden = true self.plus_label2.hidden = true
//show slot 4
self.possibleItemImage4.hidden = false
self.possibleItemImage4.userInteractionEnabled = true
self.plus_label3.hidden = false
self.plus_label3.userInteractionEnabled = true
break break
case 3: case 3:
self.plus_label3.hidden = true self.plus_label3.hidden = true
//show slot 5
self.possibleItemImage5.hidden = false
self.possibleItemImage5.userInteractionEnabled = true
self.plus_label4.hidden = false
self.plus_label4.userInteractionEnabled = true
break break
case 4: case 4:
self.plus_label4.hidden = true self.plus_label4.hidden = true
@ -247,7 +287,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
if(self.itemImagesSelections[0]) { if(self.itemImagesSelections[0]) {
self.imageIndex = 1 self.imageIndex = 1
accessCam() accessCam()
} else { } else if (!self.possibleItemImage2.hidden){
let alert = UIAlertController(title: "Main Image Needed", message: "You must have a main image before saving supporting images.", preferredStyle: .Alert) let alert = UIAlertController(title: "Main Image Needed", message: "You must have a main image before saving supporting images.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@ -260,7 +300,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
if(self.itemImagesSelections[0] && self.itemImagesSelections[1]) { if(self.itemImagesSelections[0] && self.itemImagesSelections[1]) {
self.imageIndex = 2 self.imageIndex = 2
accessCam() accessCam()
} else { } else if (!self.possibleItemImage3.hidden){
let alert = UIAlertController(title: "Support Image 1 Missing", message: "You must save your first supporting image before saving more.", preferredStyle: .Alert) let alert = UIAlertController(title: "Support Image 1 Missing", message: "You must save your first supporting image before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@ -273,7 +313,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
&& self.itemImagesSelections[2]) { && self.itemImagesSelections[2]) {
self.imageIndex = 3 self.imageIndex = 3
accessCam() accessCam()
} else { } else if (!self.possibleItemImage4.hidden){
let alert = UIAlertController(title: "Support Image 2 Missing", message: "You must save your first two supporting images before saving more.", preferredStyle: .Alert) let alert = UIAlertController(title: "Support Image 2 Missing", message: "You must save your first two supporting images before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@ -286,7 +326,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
&& self.itemImagesSelections[2] && self.itemImagesSelections[3]) { && self.itemImagesSelections[2] && self.itemImagesSelections[3]) {
self.imageIndex = 4 self.imageIndex = 4
accessCam() accessCam()
} else { } else if (!self.possibleItemImage5.hidden){
let alert = UIAlertController(title: "Support Image 3 Missing", message: "You must save your first three supporting images before saving more.", preferredStyle: .Alert) let alert = UIAlertController(title: "Support Image 3 Missing", message: "You must save your first three supporting images before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@ -409,6 +449,15 @@ extension ItemImagePickerViewController {
} }
@IBAction func draftItem(sender: AnyObject) { @IBAction func draftItem(sender: AnyObject) {
self.loadingView = UIView(frame: self.view.frame)
self.loadingView.backgroundColor = UIColor.grayColor()
self.loadingView.alpha = 0.4
self.firManager.indicator.center = self.view.center
self.loadingView.addSubview(self.firManager.indicator)
self.view.addSubview(loadingView)
self.firManager.indicator.startAnimating()
if(self.possibleItemImageMain.image == nil){ if(self.possibleItemImageMain.image == nil){
let alert = UIAlertController(title: "Main Image Needed", message: "To proceed to save your listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert) let alert = UIAlertController(title: "Main Image Needed", message: "To proceed to save your listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert)
@ -488,6 +537,9 @@ extension ItemImagePickerViewController {
{(metadata, error) -> Void in {(metadata, error) -> Void in
newListingRef!.setValue(listing as? Dictionary<String,AnyObject>) newListingRef!.setValue(listing as? Dictionary<String,AnyObject>)
self.firManager.indicator.stopAnimating()
self.loadingView.removeFromSuperview()
self.loadingView = nil
let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert) let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: { alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {
@ -506,7 +558,7 @@ extension ItemImagePickerViewController {
} }
@IBAction func cancelNewListing(sender: AnyObject) { @IBAction func cancelNewListing(sender: AnyObject) {
//@FIXME: nil out all data user may have entered so that when they reopen new listing page it initialized to a fresh screen. //nil out all data user may have entered so that when they reopen new listing page it initialized to a fresh screen.
if(!self.isEditing) { if(!self.isEditing) {
self.tabBarController?.selectedIndex = 0 self.tabBarController?.selectedIndex = 0
@ -521,16 +573,29 @@ extension ItemImagePickerViewController {
self.possibleItemImage3.image = nil self.possibleItemImage3.image = nil
self.possibleItemImage4.image = nil self.possibleItemImage4.image = nil
self.possibleItemImage5.image = nil self.possibleItemImage5.image = nil
self.possibleItemImage2.hidden = true
self.possibleItemImage3.hidden = true
self.possibleItemImage4.hidden = true
self.possibleItemImage5.hidden = true
self.possibleItemImage2.userInteractionEnabled = false
self.possibleItemImage3.userInteractionEnabled = false
self.possibleItemImage4.userInteractionEnabled = false
self.possibleItemImage5.userInteractionEnabled = false
self.itemImagesSelections[0] = false self.itemImagesSelections[0] = false
self.itemImagesSelections[1] = false self.itemImagesSelections[1] = false
self.itemImagesSelections[2] = false self.itemImagesSelections[2] = false
self.itemImagesSelections[3] = false self.itemImagesSelections[3] = false
self.itemImagesSelections[4] = false self.itemImagesSelections[4] = false
self.plus_label0.hidden = false self.plus_label0.hidden = false
self.plus_label1.hidden = false self.plus_label1.hidden = true
self.plus_label2.hidden = false self.plus_label2.hidden = true
self.plus_label3.hidden = false self.plus_label3.hidden = true
self.plus_label4.hidden = false self.plus_label4.hidden = true
self.plus_label1.userInteractionEnabled = false
self.plus_label2.userInteractionEnabled = false
self.plus_label3.userInteractionEnabled = false
self.plus_label4.userInteractionEnabled = false
}else{ }else{
self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil) self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)

View File

@ -21,22 +21,73 @@ class ItemTableViewController: UIViewController {
@IBOutlet weak var menuButton: UIBarButtonItem! @IBOutlet weak var menuButton: UIBarButtonItem!
@IBOutlet weak var historyCurrentlyFilter: UISegmentedControl!
@IBOutlet weak var cancelBtn: UIBarButtonItem!
var loadingView: UIView! var loadingView: UIView!
var selectedListing: Listing! var selectedListing: Listing!
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
//Check if this segment was loaded through the analytics button
if(NSUserDefaults.standardUserDefaults().boolForKey("isAnalytics")){
dispatch_async(dispatch_get_main_queue(), {
self.tabBarController?.tabBar.hidden = true
self.tableSegmentController.selectedSegmentIndex = 1
self.tableSegmentController.userInteractionEnabled = false
self.tableSegmentController.hidden = true
self.tableSegmentController.enabled = false
self.tabBarController?.tabBar.userInteractionEnabled = false
self.cancelBtn.enabled = true
self.cancelBtn.tintColor = UIColor(red: 0.35, green: 0.83, blue: 0.74, alpha: 1.0)
self.menuButton.enabled = false
self.menuButton.tintColor = UIColor.clearColor()
self.historyCurrentlyFilter.setTitle("Sold", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Unsold", forSegmentAtIndex: 1)
})
}else{
dispatch_async(dispatch_get_main_queue(), {
self.tabBarController?.tabBar.hidden = false
self.tableSegmentController.selectedSegmentIndex = 0
self.tableSegmentController.userInteractionEnabled = true
self.tableSegmentController.hidden = false
self.tableSegmentController.enabled = true
self.historyCurrentlyFilter.setTitle("Active", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Draft", forSegmentAtIndex: 1)
self.cancelBtn.enabled = false
self.cancelBtn.tintColor = UIColor.clearColor()
self.menuButton.enabled = true
self.menuButton.tintColor = UIColor(red: 0.35, green: 0.83, blue: 0.74, alpha: 1.0)
self.tabBarController?.tabBar.userInteractionEnabled = true
})
}
// Uncomment the following line to preserve selection between presentations // Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false // self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller. // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem() // self.navigationItem.rightBarButtonItem = self.editButtonItem()
self.tabBarController?.tabBar.hidden = false //self.tabBarController?.tabBar.hidden = false
//set delegates //set delegates
self.itemTable.dataSource = self self.itemTable.dataSource = self
self.itemTable.delegate = self self.itemTable.delegate = self
//History Segement
if(self.tableSegmentController.selectedSegmentIndex == 1){
self.historyCurrentlyFilter.selectedSegmentIndex = UISegmentedControlNoSegment
self.historyCurrentlyFilter.setTitle("Sold", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Unsold", forSegmentAtIndex: 1)
//Active segment
}else{
self.historyCurrentlyFilter.selectedSegmentIndex = UISegmentedControlNoSegment
self.historyCurrentlyFilter.setTitle("Active", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Draft", forSegmentAtIndex: 1)
}
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(stopIndicator), name: "finished_fetching_listings", object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(stopIndicator), name: "finished_fetching_listings", object: nil)
if self.revealViewController() != nil { if self.revealViewController() != nil {
menuButton.target = self.revealViewController() menuButton.target = self.revealViewController()
@ -63,6 +114,11 @@ class ItemTableViewController: UIViewController {
super.viewWillAppear(animated) super.viewWillAppear(animated)
(menuButton.target as! SWRevealViewController).delegate = self (menuButton.target as! SWRevealViewController).delegate = self
self.tabBarController?.tabBar.hidden = false self.tabBarController?.tabBar.hidden = false
}
override func viewWillDisappear(animated: Bool) {
NSUserDefaults.standardUserDefaults().removeObjectForKey("isAnalytics")
} }
override func didReceiveMemoryWarning() { override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning() super.didReceiveMemoryWarning()
@ -85,9 +141,31 @@ class ItemTableViewController: UIViewController {
// MARK: - IBAction // MARK: - IBAction
extension ItemTableViewController { extension ItemTableViewController {
@IBAction func segSwitch(sender: UISegmentedControl) { @IBAction func activeHistorSegSwitch(sender: UISegmentedControl) {
self.historyCurrentlyFilter.selectedSegmentIndex = UISegmentedControlNoSegment
self.itemTable.reloadData()
//History Segement
if(self.tableSegmentController.selectedSegmentIndex == 1){
self.historyCurrentlyFilter.setTitle("Sold", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Unsold", forSegmentAtIndex: 1)
//Active segment
}else{
self.historyCurrentlyFilter.setTitle("Active", forSegmentAtIndex: 0)
self.historyCurrentlyFilter.setTitle("Draft", forSegmentAtIndex: 1)
}
}
@IBAction func historyCurrentlyFilterSegSwitch(sender: UISegmentedControl) {
self.itemTable.reloadData() self.itemTable.reloadData()
} }
@IBAction func cancelPressed(sender:AnyObject){
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("Reveal View Controller")
NSUserDefaults.standardUserDefaults().removeObjectForKey("isAnalytics")
self.navigationItem.rightBarButtonItem = nil
self.presentViewController(vc!, animated: false, completion: nil)
}
} }
// MARK: - Side Menu View // MARK: - Side Menu View
@ -167,27 +245,123 @@ extension ItemTableViewController {
// MARK: - TableView Datasource methods // MARK: - TableView Datasource methods
extension ItemTableViewController: UITableViewDataSource{ extension ItemTableViewController: UITableViewDataSource{
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
//if in the history segment
if(self.tableSegmentController.selectedSegmentIndex == 1){
//hides title of unsold section if Sold filter selected
if(self.historyCurrentlyFilter.selectedSegmentIndex == 0){
if(section == 1){
return 0.0
}else{
return self.itemTable.sectionHeaderHeight
}
//hides title of sold section if Unsold filter selected
}else if(self.historyCurrentlyFilter.selectedSegmentIndex == 1){
if(section == 0){
return 0.0
}else{
return self.itemTable.sectionHeaderHeight
}
//Shows both section titles
}else{
return self.itemTable.sectionHeaderHeight
}
}else{
//hides title of draft section if active filter selected
if(self.historyCurrentlyFilter.selectedSegmentIndex == 0){
if(section == 1){
return 0.0
}else{
return self.itemTable.sectionHeaderHeight
}
//hides title of active section if draft filter selected
}else if(self.historyCurrentlyFilter.selectedSegmentIndex == 1){
if(section == 0){
return 0.0
}else{
return self.itemTable.sectionHeaderHeight
}
//Shows both section titles
}else{
return self.itemTable.sectionHeaderHeight
}
}
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int { func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections //number of sections for active segment
return 1 if self.tableSegmentController.selectedSegmentIndex == 0 {
return 2
}
else {
return 2
}
} }
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows //if in the active segment
if self.tableSegmentController.selectedSegmentIndex == 0 { if self.tableSegmentController.selectedSegmentIndex == 0 {
return ((self.tabBarController as? HomeViewController)?.userListings.count)! //hides draft section cells if active filter selected
if(self.historyCurrentlyFilter.selectedSegmentIndex == 0){
if(section == 1){
return 0
}else{
return ((self.tabBarController as? HomeViewController)?.userListings.count)!
}
//hides active section cells if draft filter selected
}else if(self.historyCurrentlyFilter.selectedSegmentIndex == 1){
if(section == 0){
return 0
}else{
return ((self.tabBarController as? HomeViewController)?.draftListings.count)!
}
}else{
//shows both respective sections cells
if(section == 1){
return ((self.tabBarController as? HomeViewController)?.draftListings.count)!
}else{
return ((self.tabBarController as? HomeViewController)?.userListings.count)!
}
}
} }
else if tableSegmentController.selectedSegmentIndex == 1 {
return ((self.tabBarController as? HomeViewController)?.endedListings.count)! //if in the history segment
} else {
else{ //hides unsold section cells if Sold filter selected
return ((self.tabBarController as? HomeViewController)?.soldListings.count)! if(self.historyCurrentlyFilter.selectedSegmentIndex == 0){
if(section == 1){
return 0
}else{
return ((self.tabBarController as? HomeViewController)?.soldListings.count)!
}
//hides sold section cells if Unsold filter selected
}else if(self.historyCurrentlyFilter.selectedSegmentIndex == 1){
if(section == 0){
return 0
}else{
return ((self.tabBarController as? HomeViewController)?.endedListings.count)!
}
}else{
//shows both respective sections cells
if(section == 1){
return ((self.tabBarController as? HomeViewController)?.endedListings.count)!
}else{
return ((self.tabBarController as? HomeViewController)?.soldListings.count)!
}
}
} }
} }
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: ItemCell! = (tableView.dequeueReusableCellWithIdentifier("Item Cell", forIndexPath: indexPath) as! ItemCell) let cell: ItemCell! = (tableView.dequeueReusableCellWithIdentifier("Item Cell", forIndexPath: indexPath) as! ItemCell)
@ -195,13 +369,46 @@ extension ItemTableViewController: UITableViewDataSource{
//for each listing cell generated need to find the marketplaces it belongs to, the listing price, the name of the item, the status of the item, and the item image. //for each listing cell generated need to find the marketplaces it belongs to, the listing price, the name of the item, the status of the item, and the item image.
//Once these objects are retrieved, access the ItemCell properties and manipulate as needed //Once these objects are retrieved, access the ItemCell properties and manipulate as needed
//Active and unpublished listings
if self.tableSegmentController.selectedSegmentIndex == 0 { if self.tableSegmentController.selectedSegmentIndex == 0 {
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.userListings[indexPath.row].images[0] //come back
cell.itemName.text = (self.tabBarController as? HomeViewController)!.userListings[indexPath.row].title
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.userListings[indexPath.row].price
//check if item is published //active lstings
if((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].isDraft!){ if indexPath.section == 0 {
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.userListings[indexPath.row].images[0] //come back
cell.itemName.text = (self.tabBarController as? HomeViewController)!.userListings[indexPath.row].title
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.userListings[indexPath.row].price
cell.itemStatus.text = "Status: Active"
if(!((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["areNetworksChosen"])!){
cell.networks.hidden = true
}else{
cell.selectedNetworks = []
dispatch_async(dispatch_get_main_queue(), {
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["ebay"])!){
cell.addNetwork("ebay_icon")
}
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["amazon"])!){
cell.addNetwork("amazon_icon")
}
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["etsy"])!){
cell.addNetwork("etsy_icon")
}
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["facebook"])!){
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
})
}
//draft listings
}else{
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.draftListings[indexPath.row].images[0] //come back
cell.itemName.text = (self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].title
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].price
cell.itemStatus.text = "Status: Unpublished" cell.itemStatus.text = "Status: Unpublished"
dispatch_async(dispatch_get_main_queue(), { dispatch_async(dispatch_get_main_queue(), {
@ -210,125 +417,153 @@ extension ItemTableViewController: UITableViewDataSource{
}) })
}else { if(!((self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].networks["areNetworksChosen"])!){
cell.itemStatus.text = "Status: Active" cell.networks.hidden = true
} }else{
cell.selectedNetworks = []
if(!((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["areNetworksChosen"])!){ dispatch_async(dispatch_get_main_queue(), {
cell.networks.hidden = true if(((self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].networks["ebay"])!){
}else{ cell.addNetwork("ebay_icon")
cell.selectedNetworks = [] }
dispatch_async(dispatch_get_main_queue(), { if(((self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].networks["amazon"])!){
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["ebay"])!){ cell.addNetwork("amazon_icon")
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))?.hidden = true }
cell.addNetwork("ebay_icon") if(((self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].networks["etsy"])!){
} cell.addNetwork("etsy_icon")
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["amazon"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 1, inSection: 0))?.hidden = true }
cell.addNetwork("amazon_icon") if(((self.tabBarController as? HomeViewController)!.draftListings[indexPath.row].networks["facebook"])!){
} cell.addNetwork("facebook_icon")
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["etsy"])!){ }
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true cell.networks.reloadData()
cell.addNetwork("etsy_icon")
} })
if(((self.tabBarController as? HomeViewController)!.userListings[indexPath.row].networks["facebook"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
}) }
} }
} }
else if tableSegmentController.selectedSegmentIndex == 1 {
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.endedListings[indexPath.row].images[0] //come back //Sold and Unsold Listings
cell.itemName.text = (self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].title else {
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].price
cell.itemStatus.text = "Status: Unsold" //unsold listings section
if indexPath.section == 1 {
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.endedListings[indexPath.row].images[0] //come back
cell.itemName.text = (self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].title
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].price
if(!((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["areNetworksChosen"])!){ cell.itemStatus.text = "Status: Unsold"
cell.networks.hidden = true
if(!((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["areNetworksChosen"])!){
cell.networks.hidden = true
}else{
cell.selectedNetworks = []
dispatch_async(dispatch_get_main_queue(), {
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["ebay"])!){
cell.addNetwork("ebay_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["amazon"])!){
cell.addNetwork("amazon_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["etsy"])!){
cell.addNetwork("etsy_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["facebook"])!){
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
})
}
//section for sold listings
}else{ }else{
cell.selectedNetworks = [] cell.itemImage.image = (self.tabBarController as? HomeViewController)?.soldListings[indexPath.row].images[0]
dispatch_async(dispatch_get_main_queue(), { cell.itemName.text = (self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].title
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["ebay"])!){ cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].price
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))?.hidden = true
cell.addNetwork("ebay_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["amazon"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 1, inSection: 0))?.hidden = true
cell.addNetwork("amazon_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["etsy"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true
cell.addNetwork("etsy_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["facebook"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
})
cell.itemStatus.text = "Status: Sold"
if(!((self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].networks["areNetworksChosen"])!){
cell.networks.hidden = true
}else{
cell.selectedNetworks = []
dispatch_async(dispatch_get_main_queue(), {
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["ebay"])!){
cell.addNetwork("ebay_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["amazon"])!){
cell.addNetwork("amazon_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["etsy"])!){
cell.addNetwork("etsy_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["facebook"])!){
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
})
}
} }
} }
else{
cell.itemImage.image = (self.tabBarController as? HomeViewController)?.soldListings[indexPath.row].images[0] //come back
cell.itemName.text = (self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].title
cell.itemPrice.text = (self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].price
cell.itemStatus.text = "Status: Sold"
if(!((self.tabBarController as? HomeViewController)!.soldListings[indexPath.row].networks["areNetworksChosen"])!){
cell.networks.hidden = true
}else{
cell.selectedNetworks = []
dispatch_async(dispatch_get_main_queue(), {
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["ebay"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))?.hidden = true
cell.addNetwork("ebay_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["amazon"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 1, inSection: 0))?.hidden = true
cell.addNetwork("amazon_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["etsy"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true
cell.addNetwork("etsy_icon")
}
if(((self.tabBarController as? HomeViewController)!.endedListings[indexPath.row].networks["facebook"])!){
//cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true
cell.addNetwork("facebook_icon")
}
cell.networks.reloadData()
})
}
}
return cell return cell
} }
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//view listing that is active or draft
if self.tableSegmentController.selectedSegmentIndex == 0 { if self.tableSegmentController.selectedSegmentIndex == 0 {
self.selectedListing = (self.tabBarController as? HomeViewController)?.userListings[indexPath.row] //draft
} if(indexPath.section == 1){
else if tableSegmentController.selectedSegmentIndex == 1 { self.selectedListing = (self.tabBarController as? HomeViewController)?.draftListings[indexPath.row]
self.selectedListing = (self.tabBarController as? HomeViewController)?.endedListings[indexPath.row] //active
}else{
self.selectedListing = (self.tabBarController as? HomeViewController)?.userListings[indexPath.row]
}
} }
//view listing that is sold or unsold
else{ else{
self.selectedListing = (self.tabBarController as? HomeViewController)?.soldListings[indexPath.row] //unsold
if(indexPath.section == 1){
self.selectedListing = (self.tabBarController as? HomeViewController)?.endedListings[indexPath.row]
//sold
}else{
self.selectedListing = (self.tabBarController as? HomeViewController)?.soldListings[indexPath.row]
}
} }
self.performSegueWithIdentifier("ItemDetailSegue", sender: self) self.performSegueWithIdentifier("ItemDetailSegue", sender: self)
} }
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
if(self.tableSegmentController.selectedSegmentIndex == 1){
if(section == 1){
return (self.tabBarController as? HomeViewController)!.userListings.count > 0 ? "Unsold" : ""
}else{
return (self.tabBarController as? HomeViewController)!.userListings.count > 0 ? "Sold" : ""
}
}else{
if (self.tabBarController as? HomeViewController)!.userListings.count > 0 {
if(section == 1){
return "Draft"
}else{
return "Active"
}
}else{
return ""
}
}
}
} }

View File

@ -70,7 +70,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-75.5" y="-624.5"/> <point key="canvasLocation" x="-495.5" y="-616.5"/>
</scene> </scene>
<!--recoverPassword--> <!--recoverPassword-->
<scene sceneID="u6U-fS-FoE"> <scene sceneID="u6U-fS-FoE">
@ -139,7 +139,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dyw-ta-pq5" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="dyw-ta-pq5" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-495.5" y="117.5"/> <point key="canvasLocation" x="-739.5" y="125.5"/>
</scene> </scene>
<!--Reveal View Controller--> <!--Reveal View Controller-->
<scene sceneID="8cL-oN-FIo"> <scene sceneID="8cL-oN-FIo">
@ -232,7 +232,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="2JU-bb-oUW" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="2JU-bb-oUW" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-495.5" y="-624.5"/> <point key="canvasLocation" x="-935.5" y="-616.5"/>
</scene> </scene>
<!--camera--> <!--camera-->
<scene sceneID="R99-0r-4lb"> <scene sceneID="R99-0r-4lb">
@ -459,7 +459,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="q1f-dh-MHj" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="q1f-dh-MHj" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1680.5" y="-1376.5"/> <point key="canvasLocation" x="2060.5" y="-1376.5"/>
</scene> </scene>
<!--Select Marketplaces--> <!--Select Marketplaces-->
<scene sceneID="Psr-WG-l4G"> <scene sceneID="Psr-WG-l4G">
@ -737,7 +737,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="6Ls-Ti-JQK" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="6Ls-Ti-JQK" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1680.5" y="117.5"/> <point key="canvasLocation" x="2060.5" y="117.5"/>
</scene> </scene>
<!--Amazon Settings--> <!--Amazon Settings-->
<scene sceneID="UtJ-fv-dWo"> <scene sceneID="UtJ-fv-dWo">
@ -802,7 +802,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Th4-RA-XA4" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="Th4-RA-XA4" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="2113.5" y="117.5"/> <point key="canvasLocation" x="2537.5" y="117.5"/>
</scene> </scene>
<!--Listing Preview--> <!--Listing Preview-->
<scene sceneID="Qqe-CL-BDJ"> <scene sceneID="Qqe-CL-BDJ">
@ -1035,7 +1035,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="RMw-dN-MlZ" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="RMw-dN-MlZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1680.5" y="868.5"/> <point key="canvasLocation" x="2060.5" y="860.5"/>
</scene> </scene>
<!--Etsy Settings--> <!--Etsy Settings-->
<scene sceneID="8bB-5M-lMz"> <scene sceneID="8bB-5M-lMz">
@ -1166,7 +1166,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="aJW-kP-VJj" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="aJW-kP-VJj" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="2113.5" y="868.5"/> <point key="canvasLocation" x="2537.5" y="860.5"/>
</scene> </scene>
<!--items--> <!--items-->
<scene sceneID="mgQ-vQ-YQl"> <scene sceneID="mgQ-vQ-YQl">
@ -1187,6 +1187,12 @@
<segue destination="mWD-m1-fQS" kind="modal" id="NOz-ya-avj"/> <segue destination="mWD-m1-fQS" kind="modal" id="NOz-ya-avj"/>
</connections> </connections>
</barButtonItem> </barButtonItem>
<barButtonItem key="rightBarButtonItem" systemItem="stop" id="Bug-zf-hXF">
<color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
<connections>
<action selector="cancelPressed:" destination="Iwh-sn-a0Q" id="Icq-hE-OY1"/>
</connections>
</barButtonItem>
</navigationItem> </navigationItem>
</items> </items>
</navigationBar> </navigationBar>
@ -1194,22 +1200,22 @@
<rect key="frame" x="0.0" y="44" width="375" height="29"/> <rect key="frame" x="0.0" y="44" width="375" height="29"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<segments> <segments>
<segment title="Selling"/> <segment title="Active"/>
<segment title="Unsold"/> <segment title="History"/>
<segment title="Sold"/>
</segments> </segments>
<color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/> <color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
<connections> <connections>
<action selector="segSwitch:" destination="Iwh-sn-a0Q" eventType="valueChanged" id="YfI-EH-qgs"/> <action selector="activeHistorSegSwitch:" destination="Iwh-sn-a0Q" eventType="valueChanged" id="Ejr-V9-nMo"/>
</connections> </connections>
</segmentedControl> </segmentedControl>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="123" sectionHeaderHeight="1" sectionFooterHeight="28" id="Thg-pb-lhN"> <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="123" sectionHeaderHeight="1" sectionFooterHeight="28" id="Thg-pb-lhN">
<rect key="frame" x="0.0" y="80" width="375" height="535"/> <rect key="frame" x="0.0" y="80" width="375" height="535"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<inset key="contentInset" minX="0.0" minY="10" maxX="0.0" maxY="0.0"/>
<prototypes> <prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Item Cell" rowHeight="123" id="zmO-fi-nTP" customClass="ItemCell" customModule="Vendoo" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Item Cell" rowHeight="123" id="zmO-fi-nTP" customClass="ItemCell" customModule="Vendoo" customModuleProvider="target">
<rect key="frame" x="0.0" y="1" width="375" height="123"/> <rect key="frame" x="0.0" y="11" width="375" height="123"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="zmO-fi-nTP" id="CoK-hy-32b"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="zmO-fi-nTP" id="CoK-hy-32b">
<rect key="frame" x="0.0" y="0.0" width="375" height="122.5"/> <rect key="frame" x="0.0" y="0.0" width="375" height="122.5"/>
@ -1292,6 +1298,18 @@
</tableViewCell> </tableViewCell>
</prototypes> </prototypes>
</tableView> </tableView>
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" id="hyA-UD-JyK">
<rect key="frame" x="127" y="73" width="121" height="29"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<rect key="contentStretch" x="0.0" y="0.0" width="1" height="0.25"/>
<segments>
<segment title="Sold"/>
<segment title="Unsold"/>
</segments>
<connections>
<action selector="historyCurrentlyFilterSegSwitch:" destination="Iwh-sn-a0Q" eventType="valueChanged" id="DRB-3k-60I"/>
</connections>
</segmentedControl>
</subviews> </subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view> </view>
@ -1302,6 +1320,8 @@
<nil key="simulatedStatusBarMetrics"/> <nil key="simulatedStatusBarMetrics"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/> <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
<connections> <connections>
<outlet property="cancelBtn" destination="Bug-zf-hXF" id="EiJ-ib-0Jw"/>
<outlet property="historyCurrentlyFilter" destination="hyA-UD-JyK" id="FLi-xQ-Bgr"/>
<outlet property="itemTable" destination="Thg-pb-lhN" id="u15-xE-hz6"/> <outlet property="itemTable" destination="Thg-pb-lhN" id="u15-xE-hz6"/>
<outlet property="menuButton" destination="WjT-mo-4jm" id="1CT-vV-KLK"/> <outlet property="menuButton" destination="WjT-mo-4jm" id="1CT-vV-KLK"/>
<outlet property="tableSegmentController" destination="X2D-np-ma4" id="DbB-DF-wEF"/> <outlet property="tableSegmentController" destination="X2D-np-ma4" id="DbB-DF-wEF"/>
@ -1310,7 +1330,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="rIQ-Hu-DM0" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="rIQ-Hu-DM0" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1241.5" y="-1376.5"/> <point key="canvasLocation" x="1553.5" y="-1376.5"/>
</scene> </scene>
<!--Home View Controller--> <!--Home View Controller-->
<scene sceneID="NWa-1L-Ttk"> <scene sceneID="NWa-1L-Ttk">
@ -1331,7 +1351,7 @@
</tabBarController> </tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="ZSn-Vl-mTM" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="ZSn-Vl-mTM" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="783.5" y="-1384.5"/> <point key="canvasLocation" x="975.5" y="-1384.5"/>
</scene> </scene>
<!--Menu--> <!--Menu-->
<scene sceneID="3RQ-FG-M3p"> <scene sceneID="3RQ-FG-M3p">
@ -1459,6 +1479,9 @@
</imageView> </imageView>
</subviews> </subviews>
</tableViewCellContentView> </tableViewCellContentView>
<connections>
<segue destination="l3z-FC-7D6" kind="custom" customClass="SWRevealViewControllerSeguePushController" id="ria-Nw-h7a"/>
</connections>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="FAQ_Cell" id="Ak8-L0-HzG"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="FAQ_Cell" id="Ak8-L0-HzG">
<rect key="frame" x="0.0" y="177" width="375" height="44"/> <rect key="frame" x="0.0" y="177" width="375" height="44"/>
@ -1480,6 +1503,9 @@
</imageView> </imageView>
</subviews> </subviews>
</tableViewCellContentView> </tableViewCellContentView>
<connections>
<segue destination="boA-fE-0DD" kind="custom" customClass="SWRevealViewControllerSeguePushController" id="4p9-5v-r1k"/>
</connections>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Getting_Started_Cell" id="Usj-YV-mfI"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Getting_Started_Cell" id="Usj-YV-mfI">
<rect key="frame" x="0.0" y="221" width="375" height="44"/> <rect key="frame" x="0.0" y="221" width="375" height="44"/>
@ -1501,6 +1527,9 @@
</imageView> </imageView>
</subviews> </subviews>
</tableViewCellContentView> </tableViewCellContentView>
<connections>
<segue destination="boA-fE-0DD" kind="custom" customClass="SWRevealViewControllerSeguePushController" id="qb4-wt-avv"/>
</connections>
</tableViewCell> </tableViewCell>
</prototypes> </prototypes>
</tableView> </tableView>
@ -1548,7 +1577,7 @@
</navigationController> </navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="JcV-kO-gWj" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="JcV-kO-gWj" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="783.5" y="117.5"/> <point key="canvasLocation" x="323.5" y="189.5"/>
</scene> </scene>
<!--Notifications--> <!--Notifications-->
<scene sceneID="bwB-9L-Y2n"> <scene sceneID="bwB-9L-Y2n">
@ -1564,7 +1593,7 @@
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes> <prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="notification_cell" rowHeight="69" id="9G8-XI-ptI" customClass="NotificationTableViewCell" customModule="Vendoo" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="notification_cell" rowHeight="69" id="9G8-XI-ptI" customClass="NotificationTableViewCell" customModule="Vendoo" customModuleProvider="target">
<rect key="frame" x="0.0" y="72" width="375" height="69"/> <rect key="frame" x="0.0" y="28" width="375" height="69"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9G8-XI-ptI" id="r3f-6Q-p1g"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9G8-XI-ptI" id="r3f-6Q-p1g">
<rect key="frame" x="0.0" y="0.0" width="375" height="68.5"/> <rect key="frame" x="0.0" y="0.0" width="375" height="68.5"/>
@ -1607,7 +1636,62 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="34F-M2-Thr" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="34F-M2-Thr" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="783.5" y="868.5"/> <point key="canvasLocation" x="323.5" y="940.5"/>
</scene>
<!--FAQ-->
<scene sceneID="5Gh-Dc-5IY">
<objects>
<viewController title="FAQ" id="boA-fE-0DD" customClass="ExternalWebViewController" customModule="Vendoo" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="E7b-s5-8b2">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" id="ax6-lY-AY4">
<rect key="frame" x="0.0" y="41" width="375" height="29"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.891717640799357" green="0.93282781859999997" blue="0.92491716525804946" alpha="1" colorSpace="calibratedRGB"/>
<segments>
<segment title="Terms &amp; Conditions"/>
<segment title="Privacy Policy"/>
</segments>
<connections>
<action selector="segSwitcher:" destination="boA-fE-0DD" eventType="valueChanged" id="1Ut-jz-PpF"/>
</connections>
</segmentedControl>
<webView contentMode="scaleToFill" scalesPageToFit="YES" id="90w-yh-Hsa">
<rect key="frame" x="9" y="105" width="356" height="457"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="deviceRGB"/>
</webView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="2PQ-QL-mA0">
<rect key="frame" x="112" y="570" width="151" height="77"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.17963047153802744" green="0.9708063853539266" blue="0.82509178019740859" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<color key="tintColor" red="0.7931379808779494" green="0.93282781859999997" blue="0.90501418412773915" alpha="1" colorSpace="calibratedRGB"/>
<state key="normal" title="Back"/>
<connections>
<action selector="navigateBack:" destination="boA-fE-0DD" eventType="touchUpInside" id="xYh-bo-MpN"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.79313798089999998" green="0.93282781859999997" blue="0.90501418410000001" alpha="1" colorSpace="calibratedRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" title="FAQ" id="yKO-Ow-koP">
<barButtonItem key="leftBarButtonItem" systemItem="stop" id="hrp-P4-gsK">
<color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
</barButtonItem>
</navigationItem>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
<connections>
<outlet property="webView" destination="90w-yh-Hsa" id="1Yu-bi-6ji"/>
<outlet property="webViewSelector" destination="ax6-lY-AY4" id="2HY-pu-dpe"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="P3M-Ve-0F7" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="730.5" y="189.5"/>
</scene> </scene>
<!--Navigation Controller--> <!--Navigation Controller-->
<scene sceneID="fTi-5a-Ts4"> <scene sceneID="fTi-5a-Ts4">
@ -1624,7 +1708,7 @@
</navigationController> </navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="2fq-he-yeA" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="2fq-he-yeA" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="352.5" y="117.5"/> <point key="canvasLocation" x="-75.5" y="189.5"/>
</scene> </scene>
<!--Settings--> <!--Settings-->
<scene sceneID="rQk-fJ-wBx"> <scene sceneID="rQk-fJ-wBx">
@ -1640,7 +1724,7 @@
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes> <prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Change_Pass_Cell" id="ceq-sl-ClT"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Change_Pass_Cell" id="ceq-sl-ClT">
<rect key="frame" x="0.0" y="72" width="375" height="44"/> <rect key="frame" x="0.0" y="28" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ceq-sl-ClT" id="Waq-fu-UxD"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ceq-sl-ClT" id="Waq-fu-UxD">
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/> <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
@ -1657,7 +1741,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Delete_Account_Cell" id="Lha-cf-Sfc"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Delete_Account_Cell" id="Lha-cf-Sfc">
<rect key="frame" x="0.0" y="116" width="375" height="44"/> <rect key="frame" x="0.0" y="72" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Lha-cf-Sfc" id="kmF-Sb-d0c"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Lha-cf-Sfc" id="kmF-Sb-d0c">
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/> <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
@ -1693,7 +1777,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Wij-7A-2ap" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="Wij-7A-2ap" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="352.5" y="868.5"/> <point key="canvasLocation" x="-75.5" y="940.5"/>
</scene> </scene>
<!--Manage Marketplaces--> <!--Manage Marketplaces-->
<scene sceneID="ZoD-ex-KWn"> <scene sceneID="ZoD-ex-KWn">
@ -1964,7 +2048,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="wgJ-Et-iET" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="wgJ-Et-iET" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="2113.5" y="-1376.5"/> <point key="canvasLocation" x="2537.5" y="-1376.5"/>
</scene> </scene>
<!--Category Pop Up Controller--> <!--Category Pop Up Controller-->
<scene sceneID="PQM-UG-Hik"> <scene sceneID="PQM-UG-Hik">
@ -2015,7 +2099,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="kG7-XU-wBG" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="kG7-XU-wBG" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1178.5" y="-649.5"/> <point key="canvasLocation" x="1553.5" y="-616.5"/>
</scene> </scene>
<!--categories--> <!--categories-->
<scene sceneID="e5k-kQ-o33"> <scene sceneID="e5k-kQ-o33">
@ -2154,7 +2238,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="VhZ-aP-JDs" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="VhZ-aP-JDs" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="1654.5" y="-649.5"/> <point key="canvasLocation" x="2060.5" y="-616.5"/>
</scene> </scene>
<!--Ebay Settings--> <!--Ebay Settings-->
<scene sceneID="bc4-4H-BM8"> <scene sceneID="bc4-4H-BM8">
@ -2391,7 +2475,7 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Oyc-F3-ucg" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="Oyc-F3-ucg" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="2113.5" y="-624.5"/> <point key="canvasLocation" x="2537.5" y="-616.5"/>
</scene> </scene>
</scenes> </scenes>
<resources> <resources>
@ -2415,12 +2499,13 @@
<image name="start" width="50" height="50"/> <image name="start" width="50" height="50"/>
</resources> </resources>
<inferredMetricsTieBreakers> <inferredMetricsTieBreakers>
<segue reference="syc-IR-LNQ"/> <segue reference="ria-Nw-h7a"/>
<segue reference="nWA-7e-2Ec"/>
<segue reference="NOz-ya-avj"/> <segue reference="NOz-ya-avj"/>
<segue reference="rkZ-c8-XJc"/> <segue reference="qb4-wt-avv"/>
<segue reference="Ogu-p5-UtK"/> <segue reference="Gnt-iE-cW9"/>
<segue reference="KKl-Gj-ZVc"/> <segue reference="eaI-bm-1aI"/>
<segue reference="nUj-1v-ftF"/>
<segue reference="Ds4-LY-IRj"/>
</inferredMetricsTieBreakers> </inferredMetricsTieBreakers>
<color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/> <color key="tintColor" red="0.2784313725" green="0.80392156859999997" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
</document> </document>

View File

@ -46,7 +46,37 @@ class MenuPanelViewController: UIViewController{
extension MenuPanelViewController: UITableViewDelegate extension MenuPanelViewController: UITableViewDelegate
{ {
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
switch(indexPath.row){
//display user name and email
case 0:
break
//display notification count
case 1:
break
//display settings cell
case 2:
break
//display analytics (next iteration)
case 3:
NSUserDefaults.standardUserDefaults().setObject(true, forKey: "isAnalytics")
break
//display FAQ cell
case 4:
NSUserDefaults.standardUserDefaults().setObject("FAQ", forKey: "whichContent")
break
//display how to cell
default:
NSUserDefaults.standardUserDefaults().setObject("Getting_Started", forKey: "whichContent")
break
}
}
} }
extension MenuPanelViewController: UITableViewDataSource extension MenuPanelViewController: UITableViewDataSource
@ -96,6 +126,7 @@ extension MenuPanelViewController: UITableViewDataSource
//display FAQ cell //display FAQ cell
case 4: case 4:
cell = self.table.dequeueReusableCellWithIdentifier("FAQ_Cell")! cell = self.table.dequeueReusableCellWithIdentifier("FAQ_Cell")!
break break
//display how to cell //display how to cell
@ -106,6 +137,8 @@ extension MenuPanelViewController: UITableViewDataSource
return cell return cell
} }
} }

View File

@ -37,6 +37,8 @@ class NetworksTableViewController: UIViewController {
private var shouldShowDictionary: Dictionary<String, Bool> = ["ebay":false, "amazon":false,"etsy":false,"facebook":false] private var shouldShowDictionary: Dictionary<String, Bool> = ["ebay":false, "amazon":false,"etsy":false,"facebook":false]
private var networkOrderSelection: [String] = [] private var networkOrderSelection: [String] = []
private var networkCount = 0 private var networkCount = 0
var loadingView: UIView!
@ -221,7 +223,7 @@ extension NetworksTableViewController: UITableViewDataSource {
return count return count
} }
else { else {
return 4 return /*4*/ 3
} }
} }
@ -275,11 +277,11 @@ extension NetworksTableViewController: UITableViewDataSource {
} }
break break
case 1: /*case 1:
//loads network cell for amazon //loads network cell for amazon
cell = (self.tableView.dequeueReusableCellWithIdentifier("amazon", forIndexPath: indexPath) as! AmazonTableViewCell) cell = (self.tableView.dequeueReusableCellWithIdentifier("amazon", forIndexPath: indexPath) as! AmazonTableViewCell)
break break*/
case 2: case 1:
//loads network cell for etsy //loads network cell for etsy
cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell)
@ -334,6 +336,16 @@ extension NetworksTableViewController {
@IBAction func draftItem(sender: AnyObject) { @IBAction func draftItem(sender: AnyObject) {
self.loadingView = UIView(frame: self.view.frame)
self.loadingView.backgroundColor = UIColor.grayColor()
self.loadingView.alpha = 0.4
self.firManager.indicator.center = self.view.center
self.loadingView.addSubview(self.firManager.indicator)
self.view.addSubview(loadingView)
self.firManager.indicator.startAnimating()
if((self.itemListingDictionary["pictures"]! as? [UIImageView])?[0].image == nil){ if((self.itemListingDictionary["pictures"]! as? [UIImageView])?[0].image == nil){
let alert = UIAlertController(title: "Image Needed", message: "To save the listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert) let alert = UIAlertController(title: "Image Needed", message: "To save the listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert)
@ -352,6 +364,7 @@ extension NetworksTableViewController {
"listingTitle": self.itemListingDictionary["title"], "listingTitle": self.itemListingDictionary["title"],
"listingPrice": self.itemListingDictionary["price"], "listingPrice": self.itemListingDictionary["price"],
"listingCategory": self.itemListingDictionary["category"], "listingCategory": self.itemListingDictionary["category"],
"listingQuantity": self.itemListingDictionary["quantity"],
"listingDescription": self.itemListingDictionary["description"], "listingDescription": self.itemListingDictionary["description"],
"numberOfSupportingImages" : ((self.itemListingDictionary["pictures"] as? [UIImageView])?.count)! - 1, "numberOfSupportingImages" : ((self.itemListingDictionary["pictures"] as? [UIImageView])?.count)! - 1,
"isListingDraft": true, "isListingDraft": true,
@ -407,6 +420,9 @@ extension NetworksTableViewController {
{(metadata, error) -> Void in {(metadata, error) -> Void in
newListingRef.setValue(listing as? Dictionary<String,AnyObject>) newListingRef.setValue(listing as? Dictionary<String,AnyObject>)
self.firManager.indicator.stopAnimating()
self.loadingView.removeFromSuperview()
self.loadingView = nil
let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert) let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: { alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {
@ -563,7 +579,6 @@ extension NetworksTableViewController: UITableViewDelegate {
} }
else{}
} }
@ -646,8 +661,8 @@ extension NetworksTableViewController {
}))! }))!
break break
case is AmazonTableViewCell.Type: /*case is AmazonTableViewCell.Type:
break break*/
case is EtsyTableViewCell.Type: case is EtsyTableViewCell.Type:
let tabBar = self.tabBarController let tabBar = self.tabBarController
((tabBar as? HomeViewController)?.etsyManager.authorizeApp(self, onComplete: { ((tabBar as? HomeViewController)?.etsyManager.authorizeApp(self, onComplete: {
@ -693,8 +708,8 @@ extension NetworksTableViewController {
}) })
break break
case is AmazonTableViewCell.Type: /*case is AmazonTableViewCell.Type:
break break*/
case is EtsyTableViewCell.Type: case is EtsyTableViewCell.Type:
let tabBar = self.tabBarController let tabBar = self.tabBarController
((tabBar as? HomeViewController)?.etsyManager.deAuthorizeApp(self))! ((tabBar as? HomeViewController)?.etsyManager.deAuthorizeApp(self))!
@ -739,7 +754,7 @@ extension NetworksTableViewController {
} }
break break
case is AmazonTableViewCell.Type: /*case is AmazonTableViewCell.Type:
//selection code for amazon //selection code for amazon
if((sender.superview?.superview as! AmazonTableViewCell).networkToggle.on){ if((sender.superview?.superview as! AmazonTableViewCell).networkToggle.on){
@ -753,7 +768,7 @@ extension NetworksTableViewController {
self.networksDictionary["amazon"] = false self.networksDictionary["amazon"] = false
} }
break break*/
case is EtsyTableViewCell.Type: case is EtsyTableViewCell.Type:
//selection code for etsy //selection code for etsy
if((sender.superview?.superview as! EtsyTableViewCell).networkToggle.on){ if((sender.superview?.superview as! EtsyTableViewCell).networkToggle.on){

View File

@ -37,6 +37,7 @@ class SignInViewController: UIViewController {
let dictionary = Locksmith.loadDataForUserAccount(self.email.text!, inService: "vendoo") let dictionary = Locksmith.loadDataForUserAccount(self.email.text!, inService: "vendoo")
self.password.text = dictionary!["pass"] as? String self.password.text = dictionary!["pass"] as? String
signInUser(self) signInUser(self)
}else{ }else{
print("user not found") print("user not found")
@ -86,6 +87,33 @@ extension SignInViewController {
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: {(action: UIAlertAction!) in alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: {(action: UIAlertAction!) in
})) }))
self.presentViewController(alert, animated: true, completion: nil) self.presentViewController(alert, animated: true, completion: nil)
//if request fails due to connectivity, then retry the login request
}else if (error?.userInfo["NSUnderlyingError"]?.code == -1005 || error?.code == 17020){
var alert = UIAlertController(title: "Network Error", message: "There has been a problem connecting to the server. This could be due to various reasons such as having a slow or non existent connection or using an anonymity tool like a VPN service. Would you like to attempt to reconnect?", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: {(action: UIAlertAction!) in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {() -> Void in
var downloadGroup = dispatch_group_create()
dispatch_group_enter(downloadGroup)
dispatch_group_wait(downloadGroup, dispatch_time(DISPATCH_TIME_NOW, 5000000000))
// Wait 5 seconds before trying again.
dispatch_group_leave(downloadGroup)
dispatch_async(dispatch_get_main_queue(), {() -> Void in
//Main Queue stuff here
//Redo the function that made the Request.
self.signInUser(self)
})
})
}))
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: {(action: UIAlertAction!) in
}))
self.presentViewController(alert, animated: true, completion: nil)
return
} }
} else { } else {
@ -95,6 +123,7 @@ extension SignInViewController {
if !(NSUserDefaults.standardUserDefaults().boolForKey("signedIn")){ if !(NSUserDefaults.standardUserDefaults().boolForKey("signedIn")){
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "signedIn") NSUserDefaults.standardUserDefaults().setBool(true, forKey: "signedIn")
NSUserDefaults.standardUserDefaults().setObject(self.email.text, forKey: "email") NSUserDefaults.standardUserDefaults().setObject(self.email.text, forKey: "email")
//save data to keychain //save data to keychain
do{ do{