├── .gitignore ├── .travis.yml ├── KKAlertView.podspec ├── KKAlertView ├── AlertAction.swift ├── AnimationManager │ ├── DismissAnimationManager.swift │ └── ShowAnimationManager.swift ├── DefaultPathAlertView.swift ├── KKAlertBackgroundView.swift ├── KKAlertView.swift └── KKAlertViewController.swift ├── KKAlertViewSample ├── KKAlertViewSample.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── KKAlertViewSample.xcworkspace │ └── contents.xcworkspacedata ├── KKAlertViewSample │ ├── AppDelegate.swift │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ ├── SampleAlertView.swift │ ├── SampleAlertView.xib │ ├── SampleCollectionViewCell.xib │ ├── SampleRedAlertView.xib │ ├── SampleViewController.swift │ ├── SampleViewController.xib │ └── image │ │ ├── glass.png │ │ └── sample.png ├── KKAlertViewSampleTests │ ├── Info.plist │ └── KKAlertViewSampleTests.swift ├── Podfile ├── Podfile.lock └── Pods │ ├── KKAlertView │ ├── KKAlertView │ │ ├── AlertAction.swift │ │ ├── AnimationManager │ │ │ ├── DismissAnimationManager.swift │ │ │ └── ShowAnimationManager.swift │ │ ├── DefaultPathAlertView.swift │ │ ├── KKAlertBackgroundView.swift │ │ ├── KKAlertView.swift │ │ └── KKAlertViewController.swift │ ├── LICENSE │ └── README.md │ ├── Local Podspecs │ └── KKAlertView.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ └── project.pbxproj │ └── Target Support Files │ ├── Pods-KKAlertView │ ├── Info.plist │ ├── Pods-KKAlertView-Private.xcconfig │ ├── Pods-KKAlertView-dummy.m │ ├── Pods-KKAlertView-prefix.pch │ ├── Pods-KKAlertView-umbrella.h │ ├── Pods-KKAlertView.modulemap │ └── Pods-KKAlertView.xcconfig │ └── Pods │ ├── Info.plist │ ├── Pods-acknowledgements.markdown │ ├── Pods-acknowledgements.plist │ ├── Pods-dummy.m │ ├── Pods-environment.h │ ├── Pods-frameworks.sh │ ├── Pods-resources.sh │ ├── Pods-umbrella.h │ ├── Pods.debug.xcconfig │ ├── Pods.modulemap │ └── Pods.release.xcconfig ├── LICENSE ├── README.md └── SampleImage ├── alertView.gif └── alertViewSample.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | build/ 3 | *.pbxuser 4 | !default.pbxuser 5 | *.mode1v3 6 | !default.mode1v3 7 | *.mode2v3 8 | !default.mode2v3 9 | *.perspectivev3 10 | !default.perspectivev3 11 | xcuserdata 12 | *.xccheckout 13 | *.moved-aside 14 | DerivedData 15 | *.hmap 16 | *.ipa 17 | *.xcuserstate 18 | 19 | Carthage/Build 20 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # references: 2 | # * http://www.objc.io/issue-6/travis-ci.html 3 | # * https://github.com/supermarin/xcpretty#usage 4 | 5 | language: objective-c 6 | # cache: cocoapods 7 | # podfile: Example/Podfile 8 | # before_install: 9 | # - gem install cocoapods # Since Travis is not always on latest version 10 | # - pod install --project-directory=Example 11 | install: 12 | - gem install xcpretty --no-rdoc --no-ri --no-document --quiet 13 | script: 14 | - set -o pipefail && xcodebuild test -workspace Example/KKAlertView.xcworkspace -scheme KKAlertView-Example -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO | xcpretty -c 15 | - pod lib lint --quick 16 | -------------------------------------------------------------------------------- /KKAlertView.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # Be sure to run `pod lib lint KKAlertView.podspec' to ensure this is a 3 | # valid spec and remove all comments before submitting the spec. 4 | # 5 | # Any lines starting with a # are optional, but encouraged 6 | # 7 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html 8 | # 9 | 10 | Pod::Spec.new do |s| 11 | s.name = "KKAlertView" 12 | s.version = "0.1.1" 13 | s.summary = "KKAlertView contains Path like appearing animation and some functions." 14 | s.homepage = "https://github.com/kazuteru/KKAlertView" 15 | # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" 16 | s.license = 'MIT' 17 | s.author = { "kazuteru" => "kazuteru.koba@gmail.com" } 18 | s.source = { :git => "https://github.com/kazuteru/KKAlertView.git", :tag => s.version.to_s } 19 | # s.social_media_url = 'https://twitter.com/' 20 | 21 | s.platform = :ios, '8.0' 22 | s.requires_arc = true 23 | 24 | s.source_files = ['KKAlertView/*.{swift}', 'KKAlertView/AnimationManager/*.{swift}'] 25 | 26 | # s.public_header_files = 'Pod/Classes/**/*.h' 27 | # s.frameworks = 'UIKit', 'MapKit' 28 | # s.dependency 'AFNetworking', '~> 2.3' 29 | end 30 | -------------------------------------------------------------------------------- /KKAlertView/AlertAction.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AlertAction.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class AlertAction: NSObject { 12 | var title: String = "" 13 | var action: (() -> Void)? 14 | 15 | init(title: String, action: (() -> Void)?) { 16 | self.title = title 17 | self.action = action 18 | } 19 | } -------------------------------------------------------------------------------- /KKAlertView/AnimationManager/DismissAnimationManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DismissAnimationManager.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/28. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DismissAnimationManager { 12 | class var sharedInstance :DismissAnimationManager { 13 | struct Static { 14 | static let instance = DismissAnimationManager() 15 | } 16 | return Static.instance 17 | } 18 | 19 | func gravityAnimation(animator: UIDynamicAnimator, view: UIView, animations: (() -> Void)?, completion: (() -> Void)?) { 20 | UIView.animateWithDuration( 21 | 0.1, 22 | delay: 0.3, 23 | options: UIViewAnimationOptions.CurveEaseIn, 24 | animations: { 25 | if let animations = animations { animations() } 26 | }, 27 | completion:{ 28 | (value: Bool) in 29 | if let completion = completion { completion() } 30 | } 31 | ) 32 | animator.removeAllBehaviors() 33 | var gravityBehavior = UIGravityBehavior(items: [view]) 34 | gravityBehavior.gravityDirection = CGVector(dx: 0.0, dy: 10.0) 35 | animator.addBehavior(gravityBehavior) 36 | 37 | var itemBehavior = UIDynamicItemBehavior(items: [view]) 38 | itemBehavior.addAngularVelocity(CGFloat(-M_PI_2), forItem: view) 39 | animator.addBehavior(itemBehavior) 40 | } 41 | } -------------------------------------------------------------------------------- /KKAlertView/AnimationManager/ShowAnimationManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShowAnimationManager.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/28. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ShowAnimationManager { 12 | 13 | class var sharedInstance :ShowAnimationManager { 14 | struct Static { 15 | static let instance = ShowAnimationManager() 16 | } 17 | return Static.instance 18 | } 19 | 20 | func attachmentAnimation(animator: UIDynamicAnimator, view: UIView, animations: (() -> Void)?, completion: (() -> Void)?) { 21 | view.transform = CGAffineTransformMakeRotation(CGFloat(M_1_PI) / 2.0); 22 | UIView.animateWithDuration( 23 | 0.1, 24 | delay: 0.0, 25 | options: UIViewAnimationOptions.CurveEaseIn, 26 | animations: { 27 | if let animations = animations { animations() } 28 | view.transform = CGAffineTransformMakeRotation(0); 29 | }, 30 | completion:{ 31 | (value: Bool) in 32 | if let completion = completion { completion() } 33 | } 34 | ) 35 | animator.removeAllBehaviors() 36 | //anchor = 支点 37 | var attachmentBehavior = UIAttachmentBehavior(item: view, attachedToAnchor: CGPoint(x: view.center.x, y: 0.0)) 38 | attachmentBehavior.length = UIScreen.mainScreen().bounds.height / 2.0 + view.bounds.height 39 | //減衰 40 | attachmentBehavior.damping = 0.3 41 | //頻度 42 | attachmentBehavior.frequency = 5 43 | animator.addBehavior(attachmentBehavior) 44 | } 45 | } -------------------------------------------------------------------------------- /KKAlertView/DefaultPathAlertView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DefaultKKAlertView.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DefaultKKAlertView: KKAlertView { 12 | 13 | var title: String? 14 | var message: String? 15 | var actions: [AlertAction] = [AlertAction]() 16 | 17 | // 18 | // override init(frame: CGRect) { 19 | // super.init(frame: frame) 20 | // } 21 | 22 | convenience init(title: String?, message: String?) { 23 | self.init() 24 | self.title = title; 25 | self.message = message; 26 | } 27 | 28 | // required override init(coder aDecoder: NSCoder) { 29 | // fatalError("init(coder:) has not been implemented") 30 | // } 31 | 32 | func addAction(action: AlertAction) { 33 | actions.append(action) 34 | } 35 | 36 | func createAlertView() -> Self { 37 | var y: CGFloat = 0.0 38 | self.frame = CGRect(x: 0.0, y: 0.0, width: 280.0, height: 0.0) 39 | self.backgroundColor = UIColor.whiteColor() 40 | if let title = title { 41 | var titleLabel = UILabel(frame: CGRect(x: 5.0, y: 20.0, width: self.bounds.width - 10.0, height: 0.0)) 42 | titleLabel.numberOfLines = 0 43 | titleLabel.text = title 44 | titleLabel.font = UIFont.boldSystemFontOfSize(20.0) 45 | titleLabel.sizeToFit() 46 | titleLabel.frame = CGRect(x: 5.0, y: 15.0, width: self.bounds.width - 10.0, height: titleLabel.bounds.height) 47 | titleLabel.textAlignment = .Center 48 | self.addSubview(titleLabel) 49 | y += titleLabel.bounds.origin.y 50 | y += titleLabel.bounds.height 51 | } 52 | if let message = message { 53 | var messageLabel = UILabel(frame: CGRect(x: 5.0, y: y + 15.0, width: self.bounds.width - 10.0, height: 0.0)) 54 | messageLabel.numberOfLines = 0 55 | messageLabel.text = message 56 | messageLabel.sizeToFit() 57 | self.addSubview(messageLabel) 58 | y += 15.0 59 | y += messageLabel.bounds.height 60 | } 61 | y += 20.0 62 | //add button 63 | y = addButtons(y, alertActions: actions) 64 | self.frame = CGRect(x: 0.0, y: 0.0, width: 280.0, height: y) 65 | //角丸処理 66 | self.layer.cornerRadius = 10.0 67 | self.layer.masksToBounds = true 68 | return self 69 | } 70 | 71 | private func addButtons(y: CGFloat, alertActions: [AlertAction]) -> CGFloat { 72 | switch alertActions.count { 73 | case 0: 74 | return y 75 | case 1: 76 | var button = createButton(CGRect(x: 0.0, y: y, width: self.bounds.width, height: 40), tag: 0) 77 | self.addSubview(button) 78 | return y + button.bounds.height 79 | case 2: 80 | var leftButton = createButton(CGRect(x: 0.0, y: y, width: self.bounds.width / 2.0, height: 40), tag: 0) 81 | self.addSubview(leftButton) 82 | var rightButton = createButton(CGRect(x: leftButton.bounds.origin.x + leftButton.bounds.width, y: y, width: self.bounds.width / 2.0, height: 40), tag: 1) 83 | var border = CALayer() 84 | border.frame = CGRect(x: 0.0, y: 0.0, width: 0.5, height: rightButton.bounds.height); 85 | border.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.1).CGColor 86 | rightButton.layer.addSublayer(border) 87 | self.addSubview(rightButton) 88 | return y + leftButton.bounds.height 89 | default: 90 | var afterY = y 91 | for var i = 0; i < alertActions.count; i++ { 92 | var button = createButton(CGRect(x: 0.0, y: afterY, width: self.bounds.width, height: 40), tag: i) 93 | self.addSubview(button) 94 | afterY = afterY + button.bounds.height 95 | } 96 | return afterY 97 | } 98 | } 99 | 100 | private func createButton(frame: CGRect, tag: NSInteger) -> UIButton { 101 | var button = UIButton(frame: frame) 102 | button.tag = tag 103 | if let settedBorderButton = setUpperBorder(button) as? UIButton { button = settedBorderButton } 104 | button.setTitle(actions[tag].title, forState: .Normal) 105 | button.setTitleColor(UIColor.cyanColor(), forState: .Normal) 106 | button.addTarget(self, action: "executeAction:", forControlEvents: .TouchUpInside) 107 | return button 108 | } 109 | 110 | private func setUpperBorder(view: UIView) -> UIView { 111 | var border = CALayer() 112 | border.frame = CGRect(x: 0.0, y: 0.0, width: view.bounds.size.width, height: 0.5); 113 | border.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.1).CGColor 114 | view.layer.addSublayer(border) 115 | return view 116 | } 117 | 118 | func executeAction(button: UIButton) { 119 | if let action = actions[button.tag].action { 120 | action() 121 | } 122 | } 123 | 124 | 125 | } -------------------------------------------------------------------------------- /KKAlertView/KKAlertBackgroundView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BackView.swift 3 | // KKAlertBackgroundView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class KKAlertBackgroundView: UIView { 12 | var _alertView = UIView() 13 | var alertView: UIView? { 14 | get { 15 | return _alertView 16 | } 17 | set(newAlertView) { 18 | _alertView = newAlertView! 19 | _alertView.center.x = self.center.x 20 | if let alertView = _alertView as? KKAlertView { 21 | alertView.delegate = self 22 | } 23 | addSubview(_alertView) 24 | } 25 | } 26 | var cancel: (() -> Void)? 27 | var animator: UIDynamicAnimator! 28 | var backgroundColorShowingAlert = UIColor.blackColor().colorWithAlphaComponent(0.2) 29 | 30 | override init(frame: CGRect) { 31 | super.init(frame: frame) 32 | animator = UIDynamicAnimator(referenceView: self) 33 | backgroundColor = self.backgroundColorShowingAlert.colorWithAlphaComponent(0.0) 34 | } 35 | 36 | // func setAlertView(alertView: UIView) { 37 | // self.alertView = alertView 38 | // self.alertView!.center.x = self.center.x 39 | // if alertView is KKAlertView { 40 | // var alertView = self.alertView as! KKAlertView 41 | // alertView.delegate = self 42 | // } 43 | // addSubview(alertView) 44 | // } 45 | 46 | required init(coder aDecoder: NSCoder) { 47 | fatalError("init(coder:) has not been implemented") 48 | } 49 | 50 | func showAlertView() { 51 | //managerを使用 52 | ShowAnimationManager.sharedInstance.attachmentAnimation(self.animator, 53 | view: alertView!, 54 | animations: { 55 | self.backgroundColor = self.backgroundColorShowingAlert 56 | }, completion: nil) 57 | } 58 | 59 | 60 | func dismissAlertView() { 61 | //gravityBehaviorがdelegateをcatchできないため、UIViewのanimeのdelayを利用 62 | DismissAnimationManager.sharedInstance.gravityAnimation(self.animator, 63 | view: alertView!, 64 | animations: { self.backgroundColor = self.backgroundColorShowingAlert.colorWithAlphaComponent(0.0) }, 65 | completion: { if let cancel = self.cancel { cancel() } }) 66 | } 67 | 68 | /** 69 | swift1.2 70 | */ 71 | // override func touchesBegan(touches: Set, withEvent event: UIEvent) { 72 | // if let alertView = alertView { 73 | // if let touch = touches.first as? UITouch { 74 | // let location = touch.locationInView(self) 75 | // if checkTouch(location) { 76 | // dismissAlertView() 77 | // } 78 | // } 79 | // } 80 | // } 81 | 82 | /** 83 | swift1.1 84 | */ 85 | override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { 86 | if let alertView = alertView { 87 | let location = touches.anyObject()?.locationInView(self) 88 | if checkTouch(location!) { 89 | dismissAlertView() 90 | } 91 | } 92 | } 93 | 94 | func checkTouch(location: CGPoint) -> Bool { 95 | if let alertView = alertView { 96 | if location.x < alertView.frame.origin.x { 97 | return true 98 | } 99 | if location.y < alertView.frame.origin.y { 100 | return true 101 | } 102 | if location.x > alertView.frame.origin.x + alertView.frame.width { 103 | return true 104 | } 105 | if location.y > alertView.frame.origin.y + alertView.frame.height { 106 | return true 107 | } 108 | } 109 | return false 110 | } 111 | } 112 | 113 | extension KKAlertBackgroundView: KKAlertViewDelegate { 114 | func dismissAlertView(alertView: KKAlertView) { 115 | dismissAlertView() 116 | } 117 | } -------------------------------------------------------------------------------- /KKAlertView/KKAlertView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KKAlertView.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @objc public protocol KKAlertViewDelegate { 12 | optional func dismissAlertView(KKAlertView: KKAlertView) 13 | } 14 | 15 | public class KKAlertView: UIView { 16 | 17 | public var delegate: KKAlertViewDelegate? 18 | 19 | // public override init(frame: CGRect) { 20 | // super.init(frame: frame) 21 | // } 22 | // 23 | // public required init(coder aDecoder: NSCoder) { 24 | // super.init(coder: aDecoder) 25 | // } 26 | 27 | public func dismiss() { 28 | if let delegate = delegate { delegate.dismissAlertView!(self) } 29 | } 30 | } -------------------------------------------------------------------------------- /KKAlertView/KKAlertViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KKAlertViewController.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | /** 12 | * Alertの挙動を操作する. 13 | */ 14 | public class KKAlertViewController: UIViewController { 15 | 16 | var backView: KKAlertBackgroundView! 17 | var alertWindow: UIWindow? 18 | //AnimationPattern 19 | public var pattern: AnyObject? 20 | //背景タップでアラートをdismissするかどうか 21 | public var canDisimissAlertToTouchBack = true 22 | //背景色を設定 23 | public var backgroundViewColor: UIColor? 24 | 25 | var defaultAlertView: DefaultKKAlertView? 26 | 27 | // public init() { 28 | // super.init() 29 | // } 30 | 31 | // public override init(nibName:String!, bundle: NSBundle!) { 32 | // super.init(nibName: nibName, bundle: bundle) 33 | // } 34 | 35 | // public init(view :UIView) { 36 | // super.init() 37 | // } 38 | 39 | // public init(view: KKAlertView) { 40 | // super.init() 41 | // } 42 | 43 | public convenience init(title: String?, message: String?) { 44 | self.init() 45 | defaultAlertView = DefaultKKAlertView(title: title, message: message) 46 | } 47 | 48 | // public required init(coder aDecoder: NSCoder) { 49 | // fatalError("init(coder:) has not been implemented") 50 | // } 51 | 52 | public func addAction(#title: String, action: (() -> Void)?) { 53 | if let defaultAlertView = defaultAlertView { defaultAlertView.addAction(AlertAction(title: title, action: action)) } 54 | } 55 | 56 | public func showAlert() { 57 | if let defaultAlertView = defaultAlertView { showAlert(defaultAlertView.createAlertView()) } 58 | } 59 | 60 | public func showAlert(alertView: UIView) { 61 | backView = KKAlertBackgroundView(frame: CGRect(x: 0.0, 62 | y: -alertView.bounds.height, 63 | width: UIScreen.mainScreen().bounds.width, 64 | height: UIScreen.mainScreen().bounds.height + alertView.bounds.height)) 65 | backView.cancel = { self.dismissPTAlertWindow() } 66 | if let backgroundViewColor = backgroundViewColor { backView.backgroundColorShowingAlert = backgroundViewColor } 67 | backView.alertView = alertView 68 | view.addSubview(backView) 69 | showPTAlertWindow() 70 | } 71 | 72 | /** 73 | * alertViewWindowの表示 74 | */ 75 | private func showPTAlertWindow() { 76 | var window = UIWindow(frame: UIScreen.mainScreen().bounds) 77 | window.rootViewController = self 78 | window.addSubview(view) 79 | window.makeKeyAndVisible() 80 | alertWindow = window 81 | backView.showAlertView() 82 | } 83 | 84 | /** 85 | * alertViewWindowの非表示 86 | */ 87 | private func dismissPTAlertWindow() { 88 | if let alertWindow = alertWindow { 89 | println("deleteWindow") 90 | let application = UIApplication.sharedApplication() 91 | if let nextWindowIndex = application.windows.indexesOfObject(alertWindow) { 92 | if let nextWindow = application.windows[nextWindowIndex] as? UIWindow { nextWindow.makeKeyAndVisible() } 93 | self.alertWindow = nil 94 | } 95 | } 96 | } 97 | } 98 | 99 | extension Array { 100 | func indexesOfObject(object:T) -> NSInteger? { 101 | for (index, obj) in enumerate(self) { 102 | if let obj = obj as? T { 103 | if obj == object { return index } 104 | } 105 | } 106 | return nil 107 | } 108 | } -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 9FEAC29C3BB1AD4451D3A3DC /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B97B6492D3CAE5A516DB7F44 /* Pods.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 11 | F357FBDF1ACA9E17006B4660 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F357FBDE1ACA9E17006B4660 /* Images.xcassets */; }; 12 | F357FBE21ACA9E17006B4660 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = F357FBE01ACA9E17006B4660 /* LaunchScreen.xib */; }; 13 | F357FBEE1ACA9E17006B4660 /* KKAlertViewSampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F357FBED1ACA9E17006B4660 /* KKAlertViewSampleTests.swift */; }; 14 | F357FBFE1ACA9E55006B4660 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F357FBF71ACA9E55006B4660 /* AppDelegate.swift */; }; 15 | F357FBFF1ACA9E55006B4660 /* SampleAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F357FBF81ACA9E55006B4660 /* SampleAlertView.swift */; }; 16 | F357FC001ACA9E55006B4660 /* SampleAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F357FBF91ACA9E55006B4660 /* SampleAlertView.xib */; }; 17 | F357FC011ACA9E55006B4660 /* SampleCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F357FBFA1ACA9E55006B4660 /* SampleCollectionViewCell.xib */; }; 18 | F357FC021ACA9E55006B4660 /* SampleRedAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F357FBFB1ACA9E55006B4660 /* SampleRedAlertView.xib */; }; 19 | F357FC031ACA9E55006B4660 /* SampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F357FBFC1ACA9E55006B4660 /* SampleViewController.swift */; }; 20 | F357FC041ACA9E55006B4660 /* SampleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F357FBFD1ACA9E55006B4660 /* SampleViewController.xib */; }; 21 | F357FC181ACA9E78006B4660 /* glass.png in Resources */ = {isa = PBXBuildFile; fileRef = F357FC161ACA9E78006B4660 /* glass.png */; }; 22 | F357FC191ACA9E78006B4660 /* sample.png in Resources */ = {isa = PBXBuildFile; fileRef = F357FC171ACA9E78006B4660 /* sample.png */; }; 23 | /* End PBXBuildFile section */ 24 | 25 | /* Begin PBXContainerItemProxy section */ 26 | F357FBE81ACA9E17006B4660 /* PBXContainerItemProxy */ = { 27 | isa = PBXContainerItemProxy; 28 | containerPortal = F357FBCA1ACA9E17006B4660 /* Project object */; 29 | proxyType = 1; 30 | remoteGlobalIDString = F357FBD11ACA9E17006B4660; 31 | remoteInfo = KKAlertViewSample; 32 | }; 33 | /* End PBXContainerItemProxy section */ 34 | 35 | /* Begin PBXFileReference section */ 36 | 355D36C8D92A4F8ABD6CADA4 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; 37 | 96CC56ACF62919AF6C8577CC /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; 38 | B97B6492D3CAE5A516DB7F44 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | F357FBD21ACA9E17006B4660 /* KKAlertViewSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KKAlertViewSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 40 | F357FBD61ACA9E17006B4660 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 41 | F357FBDE1ACA9E17006B4660 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 42 | F357FBE11ACA9E17006B4660 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 43 | F357FBE71ACA9E17006B4660 /* KKAlertViewSampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KKAlertViewSampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 44 | F357FBEC1ACA9E17006B4660 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 45 | F357FBED1ACA9E17006B4660 /* KKAlertViewSampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KKAlertViewSampleTests.swift; sourceTree = ""; }; 46 | F357FBF71ACA9E55006B4660 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 47 | F357FBF81ACA9E55006B4660 /* SampleAlertView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SampleAlertView.swift; sourceTree = ""; }; 48 | F357FBF91ACA9E55006B4660 /* SampleAlertView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SampleAlertView.xib; sourceTree = ""; }; 49 | F357FBFA1ACA9E55006B4660 /* SampleCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SampleCollectionViewCell.xib; sourceTree = ""; }; 50 | F357FBFB1ACA9E55006B4660 /* SampleRedAlertView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SampleRedAlertView.xib; sourceTree = ""; }; 51 | F357FBFC1ACA9E55006B4660 /* SampleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SampleViewController.swift; sourceTree = ""; }; 52 | F357FBFD1ACA9E55006B4660 /* SampleViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SampleViewController.xib; sourceTree = ""; }; 53 | F357FC161ACA9E78006B4660 /* glass.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = glass.png; sourceTree = ""; }; 54 | F357FC171ACA9E78006B4660 /* sample.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sample.png; sourceTree = ""; }; 55 | /* End PBXFileReference section */ 56 | 57 | /* Begin PBXFrameworksBuildPhase section */ 58 | F357FBCF1ACA9E17006B4660 /* Frameworks */ = { 59 | isa = PBXFrameworksBuildPhase; 60 | buildActionMask = 2147483647; 61 | files = ( 62 | 9FEAC29C3BB1AD4451D3A3DC /* Pods.framework in Frameworks */, 63 | ); 64 | runOnlyForDeploymentPostprocessing = 0; 65 | }; 66 | F357FBE41ACA9E17006B4660 /* Frameworks */ = { 67 | isa = PBXFrameworksBuildPhase; 68 | buildActionMask = 2147483647; 69 | files = ( 70 | ); 71 | runOnlyForDeploymentPostprocessing = 0; 72 | }; 73 | /* End PBXFrameworksBuildPhase section */ 74 | 75 | /* Begin PBXGroup section */ 76 | 84504815273BDDBAC0DF6710 /* Frameworks */ = { 77 | isa = PBXGroup; 78 | children = ( 79 | B97B6492D3CAE5A516DB7F44 /* Pods.framework */, 80 | ); 81 | name = Frameworks; 82 | sourceTree = ""; 83 | }; 84 | 8EA29C5B07C29D2A23302D21 /* Pods */ = { 85 | isa = PBXGroup; 86 | children = ( 87 | 355D36C8D92A4F8ABD6CADA4 /* Pods.debug.xcconfig */, 88 | 96CC56ACF62919AF6C8577CC /* Pods.release.xcconfig */, 89 | ); 90 | name = Pods; 91 | sourceTree = ""; 92 | }; 93 | F357FBC91ACA9E17006B4660 = { 94 | isa = PBXGroup; 95 | children = ( 96 | F357FBD41ACA9E17006B4660 /* KKAlertViewSample */, 97 | F357FBEA1ACA9E17006B4660 /* KKAlertViewSampleTests */, 98 | F357FBD31ACA9E17006B4660 /* Products */, 99 | 8EA29C5B07C29D2A23302D21 /* Pods */, 100 | 84504815273BDDBAC0DF6710 /* Frameworks */, 101 | ); 102 | sourceTree = ""; 103 | }; 104 | F357FBD31ACA9E17006B4660 /* Products */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | F357FBD21ACA9E17006B4660 /* KKAlertViewSample.app */, 108 | F357FBE71ACA9E17006B4660 /* KKAlertViewSampleTests.xctest */, 109 | ); 110 | name = Products; 111 | sourceTree = ""; 112 | }; 113 | F357FBD41ACA9E17006B4660 /* KKAlertViewSample */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | F357FBF71ACA9E55006B4660 /* AppDelegate.swift */, 117 | F357FBF81ACA9E55006B4660 /* SampleAlertView.swift */, 118 | F357FBF91ACA9E55006B4660 /* SampleAlertView.xib */, 119 | F357FBFA1ACA9E55006B4660 /* SampleCollectionViewCell.xib */, 120 | F357FBFB1ACA9E55006B4660 /* SampleRedAlertView.xib */, 121 | F357FBFC1ACA9E55006B4660 /* SampleViewController.swift */, 122 | F357FBFD1ACA9E55006B4660 /* SampleViewController.xib */, 123 | F357FC151ACA9E78006B4660 /* image */, 124 | F357FBDE1ACA9E17006B4660 /* Images.xcassets */, 125 | F357FBE01ACA9E17006B4660 /* LaunchScreen.xib */, 126 | F357FBD51ACA9E17006B4660 /* Supporting Files */, 127 | ); 128 | path = KKAlertViewSample; 129 | sourceTree = ""; 130 | }; 131 | F357FBD51ACA9E17006B4660 /* Supporting Files */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | F357FBD61ACA9E17006B4660 /* Info.plist */, 135 | ); 136 | name = "Supporting Files"; 137 | sourceTree = ""; 138 | }; 139 | F357FBEA1ACA9E17006B4660 /* KKAlertViewSampleTests */ = { 140 | isa = PBXGroup; 141 | children = ( 142 | F357FBED1ACA9E17006B4660 /* KKAlertViewSampleTests.swift */, 143 | F357FBEB1ACA9E17006B4660 /* Supporting Files */, 144 | ); 145 | path = KKAlertViewSampleTests; 146 | sourceTree = ""; 147 | }; 148 | F357FBEB1ACA9E17006B4660 /* Supporting Files */ = { 149 | isa = PBXGroup; 150 | children = ( 151 | F357FBEC1ACA9E17006B4660 /* Info.plist */, 152 | ); 153 | name = "Supporting Files"; 154 | sourceTree = ""; 155 | }; 156 | F357FC151ACA9E78006B4660 /* image */ = { 157 | isa = PBXGroup; 158 | children = ( 159 | F357FC161ACA9E78006B4660 /* glass.png */, 160 | F357FC171ACA9E78006B4660 /* sample.png */, 161 | ); 162 | path = image; 163 | sourceTree = ""; 164 | }; 165 | /* End PBXGroup section */ 166 | 167 | /* Begin PBXNativeTarget section */ 168 | F357FBD11ACA9E17006B4660 /* KKAlertViewSample */ = { 169 | isa = PBXNativeTarget; 170 | buildConfigurationList = F357FBF11ACA9E17006B4660 /* Build configuration list for PBXNativeTarget "KKAlertViewSample" */; 171 | buildPhases = ( 172 | EC71040498A69777EB6E3AFA /* Check Pods Manifest.lock */, 173 | F357FBCE1ACA9E17006B4660 /* Sources */, 174 | F357FBCF1ACA9E17006B4660 /* Frameworks */, 175 | F357FBD01ACA9E17006B4660 /* Resources */, 176 | 433D1E2A049EECDB4B41EF78 /* Embed Pods Frameworks */, 177 | 29B6DC5CB3180AB599BD9B63 /* Copy Pods Resources */, 178 | ); 179 | buildRules = ( 180 | ); 181 | dependencies = ( 182 | ); 183 | name = KKAlertViewSample; 184 | productName = KKAlertViewSample; 185 | productReference = F357FBD21ACA9E17006B4660 /* KKAlertViewSample.app */; 186 | productType = "com.apple.product-type.application"; 187 | }; 188 | F357FBE61ACA9E17006B4660 /* KKAlertViewSampleTests */ = { 189 | isa = PBXNativeTarget; 190 | buildConfigurationList = F357FBF41ACA9E17006B4660 /* Build configuration list for PBXNativeTarget "KKAlertViewSampleTests" */; 191 | buildPhases = ( 192 | F357FBE31ACA9E17006B4660 /* Sources */, 193 | F357FBE41ACA9E17006B4660 /* Frameworks */, 194 | F357FBE51ACA9E17006B4660 /* Resources */, 195 | ); 196 | buildRules = ( 197 | ); 198 | dependencies = ( 199 | F357FBE91ACA9E17006B4660 /* PBXTargetDependency */, 200 | ); 201 | name = KKAlertViewSampleTests; 202 | productName = KKAlertViewSampleTests; 203 | productReference = F357FBE71ACA9E17006B4660 /* KKAlertViewSampleTests.xctest */; 204 | productType = "com.apple.product-type.bundle.unit-test"; 205 | }; 206 | /* End PBXNativeTarget section */ 207 | 208 | /* Begin PBXProject section */ 209 | F357FBCA1ACA9E17006B4660 /* Project object */ = { 210 | isa = PBXProject; 211 | attributes = { 212 | LastUpgradeCheck = 0620; 213 | ORGANIZATIONNAME = "kobashi kazuki"; 214 | TargetAttributes = { 215 | F357FBD11ACA9E17006B4660 = { 216 | CreatedOnToolsVersion = 6.2; 217 | }; 218 | F357FBE61ACA9E17006B4660 = { 219 | CreatedOnToolsVersion = 6.2; 220 | TestTargetID = F357FBD11ACA9E17006B4660; 221 | }; 222 | }; 223 | }; 224 | buildConfigurationList = F357FBCD1ACA9E17006B4660 /* Build configuration list for PBXProject "KKAlertViewSample" */; 225 | compatibilityVersion = "Xcode 3.2"; 226 | developmentRegion = English; 227 | hasScannedForEncodings = 0; 228 | knownRegions = ( 229 | en, 230 | Base, 231 | ); 232 | mainGroup = F357FBC91ACA9E17006B4660; 233 | productRefGroup = F357FBD31ACA9E17006B4660 /* Products */; 234 | projectDirPath = ""; 235 | projectRoot = ""; 236 | targets = ( 237 | F357FBD11ACA9E17006B4660 /* KKAlertViewSample */, 238 | F357FBE61ACA9E17006B4660 /* KKAlertViewSampleTests */, 239 | ); 240 | }; 241 | /* End PBXProject section */ 242 | 243 | /* Begin PBXResourcesBuildPhase section */ 244 | F357FBD01ACA9E17006B4660 /* Resources */ = { 245 | isa = PBXResourcesBuildPhase; 246 | buildActionMask = 2147483647; 247 | files = ( 248 | F357FBE21ACA9E17006B4660 /* LaunchScreen.xib in Resources */, 249 | F357FC001ACA9E55006B4660 /* SampleAlertView.xib in Resources */, 250 | F357FC011ACA9E55006B4660 /* SampleCollectionViewCell.xib in Resources */, 251 | F357FC021ACA9E55006B4660 /* SampleRedAlertView.xib in Resources */, 252 | F357FC181ACA9E78006B4660 /* glass.png in Resources */, 253 | F357FC041ACA9E55006B4660 /* SampleViewController.xib in Resources */, 254 | F357FBDF1ACA9E17006B4660 /* Images.xcassets in Resources */, 255 | F357FC191ACA9E78006B4660 /* sample.png in Resources */, 256 | ); 257 | runOnlyForDeploymentPostprocessing = 0; 258 | }; 259 | F357FBE51ACA9E17006B4660 /* Resources */ = { 260 | isa = PBXResourcesBuildPhase; 261 | buildActionMask = 2147483647; 262 | files = ( 263 | ); 264 | runOnlyForDeploymentPostprocessing = 0; 265 | }; 266 | /* End PBXResourcesBuildPhase section */ 267 | 268 | /* Begin PBXShellScriptBuildPhase section */ 269 | 29B6DC5CB3180AB599BD9B63 /* Copy Pods Resources */ = { 270 | isa = PBXShellScriptBuildPhase; 271 | buildActionMask = 2147483647; 272 | files = ( 273 | ); 274 | inputPaths = ( 275 | ); 276 | name = "Copy Pods Resources"; 277 | outputPaths = ( 278 | ); 279 | runOnlyForDeploymentPostprocessing = 0; 280 | shellPath = /bin/sh; 281 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; 282 | showEnvVarsInLog = 0; 283 | }; 284 | 433D1E2A049EECDB4B41EF78 /* Embed Pods Frameworks */ = { 285 | isa = PBXShellScriptBuildPhase; 286 | buildActionMask = 2147483647; 287 | files = ( 288 | ); 289 | inputPaths = ( 290 | ); 291 | name = "Embed Pods Frameworks"; 292 | outputPaths = ( 293 | ); 294 | runOnlyForDeploymentPostprocessing = 0; 295 | shellPath = /bin/sh; 296 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; 297 | showEnvVarsInLog = 0; 298 | }; 299 | EC71040498A69777EB6E3AFA /* Check Pods Manifest.lock */ = { 300 | isa = PBXShellScriptBuildPhase; 301 | buildActionMask = 2147483647; 302 | files = ( 303 | ); 304 | inputPaths = ( 305 | ); 306 | name = "Check Pods Manifest.lock"; 307 | outputPaths = ( 308 | ); 309 | runOnlyForDeploymentPostprocessing = 0; 310 | shellPath = /bin/sh; 311 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; 312 | showEnvVarsInLog = 0; 313 | }; 314 | /* End PBXShellScriptBuildPhase section */ 315 | 316 | /* Begin PBXSourcesBuildPhase section */ 317 | F357FBCE1ACA9E17006B4660 /* Sources */ = { 318 | isa = PBXSourcesBuildPhase; 319 | buildActionMask = 2147483647; 320 | files = ( 321 | F357FBFE1ACA9E55006B4660 /* AppDelegate.swift in Sources */, 322 | F357FBFF1ACA9E55006B4660 /* SampleAlertView.swift in Sources */, 323 | F357FC031ACA9E55006B4660 /* SampleViewController.swift in Sources */, 324 | ); 325 | runOnlyForDeploymentPostprocessing = 0; 326 | }; 327 | F357FBE31ACA9E17006B4660 /* Sources */ = { 328 | isa = PBXSourcesBuildPhase; 329 | buildActionMask = 2147483647; 330 | files = ( 331 | F357FBEE1ACA9E17006B4660 /* KKAlertViewSampleTests.swift in Sources */, 332 | ); 333 | runOnlyForDeploymentPostprocessing = 0; 334 | }; 335 | /* End PBXSourcesBuildPhase section */ 336 | 337 | /* Begin PBXTargetDependency section */ 338 | F357FBE91ACA9E17006B4660 /* PBXTargetDependency */ = { 339 | isa = PBXTargetDependency; 340 | target = F357FBD11ACA9E17006B4660 /* KKAlertViewSample */; 341 | targetProxy = F357FBE81ACA9E17006B4660 /* PBXContainerItemProxy */; 342 | }; 343 | /* End PBXTargetDependency section */ 344 | 345 | /* Begin PBXVariantGroup section */ 346 | F357FBE01ACA9E17006B4660 /* LaunchScreen.xib */ = { 347 | isa = PBXVariantGroup; 348 | children = ( 349 | F357FBE11ACA9E17006B4660 /* Base */, 350 | ); 351 | name = LaunchScreen.xib; 352 | sourceTree = ""; 353 | }; 354 | /* End PBXVariantGroup section */ 355 | 356 | /* Begin XCBuildConfiguration section */ 357 | F357FBEF1ACA9E17006B4660 /* Debug */ = { 358 | isa = XCBuildConfiguration; 359 | buildSettings = { 360 | ALWAYS_SEARCH_USER_PATHS = NO; 361 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 362 | CLANG_CXX_LIBRARY = "libc++"; 363 | CLANG_ENABLE_MODULES = NO; 364 | CLANG_ENABLE_OBJC_ARC = YES; 365 | CLANG_MODULES_AUTOLINK = NO; 366 | CLANG_WARN_BOOL_CONVERSION = YES; 367 | CLANG_WARN_CONSTANT_CONVERSION = YES; 368 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 369 | CLANG_WARN_EMPTY_BODY = YES; 370 | CLANG_WARN_ENUM_CONVERSION = YES; 371 | CLANG_WARN_INT_CONVERSION = YES; 372 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 373 | CLANG_WARN_UNREACHABLE_CODE = YES; 374 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 375 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 376 | COPY_PHASE_STRIP = NO; 377 | ENABLE_STRICT_OBJC_MSGSEND = YES; 378 | GCC_C_LANGUAGE_STANDARD = gnu99; 379 | GCC_DYNAMIC_NO_PIC = NO; 380 | GCC_OPTIMIZATION_LEVEL = 0; 381 | GCC_PREPROCESSOR_DEFINITIONS = ( 382 | "DEBUG=1", 383 | "$(inherited)", 384 | ); 385 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 386 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 387 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 388 | GCC_WARN_UNDECLARED_SELECTOR = YES; 389 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 390 | GCC_WARN_UNUSED_FUNCTION = YES; 391 | GCC_WARN_UNUSED_VARIABLE = YES; 392 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 393 | MTL_ENABLE_DEBUG_INFO = YES; 394 | ONLY_ACTIVE_ARCH = YES; 395 | SDKROOT = iphoneos; 396 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 397 | }; 398 | name = Debug; 399 | }; 400 | F357FBF01ACA9E17006B4660 /* Release */ = { 401 | isa = XCBuildConfiguration; 402 | buildSettings = { 403 | ALWAYS_SEARCH_USER_PATHS = NO; 404 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 405 | CLANG_CXX_LIBRARY = "libc++"; 406 | CLANG_ENABLE_MODULES = NO; 407 | CLANG_ENABLE_OBJC_ARC = YES; 408 | CLANG_MODULES_AUTOLINK = NO; 409 | CLANG_WARN_BOOL_CONVERSION = YES; 410 | CLANG_WARN_CONSTANT_CONVERSION = YES; 411 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 412 | CLANG_WARN_EMPTY_BODY = YES; 413 | CLANG_WARN_ENUM_CONVERSION = YES; 414 | CLANG_WARN_INT_CONVERSION = YES; 415 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 416 | CLANG_WARN_UNREACHABLE_CODE = YES; 417 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 418 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 419 | COPY_PHASE_STRIP = NO; 420 | ENABLE_NS_ASSERTIONS = NO; 421 | ENABLE_STRICT_OBJC_MSGSEND = YES; 422 | GCC_C_LANGUAGE_STANDARD = gnu99; 423 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 424 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 425 | GCC_WARN_UNDECLARED_SELECTOR = YES; 426 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 427 | GCC_WARN_UNUSED_FUNCTION = YES; 428 | GCC_WARN_UNUSED_VARIABLE = YES; 429 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 430 | MTL_ENABLE_DEBUG_INFO = NO; 431 | SDKROOT = iphoneos; 432 | VALIDATE_PRODUCT = YES; 433 | }; 434 | name = Release; 435 | }; 436 | F357FBF21ACA9E17006B4660 /* Debug */ = { 437 | isa = XCBuildConfiguration; 438 | baseConfigurationReference = 355D36C8D92A4F8ABD6CADA4 /* Pods.debug.xcconfig */; 439 | buildSettings = { 440 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 441 | CLANG_ENABLE_MODULES = NO; 442 | INFOPLIST_FILE = KKAlertViewSample/Info.plist; 443 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 444 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 445 | PRODUCT_NAME = "$(TARGET_NAME)"; 446 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 447 | }; 448 | name = Debug; 449 | }; 450 | F357FBF31ACA9E17006B4660 /* Release */ = { 451 | isa = XCBuildConfiguration; 452 | baseConfigurationReference = 96CC56ACF62919AF6C8577CC /* Pods.release.xcconfig */; 453 | buildSettings = { 454 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 455 | CLANG_ENABLE_MODULES = NO; 456 | INFOPLIST_FILE = KKAlertViewSample/Info.plist; 457 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 458 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 459 | PRODUCT_NAME = "$(TARGET_NAME)"; 460 | }; 461 | name = Release; 462 | }; 463 | F357FBF51ACA9E17006B4660 /* Debug */ = { 464 | isa = XCBuildConfiguration; 465 | buildSettings = { 466 | BUNDLE_LOADER = "$(TEST_HOST)"; 467 | FRAMEWORK_SEARCH_PATHS = ( 468 | "$(SDKROOT)/Developer/Library/Frameworks", 469 | "$(inherited)", 470 | ); 471 | GCC_PREPROCESSOR_DEFINITIONS = ( 472 | "DEBUG=1", 473 | "$(inherited)", 474 | ); 475 | INFOPLIST_FILE = KKAlertViewSampleTests/Info.plist; 476 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 477 | PRODUCT_NAME = "$(TARGET_NAME)"; 478 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KKAlertViewSample.app/KKAlertViewSample"; 479 | }; 480 | name = Debug; 481 | }; 482 | F357FBF61ACA9E17006B4660 /* Release */ = { 483 | isa = XCBuildConfiguration; 484 | buildSettings = { 485 | BUNDLE_LOADER = "$(TEST_HOST)"; 486 | FRAMEWORK_SEARCH_PATHS = ( 487 | "$(SDKROOT)/Developer/Library/Frameworks", 488 | "$(inherited)", 489 | ); 490 | INFOPLIST_FILE = KKAlertViewSampleTests/Info.plist; 491 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 492 | PRODUCT_NAME = "$(TARGET_NAME)"; 493 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KKAlertViewSample.app/KKAlertViewSample"; 494 | }; 495 | name = Release; 496 | }; 497 | /* End XCBuildConfiguration section */ 498 | 499 | /* Begin XCConfigurationList section */ 500 | F357FBCD1ACA9E17006B4660 /* Build configuration list for PBXProject "KKAlertViewSample" */ = { 501 | isa = XCConfigurationList; 502 | buildConfigurations = ( 503 | F357FBEF1ACA9E17006B4660 /* Debug */, 504 | F357FBF01ACA9E17006B4660 /* Release */, 505 | ); 506 | defaultConfigurationIsVisible = 0; 507 | defaultConfigurationName = Release; 508 | }; 509 | F357FBF11ACA9E17006B4660 /* Build configuration list for PBXNativeTarget "KKAlertViewSample" */ = { 510 | isa = XCConfigurationList; 511 | buildConfigurations = ( 512 | F357FBF21ACA9E17006B4660 /* Debug */, 513 | F357FBF31ACA9E17006B4660 /* Release */, 514 | ); 515 | defaultConfigurationIsVisible = 0; 516 | defaultConfigurationName = Release; 517 | }; 518 | F357FBF41ACA9E17006B4660 /* Build configuration list for PBXNativeTarget "KKAlertViewSampleTests" */ = { 519 | isa = XCConfigurationList; 520 | buildConfigurations = ( 521 | F357FBF51ACA9E17006B4660 /* Debug */, 522 | F357FBF61ACA9E17006B4660 /* Release */, 523 | ); 524 | defaultConfigurationIsVisible = 0; 525 | defaultConfigurationName = Release; 526 | }; 527 | /* End XCConfigurationList section */ 528 | }; 529 | rootObject = F357FBCA1ACA9E17006B4660 /* Project object */; 530 | } 531 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 17 | self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 18 | 19 | //rootViewControllerにviewControllerを指定 20 | self.window!.rootViewController = SampleViewController(nibName: "SampleViewController", bundle: nil) 21 | 22 | self.window!.backgroundColor = UIColor.whiteColor() 23 | self.window!.makeKeyAndVisible() 24 | return true 25 | } 26 | 27 | func applicationWillResignActive(application: UIApplication) { 28 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 29 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 30 | } 31 | 32 | func applicationDidEnterBackground(application: UIApplication) { 33 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 34 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 35 | } 36 | 37 | func applicationWillEnterForeground(application: UIApplication) { 38 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 39 | } 40 | 41 | func applicationDidBecomeActive(application: UIApplication) { 42 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 43 | } 44 | 45 | func applicationWillTerminate(application: UIApplication) { 46 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 47 | } 48 | 49 | 50 | } 51 | 52 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | info.kazuteru.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleAlertView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SampleAlertView.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import KKAlertView 11 | 12 | class SampleAlertView: KKAlertView { 13 | 14 | @IBOutlet weak var button: UIButton! 15 | 16 | 17 | @IBAction func alert(sender: AnyObject) { 18 | dismiss() 19 | } 20 | 21 | override func awakeFromNib() { 22 | self.layer.cornerRadius = 10.0 23 | self.layer.masksToBounds = true 24 | } 25 | } -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleAlertView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleCollectionViewCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleRedAlertView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SampleViewController.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import KKAlertView 11 | 12 | class SampleViewController: UIViewController { 13 | 14 | 15 | @IBOutlet weak var collectionView: UICollectionView! 16 | var sampleAction: [String]! 17 | 18 | required init(coder aDecoder: NSCoder) { 19 | super.init(coder: aDecoder) 20 | } 21 | 22 | override init(nibName:String!, bundle: NSBundle!) { 23 | super.init(nibName: nibName, bundle: bundle) 24 | } 25 | 26 | override func viewDidLoad() { 27 | super.viewDidLoad() 28 | sampleAction = ["1 button alert", "2 button alert", "3 button alert", "original view alert", "changed background color", "sample"] 29 | } 30 | 31 | override func didReceiveMemoryWarning() { 32 | super.didReceiveMemoryWarning() 33 | // Dispose of any resources that can be recreated. 34 | } 35 | 36 | override func viewWillAppear(animated: Bool) { 37 | super.viewWillAppear(animated) 38 | collectionView.registerNib(UINib(nibName: "SampleCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "sampleCollectionViewCell") 39 | } 40 | } 41 | 42 | /** 43 | * UICollectionViewDataSource 44 | */ 45 | extension SampleViewController: UICollectionViewDataSource { 46 | func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 47 | return sampleAction.count 48 | } 49 | 50 | func collectionView(collectionView : UICollectionView,layout collectionViewLayout:UICollectionViewLayout,sizeForItemAtIndexPath indexPath:NSIndexPath) -> CGSize { 51 | return CGSize(width: collectionView.bounds.width, height: 66.0) 52 | } 53 | 54 | 55 | func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 56 | let cell: SampleCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("sampleCollectionViewCell", forIndexPath: indexPath) as SampleCollectionViewCell 57 | cell.label.text = sampleAction[indexPath.row] 58 | return cell 59 | } 60 | } 61 | 62 | /** 63 | * UICollectionViewDelegate 64 | */ 65 | extension SampleViewController: UICollectionViewDelegate { 66 | func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { 67 | switch indexPath.row { 68 | case 0: 69 | let alertViewController = KKAlertViewController(title: "1 button alert", message: "How many bagels could a beagle bake if a beagle could bake bagels?") 70 | alertViewController.addAction(title: "button A", action: { println("Hello EX1") }) 71 | alertViewController.showAlert() 72 | break 73 | case 1: 74 | let alertViewController = KKAlertViewController(title: "2 button alert", message: "How much wood would a woodchuck chuck if a woodchuck could chuck wood?") 75 | alertViewController.addAction(title: "button A", action: { println("Hello EX1") }) 76 | alertViewController.addAction(title: "button B", action: { println("Hello EX2") }) 77 | alertViewController.showAlert() 78 | break 79 | case 2: 80 | let alertViewController = KKAlertViewController(title: "3 button alert", message: "One smart fellow, he felt smart.Two smart fellows, they felt smart. Three smart fellows, they all felt smart.") 81 | alertViewController.addAction(title: "button A", action: { println("Hello EX1") }) 82 | alertViewController.addAction(title: "button B", action: { println("Hello EX2") }) 83 | alertViewController.addAction(title: "button C", action: { println("Hello EX3") }) 84 | alertViewController.showAlert() 85 | break 86 | case 3: 87 | let view = UINib(nibName: "SampleAlertView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as SampleAlertView 88 | KKAlertViewController().showAlert(view) 89 | break 90 | case 4: 91 | let view = UINib(nibName: "SampleRedAlertView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as SampleAlertView 92 | let alertViewController = KKAlertViewController() 93 | alertViewController.backgroundViewColor = UIColor.redColor().colorWithAlphaComponent(0.5) 94 | alertViewController.showAlert(view) 95 | break 96 | case 5: 97 | break 98 | default: 99 | break 100 | } 101 | } 102 | } 103 | 104 | /** 105 | * cell calss 106 | */ 107 | class SampleCollectionViewCell: UICollectionViewCell { 108 | @IBOutlet weak var label: UILabel! 109 | 110 | override func awakeFromNib() { 111 | self.layer.borderColor = UIColor.blackColor().colorWithAlphaComponent(0.5).CGColor 112 | self.layer.borderWidth = 1.0 113 | } 114 | } -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/SampleViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/image/glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazuteru/KKAlertView/289f433a9501fba8920ba81d9788515da1c4a12a/KKAlertViewSample/KKAlertViewSample/image/glass.png -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSample/image/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazuteru/KKAlertView/289f433a9501fba8920ba81d9788515da1c4a12a/KKAlertViewSample/KKAlertViewSample/image/sample.png -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | info.kazuteru.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /KKAlertViewSample/KKAlertViewSampleTests/KKAlertViewSampleTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KKAlertViewSampleTests.swift 3 | // KKAlertViewSampleTests 4 | // 5 | // Created by 小橋 一輝 on 2015/03/31. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import XCTest 11 | 12 | class KKAlertViewSampleTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | XCTAssert(true, "Pass") 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock() { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /KKAlertViewSample/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, "8.0" 2 | use_frameworks! 3 | pod 'KKAlertView', :path => '../' 4 | -------------------------------------------------------------------------------- /KKAlertViewSample/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - KKAlertView (0.1.1) 3 | 4 | DEPENDENCIES: 5 | - KKAlertView (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | KKAlertView: 9 | :path: ../ 10 | 11 | SPEC CHECKSUMS: 12 | KKAlertView: abf7b0d26cd119587240ad44c76d4435f643f71a 13 | 14 | COCOAPODS: 0.36.0 15 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/AlertAction.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AlertAction.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class AlertAction: NSObject { 12 | var title: String = "" 13 | var action: (() -> Void)? 14 | 15 | init(title: String, action: (() -> Void)?) { 16 | self.title = title 17 | self.action = action 18 | } 19 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/AnimationManager/DismissAnimationManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DismissAnimationManager.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/28. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DismissAnimationManager { 12 | class var sharedInstance :DismissAnimationManager { 13 | struct Static { 14 | static let instance = DismissAnimationManager() 15 | } 16 | return Static.instance 17 | } 18 | 19 | func gravityAnimation(animator: UIDynamicAnimator, view: UIView, animations: (() -> Void)?, completion: (() -> Void)?) { 20 | UIView.animateWithDuration( 21 | 0.1, 22 | delay: 0.3, 23 | options: UIViewAnimationOptions.CurveEaseIn, 24 | animations: { 25 | if let animations = animations { animations() } 26 | }, 27 | completion:{ 28 | (value: Bool) in 29 | if let completion = completion { completion() } 30 | } 31 | ) 32 | animator.removeAllBehaviors() 33 | var gravityBehavior = UIGravityBehavior(items: [view]) 34 | gravityBehavior.gravityDirection = CGVector(dx: 0.0, dy: 10.0) 35 | animator.addBehavior(gravityBehavior) 36 | 37 | var itemBehavior = UIDynamicItemBehavior(items: [view]) 38 | itemBehavior.addAngularVelocity(CGFloat(-M_PI_2), forItem: view) 39 | animator.addBehavior(itemBehavior) 40 | } 41 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/AnimationManager/ShowAnimationManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShowAnimationManager.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/28. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ShowAnimationManager { 12 | 13 | class var sharedInstance :ShowAnimationManager { 14 | struct Static { 15 | static let instance = ShowAnimationManager() 16 | } 17 | return Static.instance 18 | } 19 | 20 | func attachmentAnimation(animator: UIDynamicAnimator, view: UIView, animations: (() -> Void)?, completion: (() -> Void)?) { 21 | view.transform = CGAffineTransformMakeRotation(CGFloat(M_1_PI) / 2.0); 22 | UIView.animateWithDuration( 23 | 0.1, 24 | delay: 0.0, 25 | options: UIViewAnimationOptions.CurveEaseIn, 26 | animations: { 27 | if let animations = animations { animations() } 28 | view.transform = CGAffineTransformMakeRotation(0); 29 | }, 30 | completion:{ 31 | (value: Bool) in 32 | if let completion = completion { completion() } 33 | } 34 | ) 35 | animator.removeAllBehaviors() 36 | //anchor = 支点 37 | var attachmentBehavior = UIAttachmentBehavior(item: view, attachedToAnchor: CGPoint(x: view.center.x, y: 0.0)) 38 | attachmentBehavior.length = UIScreen.mainScreen().bounds.height / 2.0 + view.bounds.height 39 | //減衰 40 | attachmentBehavior.damping = 0.3 41 | //頻度 42 | attachmentBehavior.frequency = 5 43 | animator.addBehavior(attachmentBehavior) 44 | } 45 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/DefaultPathAlertView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DefaultKKAlertView.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DefaultKKAlertView: KKAlertView { 12 | 13 | var title: String? 14 | var message: String? 15 | var actions: [AlertAction] = [AlertAction]() 16 | 17 | override init () { 18 | super.init() 19 | } 20 | 21 | override init(frame: CGRect) { 22 | super.init(frame: frame) 23 | } 24 | 25 | init(title: String?, message: String?) { 26 | super.init() 27 | self.title = title; 28 | self.message = message; 29 | } 30 | 31 | required init(coder aDecoder: NSCoder) { 32 | fatalError("init(coder:) has not been implemented") 33 | } 34 | 35 | func addAction(action: AlertAction) { 36 | actions.append(action) 37 | } 38 | 39 | func createAlertView() -> Self { 40 | var y: CGFloat = 0.0 41 | self.frame = CGRect(x: 0.0, y: 0.0, width: 280.0, height: 0.0) 42 | self.backgroundColor = UIColor.whiteColor() 43 | if let title = title { 44 | var titleLabel = UILabel(frame: CGRect(x: 5.0, y: 20.0, width: self.bounds.width - 10.0, height: 0.0)) 45 | titleLabel.numberOfLines = 0 46 | titleLabel.text = title 47 | titleLabel.font = UIFont.boldSystemFontOfSize(20.0) 48 | titleLabel.sizeToFit() 49 | titleLabel.frame = CGRect(x: 5.0, y: 15.0, width: self.bounds.width - 10.0, height: titleLabel.bounds.height) 50 | titleLabel.textAlignment = .Center 51 | self.addSubview(titleLabel) 52 | y += titleLabel.bounds.origin.y 53 | y += titleLabel.bounds.height 54 | } 55 | if let message = message { 56 | var messageLabel = UILabel(frame: CGRect(x: 5.0, y: y + 15.0, width: self.bounds.width - 10.0, height: 0.0)) 57 | messageLabel.numberOfLines = 0 58 | messageLabel.text = message 59 | messageLabel.sizeToFit() 60 | self.addSubview(messageLabel) 61 | y += 15.0 62 | y += messageLabel.bounds.height 63 | } 64 | y += 20.0 65 | //add button 66 | y = addButtons(y, alertActions: actions) 67 | self.frame = CGRect(x: 0.0, y: 0.0, width: 280.0, height: y) 68 | //角丸処理 69 | self.layer.cornerRadius = 10.0 70 | self.layer.masksToBounds = true 71 | return self 72 | } 73 | 74 | private func addButtons(y: CGFloat, alertActions: [AlertAction]) -> CGFloat { 75 | switch alertActions.count { 76 | case 0: 77 | return y 78 | case 1: 79 | var button = createButton(CGRect(x: 0.0, y: y, width: self.bounds.width, height: 40), tag: 0) 80 | self.addSubview(button) 81 | return y + button.bounds.height 82 | case 2: 83 | var leftButton = createButton(CGRect(x: 0.0, y: y, width: self.bounds.width / 2.0, height: 40), tag: 0) 84 | self.addSubview(leftButton) 85 | var rightButton = createButton(CGRect(x: leftButton.bounds.origin.x + leftButton.bounds.width, y: y, width: self.bounds.width / 2.0, height: 40), tag: 1) 86 | var border = CALayer() 87 | border.frame = CGRect(x: 0.0, y: 0.0, width: 0.5, height: rightButton.bounds.height); 88 | border.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.1).CGColor 89 | rightButton.layer.addSublayer(border) 90 | self.addSubview(rightButton) 91 | return y + leftButton.bounds.height 92 | default: 93 | var afterY = y 94 | for var i = 0; i < alertActions.count; i++ { 95 | var button = createButton(CGRect(x: 0.0, y: afterY, width: self.bounds.width, height: 40), tag: i) 96 | self.addSubview(button) 97 | afterY = afterY + button.bounds.height 98 | } 99 | return afterY 100 | } 101 | } 102 | 103 | private func createButton(frame: CGRect, tag: NSInteger) -> UIButton { 104 | var button = UIButton(frame: frame) 105 | button.tag = tag 106 | button = setUpperBorder(button) as! UIButton 107 | button.setTitle(actions[tag].title, forState: .Normal) 108 | button.setTitleColor(UIColor.cyanColor(), forState: .Normal) 109 | button.addTarget(self, action: "executeAction:", forControlEvents: .TouchUpInside) 110 | return button 111 | } 112 | 113 | private func setUpperBorder(view: UIView) -> UIView { 114 | var border = CALayer() 115 | border.frame = CGRect(x: 0.0, y: 0.0, width: view.bounds.size.width, height: 0.5); 116 | border.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.1).CGColor 117 | view.layer.addSublayer(border) 118 | return view 119 | } 120 | 121 | func executeAction(button: UIButton) { 122 | if let action = actions[button.tag].action { 123 | action() 124 | } 125 | } 126 | 127 | 128 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/KKAlertBackgroundView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BackView.swift 3 | // KKAlertBackgroundView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/27. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class KKAlertBackgroundView: UIView { 12 | var alertView: UIView? 13 | var cancel: (() -> Void)? 14 | var animator: UIDynamicAnimator! 15 | var backgroundColorShowingAlert = UIColor.blackColor().colorWithAlphaComponent(0.2) 16 | 17 | override init(frame: CGRect) { 18 | super.init(frame: frame) 19 | animator = UIDynamicAnimator(referenceView: self) 20 | backgroundColor = self.backgroundColorShowingAlert.colorWithAlphaComponent(0.0) 21 | } 22 | 23 | func setAlert(alertView: UIView) { 24 | self.alertView = alertView 25 | self.alertView!.center.x = self.center.x 26 | if alertView is KKAlertView { 27 | var alertView = self.alertView as! KKAlertView 28 | alertView.delegate = self 29 | } 30 | addSubview(alertView) 31 | } 32 | 33 | required init(coder aDecoder: NSCoder) { 34 | fatalError("init(coder:) has not been implemented") 35 | } 36 | 37 | func showAlertView() { 38 | //managerを使用 39 | ShowAnimationManager.sharedInstance.attachmentAnimation(self.animator, 40 | view: alertView!, 41 | animations: { 42 | self.backgroundColor = self.backgroundColorShowingAlert 43 | }, completion: nil) 44 | } 45 | 46 | 47 | func dismissAlertView() { 48 | //gravityBehaviorがdelegateをcatchできないため、UIViewのanimeのdelayを利用 49 | DismissAnimationManager.sharedInstance.gravityAnimation(self.animator, 50 | view: alertView!, 51 | animations: { self.backgroundColor = self.backgroundColorShowingAlert.colorWithAlphaComponent(0.0) }, 52 | completion: { if let cancel = self.cancel { cancel() } }) 53 | } 54 | 55 | //swift1.2より変更 56 | override func touchesBegan(touches: Set, withEvent event: UIEvent) { 57 | if let alertView = alertView { 58 | if let touch = touches.first as? UITouch { 59 | let location = touch.locationInView(self) 60 | if checkTouch(location!) { 61 | dismissAlertView() 62 | } 63 | } 64 | } 65 | } 66 | 67 | func checkTouch(location: CGPoint) -> Bool { 68 | if let alertView = alertView { 69 | if location.x < alertView.frame.origin.x { 70 | return true 71 | } 72 | if location.y < alertView.frame.origin.y { 73 | return true 74 | } 75 | if location.x > alertView.frame.origin.x + alertView.frame.width { 76 | return true 77 | } 78 | if location.y > alertView.frame.origin.y + alertView.frame.height { 79 | return true 80 | } 81 | } 82 | return false 83 | } 84 | } 85 | 86 | extension KKAlertBackgroundView: KKAlertViewDelegate { 87 | func dismissAlertView(alertView: KKAlertView) { 88 | dismissAlertView() 89 | } 90 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/KKAlertView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KKAlertView.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @objc public protocol KKAlertViewDelegate { 12 | optional func dismissAlertView(KKAlertView: KKAlertView) 13 | } 14 | 15 | public class KKAlertView: UIView { 16 | 17 | public var delegate: KKAlertViewDelegate? 18 | 19 | init () { 20 | super.init() 21 | } 22 | 23 | public override init(frame: CGRect) { 24 | super.init(frame: frame) 25 | } 26 | 27 | public required init(coder aDecoder: NSCoder) { 28 | super.init(coder: aDecoder) 29 | } 30 | 31 | public func dismiss() { 32 | if let delegate = delegate { delegate.dismissAlertView!(self) } 33 | } 34 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/KKAlertView/KKAlertViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KKAlertViewController.swift 3 | // KKAlertView 4 | // 5 | // Created by 小橋 一輝 on 2015/03/26. 6 | // Copyright (c) 2015年 kobashi kazuki. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | /** 12 | * Alertの挙動を操作する. 13 | */ 14 | public class KKAlertViewController: UIViewController { 15 | 16 | var backView: KKAlertBackgroundView! 17 | var alertWindow: UIWindow? 18 | //AnimationPattern 19 | public var pattern: AnyObject? 20 | //背景タップでアラートをdismissするかどうか 21 | public var canDisimissAlertToTouchBack = true 22 | //背景色を設定 23 | public var backgroundViewColor: UIColor? 24 | 25 | var defaultAlertView: DefaultKKAlertView? 26 | 27 | public override init() { 28 | super.init() 29 | } 30 | 31 | public override init(nibName:String!, bundle: NSBundle!) { 32 | super.init(nibName: nibName, bundle: bundle) 33 | } 34 | 35 | public init(view :UIView) { 36 | super.init() 37 | } 38 | 39 | public init(view: KKAlertView) { 40 | super.init() 41 | } 42 | 43 | public init(title: String?, message: String?) { 44 | super.init() 45 | defaultAlertView = DefaultKKAlertView(title: title, message: message) 46 | } 47 | 48 | public required init(coder aDecoder: NSCoder) { 49 | fatalError("init(coder:) has not been implemented") 50 | } 51 | 52 | public func addAction(#title: String, action: (() -> Void)?) { 53 | if let defaultAlertView = defaultAlertView { defaultAlertView.addAction(AlertAction(title: title, action: action)) } 54 | } 55 | 56 | public func showAlert() { 57 | if let defaultAlertView = defaultAlertView { showAlert(defaultAlertView.createAlertView()) } 58 | } 59 | 60 | public func showAlert(alertView: UIView) { 61 | backView = KKAlertBackgroundView(frame: CGRect(x: 0.0, 62 | y: -alertView.bounds.height, 63 | width: UIScreen.mainScreen().bounds.width, 64 | height: UIScreen.mainScreen().bounds.height + alertView.bounds.height)) 65 | backView.cancel = { self.dismissPTAlertWindow() } 66 | if let backgroundViewColor = backgroundViewColor { backView.backgroundColorShowingAlert = backgroundViewColor } 67 | backView.setAlertView(alertView) 68 | view.addSubview(backView) 69 | showPTAlertWindow() 70 | } 71 | 72 | /** 73 | * alertViewWindowの表示 74 | */ 75 | private func showPTAlertWindow() { 76 | var window = UIWindow(frame: UIScreen.mainScreen().bounds) 77 | window.rootViewController = self 78 | window.addSubview(view) 79 | window.makeKeyAndVisible() 80 | alertWindow = window 81 | backView.showAlertView() 82 | } 83 | 84 | /** 85 | * alertViewWindowの非表示 86 | */ 87 | private func dismissPTAlertWindow() { 88 | if let alertWindow = alertWindow { 89 | println("deleteWindow") 90 | let application = UIApplication.sharedApplication() 91 | if let nextWindowIndex = application.windows.indexesOfObject(alertWindow) { 92 | let nextWindow: UIWindow = application.windows[nextWindowIndex] as UIWindow 93 | nextWindow.makeKeyAndVisible() 94 | self.alertWindow = nil 95 | } 96 | } 97 | } 98 | } 99 | 100 | extension Array { 101 | func indexesOfObject(object:T) -> NSInteger? { 102 | for (index, obj) in enumerate(self) { 103 | if obj as T == object { 104 | return index 105 | } 106 | } 107 | return nil 108 | } 109 | } -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 小橋 一輝 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/KKAlertView/README.md: -------------------------------------------------------------------------------- 1 | KKAlertView 2 | ==== 3 | 4 | [![Platform](http://img.shields.io/badge/platform-ios-blue.svg?style=flat 5 | )](https://developer.apple.com/iphone/index.action) 6 | [![Language](http://img.shields.io/badge/language-swift-brightgreen.svg?style=flat 7 | )](https://developer.apple.com/swift) 8 | 9 | ![PTAlertView](./SampleImage/alertView.gif) 10 | 11 | 12 | [kazuteru/PTAlertView] 13 | (https://github.com/kazuteru/KKAlertView) - You can easily display AlertView with the original animation 14 | 15 | ## Description 16 | 17 | 18 | ## Requirement 19 | * Xcode 6.1 or greater 20 | * iOS7.0(manually only) or greater 21 | 22 | ## Usage 23 | 24 | ## Install 25 | 26 | ## Contribution 27 | 28 | ## Author 29 | Kobashi Kazuki, [kazuteru.koba@gmail.com](kazuteru.koba@gmail.com) 30 | 31 | ## Licence 32 | 33 | [MIT](https://github.com/tcnksm/tool/blob/master/LICENCE) -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Local Podspecs/KKAlertView.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "KKAlertView", 3 | "version": "0.1.1", 4 | "summary": "KKAlertView contains Path like appearing animation and some functions.", 5 | "homepage": "https://github.com/kazuteru/KKAlertView", 6 | "license": "MIT", 7 | "authors": { 8 | "kazuteru": "kazuteru.koba@gmail.com" 9 | }, 10 | "source": { 11 | "git": "https://github.com/kazuteru/KKAlertView.git", 12 | "tag": "0.1.1" 13 | }, 14 | "platforms": { 15 | "ios": "8.0" 16 | }, 17 | "requires_arc": true, 18 | "source_files": [ 19 | "KKAlertView/*.{swift}", 20 | "KKAlertView/AnimationManager/*.{swift}" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - KKAlertView (0.1.1) 3 | 4 | DEPENDENCIES: 5 | - KKAlertView (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | KKAlertView: 9 | :path: ../ 10 | 11 | SPEC CHECKSUMS: 12 | KKAlertView: abf7b0d26cd119587240ad44c76d4435f643f71a 13 | 14 | COCOAPODS: 0.36.0 15 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 043B53A6A3CEC1F9C3D8A35A /* DefaultPathAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA44047D12E38D3B78F8E306 /* DefaultPathAlertView.swift */; }; 11 | 1C8CABC1E645CFEF1CADFBB4 /* AlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 169331270680899FF4375AEC /* AlertAction.swift */; }; 12 | 309642AC19623D65F902015A /* KKAlertViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D2C132B3E32039CB0F646E /* KKAlertViewController.swift */; }; 13 | 436F823AD8B2544879779F5E /* ShowAnimationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E369FEA1CEFCF99DD059B8 /* ShowAnimationManager.swift */; }; 14 | 4BB399AD7C44FF7A2F45AE69 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E389F025B0DED772DD8E08BB /* Pods-dummy.m */; }; 15 | 540F86CD27C5441C8BF84FF6 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C9CEEB33293C43A4C937F7 /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 16 | 806F19514C661F16A351DA38 /* KKAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B6A1A94621582ACADF96D2F /* KKAlertView.swift */; }; 17 | 8F112BC65840607B2D39D07F /* DismissAnimationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EFDF624FB2B4E5AE544EB0A /* DismissAnimationManager.swift */; }; 18 | 92531C12E0D0859A08A7C431 /* Pods-KKAlertView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D755DDC4F5ED3A604EA6C4E /* Pods-KKAlertView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 19 | 9390805315875A1DB6CF26FA /* Pods-KKAlertView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A8D1299B349A92009F8EE44 /* Pods-KKAlertView-dummy.m */; }; 20 | AC03CB110BA0F7850E4E83FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FD6BB547DDD08AAC42428B2 /* Foundation.framework */; }; 21 | D67E0A8FAF978A6152A5A454 /* KKAlertBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610D9D8BB70B0DE93595B611 /* KKAlertBackgroundView.swift */; }; 22 | F448A5A96FFD34F40642F044 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FD6BB547DDD08AAC42428B2 /* Foundation.framework */; }; 23 | /* End PBXBuildFile section */ 24 | 25 | /* Begin PBXContainerItemProxy section */ 26 | D057AE278B30E5CFFC61C901 /* PBXContainerItemProxy */ = { 27 | isa = PBXContainerItemProxy; 28 | containerPortal = 722BF525130E36B04622A745 /* Project object */; 29 | proxyType = 1; 30 | remoteGlobalIDString = 24A620E943DC8C3E439C7246; 31 | remoteInfo = "Pods-KKAlertView"; 32 | }; 33 | /* End PBXContainerItemProxy section */ 34 | 35 | /* Begin PBXFileReference section */ 36 | 073A8EBC2E33F15AB9CDFF1C /* Pods-KKAlertView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-KKAlertView.modulemap"; sourceTree = ""; }; 37 | 0D755DDC4F5ED3A604EA6C4E /* Pods-KKAlertView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-KKAlertView-umbrella.h"; sourceTree = ""; }; 38 | 169331270680899FF4375AEC /* AlertAction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertAction.swift; sourceTree = ""; }; 39 | 2B6A1A94621582ACADF96D2F /* KKAlertView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KKAlertView.swift; sourceTree = ""; }; 40 | 3E168585616E21ED508B8241 /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; 41 | 3FD6BB547DDD08AAC42428B2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 42 | 5EFDF624FB2B4E5AE544EB0A /* DismissAnimationManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DismissAnimationManager.swift; sourceTree = ""; }; 43 | 610D9D8BB70B0DE93595B611 /* KKAlertBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KKAlertBackgroundView.swift; sourceTree = ""; }; 44 | 7D441D5EC41DD4F42BF57061 /* Pods-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-frameworks.sh"; sourceTree = ""; }; 45 | 85EA6E7FA7792AB66A0D2F43 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; 46 | 8A8D1299B349A92009F8EE44 /* Pods-KKAlertView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-KKAlertView-dummy.m"; sourceTree = ""; }; 47 | A082E8AB6A95314204834235 /* Pods-KKAlertView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KKAlertView.xcconfig"; sourceTree = ""; }; 48 | A7C9CEEB33293C43A4C937F7 /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; 49 | B2629B9ED7DD748D0DA52876 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 50 | BA48ECD40E4F8F91AADEADCA /* Pods-KKAlertView-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KKAlertView-Private.xcconfig"; sourceTree = ""; }; 51 | BD8A3E8E1D9767BBAD62B12C /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; 52 | BD974E158ED61D30ED412CB9 /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; 53 | C3CD82201D62DC8B3F8E04D4 /* Pods-KKAlertView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-KKAlertView-prefix.pch"; sourceTree = ""; }; 54 | C88E9FB8A9668CCE0300EF5F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 55 | CA44047D12E38D3B78F8E306 /* DefaultPathAlertView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DefaultPathAlertView.swift; sourceTree = ""; }; 56 | CF4FCF3282400803723DE933 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; 57 | CFBAC251DE5472B5A6822B39 /* Pods-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-environment.h"; sourceTree = ""; }; 58 | D31E6BABF4CC08C2B7B17AC9 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; 59 | E36F5C108DD1A55859FD1277 /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 60 | E389F025B0DED772DD8E08BB /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; 61 | E4E369FEA1CEFCF99DD059B8 /* ShowAnimationManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowAnimationManager.swift; sourceTree = ""; }; 62 | E8D2C132B3E32039CB0F646E /* KKAlertViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KKAlertViewController.swift; sourceTree = ""; }; 63 | F410F97E2A7D8E92C313AABA /* KKAlertView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KKAlertView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 64 | F52E831724558C4A842FE27F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 65 | /* End PBXFileReference section */ 66 | 67 | /* Begin PBXFrameworksBuildPhase section */ 68 | 1D1D34F77B8A3E7D50471E91 /* Frameworks */ = { 69 | isa = PBXFrameworksBuildPhase; 70 | buildActionMask = 2147483647; 71 | files = ( 72 | F448A5A96FFD34F40642F044 /* Foundation.framework in Frameworks */, 73 | ); 74 | runOnlyForDeploymentPostprocessing = 0; 75 | }; 76 | 39F462062D53095DD5DCA8AC /* Frameworks */ = { 77 | isa = PBXFrameworksBuildPhase; 78 | buildActionMask = 2147483647; 79 | files = ( 80 | AC03CB110BA0F7850E4E83FE /* Foundation.framework in Frameworks */, 81 | ); 82 | runOnlyForDeploymentPostprocessing = 0; 83 | }; 84 | /* End PBXFrameworksBuildPhase section */ 85 | 86 | /* Begin PBXGroup section */ 87 | 177B2973DBD5088D2156B3CF /* Development Pods */ = { 88 | isa = PBXGroup; 89 | children = ( 90 | 465917F1A3509EE37B6C4356 /* KKAlertView */, 91 | ); 92 | name = "Development Pods"; 93 | sourceTree = ""; 94 | }; 95 | 26EC71497D17AFC1687A8707 /* Pods */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | F52E831724558C4A842FE27F /* Info.plist */, 99 | 3E168585616E21ED508B8241 /* Pods.modulemap */, 100 | BD974E158ED61D30ED412CB9 /* Pods-acknowledgements.markdown */, 101 | CF4FCF3282400803723DE933 /* Pods-acknowledgements.plist */, 102 | E389F025B0DED772DD8E08BB /* Pods-dummy.m */, 103 | CFBAC251DE5472B5A6822B39 /* Pods-environment.h */, 104 | 7D441D5EC41DD4F42BF57061 /* Pods-frameworks.sh */, 105 | BD8A3E8E1D9767BBAD62B12C /* Pods-resources.sh */, 106 | A7C9CEEB33293C43A4C937F7 /* Pods-umbrella.h */, 107 | 85EA6E7FA7792AB66A0D2F43 /* Pods.debug.xcconfig */, 108 | D31E6BABF4CC08C2B7B17AC9 /* Pods.release.xcconfig */, 109 | ); 110 | name = Pods; 111 | path = "Target Support Files/Pods"; 112 | sourceTree = ""; 113 | }; 114 | 465917F1A3509EE37B6C4356 /* KKAlertView */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | E0733B4A68E8E0B5843A442A /* KKAlertView */, 118 | 6A24D87FDE011091B189381C /* Support Files */, 119 | ); 120 | name = KKAlertView; 121 | path = ../..; 122 | sourceTree = ""; 123 | }; 124 | 6163F68AF71EDB2827BEBF59 /* Products */ = { 125 | isa = PBXGroup; 126 | children = ( 127 | F410F97E2A7D8E92C313AABA /* KKAlertView.framework */, 128 | B2629B9ED7DD748D0DA52876 /* Pods.framework */, 129 | ); 130 | name = Products; 131 | sourceTree = ""; 132 | }; 133 | 6A24D87FDE011091B189381C /* Support Files */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | C88E9FB8A9668CCE0300EF5F /* Info.plist */, 137 | 073A8EBC2E33F15AB9CDFF1C /* Pods-KKAlertView.modulemap */, 138 | A082E8AB6A95314204834235 /* Pods-KKAlertView.xcconfig */, 139 | BA48ECD40E4F8F91AADEADCA /* Pods-KKAlertView-Private.xcconfig */, 140 | 8A8D1299B349A92009F8EE44 /* Pods-KKAlertView-dummy.m */, 141 | C3CD82201D62DC8B3F8E04D4 /* Pods-KKAlertView-prefix.pch */, 142 | 0D755DDC4F5ED3A604EA6C4E /* Pods-KKAlertView-umbrella.h */, 143 | ); 144 | name = "Support Files"; 145 | path = "KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView"; 146 | sourceTree = ""; 147 | }; 148 | 7F6D0D5B994EC98A983C5DF9 /* Frameworks */ = { 149 | isa = PBXGroup; 150 | children = ( 151 | BBB195EFA12AFBDF4996E5C1 /* iOS */, 152 | ); 153 | name = Frameworks; 154 | sourceTree = ""; 155 | }; 156 | 96808B48E8461F43725A208F = { 157 | isa = PBXGroup; 158 | children = ( 159 | E36F5C108DD1A55859FD1277 /* Podfile */, 160 | 177B2973DBD5088D2156B3CF /* Development Pods */, 161 | 7F6D0D5B994EC98A983C5DF9 /* Frameworks */, 162 | 6163F68AF71EDB2827BEBF59 /* Products */, 163 | D17BC9C9D2A52D5D385E85A0 /* Targets Support Files */, 164 | ); 165 | sourceTree = ""; 166 | }; 167 | BBB195EFA12AFBDF4996E5C1 /* iOS */ = { 168 | isa = PBXGroup; 169 | children = ( 170 | 3FD6BB547DDD08AAC42428B2 /* Foundation.framework */, 171 | ); 172 | name = iOS; 173 | sourceTree = ""; 174 | }; 175 | CDC9F87D9091B0799BC80D74 /* AnimationManager */ = { 176 | isa = PBXGroup; 177 | children = ( 178 | 5EFDF624FB2B4E5AE544EB0A /* DismissAnimationManager.swift */, 179 | E4E369FEA1CEFCF99DD059B8 /* ShowAnimationManager.swift */, 180 | ); 181 | path = AnimationManager; 182 | sourceTree = ""; 183 | }; 184 | D17BC9C9D2A52D5D385E85A0 /* Targets Support Files */ = { 185 | isa = PBXGroup; 186 | children = ( 187 | 26EC71497D17AFC1687A8707 /* Pods */, 188 | ); 189 | name = "Targets Support Files"; 190 | sourceTree = ""; 191 | }; 192 | E0733B4A68E8E0B5843A442A /* KKAlertView */ = { 193 | isa = PBXGroup; 194 | children = ( 195 | 169331270680899FF4375AEC /* AlertAction.swift */, 196 | CA44047D12E38D3B78F8E306 /* DefaultPathAlertView.swift */, 197 | 610D9D8BB70B0DE93595B611 /* KKAlertBackgroundView.swift */, 198 | 2B6A1A94621582ACADF96D2F /* KKAlertView.swift */, 199 | E8D2C132B3E32039CB0F646E /* KKAlertViewController.swift */, 200 | CDC9F87D9091B0799BC80D74 /* AnimationManager */, 201 | ); 202 | path = KKAlertView; 203 | sourceTree = ""; 204 | }; 205 | /* End PBXGroup section */ 206 | 207 | /* Begin PBXHeadersBuildPhase section */ 208 | C0AF675CCE5E24915710BCB7 /* Headers */ = { 209 | isa = PBXHeadersBuildPhase; 210 | buildActionMask = 2147483647; 211 | files = ( 212 | 540F86CD27C5441C8BF84FF6 /* Pods-umbrella.h in Headers */, 213 | ); 214 | runOnlyForDeploymentPostprocessing = 0; 215 | }; 216 | E6F5CAE285F884A3080AA3A6 /* Headers */ = { 217 | isa = PBXHeadersBuildPhase; 218 | buildActionMask = 2147483647; 219 | files = ( 220 | 92531C12E0D0859A08A7C431 /* Pods-KKAlertView-umbrella.h in Headers */, 221 | ); 222 | runOnlyForDeploymentPostprocessing = 0; 223 | }; 224 | /* End PBXHeadersBuildPhase section */ 225 | 226 | /* Begin PBXNativeTarget section */ 227 | 216C08F3EBA55459214461AE /* Pods */ = { 228 | isa = PBXNativeTarget; 229 | buildConfigurationList = B9D32D3915C25A65B186F46A /* Build configuration list for PBXNativeTarget "Pods" */; 230 | buildPhases = ( 231 | 98ABD1CCE2A5A8E5393097BD /* Sources */, 232 | 1D1D34F77B8A3E7D50471E91 /* Frameworks */, 233 | C0AF675CCE5E24915710BCB7 /* Headers */, 234 | ); 235 | buildRules = ( 236 | ); 237 | dependencies = ( 238 | 2D749E22AFDB01DCCE312E6D /* PBXTargetDependency */, 239 | ); 240 | name = Pods; 241 | productName = Pods; 242 | productReference = B2629B9ED7DD748D0DA52876 /* Pods.framework */; 243 | productType = "com.apple.product-type.framework"; 244 | }; 245 | 24A620E943DC8C3E439C7246 /* Pods-KKAlertView */ = { 246 | isa = PBXNativeTarget; 247 | buildConfigurationList = 096CE226CEE5884CDBBF7F78 /* Build configuration list for PBXNativeTarget "Pods-KKAlertView" */; 248 | buildPhases = ( 249 | 1DBB9012D069EF84B8CD027D /* Sources */, 250 | 39F462062D53095DD5DCA8AC /* Frameworks */, 251 | E6F5CAE285F884A3080AA3A6 /* Headers */, 252 | ); 253 | buildRules = ( 254 | ); 255 | dependencies = ( 256 | ); 257 | name = "Pods-KKAlertView"; 258 | productName = "Pods-KKAlertView"; 259 | productReference = F410F97E2A7D8E92C313AABA /* KKAlertView.framework */; 260 | productType = "com.apple.product-type.framework"; 261 | }; 262 | /* End PBXNativeTarget section */ 263 | 264 | /* Begin PBXProject section */ 265 | 722BF525130E36B04622A745 /* Project object */ = { 266 | isa = PBXProject; 267 | attributes = { 268 | LastUpgradeCheck = 0510; 269 | }; 270 | buildConfigurationList = 48D6DE539F0B131B2A9CBA54 /* Build configuration list for PBXProject "Pods" */; 271 | compatibilityVersion = "Xcode 3.2"; 272 | developmentRegion = English; 273 | hasScannedForEncodings = 0; 274 | knownRegions = ( 275 | en, 276 | ); 277 | mainGroup = 96808B48E8461F43725A208F; 278 | productRefGroup = 6163F68AF71EDB2827BEBF59 /* Products */; 279 | projectDirPath = ""; 280 | projectRoot = ""; 281 | targets = ( 282 | 216C08F3EBA55459214461AE /* Pods */, 283 | 24A620E943DC8C3E439C7246 /* Pods-KKAlertView */, 284 | ); 285 | }; 286 | /* End PBXProject section */ 287 | 288 | /* Begin PBXSourcesBuildPhase section */ 289 | 1DBB9012D069EF84B8CD027D /* Sources */ = { 290 | isa = PBXSourcesBuildPhase; 291 | buildActionMask = 2147483647; 292 | files = ( 293 | 1C8CABC1E645CFEF1CADFBB4 /* AlertAction.swift in Sources */, 294 | 043B53A6A3CEC1F9C3D8A35A /* DefaultPathAlertView.swift in Sources */, 295 | 8F112BC65840607B2D39D07F /* DismissAnimationManager.swift in Sources */, 296 | D67E0A8FAF978A6152A5A454 /* KKAlertBackgroundView.swift in Sources */, 297 | 806F19514C661F16A351DA38 /* KKAlertView.swift in Sources */, 298 | 309642AC19623D65F902015A /* KKAlertViewController.swift in Sources */, 299 | 9390805315875A1DB6CF26FA /* Pods-KKAlertView-dummy.m in Sources */, 300 | 436F823AD8B2544879779F5E /* ShowAnimationManager.swift in Sources */, 301 | ); 302 | runOnlyForDeploymentPostprocessing = 0; 303 | }; 304 | 98ABD1CCE2A5A8E5393097BD /* Sources */ = { 305 | isa = PBXSourcesBuildPhase; 306 | buildActionMask = 2147483647; 307 | files = ( 308 | 4BB399AD7C44FF7A2F45AE69 /* Pods-dummy.m in Sources */, 309 | ); 310 | runOnlyForDeploymentPostprocessing = 0; 311 | }; 312 | /* End PBXSourcesBuildPhase section */ 313 | 314 | /* Begin PBXTargetDependency section */ 315 | 2D749E22AFDB01DCCE312E6D /* PBXTargetDependency */ = { 316 | isa = PBXTargetDependency; 317 | name = "Pods-KKAlertView"; 318 | target = 24A620E943DC8C3E439C7246 /* Pods-KKAlertView */; 319 | targetProxy = D057AE278B30E5CFFC61C901 /* PBXContainerItemProxy */; 320 | }; 321 | /* End PBXTargetDependency section */ 322 | 323 | /* Begin XCBuildConfiguration section */ 324 | 6ED345A70042BC6123A25FA0 /* Debug */ = { 325 | isa = XCBuildConfiguration; 326 | baseConfigurationReference = 85EA6E7FA7792AB66A0D2F43 /* Pods.debug.xcconfig */; 327 | buildSettings = { 328 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 329 | CURRENT_PROJECT_VERSION = 1; 330 | DEFINES_MODULE = YES; 331 | DYLIB_COMPATIBILITY_VERSION = 1; 332 | DYLIB_CURRENT_VERSION = 1; 333 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 334 | ENABLE_STRICT_OBJC_MSGSEND = YES; 335 | INFOPLIST_FILE = "Target Support Files/Pods/Info.plist"; 336 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 337 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 338 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 339 | MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; 340 | MTL_ENABLE_DEBUG_INFO = YES; 341 | OTHER_LDFLAGS = ""; 342 | OTHER_LIBTOOLFLAGS = ""; 343 | PODS_ROOT = "$(SRCROOT)"; 344 | PRODUCT_NAME = Pods; 345 | SDKROOT = iphoneos; 346 | SKIP_INSTALL = YES; 347 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 348 | TARGETED_DEVICE_FAMILY = "1,2"; 349 | VERSIONING_SYSTEM = "apple-generic"; 350 | VERSION_INFO_PREFIX = ""; 351 | }; 352 | name = Debug; 353 | }; 354 | 85035F2CF73D2F1EB8643F7A /* Debug */ = { 355 | isa = XCBuildConfiguration; 356 | buildSettings = { 357 | ALWAYS_SEARCH_USER_PATHS = NO; 358 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 359 | CLANG_CXX_LIBRARY = "libc++"; 360 | CLANG_ENABLE_MODULES = YES; 361 | CLANG_ENABLE_OBJC_ARC = YES; 362 | CLANG_WARN_BOOL_CONVERSION = YES; 363 | CLANG_WARN_CONSTANT_CONVERSION = YES; 364 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 365 | CLANG_WARN_EMPTY_BODY = YES; 366 | CLANG_WARN_ENUM_CONVERSION = YES; 367 | CLANG_WARN_INT_CONVERSION = YES; 368 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 369 | CLANG_WARN_UNREACHABLE_CODE = YES; 370 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 371 | COPY_PHASE_STRIP = NO; 372 | GCC_C_LANGUAGE_STANDARD = gnu99; 373 | GCC_DYNAMIC_NO_PIC = NO; 374 | GCC_OPTIMIZATION_LEVEL = 0; 375 | GCC_PREPROCESSOR_DEFINITIONS = ( 376 | "DEBUG=1", 377 | "$(inherited)", 378 | ); 379 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 380 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 381 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 382 | GCC_WARN_UNDECLARED_SELECTOR = YES; 383 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 384 | GCC_WARN_UNUSED_FUNCTION = YES; 385 | GCC_WARN_UNUSED_VARIABLE = YES; 386 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 387 | ONLY_ACTIVE_ARCH = YES; 388 | STRIP_INSTALLED_PRODUCT = NO; 389 | SYMROOT = "${SRCROOT}/../build"; 390 | }; 391 | name = Debug; 392 | }; 393 | 98354BC76D71ECBEDCD373AF /* Debug */ = { 394 | isa = XCBuildConfiguration; 395 | baseConfigurationReference = BA48ECD40E4F8F91AADEADCA /* Pods-KKAlertView-Private.xcconfig */; 396 | buildSettings = { 397 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 398 | CURRENT_PROJECT_VERSION = 1; 399 | DEFINES_MODULE = YES; 400 | DYLIB_COMPATIBILITY_VERSION = 1; 401 | DYLIB_CURRENT_VERSION = 1; 402 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 403 | ENABLE_STRICT_OBJC_MSGSEND = YES; 404 | GCC_PREFIX_HEADER = "Target Support Files/Pods-KKAlertView/Pods-KKAlertView-prefix.pch"; 405 | INFOPLIST_FILE = "Target Support Files/Pods-KKAlertView/Info.plist"; 406 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 407 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 408 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 409 | MODULEMAP_FILE = "Target Support Files/Pods-KKAlertView/Pods-KKAlertView.modulemap"; 410 | MTL_ENABLE_DEBUG_INFO = YES; 411 | PRODUCT_NAME = KKAlertView; 412 | SDKROOT = iphoneos; 413 | SKIP_INSTALL = YES; 414 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 415 | TARGETED_DEVICE_FAMILY = "1,2"; 416 | VERSIONING_SYSTEM = "apple-generic"; 417 | VERSION_INFO_PREFIX = ""; 418 | }; 419 | name = Debug; 420 | }; 421 | 9E2A374893BBD09CE970CF7F /* Release */ = { 422 | isa = XCBuildConfiguration; 423 | buildSettings = { 424 | ALWAYS_SEARCH_USER_PATHS = NO; 425 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 426 | CLANG_CXX_LIBRARY = "libc++"; 427 | CLANG_ENABLE_MODULES = YES; 428 | CLANG_ENABLE_OBJC_ARC = YES; 429 | CLANG_WARN_BOOL_CONVERSION = YES; 430 | CLANG_WARN_CONSTANT_CONVERSION = YES; 431 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 432 | CLANG_WARN_EMPTY_BODY = YES; 433 | CLANG_WARN_ENUM_CONVERSION = YES; 434 | CLANG_WARN_INT_CONVERSION = YES; 435 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 436 | CLANG_WARN_UNREACHABLE_CODE = YES; 437 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 438 | COPY_PHASE_STRIP = YES; 439 | ENABLE_NS_ASSERTIONS = NO; 440 | GCC_C_LANGUAGE_STANDARD = gnu99; 441 | GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; 442 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 443 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 444 | GCC_WARN_UNDECLARED_SELECTOR = YES; 445 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 446 | GCC_WARN_UNUSED_FUNCTION = YES; 447 | GCC_WARN_UNUSED_VARIABLE = YES; 448 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 449 | STRIP_INSTALLED_PRODUCT = NO; 450 | SYMROOT = "${SRCROOT}/../build"; 451 | VALIDATE_PRODUCT = YES; 452 | }; 453 | name = Release; 454 | }; 455 | B355CDCF9DE3C0566D6EE51B /* Release */ = { 456 | isa = XCBuildConfiguration; 457 | baseConfigurationReference = BA48ECD40E4F8F91AADEADCA /* Pods-KKAlertView-Private.xcconfig */; 458 | buildSettings = { 459 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 460 | CURRENT_PROJECT_VERSION = 1; 461 | DEFINES_MODULE = YES; 462 | DYLIB_COMPATIBILITY_VERSION = 1; 463 | DYLIB_CURRENT_VERSION = 1; 464 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 465 | ENABLE_STRICT_OBJC_MSGSEND = YES; 466 | GCC_PREFIX_HEADER = "Target Support Files/Pods-KKAlertView/Pods-KKAlertView-prefix.pch"; 467 | INFOPLIST_FILE = "Target Support Files/Pods-KKAlertView/Info.plist"; 468 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 469 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 470 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 471 | MODULEMAP_FILE = "Target Support Files/Pods-KKAlertView/Pods-KKAlertView.modulemap"; 472 | MTL_ENABLE_DEBUG_INFO = NO; 473 | PRODUCT_NAME = KKAlertView; 474 | SDKROOT = iphoneos; 475 | SKIP_INSTALL = YES; 476 | TARGETED_DEVICE_FAMILY = "1,2"; 477 | VERSIONING_SYSTEM = "apple-generic"; 478 | VERSION_INFO_PREFIX = ""; 479 | }; 480 | name = Release; 481 | }; 482 | BE783D6C9DA1A01AC79CC582 /* Release */ = { 483 | isa = XCBuildConfiguration; 484 | baseConfigurationReference = D31E6BABF4CC08C2B7B17AC9 /* Pods.release.xcconfig */; 485 | buildSettings = { 486 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 487 | CURRENT_PROJECT_VERSION = 1; 488 | DEFINES_MODULE = YES; 489 | DYLIB_COMPATIBILITY_VERSION = 1; 490 | DYLIB_CURRENT_VERSION = 1; 491 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 492 | ENABLE_STRICT_OBJC_MSGSEND = YES; 493 | INFOPLIST_FILE = "Target Support Files/Pods/Info.plist"; 494 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 495 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 496 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 497 | MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; 498 | MTL_ENABLE_DEBUG_INFO = NO; 499 | OTHER_LDFLAGS = ""; 500 | OTHER_LIBTOOLFLAGS = ""; 501 | PODS_ROOT = "$(SRCROOT)"; 502 | PRODUCT_NAME = Pods; 503 | SDKROOT = iphoneos; 504 | SKIP_INSTALL = YES; 505 | TARGETED_DEVICE_FAMILY = "1,2"; 506 | VERSIONING_SYSTEM = "apple-generic"; 507 | VERSION_INFO_PREFIX = ""; 508 | }; 509 | name = Release; 510 | }; 511 | /* End XCBuildConfiguration section */ 512 | 513 | /* Begin XCConfigurationList section */ 514 | 096CE226CEE5884CDBBF7F78 /* Build configuration list for PBXNativeTarget "Pods-KKAlertView" */ = { 515 | isa = XCConfigurationList; 516 | buildConfigurations = ( 517 | 98354BC76D71ECBEDCD373AF /* Debug */, 518 | B355CDCF9DE3C0566D6EE51B /* Release */, 519 | ); 520 | defaultConfigurationIsVisible = 0; 521 | defaultConfigurationName = Release; 522 | }; 523 | 48D6DE539F0B131B2A9CBA54 /* Build configuration list for PBXProject "Pods" */ = { 524 | isa = XCConfigurationList; 525 | buildConfigurations = ( 526 | 85035F2CF73D2F1EB8643F7A /* Debug */, 527 | 9E2A374893BBD09CE970CF7F /* Release */, 528 | ); 529 | defaultConfigurationIsVisible = 0; 530 | defaultConfigurationName = Release; 531 | }; 532 | B9D32D3915C25A65B186F46A /* Build configuration list for PBXNativeTarget "Pods" */ = { 533 | isa = XCConfigurationList; 534 | buildConfigurations = ( 535 | 6ED345A70042BC6123A25FA0 /* Debug */, 536 | BE783D6C9DA1A01AC79CC582 /* Release */, 537 | ); 538 | defaultConfigurationIsVisible = 0; 539 | defaultConfigurationName = Release; 540 | }; 541 | /* End XCConfigurationList section */ 542 | }; 543 | rootObject = 722BF525130E36B04622A745 /* Project object */; 544 | } 545 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods-KKAlertView.xcconfig" 2 | CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH 3 | FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/KKAlertView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/KKAlertView" 6 | OTHER_LDFLAGS = -ObjC 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods 9 | PODS_ROOT = ${SRCROOT} 10 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_KKAlertView : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_KKAlertView 5 | @end 6 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "Pods-environment.h" 6 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView-umbrella.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | FOUNDATION_EXPORT double KKAlertViewVersionNumber; 5 | FOUNDATION_EXPORT const unsigned char KKAlertViewVersionString[]; 6 | 7 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView.modulemap: -------------------------------------------------------------------------------- 1 | framework module KKAlertView { 2 | umbrella header "Pods-KKAlertView-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazuteru/KKAlertView/289f433a9501fba8920ba81d9788515da1c4a12a/KKAlertViewSample/Pods/Target Support Files/Pods-KKAlertView/Pods-KKAlertView.xcconfig -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## KKAlertView 5 | 6 | Copyright (c) 2015 小橋 一輝 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | Generated by CocoaPods - http://cocoapods.org 27 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright (c) 2015 小橋 一輝 <kobashi_kazuki@cyberagent.co.jp> 18 | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy 20 | of this software and associated documentation files (the "Software"), to deal 21 | in the Software without restriction, including without limitation the rights 22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 23 | copies of the Software, and to permit persons to whom the Software is 24 | furnished to do so, subject to the following conditions: 25 | 26 | The above copyright notice and this permission notice shall be included in 27 | all copies or substantial portions of the Software. 28 | 29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 35 | THE SOFTWARE. 36 | 37 | Title 38 | KKAlertView 39 | Type 40 | PSGroupSpecifier 41 | 42 | 43 | FooterText 44 | Generated by CocoaPods - http://cocoapods.org 45 | Title 46 | 47 | Type 48 | PSGroupSpecifier 49 | 50 | 51 | StringsTable 52 | Acknowledgements 53 | Title 54 | Acknowledgements 55 | 56 | 57 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods : NSObject 3 | @end 4 | @implementation PodsDummy_Pods 5 | @end 6 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-environment.h: -------------------------------------------------------------------------------- 1 | 2 | // To check if a library is compiled with CocoaPods you 3 | // can use the `COCOAPODS` macro definition which is 4 | // defined in the xcconfigs so it is available in 5 | // headers also when they are imported in the client 6 | // project. 7 | 8 | 9 | // KKAlertView 10 | #define COCOAPODS_POD_AVAILABLE_KKAlertView 11 | #define COCOAPODS_VERSION_MAJOR_KKAlertView 0 12 | #define COCOAPODS_VERSION_MINOR_KKAlertView 1 13 | #define COCOAPODS_VERSION_PATCH_KKAlertView 1 14 | 15 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | local source="${BUILT_PRODUCTS_DIR}/Pods/$1" 12 | local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 13 | 14 | if [ -L "${source}" ]; then 15 | echo "Symlinked..." 16 | source=$(readlink "${source}") 17 | fi 18 | 19 | # use filter instead of exclude so missing patterns dont' throw errors 20 | echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" ${source} ${destination}" 21 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" "${source}" "${destination}" 22 | # Resign the code if required by the build settings to avoid unstable apps 23 | if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then 24 | code_sign "${destination}/$1" 25 | fi 26 | 27 | # Embed linked Swift runtime libraries 28 | local basename 29 | basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) 30 | local swift_runtime_libs 31 | swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 32 | for lib in $swift_runtime_libs; do 33 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 34 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 35 | if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then 36 | code_sign "${destination}/${lib}" 37 | fi 38 | done 39 | } 40 | 41 | # Signs a framework with the provided identity 42 | code_sign() { 43 | # Use the current code_sign_identitiy 44 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 45 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" 46 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" 47 | } 48 | 49 | 50 | if [[ "$CONFIGURATION" == "Debug" ]]; then 51 | install_framework 'KKAlertView.framework' 52 | fi 53 | if [[ "$CONFIGURATION" == "Release" ]]; then 54 | install_framework 'KKAlertView.framework' 55 | fi 56 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES="" 10 | 11 | install_resource() 12 | { 13 | case $1 in 14 | *.storyboard) 15 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 16 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 17 | ;; 18 | *.xib) 19 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 20 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 21 | ;; 22 | *.framework) 23 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 24 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 25 | echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 26 | rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 27 | ;; 28 | *.xcdatamodel) 29 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" 30 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" 31 | ;; 32 | *.xcdatamodeld) 33 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" 34 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" 35 | ;; 36 | *.xcmappingmodel) 37 | echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" 38 | xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" 39 | ;; 40 | *.xcassets) 41 | XCASSET_FILES="$XCASSET_FILES '$1'" 42 | ;; 43 | /*) 44 | echo "$1" 45 | echo "$1" >> "$RESOURCES_TO_COPY" 46 | ;; 47 | *) 48 | echo "${PODS_ROOT}/$1" 49 | echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" 50 | ;; 51 | esac 52 | } 53 | 54 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 55 | if [[ "${ACTION}" == "install" ]]; then 56 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 57 | fi 58 | rm -f "$RESOURCES_TO_COPY" 59 | 60 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n $XCASSET_FILES ] 61 | then 62 | case "${TARGETED_DEVICE_FAMILY}" in 63 | 1,2) 64 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 65 | ;; 66 | 1) 67 | TARGET_DEVICE_ARGS="--target-device iphone" 68 | ;; 69 | 2) 70 | TARGET_DEVICE_ARGS="--target-device ipad" 71 | ;; 72 | *) 73 | TARGET_DEVICE_ARGS="--target-device mac" 74 | ;; 75 | esac 76 | echo $XCASSET_FILES | xargs actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 77 | fi 78 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods-umbrella.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | FOUNDATION_EXPORT double PodsVersionNumber; 5 | FOUNDATION_EXPORT const unsigned char PodsVersionString[]; 6 | 7 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods.debug.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/KKAlertView.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "KKAlertView" 6 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods 9 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods { 2 | umbrella header "Pods-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /KKAlertViewSample/Pods/Target Support Files/Pods/Pods.release.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/KKAlertView.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "KKAlertView" 6 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods 9 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Kobashi Kazuki 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | KKAlertView 2 | ==== 3 | 4 | [![Platform](http://img.shields.io/badge/platform-ios-blue.svg?style=flat 5 | )](https://developer.apple.com/iphone/index.action) 6 | [![Language](http://img.shields.io/badge/language-swift-brightgreen.svg?style=flat 7 | )](https://developer.apple.com/swift) 8 | [![Version](https://img.shields.io/cocoapods/v/KKAlertView.svg?style=flat)](http://cocoapods.org/pods/KKAlertView) 9 | [![License](https://img.shields.io/cocoapods/l/KKAlertView.svg?style=flat)](http://cocoapods.org/pods/KKAlertView) 10 | 11 | ![KKAlertView](./SampleImage/alertView.gif) 12 | 13 | 14 | [kazuteru/KKAlertView] 15 | (https://github.com/kazuteru/KKAlertView) - You can easily display AlertView with the original animation like Path 16 | 17 | 18 | ## Features 19 | 20 | - [x] AlertView with the original animation like Path 21 | - [x] You can easily add an original animation to AlertView 22 | 23 | ## Installation 24 | 25 | #### CocoaPods 26 | 27 | KKAlertView is available through [CocoaPods](http://cocoapods.org). If you have cocoapods 0.36.0 or greater, you can install 28 | it, simply add the following line to your Podfile: 29 | 30 | pod "KKAlertView" 31 | 32 | #### Manually 33 | 34 | Add the [KKAlertView](./KKAlertView) directory to your project. 35 | 36 | ## Usage 37 | 38 | If you install from cocoapods, You have to write `import KKAlertView`. 39 | 40 | #### Code 41 | 42 | You can use KKAlertViewController like UIAlertConroller. 43 | 44 | ```swift 45 | let alertViewController = KKAlertViewController(title: "2 button alert", message: "How much wood would a woodchuck chuck if a woodchuck could chuck wood?") 46 | alertViewController.addAction(title: "button A", action: { println("Hello EX1") }) 47 | alertViewController.addAction(title: "button B", action: { println("Hello EX2") }) 48 | alertViewController.showAlert() 49 | } 50 | ``` 51 | ![KKAlertView](./SampleImage/alertViewSample.png) 52 | 53 | ## Requirements 54 | 55 | - Xcode 6.1 or greater 56 | - iOS7.0(manually only) or greater 57 | 58 | ## Author 59 | Kobashi Kazuki, [kazuteru.koba@gmail.com](kazuteru.koba@gmail.com) 60 | 61 | ## License 62 | 63 | KKAlertView is available under the MIT license. See the LICENSE file for more info. -------------------------------------------------------------------------------- /SampleImage/alertView.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazuteru/KKAlertView/289f433a9501fba8920ba81d9788515da1c4a12a/SampleImage/alertView.gif -------------------------------------------------------------------------------- /SampleImage/alertViewSample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazuteru/KKAlertView/289f433a9501fba8920ba81d9788515da1c4a12a/SampleImage/alertViewSample.png --------------------------------------------------------------------------------