├── .swift-version
├── SwiftConfettiView
├── Classes
│ ├── .gitkeep
│ └── SwiftConfettiView.swift
└── Assets
│ ├── star.png
│ ├── confetti.png
│ ├── diamond.png
│ └── triangle.png
├── _Pods.xcodeproj
├── Example
├── Podfile
├── Pods
│ ├── Target Support Files
│ │ ├── SwiftConfettiView
│ │ │ ├── SwiftConfettiView.modulemap
│ │ │ ├── SwiftConfettiView-dummy.m
│ │ │ ├── SwiftConfettiView-prefix.pch
│ │ │ ├── SwiftConfettiView-umbrella.h
│ │ │ ├── SwiftConfettiView.xcconfig
│ │ │ ├── ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist
│ │ │ └── SwiftConfettiView-Info.plist
│ │ └── Pods-SwiftConfettiView_Example
│ │ │ ├── Pods-SwiftConfettiView_Example.modulemap
│ │ │ ├── Pods-SwiftConfettiView_Example-dummy.m
│ │ │ ├── Pods-SwiftConfettiView_Example-umbrella.h
│ │ │ ├── Pods-SwiftConfettiView_Example.debug.xcconfig
│ │ │ ├── Pods-SwiftConfettiView_Example.release.xcconfig
│ │ │ ├── Pods-SwiftConfettiView_Example-Info.plist
│ │ │ ├── Pods-SwiftConfettiView_Example-acknowledgements.markdown
│ │ │ ├── Pods-SwiftConfettiView_Example-acknowledgements.plist
│ │ │ └── Pods-SwiftConfettiView_Example-frameworks.sh
│ ├── Pods.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── project.pbxproj
│ ├── Manifest.lock
│ └── Local Podspecs
│ │ └── SwiftConfettiView.podspec.json
├── SwiftConfettiView.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── SwiftConfettiView-Example.xcscheme
│ └── project.pbxproj
├── SwiftConfettiView.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Podfile.lock
└── SwiftConfettiView
│ ├── Images.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── ViewController.swift
│ ├── AppDelegate.swift
│ └── Base.lproj
│ ├── Main.storyboard
│ └── LaunchScreen.xib
├── LICENSE
├── SwiftConfettiView.podspec
├── .gitignore
└── README.md
/.swift-version:
--------------------------------------------------------------------------------
1 | 4.2
2 |
--------------------------------------------------------------------------------
/SwiftConfettiView/Classes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/SwiftConfettiView/Assets/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/SwiftConfettiView/HEAD/SwiftConfettiView/Assets/star.png
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target 'SwiftConfettiView_Example' do
4 | pod 'SwiftConfettiView', :path => '../'
5 |
6 | end
7 |
--------------------------------------------------------------------------------
/SwiftConfettiView/Assets/confetti.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/SwiftConfettiView/HEAD/SwiftConfettiView/Assets/confetti.png
--------------------------------------------------------------------------------
/SwiftConfettiView/Assets/diamond.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/SwiftConfettiView/HEAD/SwiftConfettiView/Assets/diamond.png
--------------------------------------------------------------------------------
/SwiftConfettiView/Assets/triangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/SwiftConfettiView/HEAD/SwiftConfettiView/Assets/triangle.png
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView.modulemap:
--------------------------------------------------------------------------------
1 | framework module SwiftConfettiView {
2 | umbrella header "SwiftConfettiView-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SwiftConfettiView : NSObject
3 | @end
4 | @implementation PodsDummy_SwiftConfettiView
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_SwiftConfettiView_Example {
2 | umbrella header "Pods-SwiftConfettiView_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_SwiftConfettiView_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_SwiftConfettiView_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - SwiftConfettiView (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - SwiftConfettiView (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | SwiftConfettiView:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | SwiftConfettiView: 75f535e9f4ed5d54fa8e2c67640b17766a49d72e
13 |
14 | PODFILE CHECKSUM: 3947e44fe6a15b6938a65f069404878e21ec4f17
15 |
16 | COCOAPODS: 1.7.0.beta.3
17 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - SwiftConfettiView (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - SwiftConfettiView (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | SwiftConfettiView:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | SwiftConfettiView: 75f535e9f4ed5d54fa8e2c67640b17766a49d72e
13 |
14 | PODFILE CHECKSUM: 3947e44fe6a15b6938a65f069404878e21ec4f17
15 |
16 | COCOAPODS: 1.7.0.beta.3
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SwiftConfettiViewVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SwiftConfettiViewVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_SwiftConfettiView_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_SwiftConfettiView_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftConfettiView
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "UIKit"
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftConfettiView"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftConfettiView/SwiftConfettiView.framework/Headers"
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 | OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SwiftConfettiView" -framework "UIKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftConfettiView"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftConfettiView/SwiftConfettiView.framework/Headers"
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 | OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SwiftConfettiView" -framework "UIKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SwiftConfettiView/SwiftConfettiView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
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 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/SwiftConfettiView.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SwiftConfettiView",
3 | "version": "0.1.0",
4 | "summary": "Confetti! Who doesn't like confetti?'",
5 | "description": "SAConfettiView is the quickest way to add confetti to your application and make your users feel rewarded.",
6 | "homepage": "https://github.com/ugurethemaydin/SwiftConfettiView",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "Uğur Ethem AYDIN": "ugur@metromedya.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/ugurethemaydin/SwiftConfettiView.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "8.0"
20 | },
21 | "requires_arc": true,
22 | "source_files": "SwiftConfettiView/Classes/**/*",
23 | "resource_bundles": {
24 | "SwiftConfettiView": [
25 | "SwiftConfettiView/Assets/*.png"
26 | ]
27 | },
28 | "resources": "SwiftConfettiView/**/*.{png,json}",
29 | "frameworks": [
30 | "UIKit",
31 | "QuartzCore"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Uğur Ethem AYDIN
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "size" : "1024x1024",
46 | "scale" : "1x"
47 | }
48 | ],
49 | "info" : {
50 | "version" : 1,
51 | "author" : "xcode"
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
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 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## SwiftConfettiView
5 |
6 | MIT License
7 |
8 | Copyright (c) 2019 Uğur Ethem AYDIN
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in all
18 | copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 | Generated by CocoaPods - https://cocoapods.org
29 |
--------------------------------------------------------------------------------
/SwiftConfettiView.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint SwiftConfettiView.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = 'SwiftConfettiView'
11 | s.version = '0.1.0'
12 | s.summary = "Confetti! Who doesn't like confetti?'"
13 |
14 | # This description is used to generate tags and improve search results.
15 | # * Think: What does it do? Why did you write it? What is the focus?
16 | # * Try to keep it short, snappy and to the point.
17 | # * Write the description between the DESC delimiters below.
18 | # * Finally, don't worry about the indent, CocoaPods strips it!
19 |
20 | s.description = <<-DESC
21 | SAConfettiView is the quickest way to add confetti to your application and make your users feel rewarded.
22 | DESC
23 |
24 | s.homepage = 'https://github.com/ugurethemaydin/SwiftConfettiView'
25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
26 | s.license = { :type => 'MIT', :file => 'LICENSE' }
27 | s.author = { 'Uğur Ethem AYDIN' => 'ugur@metromedya.com' }
28 | s.source = { :git => 'https://github.com/ugurethemaydin/SwiftConfettiView.git', :tag => s.version.to_s }
29 | # s.social_media_url = 'https://twitter.com/'
30 |
31 | s.ios.deployment_target = '8.0'
32 | s.requires_arc = true
33 |
34 | s.source_files = 'SwiftConfettiView/Classes/**/*'
35 |
36 | s.resource_bundles = {
37 | 'SwiftConfettiView' => ['SwiftConfettiView/Assets/*.png']
38 | }
39 | s.resources = 'SwiftConfettiView/**/*.{png,json}'
40 | # s.public_header_files = 'Pod/Classes/**/*.h'
41 | s.frameworks = 'UIKit', 'QuartzCore'
42 | # s.dependency 'AFNetworking', '~> 2.3'
43 | end
44 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // SwiftConfettiView
4 | //
5 | // Created by Uğur Ethem AYDIN on 04/11/2019.
6 | // Copyright (c) 2019 Uğur Ethem AYDIN. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import SwiftConfettiView
11 | class ViewController: UIViewController {
12 |
13 | var confettiView: SwiftConfettiView!
14 | var isRainingConfetti = false
15 |
16 | @IBOutlet weak var confettiStatus: UILabel!
17 | override func viewDidLoad() {
18 | super.viewDidLoad()
19 | confettiView = SwiftConfettiView(frame: self.view.bounds)
20 |
21 | // Set colors (default colors are red, green and blue)
22 | confettiView.colors = [UIColor(red:0.95, green:0.40, blue:0.27, alpha:1.0),
23 | UIColor(red:1.00, green:0.78, blue:0.36, alpha:1.0),
24 | UIColor(red:0.48, green:0.78, blue:0.64, alpha:1.0),
25 | UIColor(red:0.30, green:0.76, blue:0.85, alpha:1.0),
26 | UIColor(red:0.58, green:0.39, blue:0.55, alpha:1.0)]
27 |
28 | // Set intensity (from 0 - 1, default intensity is 0.5)
29 | confettiView.intensity = 0.5
30 |
31 | // Set type
32 | confettiView.type = .diamond
33 |
34 | // For custom image
35 | // confettiView.type = .Image(UIImage(named: "diamond")!)
36 |
37 | // Add subview
38 | view.addSubview(confettiView)
39 | }
40 | override func touchesBegan(_ touches: Set, with event: UIEvent?) {
41 | if (isRainingConfetti) {
42 | // Stop confetti
43 | confettiView.stopConfetti()
44 | confettiStatus.text = "it's not raining confetti 🙁"
45 | } else {
46 | // Start confetti
47 | confettiView.startConfetti()
48 | confettiStatus.text = "it's raining confetti 🙂"
49 | }
50 | isRainingConfetti = !isRainingConfetti
51 | }
52 | override func didReceiveMemoryWarning() {
53 | super.didReceiveMemoryWarning()
54 | // Dispose of any resources that can be recreated.
55 | }
56 |
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // SwiftConfettiView
4 | //
5 | // Created by Uğur Ethem AYDIN on 04/11/2019.
6 | // Copyright (c) 2019 Uğur Ethem AYDIN. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | private func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-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 | MIT License
18 |
19 | Copyright (c) 2019 Uğur Ethem AYDIN
20 |
21 | Permission is hereby granted, free of charge, to any person obtaining a copy
22 | of this software and associated documentation files (the "Software"), to deal
23 | in the Software without restriction, including without limitation the rights
24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25 | copies of the Software, and to permit persons to whom the Software is
26 | furnished to do so, subject to the following conditions:
27 |
28 | The above copyright notice and this permission notice shall be included in all
29 | copies or substantial portions of the Software.
30 |
31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37 | SOFTWARE.
38 |
39 | License
40 | MIT
41 | Title
42 | SwiftConfettiView
43 | Type
44 | PSGroupSpecifier
45 |
46 |
47 | FooterText
48 | Generated by CocoaPods - https://cocoapods.org
49 | Title
50 |
51 | Type
52 | PSGroupSpecifier
53 |
54 |
55 | StringsTable
56 | Acknowledgements
57 | Title
58 | Acknowledgements
59 |
60 |
61 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xccheckout
23 | *.xcscmblueprint
24 |
25 | ## Obj-C/Swift specific
26 | *.hmap
27 | *.ipa
28 | *.dSYM.zip
29 | *.dSYM
30 |
31 | ## Playgrounds
32 | timeline.xctimeline
33 | playground.xcworkspace
34 |
35 | # Swift Package Manager
36 | #
37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
38 | # Packages/
39 | # Package.pins
40 | # Package.resolved
41 | .build/
42 |
43 | # CocoaPods
44 | #
45 | # We recommend against adding the Pods directory to your .gitignore. However
46 | # you should judge for yourself, the pros and cons are mentioned at:
47 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
48 | #
49 | # Pods/
50 |
51 | # Carthage
52 | #
53 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
54 | # Carthage/Checkouts
55 |
56 | Carthage/Build
57 |
58 | # fastlane
59 | #
60 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
61 | # screenshots whenever they are needed.
62 | # For more information about the recommended setup visit:
63 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
64 |
65 | fastlane/report.xml
66 | fastlane/Preview.html
67 | fastlane/screenshots/**/*.png
68 | fastlane/test_output
69 |
70 |
71 |
72 | # .gitignore file for Xcode / AppCode projects
73 | # based on https://github.com/github/gitignore/blob/master/Objective-C.gitignore
74 |
75 | # Xcode
76 | #
77 | build/
78 | *.pbxuser
79 | !default.pbxuser
80 | *.mode1v3
81 | !default.mode1v3
82 | *.mode2v3
83 | !default.mode2v3
84 | *.perspectivev3
85 | !default.perspectivev3
86 | xcuserdata
87 | *.xccheckout
88 | *.moved-aside
89 | DerivedData
90 | *.hmap
91 | *.ipa
92 |
93 | # CocoaPods
94 | #
95 | # We recommend against adding the Pods directory to your .gitignore. However
96 | # you should judge for yourself, the pros and cons are mentioned at:
97 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control?
98 | #
99 | # Pods/
100 |
101 | # Additions
102 | .idea/
103 | .DS_Store
104 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
25 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/SwiftConfettiView/Classes/SwiftConfettiView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SwiftConfettiView.swift
3 | // Pods
4 | //
5 | // Created by Uğur Ethem AYDIN on 2019
6 | //
7 | //
8 |
9 | import UIKit
10 | import QuartzCore
11 |
12 | public class SwiftConfettiView: UIView {
13 |
14 | public enum ConfettiType {
15 | case confetti
16 | case triangle
17 | case star
18 | case diamond
19 | case image(UIImage)
20 | }
21 |
22 | var emitter: CAEmitterLayer!
23 | public var colors: [UIColor]!
24 | public var intensity: Float!
25 | public var type: ConfettiType!
26 | private var active :Bool!
27 |
28 | required public init?(coder aDecoder: NSCoder) {
29 | super.init(coder: aDecoder)
30 | setup()
31 | }
32 |
33 | public override init(frame: CGRect) {
34 | super.init(frame: frame)
35 | setup()
36 | }
37 |
38 | func setup() {
39 | colors = [UIColor(red:0.95, green:0.40, blue:0.27, alpha:1.0),
40 | UIColor(red:1.00, green:0.78, blue:0.36, alpha:1.0),
41 | UIColor(red:0.48, green:0.78, blue:0.64, alpha:1.0),
42 | UIColor(red:0.30, green:0.76, blue:0.85, alpha:1.0),
43 | UIColor(red:0.58, green:0.39, blue:0.55, alpha:1.0)]
44 | intensity = 0.5
45 | type = .confetti
46 | active = false
47 | }
48 |
49 | public func startConfetti() {
50 | emitter = CAEmitterLayer()
51 |
52 | emitter.emitterPosition = CGPoint(x: frame.size.width / 2.0, y: 0)
53 | emitter.emitterShape = CAEmitterLayerEmitterShape.line
54 | emitter.emitterSize = CGSize(width: frame.size.width, height: 1)
55 |
56 | var cells = [CAEmitterCell]()
57 | for color in colors {
58 | cells.append(confettiWithColor(color: color))
59 | }
60 |
61 | emitter.emitterCells = cells
62 | layer.addSublayer(emitter)
63 | active = true
64 | }
65 |
66 | public func stopConfetti() {
67 | emitter?.birthRate = 0
68 | active = false
69 | }
70 |
71 | func imageForType(type: ConfettiType) -> UIImage? {
72 |
73 | var fileName: String!
74 |
75 | switch type {
76 | case .confetti:
77 | fileName = "confetti"
78 | case .triangle:
79 | fileName = "triangle"
80 | case .star:
81 | fileName = "star"
82 | case .diamond:
83 | fileName = "diamond"
84 | case let .image(customImage):
85 | return customImage
86 | }
87 |
88 | let path = Bundle(for: SwiftConfettiView.self).path(forResource: "SwiftConfettiView", ofType: "bundle")
89 |
90 | let bundle = Bundle(path: path!)
91 | let imagePath = bundle?.path(forResource: fileName, ofType: "png")
92 | let url = URL(fileURLWithPath: imagePath!)
93 | do {
94 | let data = try Data(contentsOf: url)
95 | return UIImage(data: data)
96 | } catch {
97 | print(error)
98 | }
99 | return nil
100 | }
101 |
102 | func confettiWithColor(color: UIColor) -> CAEmitterCell {
103 | let confetti = CAEmitterCell()
104 | confetti.birthRate = 6.0 * intensity
105 | confetti.lifetime = 14.0 * intensity
106 | confetti.lifetimeRange = 0
107 | confetti.color = color.cgColor
108 | confetti.velocity = CGFloat(350.0 * intensity)
109 | confetti.velocityRange = CGFloat(80.0 * intensity)
110 | confetti.emissionLongitude = CGFloat(Double.pi)
111 | confetti.emissionRange = CGFloat(Double.pi)
112 | confetti.spin = CGFloat(3.5 * intensity)
113 | confetti.spinRange = CGFloat(4.0 * intensity)
114 | confetti.scaleRange = CGFloat(intensity)
115 | confetti.scaleSpeed = CGFloat(-0.1 * intensity)
116 | confetti.contents = imageForType(type: type)!.cgImage
117 | return confetti
118 | }
119 |
120 | public func isActive() -> Bool {
121 | return self.active
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView.xcodeproj/xcshareddata/xcschemes/SwiftConfettiView-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
67 |
68 |
78 |
80 |
86 |
87 |
88 |
89 |
90 |
91 |
97 |
99 |
105 |
106 |
107 |
108 |
110 |
111 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Swift Confetti View [](https://twitter.com/intent/tweet?text=Who%20doesn%27t%20like%20confetti!%20🎉%20%20:&url=https://github.com/ugurethemaydin/SwiftConfettiView&hashtags=cocoapods,repo,swiftconfettiview,developers,swift,ios,confetti,github)
2 |
3 | Swift Confetti View ! Who doesn't like confetti?
4 |
5 | 
6 | 
7 | [](https://cocoapods.org/pods/SwiftConfettiView)
8 | [](https://cocoapods.org/pods/SwiftConfettiView)
9 | [](https://cocoapods.org/pods/SwiftConfettiView)
10 |
11 |
12 |
13 |
14 |
15 |
16 | It's raining confetti! SwiftConfettiView is the easiest way to add fun, multi-colored confetti to your application and make users feel rewarded. Written in Swift, SwiftConfettiView is a subclass of UIView and is highly customizable. From various types and colors of confetti to different levels of intensity, you can make the confetti as fancy as you want.
17 |
18 |
19 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
20 |
21 | ## Requirements
22 |
23 | iOS 9.3 or later and Swift 4
24 |
25 | ## Installation
26 |
27 | SwiftConfettiView is available through [CocoaPods](https://cocoapods.org). To install
28 | it, simply add the following line to your Podfile:
29 |
30 |
31 | ```swift
32 | pod 'SwiftConfettiView'
33 | ```
34 |
35 | And then run:
36 |
37 | `$ pod install`
38 |
39 | #### Manual Installation
40 | To manually install SwiftConfettiView, simply add `SwiftConfettiView.swift` to your project.
41 |
42 | ## Usage
43 |
44 | Creating a SwiftConfettiView is the same as creating a UIView:
45 |
46 | ```swift
47 | let confettiView = SwiftConfettiView(frame: self.view.bounds)
48 | ```
49 |
50 | Don't forget to add the subview!
51 |
52 | ```swift
53 | self.view.addSubview(confettiView)
54 | ```
55 |
56 | ### Types
57 |
58 | Pick one of the preconfigured types of confetti with the `.type` property, or create your own by providing a custom image. This property defaults to the `.Confetti` type.
59 |
60 | ##### `.Confetti`
61 |
62 | 
63 |
64 | ```swift
65 | confettiView.type = .Confetti
66 | ```
67 |
68 | ##### `.Triangle`
69 |
70 | 
71 |
72 | ```swift
73 | confettiView.type = .Triangle
74 | ```
75 |
76 | ##### `.Star`
77 |
78 | 
79 |
80 | ```swift
81 | confettiView.type = .Star
82 | ```
83 |
84 | ##### `.Diamond`
85 |
86 | 
87 |
88 | ```swift
89 | confettiView.type = .Diamond
90 | ```
91 |
92 | ##### `.Image`
93 |
94 | 
95 |
96 | ```swift
97 | confettiView.type = .Image(UIImage(named: "smiley"))
98 | ```
99 |
100 | ### Colors
101 |
102 | Set the colors of the confetti with the `.colors` property. This property has a default value of multiple colors.
103 |
104 | ``` swift
105 | confettiView.colors = [UIColor.redColor(), UIColor.greenColor(), UIColor.blueColor()]
106 | ```
107 |
108 | ### Intensity
109 |
110 | The intensity refers to how many particles are generated and how quickly they fall. Set the intensity of the confetti with the `.intensity` property by passing in a value between 0 and 1. The default intensity is 0.5.
111 |
112 | ``` swift
113 | confettiView.intensity = 0.75
114 | ```
115 |
116 | ### Starting
117 |
118 | To start the confetti, use
119 |
120 | ``` swift
121 | confettiView.startConfetti()
122 | ```
123 |
124 | ### Stopping
125 |
126 | To stop the confetti, use
127 |
128 | ``` swift
129 | confettiView.stopConfetti()
130 | ```
131 |
132 | ### Status
133 |
134 | To check if the confetti is active and currently being displayed, use
135 |
136 | ``` swift
137 | confettiView.isActive()
138 | ```
139 |
140 | Returns `true` if it is being displayed, and `false` if it is not.
141 |
142 |
143 |
144 |
145 | ## Who is using the repo?
146 |
147 | * [Direct Message for Whatsapp](http://directmessage.xyz) - chat without adding a contact!
148 | *Type number, press the direct message button and start whatsapp chat without saving new contact .Keep it fast,secret and clean.*
149 |
150 |
151 | * [Qwote](https://apps.apple.com/app/id1514390362) - Capture, Format & Share quotes
152 | *Qwote is a quick way to share text snippets or quotes as beautifully formatted images.*
153 |
154 | * [Soapbox](https://apps.apple.com/app/id1529283270) - Chat with and Make New Friends
155 | *Soapbox is a different take Good conversations don’t need good lighting. *
156 |
157 |
158 |
159 |
160 | ```if you want your app to be written in this section, please email us. ```
161 |
162 | ## OTHERs Repo
163 |
164 | ### CheckDevice
165 | How to detect iOS device models and screen size?
166 |
167 | CheckDevice is detected the current device model and screen sizes.
168 |
169 | [CheckDevice](https://github.com/ugurethemaydin/checkDevice)
170 |
171 | ## Related
172 |
173 | This project enhance or use SAConfettiView:
174 | Unfortunately, SAConfettiView has not been updated for a long time and doesn't work in swift4+. So I am created and developing this independent library and I use it in my projects.
175 |
176 | ## Author
177 |
178 | Uğur Ethem AYDIN, ugur@metromedya.com
179 |
180 | ## License
181 |
182 | Swift Confetti View is available under the MIT license. See the LICENSE file for more info.
183 |
184 | Copyright (c) 2019 Uğur Ethem AYDIN
185 |
186 | Permission is hereby granted, free of charge, to any person obtaining a copy
187 | of this software and associated documentation files (the "Software"), to deal
188 | in the Software without restriction, including without limitation the rights
189 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
190 | copies of the Software, and to permit persons to whom the Software is
191 | furnished to do so, subject to the following conditions:
192 |
193 | The above copyright notice and this permission notice shall be included in all
194 | copies or substantial portions of the Software.
195 |
196 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
197 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
198 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
199 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
200 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
201 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
202 | SOFTWARE.
203 |
204 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 |
23 | # Used as a return value for each invocation of `strip_invalid_archs` function.
24 | STRIP_BINARY_RETVAL=0
25 |
26 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
27 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
28 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
29 |
30 | # Copies and strips a vendored framework
31 | install_framework()
32 | {
33 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
34 | local source="${BUILT_PRODUCTS_DIR}/$1"
35 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
36 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
37 | elif [ -r "$1" ]; then
38 | local source="$1"
39 | fi
40 |
41 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
42 |
43 | if [ -L "${source}" ]; then
44 | echo "Symlinked..."
45 | source="$(readlink "${source}")"
46 | fi
47 |
48 | # Use filter instead of exclude so missing patterns don't throw errors.
49 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
50 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
51 |
52 | local basename
53 | basename="$(basename -s .framework "$1")"
54 | binary="${destination}/${basename}.framework/${basename}"
55 |
56 | if ! [ -r "$binary" ]; then
57 | binary="${destination}/${basename}"
58 | elif [ -L "${binary}" ]; then
59 | echo "Destination binary is symlinked..."
60 | dirname="$(dirname "${binary}")"
61 | binary="${dirname}/$(readlink "${binary}")"
62 | fi
63 |
64 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
65 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
66 | strip_invalid_archs "$binary"
67 | fi
68 |
69 | # Resign the code if required by the build settings to avoid unstable apps
70 | code_sign_if_enabled "${destination}/$(basename "$1")"
71 |
72 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
73 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
74 | local swift_runtime_libs
75 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
76 | for lib in $swift_runtime_libs; do
77 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
78 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
79 | code_sign_if_enabled "${destination}/${lib}"
80 | done
81 | fi
82 | }
83 |
84 | # Copies and strips a vendored dSYM
85 | install_dsym() {
86 | local source="$1"
87 | if [ -r "$source" ]; then
88 | # Copy the dSYM into a the targets temp dir.
89 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
90 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
91 |
92 | local basename
93 | basename="$(basename -s .framework.dSYM "$source")"
94 | binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
95 |
96 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
97 | if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then
98 | strip_invalid_archs "$binary"
99 | fi
100 |
101 | if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
102 | # Move the stripped file into its final destination.
103 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
104 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
105 | else
106 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
107 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
108 | fi
109 | fi
110 | }
111 |
112 | # Copies the bcsymbolmap files of a vendored framework
113 | install_bcsymbolmap() {
114 | local bcsymbolmap_path="$1"
115 | local destination="${BUILT_PRODUCTS_DIR}"
116 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
117 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
118 | }
119 |
120 | # Signs a framework with the provided identity
121 | code_sign_if_enabled() {
122 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
123 | # Use the current code_sign_identity
124 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
125 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
126 |
127 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
128 | code_sign_cmd="$code_sign_cmd &"
129 | fi
130 | echo "$code_sign_cmd"
131 | eval "$code_sign_cmd"
132 | fi
133 | }
134 |
135 | # Strip invalid architectures
136 | strip_invalid_archs() {
137 | binary="$1"
138 | # Get architectures for current target binary
139 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
140 | # Intersect them with the architectures we are building for
141 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
142 | # If there are no archs supported by this binary then warn the user
143 | if [[ -z "$intersected_archs" ]]; then
144 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
145 | STRIP_BINARY_RETVAL=0
146 | return
147 | fi
148 | stripped=""
149 | for arch in $binary_archs; do
150 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
151 | # Strip non-valid architectures in-place
152 | lipo -remove "$arch" -output "$binary" "$binary"
153 | stripped="$stripped $arch"
154 | fi
155 | done
156 | if [[ "$stripped" ]]; then
157 | echo "Stripped $binary of architectures:$stripped"
158 | fi
159 | STRIP_BINARY_RETVAL=1
160 | }
161 |
162 |
163 | if [[ "$CONFIGURATION" == "Debug" ]]; then
164 | install_framework "${BUILT_PRODUCTS_DIR}/SwiftConfettiView/SwiftConfettiView.framework"
165 | fi
166 | if [[ "$CONFIGURATION" == "Release" ]]; then
167 | install_framework "${BUILT_PRODUCTS_DIR}/SwiftConfettiView/SwiftConfettiView.framework"
168 | fi
169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
170 | wait
171 | fi
172 |
--------------------------------------------------------------------------------
/Example/SwiftConfettiView.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 566BC5810F9EFA7AB96F050E /* Pods_SwiftConfettiView_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4749501A8E2A531D988ABFF5 /* Pods_SwiftConfettiView_Example.framework */; };
11 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
12 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
13 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
14 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
15 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXFileReference section */
19 | 15AB7D6C77D2C8A5A8F971AB /* Pods-SwiftConfettiView_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftConfettiView_Tests.release.xcconfig"; path = "Target Support Files/Pods-SwiftConfettiView_Tests/Pods-SwiftConfettiView_Tests.release.xcconfig"; sourceTree = ""; };
20 | 2E2DF9B12F28B35EB34A93C5 /* Pods_SwiftConfettiView_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftConfettiView_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
21 | 3E1209710EE3858B294E135D /* Pods-SwiftConfettiView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftConfettiView_Example.release.xcconfig"; path = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.release.xcconfig"; sourceTree = ""; };
22 | 4749501A8E2A531D988ABFF5 /* Pods_SwiftConfettiView_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftConfettiView_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
23 | 5A350F175F8856481550F615 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
24 | 607FACD01AFB9204008FA782 /* SwiftConfettiView_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftConfettiView_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
25 | 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
26 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
27 | 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
28 | 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
29 | 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
30 | 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
31 | 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
32 | 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; };
33 | 6E73E140D43B59CEA84ACBAA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
34 | 9FC43F3B5146E564D5C0ECBC /* SwiftConfettiView.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = SwiftConfettiView.podspec; path = ../SwiftConfettiView.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
35 | A0A070BAFBF061D220AED991 /* Pods-SwiftConfettiView_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftConfettiView_Tests.debug.xcconfig"; path = "Target Support Files/Pods-SwiftConfettiView_Tests/Pods-SwiftConfettiView_Tests.debug.xcconfig"; sourceTree = ""; };
36 | C4592DA569B22900AF867747 /* Pods-SwiftConfettiView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftConfettiView_Example.debug.xcconfig"; path = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.debug.xcconfig"; sourceTree = ""; };
37 | /* End PBXFileReference section */
38 |
39 | /* Begin PBXFrameworksBuildPhase section */
40 | 607FACCD1AFB9204008FA782 /* Frameworks */ = {
41 | isa = PBXFrameworksBuildPhase;
42 | buildActionMask = 2147483647;
43 | files = (
44 | 566BC5810F9EFA7AB96F050E /* Pods_SwiftConfettiView_Example.framework in Frameworks */,
45 | );
46 | runOnlyForDeploymentPostprocessing = 0;
47 | };
48 | /* End PBXFrameworksBuildPhase section */
49 |
50 | /* Begin PBXGroup section */
51 | 00D4250F78536AD02166EC16 /* Pods */ = {
52 | isa = PBXGroup;
53 | children = (
54 | C4592DA569B22900AF867747 /* Pods-SwiftConfettiView_Example.debug.xcconfig */,
55 | 3E1209710EE3858B294E135D /* Pods-SwiftConfettiView_Example.release.xcconfig */,
56 | A0A070BAFBF061D220AED991 /* Pods-SwiftConfettiView_Tests.debug.xcconfig */,
57 | 15AB7D6C77D2C8A5A8F971AB /* Pods-SwiftConfettiView_Tests.release.xcconfig */,
58 | );
59 | path = Pods;
60 | sourceTree = "";
61 | };
62 | 607FACC71AFB9204008FA782 = {
63 | isa = PBXGroup;
64 | children = (
65 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
66 | 607FACD21AFB9204008FA782 /* Example for SwiftConfettiView */,
67 | 607FACE81AFB9204008FA782 /* Tests */,
68 | 607FACD11AFB9204008FA782 /* Products */,
69 | 00D4250F78536AD02166EC16 /* Pods */,
70 | 635649D38F9AAF5AB8ED5665 /* Frameworks */,
71 | );
72 | sourceTree = "";
73 | };
74 | 607FACD11AFB9204008FA782 /* Products */ = {
75 | isa = PBXGroup;
76 | children = (
77 | 607FACD01AFB9204008FA782 /* SwiftConfettiView_Example.app */,
78 | );
79 | name = Products;
80 | sourceTree = "";
81 | };
82 | 607FACD21AFB9204008FA782 /* Example for SwiftConfettiView */ = {
83 | isa = PBXGroup;
84 | children = (
85 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */,
86 | 607FACD71AFB9204008FA782 /* ViewController.swift */,
87 | 607FACD91AFB9204008FA782 /* Main.storyboard */,
88 | 607FACDC1AFB9204008FA782 /* Images.xcassets */,
89 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
90 | 607FACD31AFB9204008FA782 /* Supporting Files */,
91 | );
92 | name = "Example for SwiftConfettiView";
93 | path = SwiftConfettiView;
94 | sourceTree = "";
95 | };
96 | 607FACD31AFB9204008FA782 /* Supporting Files */ = {
97 | isa = PBXGroup;
98 | children = (
99 | 607FACD41AFB9204008FA782 /* Info.plist */,
100 | );
101 | name = "Supporting Files";
102 | sourceTree = "";
103 | };
104 | 607FACE81AFB9204008FA782 /* Tests */ = {
105 | isa = PBXGroup;
106 | children = (
107 | 607FACEB1AFB9204008FA782 /* Tests.swift */,
108 | 607FACE91AFB9204008FA782 /* Supporting Files */,
109 | );
110 | path = Tests;
111 | sourceTree = "";
112 | };
113 | 607FACE91AFB9204008FA782 /* Supporting Files */ = {
114 | isa = PBXGroup;
115 | children = (
116 | 607FACEA1AFB9204008FA782 /* Info.plist */,
117 | );
118 | name = "Supporting Files";
119 | sourceTree = "";
120 | };
121 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
122 | isa = PBXGroup;
123 | children = (
124 | 9FC43F3B5146E564D5C0ECBC /* SwiftConfettiView.podspec */,
125 | 5A350F175F8856481550F615 /* README.md */,
126 | 6E73E140D43B59CEA84ACBAA /* LICENSE */,
127 | );
128 | name = "Podspec Metadata";
129 | sourceTree = "";
130 | };
131 | 635649D38F9AAF5AB8ED5665 /* Frameworks */ = {
132 | isa = PBXGroup;
133 | children = (
134 | 4749501A8E2A531D988ABFF5 /* Pods_SwiftConfettiView_Example.framework */,
135 | 2E2DF9B12F28B35EB34A93C5 /* Pods_SwiftConfettiView_Tests.framework */,
136 | );
137 | name = Frameworks;
138 | sourceTree = "";
139 | };
140 | /* End PBXGroup section */
141 |
142 | /* Begin PBXNativeTarget section */
143 | 607FACCF1AFB9204008FA782 /* SwiftConfettiView_Example */ = {
144 | isa = PBXNativeTarget;
145 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SwiftConfettiView_Example" */;
146 | buildPhases = (
147 | 68190C9985D154AFDBE462E7 /* [CP] Check Pods Manifest.lock */,
148 | 607FACCC1AFB9204008FA782 /* Sources */,
149 | 607FACCD1AFB9204008FA782 /* Frameworks */,
150 | 607FACCE1AFB9204008FA782 /* Resources */,
151 | B4CAE2384C465D7D06AF0968 /* [CP] Embed Pods Frameworks */,
152 | );
153 | buildRules = (
154 | );
155 | dependencies = (
156 | );
157 | name = SwiftConfettiView_Example;
158 | productName = SwiftConfettiView;
159 | productReference = 607FACD01AFB9204008FA782 /* SwiftConfettiView_Example.app */;
160 | productType = "com.apple.product-type.application";
161 | };
162 | /* End PBXNativeTarget section */
163 |
164 | /* Begin PBXProject section */
165 | 607FACC81AFB9204008FA782 /* Project object */ = {
166 | isa = PBXProject;
167 | attributes = {
168 | LastSwiftUpdateCheck = 0830;
169 | LastUpgradeCheck = 1020;
170 | ORGANIZATIONNAME = CocoaPods;
171 | TargetAttributes = {
172 | 607FACCF1AFB9204008FA782 = {
173 | CreatedOnToolsVersion = 6.3.1;
174 | LastSwiftMigration = 0900;
175 | };
176 | };
177 | };
178 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "SwiftConfettiView" */;
179 | compatibilityVersion = "Xcode 3.2";
180 | developmentRegion = en;
181 | hasScannedForEncodings = 0;
182 | knownRegions = (
183 | en,
184 | Base,
185 | );
186 | mainGroup = 607FACC71AFB9204008FA782;
187 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
188 | projectDirPath = "";
189 | projectRoot = "";
190 | targets = (
191 | 607FACCF1AFB9204008FA782 /* SwiftConfettiView_Example */,
192 | );
193 | };
194 | /* End PBXProject section */
195 |
196 | /* Begin PBXResourcesBuildPhase section */
197 | 607FACCE1AFB9204008FA782 /* Resources */ = {
198 | isa = PBXResourcesBuildPhase;
199 | buildActionMask = 2147483647;
200 | files = (
201 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
202 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
203 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
204 | );
205 | runOnlyForDeploymentPostprocessing = 0;
206 | };
207 | /* End PBXResourcesBuildPhase section */
208 |
209 | /* Begin PBXShellScriptBuildPhase section */
210 | 68190C9985D154AFDBE462E7 /* [CP] Check Pods Manifest.lock */ = {
211 | isa = PBXShellScriptBuildPhase;
212 | buildActionMask = 2147483647;
213 | files = (
214 | );
215 | inputFileListPaths = (
216 | );
217 | inputPaths = (
218 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
219 | "${PODS_ROOT}/Manifest.lock",
220 | );
221 | name = "[CP] Check Pods Manifest.lock";
222 | outputFileListPaths = (
223 | );
224 | outputPaths = (
225 | "$(DERIVED_FILE_DIR)/Pods-SwiftConfettiView_Example-checkManifestLockResult.txt",
226 | );
227 | runOnlyForDeploymentPostprocessing = 0;
228 | shellPath = /bin/sh;
229 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
230 | showEnvVarsInLog = 0;
231 | };
232 | B4CAE2384C465D7D06AF0968 /* [CP] Embed Pods Frameworks */ = {
233 | isa = PBXShellScriptBuildPhase;
234 | buildActionMask = 2147483647;
235 | files = (
236 | );
237 | inputPaths = (
238 | "${PODS_ROOT}/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-frameworks.sh",
239 | "${BUILT_PRODUCTS_DIR}/SwiftConfettiView/SwiftConfettiView.framework",
240 | );
241 | name = "[CP] Embed Pods Frameworks";
242 | outputPaths = (
243 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftConfettiView.framework",
244 | );
245 | runOnlyForDeploymentPostprocessing = 0;
246 | shellPath = /bin/sh;
247 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-frameworks.sh\"\n";
248 | showEnvVarsInLog = 0;
249 | };
250 | /* End PBXShellScriptBuildPhase section */
251 |
252 | /* Begin PBXSourcesBuildPhase section */
253 | 607FACCC1AFB9204008FA782 /* Sources */ = {
254 | isa = PBXSourcesBuildPhase;
255 | buildActionMask = 2147483647;
256 | files = (
257 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
258 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
259 | );
260 | runOnlyForDeploymentPostprocessing = 0;
261 | };
262 | /* End PBXSourcesBuildPhase section */
263 |
264 | /* Begin PBXVariantGroup section */
265 | 607FACD91AFB9204008FA782 /* Main.storyboard */ = {
266 | isa = PBXVariantGroup;
267 | children = (
268 | 607FACDA1AFB9204008FA782 /* Base */,
269 | );
270 | name = Main.storyboard;
271 | sourceTree = "";
272 | };
273 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
274 | isa = PBXVariantGroup;
275 | children = (
276 | 607FACDF1AFB9204008FA782 /* Base */,
277 | );
278 | name = LaunchScreen.xib;
279 | sourceTree = "";
280 | };
281 | /* End PBXVariantGroup section */
282 |
283 | /* Begin XCBuildConfiguration section */
284 | 607FACED1AFB9204008FA782 /* Debug */ = {
285 | isa = XCBuildConfiguration;
286 | buildSettings = {
287 | ALWAYS_SEARCH_USER_PATHS = NO;
288 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
289 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
290 | CLANG_CXX_LIBRARY = "libc++";
291 | CLANG_ENABLE_MODULES = YES;
292 | CLANG_ENABLE_OBJC_ARC = YES;
293 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
294 | CLANG_WARN_BOOL_CONVERSION = YES;
295 | CLANG_WARN_COMMA = YES;
296 | CLANG_WARN_CONSTANT_CONVERSION = YES;
297 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
298 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
299 | CLANG_WARN_EMPTY_BODY = YES;
300 | CLANG_WARN_ENUM_CONVERSION = YES;
301 | CLANG_WARN_INFINITE_RECURSION = YES;
302 | CLANG_WARN_INT_CONVERSION = YES;
303 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
304 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
305 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
306 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
307 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
308 | CLANG_WARN_STRICT_PROTOTYPES = YES;
309 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
310 | CLANG_WARN_UNREACHABLE_CODE = YES;
311 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
312 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
313 | COPY_PHASE_STRIP = NO;
314 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
315 | ENABLE_STRICT_OBJC_MSGSEND = YES;
316 | ENABLE_TESTABILITY = YES;
317 | GCC_C_LANGUAGE_STANDARD = gnu99;
318 | GCC_DYNAMIC_NO_PIC = NO;
319 | GCC_NO_COMMON_BLOCKS = YES;
320 | GCC_OPTIMIZATION_LEVEL = 0;
321 | GCC_PREPROCESSOR_DEFINITIONS = (
322 | "DEBUG=1",
323 | "$(inherited)",
324 | );
325 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
326 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
327 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
328 | GCC_WARN_UNDECLARED_SELECTOR = YES;
329 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
330 | GCC_WARN_UNUSED_FUNCTION = YES;
331 | GCC_WARN_UNUSED_VARIABLE = YES;
332 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
333 | MTL_ENABLE_DEBUG_INFO = YES;
334 | ONLY_ACTIVE_ARCH = YES;
335 | SDKROOT = iphoneos;
336 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
337 | SWIFT_VERSION = 4.2;
338 | };
339 | name = Debug;
340 | };
341 | 607FACEE1AFB9204008FA782 /* Release */ = {
342 | isa = XCBuildConfiguration;
343 | buildSettings = {
344 | ALWAYS_SEARCH_USER_PATHS = NO;
345 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
346 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
347 | CLANG_CXX_LIBRARY = "libc++";
348 | CLANG_ENABLE_MODULES = YES;
349 | CLANG_ENABLE_OBJC_ARC = YES;
350 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
351 | CLANG_WARN_BOOL_CONVERSION = YES;
352 | CLANG_WARN_COMMA = YES;
353 | CLANG_WARN_CONSTANT_CONVERSION = YES;
354 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
355 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
356 | CLANG_WARN_EMPTY_BODY = YES;
357 | CLANG_WARN_ENUM_CONVERSION = YES;
358 | CLANG_WARN_INFINITE_RECURSION = YES;
359 | CLANG_WARN_INT_CONVERSION = YES;
360 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
361 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
362 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
363 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
364 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
365 | CLANG_WARN_STRICT_PROTOTYPES = YES;
366 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
367 | CLANG_WARN_UNREACHABLE_CODE = YES;
368 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
369 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
370 | COPY_PHASE_STRIP = NO;
371 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
372 | ENABLE_NS_ASSERTIONS = NO;
373 | ENABLE_STRICT_OBJC_MSGSEND = YES;
374 | GCC_C_LANGUAGE_STANDARD = gnu99;
375 | GCC_NO_COMMON_BLOCKS = YES;
376 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
377 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
378 | GCC_WARN_UNDECLARED_SELECTOR = YES;
379 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
380 | GCC_WARN_UNUSED_FUNCTION = YES;
381 | GCC_WARN_UNUSED_VARIABLE = YES;
382 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
383 | MTL_ENABLE_DEBUG_INFO = NO;
384 | SDKROOT = iphoneos;
385 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
386 | SWIFT_VERSION = 4.2;
387 | VALIDATE_PRODUCT = YES;
388 | };
389 | name = Release;
390 | };
391 | 607FACF01AFB9204008FA782 /* Debug */ = {
392 | isa = XCBuildConfiguration;
393 | baseConfigurationReference = C4592DA569B22900AF867747 /* Pods-SwiftConfettiView_Example.debug.xcconfig */;
394 | buildSettings = {
395 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
396 | INFOPLIST_FILE = SwiftConfettiView/Info.plist;
397 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
398 | MODULE_NAME = ExampleApp;
399 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
400 | PRODUCT_NAME = "$(TARGET_NAME)";
401 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
402 | SWIFT_VERSION = 4.2;
403 | };
404 | name = Debug;
405 | };
406 | 607FACF11AFB9204008FA782 /* Release */ = {
407 | isa = XCBuildConfiguration;
408 | baseConfigurationReference = 3E1209710EE3858B294E135D /* Pods-SwiftConfettiView_Example.release.xcconfig */;
409 | buildSettings = {
410 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
411 | INFOPLIST_FILE = SwiftConfettiView/Info.plist;
412 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
413 | MODULE_NAME = ExampleApp;
414 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
415 | PRODUCT_NAME = "$(TARGET_NAME)";
416 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
417 | SWIFT_VERSION = 4.2;
418 | };
419 | name = Release;
420 | };
421 | /* End XCBuildConfiguration section */
422 |
423 | /* Begin XCConfigurationList section */
424 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "SwiftConfettiView" */ = {
425 | isa = XCConfigurationList;
426 | buildConfigurations = (
427 | 607FACED1AFB9204008FA782 /* Debug */,
428 | 607FACEE1AFB9204008FA782 /* Release */,
429 | );
430 | defaultConfigurationIsVisible = 0;
431 | defaultConfigurationName = Release;
432 | };
433 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SwiftConfettiView_Example" */ = {
434 | isa = XCConfigurationList;
435 | buildConfigurations = (
436 | 607FACF01AFB9204008FA782 /* Debug */,
437 | 607FACF11AFB9204008FA782 /* Release */,
438 | );
439 | defaultConfigurationIsVisible = 0;
440 | defaultConfigurationName = Release;
441 | };
442 | /* End XCConfigurationList section */
443 | };
444 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
445 | }
446 |
--------------------------------------------------------------------------------
/Example/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 | 056CD4DF80B8FF37E258583C9940E3E9 /* star.png in Resources */ = {isa = PBXBuildFile; fileRef = E9A87BC201BB73EE36A98569353B317F /* star.png */; };
11 | 095E4F92B753572DEB395BE59F9ED293 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1EFCBB399D6D8D651AB2E06F57ACE1 /* Foundation.framework */; };
12 | 237051EFE78C8BC8A1C9807356BF7ECE /* SwiftConfettiView.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A6B11A22388263FB69BB25D6DBE94D1E /* SwiftConfettiView.bundle */; };
13 | 2FCFF8E7C9DDC1AF52B8366D44EB5302 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 962070C90AEE02A078C0D4BE03F755BA /* UIKit.framework */; };
14 | 325C1717716473BC38F2E6AECC223838 /* confetti.png in Resources */ = {isa = PBXBuildFile; fileRef = 99435CC2159A1254A470F75BB6E14A43 /* confetti.png */; };
15 | 6635FAF14AC8A70C59F7F5BE99E52837 /* Pods-SwiftConfettiView_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ED1F04E35ED4ABBE6DC849BE0041E18F /* Pods-SwiftConfettiView_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
16 | 67DD6C5E59DE6EFCEDC4D97F3752788D /* star.png in Resources */ = {isa = PBXBuildFile; fileRef = E9A87BC201BB73EE36A98569353B317F /* star.png */; };
17 | 7121D349F1B4719BF491391BF9499D03 /* triangle.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DFB13FA021FCC1DD4D5F619F978CA76 /* triangle.png */; };
18 | 82D3DDF3DD79A72AD32DD14C67B82274 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CCEC146F99F61D2735171E64002A5234 /* QuartzCore.framework */; };
19 | 83BE50F2D80B7B39541E5C6289673ED6 /* triangle.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DFB13FA021FCC1DD4D5F619F978CA76 /* triangle.png */; };
20 | 98776FA5B1651846F33A42FB5D71EA7E /* SwiftConfettiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8103E5436E8566F15994FECC2912EFC6 /* SwiftConfettiView.swift */; };
21 | A7773D277962CFD61220F148F0234029 /* SwiftConfettiView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 257D46A03CB59B445A47B0868BC0963A /* SwiftConfettiView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
22 | B090C497EC43DAAD646F4914D2A89258 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1EFCBB399D6D8D651AB2E06F57ACE1 /* Foundation.framework */; };
23 | C8566D1024BF35F409864D5FB5192A64 /* Pods-SwiftConfettiView_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 67E0362E45459A50A72E699FB70C74D5 /* Pods-SwiftConfettiView_Example-dummy.m */; };
24 | CC5BCA7B859553FB4DA029C407174BC7 /* diamond.png in Resources */ = {isa = PBXBuildFile; fileRef = A44675AC83A02B50FBE6CAF4AF8B8D45 /* diamond.png */; };
25 | E061E3690BF3E19944DB55BD2D81B639 /* SwiftConfettiView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CED64FE3F720810686B85ED12455DC2 /* SwiftConfettiView-dummy.m */; };
26 | E9813EC1E1201B3C4ECC236E80275790 /* diamond.png in Resources */ = {isa = PBXBuildFile; fileRef = A44675AC83A02B50FBE6CAF4AF8B8D45 /* diamond.png */; };
27 | F95E080A39A379C28991F006765E7D58 /* confetti.png in Resources */ = {isa = PBXBuildFile; fileRef = 99435CC2159A1254A470F75BB6E14A43 /* confetti.png */; };
28 | /* End PBXBuildFile section */
29 |
30 | /* Begin PBXContainerItemProxy section */
31 | 4599706AEE96C6F3047D97C9EDE676C7 /* PBXContainerItemProxy */ = {
32 | isa = PBXContainerItemProxy;
33 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
34 | proxyType = 1;
35 | remoteGlobalIDString = F22CCBE4FECBA8F92492577B4E52497C;
36 | remoteInfo = SwiftConfettiView;
37 | };
38 | D7358FB7D7C1415F46A429E80BB7DA3E /* PBXContainerItemProxy */ = {
39 | isa = PBXContainerItemProxy;
40 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
41 | proxyType = 1;
42 | remoteGlobalIDString = A2707A967B4DAC43D79339A5EE4E534C;
43 | remoteInfo = "SwiftConfettiView-SwiftConfettiView";
44 | };
45 | /* End PBXContainerItemProxy section */
46 |
47 | /* Begin PBXFileReference section */
48 | 013D6E9E83AC219D90505C9C7A2B8085 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
49 | 15E0FDDAE4E448CBE043125B997E66A9 /* Pods_SwiftConfettiView_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_SwiftConfettiView_Example.framework; path = "Pods-SwiftConfettiView_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
50 | 1A7330682668AAB8D0F2E9C735DB2FFB /* Pods-SwiftConfettiView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftConfettiView_Example.release.xcconfig"; sourceTree = ""; };
51 | 1DFB13FA021FCC1DD4D5F619F978CA76 /* triangle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = triangle.png; path = SwiftConfettiView/Assets/triangle.png; sourceTree = ""; };
52 | 2399052A9EF69F97E2F4B96B218C98A4 /* Pods-SwiftConfettiView_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftConfettiView_Example-Info.plist"; sourceTree = ""; };
53 | 257D46A03CB59B445A47B0868BC0963A /* SwiftConfettiView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftConfettiView-umbrella.h"; sourceTree = ""; };
54 | 3C550C68CB492D3E5ED5AD1609E578D6 /* SwiftConfettiView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftConfettiView-prefix.pch"; sourceTree = ""; };
55 | 45DCD5103620A10162D25E38482F80BB /* ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist"; sourceTree = ""; };
56 | 488A264DE8B23B9971E8A54B6ACA1E8A /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
57 | 4F0FA8B3BD8B7B2416D74B91ECE8161F /* SwiftConfettiView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftConfettiView.modulemap; sourceTree = ""; };
58 | 67E0362E45459A50A72E699FB70C74D5 /* Pods-SwiftConfettiView_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftConfettiView_Example-dummy.m"; sourceTree = ""; };
59 | 785D8B63869ACB4BE57F041197AB7D6A /* SwiftConfettiView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftConfettiView.framework; path = SwiftConfettiView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
60 | 8103E5436E8566F15994FECC2912EFC6 /* SwiftConfettiView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftConfettiView.swift; path = SwiftConfettiView/Classes/SwiftConfettiView.swift; sourceTree = ""; };
61 | 84901759CC312B09EB4B580A5F9A9D55 /* SwiftConfettiView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SwiftConfettiView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
62 | 8CED64FE3F720810686B85ED12455DC2 /* SwiftConfettiView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftConfettiView-dummy.m"; sourceTree = ""; };
63 | 962070C90AEE02A078C0D4BE03F755BA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
64 | 99435CC2159A1254A470F75BB6E14A43 /* confetti.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = confetti.png; path = SwiftConfettiView/Assets/confetti.png; sourceTree = ""; };
65 | 9C1EFCBB399D6D8D651AB2E06F57ACE1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
66 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
67 | A44675AC83A02B50FBE6CAF4AF8B8D45 /* diamond.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = diamond.png; path = SwiftConfettiView/Assets/diamond.png; sourceTree = ""; };
68 | A6B11A22388263FB69BB25D6DBE94D1E /* SwiftConfettiView.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = SwiftConfettiView.bundle; path = "SwiftConfettiView-SwiftConfettiView.bundle"; sourceTree = BUILT_PRODUCTS_DIR; };
69 | C189B52F6C18C724A35261DDDC68DDB5 /* Pods-SwiftConfettiView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftConfettiView_Example.debug.xcconfig"; sourceTree = ""; };
70 | C32B3D0AA6A11F929EE45730FF01D36F /* Pods-SwiftConfettiView_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftConfettiView_Example-acknowledgements.plist"; sourceTree = ""; };
71 | CB72F5AB66BB28077D51DD87E868E517 /* Pods-SwiftConfettiView_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftConfettiView_Example-acknowledgements.markdown"; sourceTree = ""; };
72 | CCEC146F99F61D2735171E64002A5234 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
73 | CD862AA7EAAE63F5569786852FDBCE52 /* Pods-SwiftConfettiView_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftConfettiView_Example-frameworks.sh"; sourceTree = ""; };
74 | E2B6C919EE8600B99E3752651F549A9D /* Pods-SwiftConfettiView_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SwiftConfettiView_Example.modulemap"; sourceTree = ""; };
75 | E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftConfettiView.xcconfig; sourceTree = ""; };
76 | E9A87BC201BB73EE36A98569353B317F /* star.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = star.png; path = SwiftConfettiView/Assets/star.png; sourceTree = ""; };
77 | ED1F04E35ED4ABBE6DC849BE0041E18F /* Pods-SwiftConfettiView_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftConfettiView_Example-umbrella.h"; sourceTree = ""; };
78 | FA10F966E3E49A70671AE03ACC0E9FB0 /* SwiftConfettiView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftConfettiView-Info.plist"; sourceTree = ""; };
79 | /* End PBXFileReference section */
80 |
81 | /* Begin PBXFrameworksBuildPhase section */
82 | 55503D93F2D6BCB6C590803CCF5B1892 /* Frameworks */ = {
83 | isa = PBXFrameworksBuildPhase;
84 | buildActionMask = 2147483647;
85 | files = (
86 | );
87 | runOnlyForDeploymentPostprocessing = 0;
88 | };
89 | DB44D95E6CA9394629F656F92D4F94E6 /* Frameworks */ = {
90 | isa = PBXFrameworksBuildPhase;
91 | buildActionMask = 2147483647;
92 | files = (
93 | B090C497EC43DAAD646F4914D2A89258 /* Foundation.framework in Frameworks */,
94 | 82D3DDF3DD79A72AD32DD14C67B82274 /* QuartzCore.framework in Frameworks */,
95 | 2FCFF8E7C9DDC1AF52B8366D44EB5302 /* UIKit.framework in Frameworks */,
96 | );
97 | runOnlyForDeploymentPostprocessing = 0;
98 | };
99 | E0403156649833B1598321419FBFB4AF /* Frameworks */ = {
100 | isa = PBXFrameworksBuildPhase;
101 | buildActionMask = 2147483647;
102 | files = (
103 | 095E4F92B753572DEB395BE59F9ED293 /* Foundation.framework in Frameworks */,
104 | );
105 | runOnlyForDeploymentPostprocessing = 0;
106 | };
107 | /* End PBXFrameworksBuildPhase section */
108 |
109 | /* Begin PBXGroup section */
110 | 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */ = {
111 | isa = PBXGroup;
112 | children = (
113 | F606AE8294F8F5A55D0BFF442C61CDE0 /* iOS */,
114 | );
115 | name = Frameworks;
116 | sourceTree = "";
117 | };
118 | 1750AFD5A9E9B13D046244C422D62419 /* Support Files */ = {
119 | isa = PBXGroup;
120 | children = (
121 | 45DCD5103620A10162D25E38482F80BB /* ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist */,
122 | 4F0FA8B3BD8B7B2416D74B91ECE8161F /* SwiftConfettiView.modulemap */,
123 | E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */,
124 | 8CED64FE3F720810686B85ED12455DC2 /* SwiftConfettiView-dummy.m */,
125 | FA10F966E3E49A70671AE03ACC0E9FB0 /* SwiftConfettiView-Info.plist */,
126 | 3C550C68CB492D3E5ED5AD1609E578D6 /* SwiftConfettiView-prefix.pch */,
127 | 257D46A03CB59B445A47B0868BC0963A /* SwiftConfettiView-umbrella.h */,
128 | );
129 | name = "Support Files";
130 | path = "Example/Pods/Target Support Files/SwiftConfettiView";
131 | sourceTree = "";
132 | };
133 | 289044D038A7591E5BE9D5C4C9219D76 /* Products */ = {
134 | isa = PBXGroup;
135 | children = (
136 | 15E0FDDAE4E448CBE043125B997E66A9 /* Pods_SwiftConfettiView_Example.framework */,
137 | A6B11A22388263FB69BB25D6DBE94D1E /* SwiftConfettiView.bundle */,
138 | 785D8B63869ACB4BE57F041197AB7D6A /* SwiftConfettiView.framework */,
139 | );
140 | name = Products;
141 | sourceTree = "";
142 | };
143 | 296DF749FAE2A11B9BA40F8C77C96AC4 /* SwiftConfettiView */ = {
144 | isa = PBXGroup;
145 | children = (
146 | 8103E5436E8566F15994FECC2912EFC6 /* SwiftConfettiView.swift */,
147 | C7BE8A617B9DE6CCA1F23517CB0FC9D3 /* Pod */,
148 | 4F25AEC7BA45EF2295A3D22E64034ACE /* Resources */,
149 | 1750AFD5A9E9B13D046244C422D62419 /* Support Files */,
150 | );
151 | name = SwiftConfettiView;
152 | path = ../..;
153 | sourceTree = "";
154 | };
155 | 4F25AEC7BA45EF2295A3D22E64034ACE /* Resources */ = {
156 | isa = PBXGroup;
157 | children = (
158 | 99435CC2159A1254A470F75BB6E14A43 /* confetti.png */,
159 | A44675AC83A02B50FBE6CAF4AF8B8D45 /* diamond.png */,
160 | E9A87BC201BB73EE36A98569353B317F /* star.png */,
161 | 1DFB13FA021FCC1DD4D5F619F978CA76 /* triangle.png */,
162 | );
163 | name = Resources;
164 | sourceTree = "";
165 | };
166 | 9F58F55671F61DA9BF4B2D05FACECB51 /* Development Pods */ = {
167 | isa = PBXGroup;
168 | children = (
169 | 296DF749FAE2A11B9BA40F8C77C96AC4 /* SwiftConfettiView */,
170 | );
171 | name = "Development Pods";
172 | sourceTree = "";
173 | };
174 | AEF7233FD59E64379371760214E56230 /* Pods-SwiftConfettiView_Example */ = {
175 | isa = PBXGroup;
176 | children = (
177 | E2B6C919EE8600B99E3752651F549A9D /* Pods-SwiftConfettiView_Example.modulemap */,
178 | CB72F5AB66BB28077D51DD87E868E517 /* Pods-SwiftConfettiView_Example-acknowledgements.markdown */,
179 | C32B3D0AA6A11F929EE45730FF01D36F /* Pods-SwiftConfettiView_Example-acknowledgements.plist */,
180 | 67E0362E45459A50A72E699FB70C74D5 /* Pods-SwiftConfettiView_Example-dummy.m */,
181 | CD862AA7EAAE63F5569786852FDBCE52 /* Pods-SwiftConfettiView_Example-frameworks.sh */,
182 | 2399052A9EF69F97E2F4B96B218C98A4 /* Pods-SwiftConfettiView_Example-Info.plist */,
183 | ED1F04E35ED4ABBE6DC849BE0041E18F /* Pods-SwiftConfettiView_Example-umbrella.h */,
184 | C189B52F6C18C724A35261DDDC68DDB5 /* Pods-SwiftConfettiView_Example.debug.xcconfig */,
185 | 1A7330682668AAB8D0F2E9C735DB2FFB /* Pods-SwiftConfettiView_Example.release.xcconfig */,
186 | );
187 | name = "Pods-SwiftConfettiView_Example";
188 | path = "Target Support Files/Pods-SwiftConfettiView_Example";
189 | sourceTree = "";
190 | };
191 | C7BE8A617B9DE6CCA1F23517CB0FC9D3 /* Pod */ = {
192 | isa = PBXGroup;
193 | children = (
194 | 488A264DE8B23B9971E8A54B6ACA1E8A /* LICENSE */,
195 | 013D6E9E83AC219D90505C9C7A2B8085 /* README.md */,
196 | 84901759CC312B09EB4B580A5F9A9D55 /* SwiftConfettiView.podspec */,
197 | );
198 | name = Pod;
199 | sourceTree = "";
200 | };
201 | CF1408CF629C7361332E53B88F7BD30C = {
202 | isa = PBXGroup;
203 | children = (
204 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
205 | 9F58F55671F61DA9BF4B2D05FACECB51 /* Development Pods */,
206 | 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */,
207 | 289044D038A7591E5BE9D5C4C9219D76 /* Products */,
208 | FF07CF246BA4FC04390B321341120EC0 /* Targets Support Files */,
209 | );
210 | sourceTree = "";
211 | };
212 | F606AE8294F8F5A55D0BFF442C61CDE0 /* iOS */ = {
213 | isa = PBXGroup;
214 | children = (
215 | 9C1EFCBB399D6D8D651AB2E06F57ACE1 /* Foundation.framework */,
216 | CCEC146F99F61D2735171E64002A5234 /* QuartzCore.framework */,
217 | 962070C90AEE02A078C0D4BE03F755BA /* UIKit.framework */,
218 | );
219 | name = iOS;
220 | sourceTree = "";
221 | };
222 | FF07CF246BA4FC04390B321341120EC0 /* Targets Support Files */ = {
223 | isa = PBXGroup;
224 | children = (
225 | AEF7233FD59E64379371760214E56230 /* Pods-SwiftConfettiView_Example */,
226 | );
227 | name = "Targets Support Files";
228 | sourceTree = "";
229 | };
230 | /* End PBXGroup section */
231 |
232 | /* Begin PBXHeadersBuildPhase section */
233 | 3467085B6BD73281285819CB5E234930 /* Headers */ = {
234 | isa = PBXHeadersBuildPhase;
235 | buildActionMask = 2147483647;
236 | files = (
237 | A7773D277962CFD61220F148F0234029 /* SwiftConfettiView-umbrella.h in Headers */,
238 | );
239 | runOnlyForDeploymentPostprocessing = 0;
240 | };
241 | 6423C9DBF60548F26827B0DF71F20A71 /* Headers */ = {
242 | isa = PBXHeadersBuildPhase;
243 | buildActionMask = 2147483647;
244 | files = (
245 | 6635FAF14AC8A70C59F7F5BE99E52837 /* Pods-SwiftConfettiView_Example-umbrella.h in Headers */,
246 | );
247 | runOnlyForDeploymentPostprocessing = 0;
248 | };
249 | /* End PBXHeadersBuildPhase section */
250 |
251 | /* Begin PBXNativeTarget section */
252 | A2707A967B4DAC43D79339A5EE4E534C /* SwiftConfettiView-SwiftConfettiView */ = {
253 | isa = PBXNativeTarget;
254 | buildConfigurationList = 675CCFF701D06679D4E964D3BDDB54BB /* Build configuration list for PBXNativeTarget "SwiftConfettiView-SwiftConfettiView" */;
255 | buildPhases = (
256 | BB4245C1C8B88F170F4FC9D4559B5C9B /* Sources */,
257 | 55503D93F2D6BCB6C590803CCF5B1892 /* Frameworks */,
258 | 2FE9DDB88908D331CBA4CA504FF6FDD6 /* Resources */,
259 | );
260 | buildRules = (
261 | );
262 | dependencies = (
263 | );
264 | name = "SwiftConfettiView-SwiftConfettiView";
265 | productName = "SwiftConfettiView-SwiftConfettiView";
266 | productReference = A6B11A22388263FB69BB25D6DBE94D1E /* SwiftConfettiView.bundle */;
267 | productType = "com.apple.product-type.bundle";
268 | };
269 | EB0B6A21F9893A37D0E82566D8422F79 /* Pods-SwiftConfettiView_Example */ = {
270 | isa = PBXNativeTarget;
271 | buildConfigurationList = B077EF261BB9D0678FCFAAAD5B92F7D6 /* Build configuration list for PBXNativeTarget "Pods-SwiftConfettiView_Example" */;
272 | buildPhases = (
273 | 6423C9DBF60548F26827B0DF71F20A71 /* Headers */,
274 | B0C4569EAFC38665293DED6F549DB126 /* Sources */,
275 | E0403156649833B1598321419FBFB4AF /* Frameworks */,
276 | 1312CAAB041AA6907F06AA2CB7560806 /* Resources */,
277 | );
278 | buildRules = (
279 | );
280 | dependencies = (
281 | 12B8A3D9F65A7267CC2C254551C28C95 /* PBXTargetDependency */,
282 | );
283 | name = "Pods-SwiftConfettiView_Example";
284 | productName = "Pods-SwiftConfettiView_Example";
285 | productReference = 15E0FDDAE4E448CBE043125B997E66A9 /* Pods_SwiftConfettiView_Example.framework */;
286 | productType = "com.apple.product-type.framework";
287 | };
288 | F22CCBE4FECBA8F92492577B4E52497C /* SwiftConfettiView */ = {
289 | isa = PBXNativeTarget;
290 | buildConfigurationList = A6140C26DA8645E1DF24EDD9A5BD888F /* Build configuration list for PBXNativeTarget "SwiftConfettiView" */;
291 | buildPhases = (
292 | 3467085B6BD73281285819CB5E234930 /* Headers */,
293 | 5B1842DF8FBECCC30D4ECBAB74A22271 /* Sources */,
294 | DB44D95E6CA9394629F656F92D4F94E6 /* Frameworks */,
295 | 8C9C9B50891BF737BDC84F877C4B7427 /* Resources */,
296 | );
297 | buildRules = (
298 | );
299 | dependencies = (
300 | DC56E5AA23EBECF2483746CA6FEB3DC3 /* PBXTargetDependency */,
301 | );
302 | name = SwiftConfettiView;
303 | productName = SwiftConfettiView;
304 | productReference = 785D8B63869ACB4BE57F041197AB7D6A /* SwiftConfettiView.framework */;
305 | productType = "com.apple.product-type.framework";
306 | };
307 | /* End PBXNativeTarget section */
308 |
309 | /* Begin PBXProject section */
310 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
311 | isa = PBXProject;
312 | attributes = {
313 | LastSwiftUpdateCheck = 0930;
314 | LastUpgradeCheck = 0930;
315 | };
316 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
317 | compatibilityVersion = "Xcode 3.2";
318 | developmentRegion = English;
319 | hasScannedForEncodings = 0;
320 | knownRegions = (
321 | en,
322 | );
323 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
324 | productRefGroup = 289044D038A7591E5BE9D5C4C9219D76 /* Products */;
325 | projectDirPath = "";
326 | projectRoot = "";
327 | targets = (
328 | EB0B6A21F9893A37D0E82566D8422F79 /* Pods-SwiftConfettiView_Example */,
329 | F22CCBE4FECBA8F92492577B4E52497C /* SwiftConfettiView */,
330 | A2707A967B4DAC43D79339A5EE4E534C /* SwiftConfettiView-SwiftConfettiView */,
331 | );
332 | };
333 | /* End PBXProject section */
334 |
335 | /* Begin PBXResourcesBuildPhase section */
336 | 1312CAAB041AA6907F06AA2CB7560806 /* Resources */ = {
337 | isa = PBXResourcesBuildPhase;
338 | buildActionMask = 2147483647;
339 | files = (
340 | );
341 | runOnlyForDeploymentPostprocessing = 0;
342 | };
343 | 2FE9DDB88908D331CBA4CA504FF6FDD6 /* Resources */ = {
344 | isa = PBXResourcesBuildPhase;
345 | buildActionMask = 2147483647;
346 | files = (
347 | F95E080A39A379C28991F006765E7D58 /* confetti.png in Resources */,
348 | E9813EC1E1201B3C4ECC236E80275790 /* diamond.png in Resources */,
349 | 67DD6C5E59DE6EFCEDC4D97F3752788D /* star.png in Resources */,
350 | 7121D349F1B4719BF491391BF9499D03 /* triangle.png in Resources */,
351 | );
352 | runOnlyForDeploymentPostprocessing = 0;
353 | };
354 | 8C9C9B50891BF737BDC84F877C4B7427 /* Resources */ = {
355 | isa = PBXResourcesBuildPhase;
356 | buildActionMask = 2147483647;
357 | files = (
358 | 325C1717716473BC38F2E6AECC223838 /* confetti.png in Resources */,
359 | CC5BCA7B859553FB4DA029C407174BC7 /* diamond.png in Resources */,
360 | 056CD4DF80B8FF37E258583C9940E3E9 /* star.png in Resources */,
361 | 237051EFE78C8BC8A1C9807356BF7ECE /* SwiftConfettiView.bundle in Resources */,
362 | 83BE50F2D80B7B39541E5C6289673ED6 /* triangle.png in Resources */,
363 | );
364 | runOnlyForDeploymentPostprocessing = 0;
365 | };
366 | /* End PBXResourcesBuildPhase section */
367 |
368 | /* Begin PBXSourcesBuildPhase section */
369 | 5B1842DF8FBECCC30D4ECBAB74A22271 /* Sources */ = {
370 | isa = PBXSourcesBuildPhase;
371 | buildActionMask = 2147483647;
372 | files = (
373 | E061E3690BF3E19944DB55BD2D81B639 /* SwiftConfettiView-dummy.m in Sources */,
374 | 98776FA5B1651846F33A42FB5D71EA7E /* SwiftConfettiView.swift in Sources */,
375 | );
376 | runOnlyForDeploymentPostprocessing = 0;
377 | };
378 | B0C4569EAFC38665293DED6F549DB126 /* Sources */ = {
379 | isa = PBXSourcesBuildPhase;
380 | buildActionMask = 2147483647;
381 | files = (
382 | C8566D1024BF35F409864D5FB5192A64 /* Pods-SwiftConfettiView_Example-dummy.m in Sources */,
383 | );
384 | runOnlyForDeploymentPostprocessing = 0;
385 | };
386 | BB4245C1C8B88F170F4FC9D4559B5C9B /* Sources */ = {
387 | isa = PBXSourcesBuildPhase;
388 | buildActionMask = 2147483647;
389 | files = (
390 | );
391 | runOnlyForDeploymentPostprocessing = 0;
392 | };
393 | /* End PBXSourcesBuildPhase section */
394 |
395 | /* Begin PBXTargetDependency section */
396 | 12B8A3D9F65A7267CC2C254551C28C95 /* PBXTargetDependency */ = {
397 | isa = PBXTargetDependency;
398 | name = SwiftConfettiView;
399 | target = F22CCBE4FECBA8F92492577B4E52497C /* SwiftConfettiView */;
400 | targetProxy = 4599706AEE96C6F3047D97C9EDE676C7 /* PBXContainerItemProxy */;
401 | };
402 | DC56E5AA23EBECF2483746CA6FEB3DC3 /* PBXTargetDependency */ = {
403 | isa = PBXTargetDependency;
404 | name = "SwiftConfettiView-SwiftConfettiView";
405 | target = A2707A967B4DAC43D79339A5EE4E534C /* SwiftConfettiView-SwiftConfettiView */;
406 | targetProxy = D7358FB7D7C1415F46A429E80BB7DA3E /* PBXContainerItemProxy */;
407 | };
408 | /* End PBXTargetDependency section */
409 |
410 | /* Begin XCBuildConfiguration section */
411 | 39A3828C53824E6AC8154008E8CCD57E /* Debug */ = {
412 | isa = XCBuildConfiguration;
413 | baseConfigurationReference = E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */;
414 | buildSettings = {
415 | CODE_SIGN_IDENTITY = "iPhone Developer";
416 | CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftConfettiView";
417 | INFOPLIST_FILE = "Target Support Files/SwiftConfettiView/ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist";
418 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
419 | PRODUCT_NAME = SwiftConfettiView;
420 | SDKROOT = iphoneos;
421 | SKIP_INSTALL = YES;
422 | TARGETED_DEVICE_FAMILY = "1,2";
423 | WRAPPER_EXTENSION = bundle;
424 | };
425 | name = Debug;
426 | };
427 | 3B0F7D00E2AF063AC6622F9EC3F5B3CA /* Release */ = {
428 | isa = XCBuildConfiguration;
429 | baseConfigurationReference = E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */;
430 | buildSettings = {
431 | CODE_SIGN_IDENTITY = "iPhone Developer";
432 | CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftConfettiView";
433 | INFOPLIST_FILE = "Target Support Files/SwiftConfettiView/ResourceBundle-SwiftConfettiView-SwiftConfettiView-Info.plist";
434 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
435 | PRODUCT_NAME = SwiftConfettiView;
436 | SDKROOT = iphoneos;
437 | SKIP_INSTALL = YES;
438 | TARGETED_DEVICE_FAMILY = "1,2";
439 | WRAPPER_EXTENSION = bundle;
440 | };
441 | name = Release;
442 | };
443 | 5C31B96737A9257A6F7C72E393F9CE5B /* Release */ = {
444 | isa = XCBuildConfiguration;
445 | baseConfigurationReference = E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */;
446 | buildSettings = {
447 | CODE_SIGN_IDENTITY = "";
448 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
449 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
450 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
451 | CURRENT_PROJECT_VERSION = 1;
452 | DEFINES_MODULE = YES;
453 | DYLIB_COMPATIBILITY_VERSION = 1;
454 | DYLIB_CURRENT_VERSION = 1;
455 | DYLIB_INSTALL_NAME_BASE = "@rpath";
456 | GCC_PREFIX_HEADER = "Target Support Files/SwiftConfettiView/SwiftConfettiView-prefix.pch";
457 | INFOPLIST_FILE = "Target Support Files/SwiftConfettiView/SwiftConfettiView-Info.plist";
458 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
459 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
460 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
461 | MODULEMAP_FILE = "Target Support Files/SwiftConfettiView/SwiftConfettiView.modulemap";
462 | PRODUCT_MODULE_NAME = SwiftConfettiView;
463 | PRODUCT_NAME = SwiftConfettiView;
464 | SDKROOT = iphoneos;
465 | SKIP_INSTALL = YES;
466 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
467 | SWIFT_VERSION = 4.2;
468 | TARGETED_DEVICE_FAMILY = "1,2";
469 | VALIDATE_PRODUCT = YES;
470 | VERSIONING_SYSTEM = "apple-generic";
471 | VERSION_INFO_PREFIX = "";
472 | };
473 | name = Release;
474 | };
475 | 61115EC7BE5499EB042A8F3BAA331848 /* Release */ = {
476 | isa = XCBuildConfiguration;
477 | baseConfigurationReference = 1A7330682668AAB8D0F2E9C735DB2FFB /* Pods-SwiftConfettiView_Example.release.xcconfig */;
478 | buildSettings = {
479 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
480 | CODE_SIGN_IDENTITY = "";
481 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
482 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
483 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
484 | CURRENT_PROJECT_VERSION = 1;
485 | DEFINES_MODULE = YES;
486 | DYLIB_COMPATIBILITY_VERSION = 1;
487 | DYLIB_CURRENT_VERSION = 1;
488 | DYLIB_INSTALL_NAME_BASE = "@rpath";
489 | INFOPLIST_FILE = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-Info.plist";
490 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
491 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
492 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
493 | MACH_O_TYPE = staticlib;
494 | MODULEMAP_FILE = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.modulemap";
495 | OTHER_LDFLAGS = "";
496 | OTHER_LIBTOOLFLAGS = "";
497 | PODS_ROOT = "$(SRCROOT)";
498 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
499 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
500 | SDKROOT = iphoneos;
501 | SKIP_INSTALL = YES;
502 | TARGETED_DEVICE_FAMILY = "1,2";
503 | VALIDATE_PRODUCT = YES;
504 | VERSIONING_SYSTEM = "apple-generic";
505 | VERSION_INFO_PREFIX = "";
506 | };
507 | name = Release;
508 | };
509 | 86200F2EC63F6C034733A669BC0A2FAA /* Debug */ = {
510 | isa = XCBuildConfiguration;
511 | baseConfigurationReference = E600B1F36EC1B1EF7568A1140C9FDECC /* SwiftConfettiView.xcconfig */;
512 | buildSettings = {
513 | CODE_SIGN_IDENTITY = "";
514 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
515 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
516 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
517 | CURRENT_PROJECT_VERSION = 1;
518 | DEFINES_MODULE = YES;
519 | DYLIB_COMPATIBILITY_VERSION = 1;
520 | DYLIB_CURRENT_VERSION = 1;
521 | DYLIB_INSTALL_NAME_BASE = "@rpath";
522 | GCC_PREFIX_HEADER = "Target Support Files/SwiftConfettiView/SwiftConfettiView-prefix.pch";
523 | INFOPLIST_FILE = "Target Support Files/SwiftConfettiView/SwiftConfettiView-Info.plist";
524 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
525 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
526 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
527 | MODULEMAP_FILE = "Target Support Files/SwiftConfettiView/SwiftConfettiView.modulemap";
528 | PRODUCT_MODULE_NAME = SwiftConfettiView;
529 | PRODUCT_NAME = SwiftConfettiView;
530 | SDKROOT = iphoneos;
531 | SKIP_INSTALL = YES;
532 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
533 | SWIFT_VERSION = 4.2;
534 | TARGETED_DEVICE_FAMILY = "1,2";
535 | VERSIONING_SYSTEM = "apple-generic";
536 | VERSION_INFO_PREFIX = "";
537 | };
538 | name = Debug;
539 | };
540 | AB4D69770D8ACE3A05E80BB3502666F6 /* Debug */ = {
541 | isa = XCBuildConfiguration;
542 | buildSettings = {
543 | ALWAYS_SEARCH_USER_PATHS = NO;
544 | CLANG_ANALYZER_NONNULL = YES;
545 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
546 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
547 | CLANG_CXX_LIBRARY = "libc++";
548 | CLANG_ENABLE_MODULES = YES;
549 | CLANG_ENABLE_OBJC_ARC = YES;
550 | CLANG_ENABLE_OBJC_WEAK = YES;
551 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
552 | CLANG_WARN_BOOL_CONVERSION = YES;
553 | CLANG_WARN_COMMA = YES;
554 | CLANG_WARN_CONSTANT_CONVERSION = YES;
555 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
556 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
557 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
558 | CLANG_WARN_EMPTY_BODY = YES;
559 | CLANG_WARN_ENUM_CONVERSION = YES;
560 | CLANG_WARN_INFINITE_RECURSION = YES;
561 | CLANG_WARN_INT_CONVERSION = YES;
562 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
563 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
564 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
565 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
566 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
567 | CLANG_WARN_STRICT_PROTOTYPES = YES;
568 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
569 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
570 | CLANG_WARN_UNREACHABLE_CODE = YES;
571 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
572 | COPY_PHASE_STRIP = NO;
573 | DEBUG_INFORMATION_FORMAT = dwarf;
574 | ENABLE_STRICT_OBJC_MSGSEND = YES;
575 | ENABLE_TESTABILITY = YES;
576 | GCC_C_LANGUAGE_STANDARD = gnu11;
577 | GCC_DYNAMIC_NO_PIC = NO;
578 | GCC_NO_COMMON_BLOCKS = YES;
579 | GCC_OPTIMIZATION_LEVEL = 0;
580 | GCC_PREPROCESSOR_DEFINITIONS = (
581 | "POD_CONFIGURATION_DEBUG=1",
582 | "DEBUG=1",
583 | "$(inherited)",
584 | );
585 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
586 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
587 | GCC_WARN_UNDECLARED_SELECTOR = YES;
588 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
589 | GCC_WARN_UNUSED_FUNCTION = YES;
590 | GCC_WARN_UNUSED_VARIABLE = YES;
591 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
592 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
593 | MTL_FAST_MATH = YES;
594 | ONLY_ACTIVE_ARCH = YES;
595 | PRODUCT_NAME = "$(TARGET_NAME)";
596 | STRIP_INSTALLED_PRODUCT = NO;
597 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
598 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
599 | SWIFT_VERSION = 4.2;
600 | SYMROOT = "${SRCROOT}/../build";
601 | };
602 | name = Debug;
603 | };
604 | D28EFE17932793FC7FD0B1E0E41A5BFD /* Debug */ = {
605 | isa = XCBuildConfiguration;
606 | baseConfigurationReference = C189B52F6C18C724A35261DDDC68DDB5 /* Pods-SwiftConfettiView_Example.debug.xcconfig */;
607 | buildSettings = {
608 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
609 | CODE_SIGN_IDENTITY = "";
610 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
611 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
612 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
613 | CURRENT_PROJECT_VERSION = 1;
614 | DEFINES_MODULE = YES;
615 | DYLIB_COMPATIBILITY_VERSION = 1;
616 | DYLIB_CURRENT_VERSION = 1;
617 | DYLIB_INSTALL_NAME_BASE = "@rpath";
618 | INFOPLIST_FILE = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example-Info.plist";
619 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
620 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
621 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
622 | MACH_O_TYPE = staticlib;
623 | MODULEMAP_FILE = "Target Support Files/Pods-SwiftConfettiView_Example/Pods-SwiftConfettiView_Example.modulemap";
624 | OTHER_LDFLAGS = "";
625 | OTHER_LIBTOOLFLAGS = "";
626 | PODS_ROOT = "$(SRCROOT)";
627 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
628 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
629 | SDKROOT = iphoneos;
630 | SKIP_INSTALL = YES;
631 | TARGETED_DEVICE_FAMILY = "1,2";
632 | VERSIONING_SYSTEM = "apple-generic";
633 | VERSION_INFO_PREFIX = "";
634 | };
635 | name = Debug;
636 | };
637 | F232B5ECA11A71BFA199A229B323F454 /* Release */ = {
638 | isa = XCBuildConfiguration;
639 | buildSettings = {
640 | ALWAYS_SEARCH_USER_PATHS = NO;
641 | CLANG_ANALYZER_NONNULL = YES;
642 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
643 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
644 | CLANG_CXX_LIBRARY = "libc++";
645 | CLANG_ENABLE_MODULES = YES;
646 | CLANG_ENABLE_OBJC_ARC = YES;
647 | CLANG_ENABLE_OBJC_WEAK = YES;
648 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
649 | CLANG_WARN_BOOL_CONVERSION = YES;
650 | CLANG_WARN_COMMA = YES;
651 | CLANG_WARN_CONSTANT_CONVERSION = YES;
652 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
653 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
654 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
655 | CLANG_WARN_EMPTY_BODY = YES;
656 | CLANG_WARN_ENUM_CONVERSION = YES;
657 | CLANG_WARN_INFINITE_RECURSION = YES;
658 | CLANG_WARN_INT_CONVERSION = YES;
659 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
660 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
661 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
662 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
663 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
664 | CLANG_WARN_STRICT_PROTOTYPES = YES;
665 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
666 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
667 | CLANG_WARN_UNREACHABLE_CODE = YES;
668 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
669 | COPY_PHASE_STRIP = NO;
670 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
671 | ENABLE_NS_ASSERTIONS = NO;
672 | ENABLE_STRICT_OBJC_MSGSEND = YES;
673 | GCC_C_LANGUAGE_STANDARD = gnu11;
674 | GCC_NO_COMMON_BLOCKS = YES;
675 | GCC_PREPROCESSOR_DEFINITIONS = (
676 | "POD_CONFIGURATION_RELEASE=1",
677 | "$(inherited)",
678 | );
679 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
680 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
681 | GCC_WARN_UNDECLARED_SELECTOR = YES;
682 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
683 | GCC_WARN_UNUSED_FUNCTION = YES;
684 | GCC_WARN_UNUSED_VARIABLE = YES;
685 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
686 | MTL_ENABLE_DEBUG_INFO = NO;
687 | MTL_FAST_MATH = YES;
688 | PRODUCT_NAME = "$(TARGET_NAME)";
689 | STRIP_INSTALLED_PRODUCT = NO;
690 | SWIFT_COMPILATION_MODE = wholemodule;
691 | SWIFT_OPTIMIZATION_LEVEL = "-O";
692 | SWIFT_VERSION = 4.2;
693 | SYMROOT = "${SRCROOT}/../build";
694 | };
695 | name = Release;
696 | };
697 | /* End XCBuildConfiguration section */
698 |
699 | /* Begin XCConfigurationList section */
700 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
701 | isa = XCConfigurationList;
702 | buildConfigurations = (
703 | AB4D69770D8ACE3A05E80BB3502666F6 /* Debug */,
704 | F232B5ECA11A71BFA199A229B323F454 /* Release */,
705 | );
706 | defaultConfigurationIsVisible = 0;
707 | defaultConfigurationName = Release;
708 | };
709 | 675CCFF701D06679D4E964D3BDDB54BB /* Build configuration list for PBXNativeTarget "SwiftConfettiView-SwiftConfettiView" */ = {
710 | isa = XCConfigurationList;
711 | buildConfigurations = (
712 | 39A3828C53824E6AC8154008E8CCD57E /* Debug */,
713 | 3B0F7D00E2AF063AC6622F9EC3F5B3CA /* Release */,
714 | );
715 | defaultConfigurationIsVisible = 0;
716 | defaultConfigurationName = Release;
717 | };
718 | A6140C26DA8645E1DF24EDD9A5BD888F /* Build configuration list for PBXNativeTarget "SwiftConfettiView" */ = {
719 | isa = XCConfigurationList;
720 | buildConfigurations = (
721 | 86200F2EC63F6C034733A669BC0A2FAA /* Debug */,
722 | 5C31B96737A9257A6F7C72E393F9CE5B /* Release */,
723 | );
724 | defaultConfigurationIsVisible = 0;
725 | defaultConfigurationName = Release;
726 | };
727 | B077EF261BB9D0678FCFAAAD5B92F7D6 /* Build configuration list for PBXNativeTarget "Pods-SwiftConfettiView_Example" */ = {
728 | isa = XCConfigurationList;
729 | buildConfigurations = (
730 | D28EFE17932793FC7FD0B1E0E41A5BFD /* Debug */,
731 | 61115EC7BE5499EB042A8F3BAA331848 /* Release */,
732 | );
733 | defaultConfigurationIsVisible = 0;
734 | defaultConfigurationName = Release;
735 | };
736 | /* End XCConfigurationList section */
737 | };
738 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
739 | }
740 |
--------------------------------------------------------------------------------