diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 00d114d..5f2bff4 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,16 +1,16 @@ PODS: - - SAConfettiView (0.1.8) + - SAConfettiView (0.1.9) DEPENDENCIES: - SAConfettiView (from `../`) EXTERNAL SOURCES: SAConfettiView: - :path: ../ + :path: "../" SPEC CHECKSUMS: - SAConfettiView: c87031a2280659261b730fce3669fb10e73636ee + SAConfettiView: 881e5f7e988148ff11d8140725cb9d0edf99bd5c PODFILE CHECKSUM: 9dac5126b67336258912ceb8c97cff88e46fa404 -COCOAPODS: 1.3.1 +COCOAPODS: 1.11.3 diff --git a/Example/Pods/Local Podspecs/SAConfettiView.podspec.json b/Example/Pods/Local Podspecs/SAConfettiView.podspec.json index 3079f89..2e5b8a4 100644 --- a/Example/Pods/Local Podspecs/SAConfettiView.podspec.json +++ b/Example/Pods/Local Podspecs/SAConfettiView.podspec.json @@ -1,6 +1,6 @@ { "name": "SAConfettiView", - "version": "0.1.8", + "version": "0.1.9", "summary": "Confetti! Who doesn't like confetti?'", "description": "SAConfettiView is the quickest way to add confetti to your application and make your users feel rewarded.", "homepage": "https://github.com/sudeepag/SAConfettiView", @@ -10,16 +10,16 @@ }, "source": { "git": "https://github.com/sudeepag/SAConfettiView.git", - "tag": "0.1.8" + "tag": "0.1.9" }, "platforms": { "ios": "8.0" }, "requires_arc": true, - "source_files": "Pod/Classes/**/*", + "source_files": "Sources/SAConfettiView/Classes/**/*", "resource_bundles": { "SAConfettiView": [ - "Pod/Assets/*.png" + "Sources/SAConfettiView/Resources/Assets/*.png" ] }, "frameworks": [ diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 00d114d..5f2bff4 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,16 +1,16 @@ PODS: - - SAConfettiView (0.1.8) + - SAConfettiView (0.1.9) DEPENDENCIES: - SAConfettiView (from `../`) EXTERNAL SOURCES: SAConfettiView: - :path: ../ + :path: "../" SPEC CHECKSUMS: - SAConfettiView: c87031a2280659261b730fce3669fb10e73636ee + SAConfettiView: 881e5f7e988148ff11d8140725cb9d0edf99bd5c PODFILE CHECKSUM: 9dac5126b67336258912ceb8c97cff88e46fa404 -COCOAPODS: 1.3.1 +COCOAPODS: 1.11.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index e983662..3e6a5d5 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,474 +7,494 @@ objects = { /* Begin PBXBuildFile section */ - 07829CC90F47039EF468DBD3794A245B /* Pods-SAConfettiView_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D9BC26EBF2BB1E22B69EE4490D41AF1B /* Pods-SAConfettiView_Example-dummy.m */; }; - 1402CA880079879D9515D172785F6CEE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 33083C616C9CA8AF16FA7C690BC673C7 /* Foundation.framework */; }; - 383F0F26CF5FB3C1004F8149F79A3A9A /* SAConfettiView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A03BF29F3F1BF843868FBE193458F722 /* SAConfettiView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 461B4E4517D069950927A6FFF8610C8F /* Pods-SAConfettiView_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F952375C163F86C986B06AD2A34EA2B /* Pods-SAConfettiView_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F14BE4083218ADE1845EA12113F54FA /* triangle.png in Resources */ = {isa = PBXBuildFile; fileRef = ADCC9C217A5F4FD7D7D1CD56341E0C89 /* triangle.png */; }; - 5A3A0CD2ECE2CFC80E0FE1937A817364 /* confetti.png in Resources */ = {isa = PBXBuildFile; fileRef = 9B18E260BCE8DDB31A87C4027A4AD9A4 /* confetti.png */; }; - 60BF2CBC93C9246F95F574D05E462FFF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB7751D4D791D1183FB66D3CCA52CD8E /* QuartzCore.framework */; }; - 6C8F2977AA7A7EB6C51EBFDACAEF9157 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3917A50EB224EEDBC66971700D698782 /* UIKit.framework */; }; - 71083D863724FE60CEF42AE3B9044A27 /* SAConfettiView.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7AD37E073093D22BB5CA07CE7083830E /* SAConfettiView.bundle */; }; - 8DA0A9709A13AD9454E8D294740FE757 /* Pods-SAConfettiView_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 275DEC6D94808D6479BE70597CD6FE32 /* Pods-SAConfettiView_Tests-dummy.m */; }; - A70D88EF0AC5BC9C175D4D088FC0A205 /* Pods-SAConfettiView_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C6CED2FBBD410800ABE5E4CA944616E /* Pods-SAConfettiView_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7BC68B1A0BA50E769A067F1C12B76FB /* SAConfettiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 521BE9113909E8E546275A811FE093C4 /* SAConfettiView.swift */; }; - C10C733E55349ABFD51E6C3DA68207ED /* SAConfettiView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF5451D73C3D3A9458A6FBE8BC42052 /* SAConfettiView-dummy.m */; }; - C2C908904B9D6F91FFDFEB246D8B8E73 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 33083C616C9CA8AF16FA7C690BC673C7 /* Foundation.framework */; }; - CB9E81DEDE80D97547D82EF0A2AB827F /* star.png in Resources */ = {isa = PBXBuildFile; fileRef = 28E226F485B4054F4827326FF703667B /* star.png */; }; - E580DBD043A9AADD1F862BB289F4E211 /* diamond.png in Resources */ = {isa = PBXBuildFile; fileRef = C2E01C2E4676DFD9B886B4A9860C207F /* diamond.png */; }; - FAE73C0AD5D80120CCC028ED72895750 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 33083C616C9CA8AF16FA7C690BC673C7 /* Foundation.framework */; }; + 0FAA7171885EB166616A46FA63248DD6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1530FBFAA1690D27A135E4CC85AA07 /* Foundation.framework */; }; + 345ABE145933041C5D0D3B73F57A21B0 /* triangle.png in Resources */ = {isa = PBXBuildFile; fileRef = 36B89BCAF518FC28EF5FE0A25FE801CB /* triangle.png */; }; + 3BC2005AFB795841DE359997830192AD /* SAConfettiView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F68109F3C7DACA5BC6E4BA76D6649E90 /* SAConfettiView-dummy.m */; }; + 44C77399105240AD49EA2A69D6F69F8C /* star.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E1A65BF59C33922A138BE06EF812072 /* star.png */; }; + 4B848AAC9FC619580BE2D1F5D6831361 /* SAConfettiView-SAConfettiView in Resources */ = {isa = PBXBuildFile; fileRef = E94B64C2BD13E14D90FC9CA3977F42AF /* SAConfettiView-SAConfettiView */; }; + 5DF7D6554FFADB7BA85C011B424D5E02 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CE2AD31F00D0EF9C522211BDDBF6C3C /* UIKit.framework */; }; + 644A5065B8A52B3C4D216256BABD403C /* diamond.png in Resources */ = {isa = PBXBuildFile; fileRef = 24F88180AF069C2F05A48D620B6AA6F6 /* diamond.png */; }; + 6D546DF6A1A6354AC1AC011AF667D55E /* Pods-SAConfettiView_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 206D5AF09E42EF57995328FA59E70382 /* Pods-SAConfettiView_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA4E5E65D07CB187D59C9544853CAE9 /* SAConfettiView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFB5E2CE04218A70405E9B6E4667969 /* SAConfettiView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A7165B5C2EED4FCA728B2C04F4F8705A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1530FBFAA1690D27A135E4CC85AA07 /* Foundation.framework */; }; + B9AD3D693185BFE695787B8B5749CA7E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FE46B11FEBCBB7C689EB07A5E57BD38 /* QuartzCore.framework */; }; + C007BE027681BD1319F2CB197238A10F /* confetti.png in Resources */ = {isa = PBXBuildFile; fileRef = 09C056DC0EA0E9DC69F5FFE86E1F4422 /* confetti.png */; }; + DE7C0A69FF18FC9F7870C783AFB2A788 /* SAConfettiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 386ED247BC890BB016BE86B605A35AF3 /* SAConfettiView.swift */; }; + E5370537236FF731BB3030D319D99BCB /* Pods-SAConfettiView_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 404AB4D0326B30C18897D56FC887096E /* Pods-SAConfettiView_Tests-dummy.m */; }; + EEA5C14C7F0B15ACC37288A6483F1356 /* Pods-SAConfettiView_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B4209C85753B9DB9B0356FC484AA014B /* Pods-SAConfettiView_Example-dummy.m */; }; + F2AE859E3332ACF51DE47A8AF3EB064B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B1530FBFAA1690D27A135E4CC85AA07 /* Foundation.framework */; }; + FDF15017A24BC31DE6E085EBEB2611E3 /* Pods-SAConfettiView_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 39A1AE96DE734B49BE556198DC9A2F82 /* Pods-SAConfettiView_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 19DD0B79BC8484852268A745CF0A69F6 /* PBXContainerItemProxy */ = { + 097BA534D6889DC93ACDF82FB7E45341 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D2F524BF7A5A90DBD728253300EB5031; + remoteGlobalIDString = DEF5EC9A82178D0D695682390F2DE2F1; remoteInfo = SAConfettiView; }; - 8B991EACC422AA00330BF7FE678034CD /* PBXContainerItemProxy */ = { + 0DD04384F2E805BF25C0741E2FA04CD5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D2F524BF7A5A90DBD728253300EB5031; - remoteInfo = SAConfettiView; + remoteGlobalIDString = 1E488B4A8341D4A1374B44B7D0191BC4; + remoteInfo = "SAConfettiView-SAConfettiView"; }; - 9C95B4A86DF853B3B0021F80C7F4EEEB /* PBXContainerItemProxy */ = { + AEA40AAF34CDAFA45E89F6F1ABB4E9B8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9EAF082AE8FA143F0CD6B91EB893CD45; - remoteInfo = "SAConfettiView-SAConfettiView"; + remoteGlobalIDString = DEF5EC9A82178D0D695682390F2DE2F1; + remoteInfo = SAConfettiView; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0287717309D19C3E54C86A7472500525 /* ResourceBundle-SAConfettiView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SAConfettiView-Info.plist"; sourceTree = ""; }; - 0F952375C163F86C986B06AD2A34EA2B /* Pods-SAConfettiView_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SAConfettiView_Tests-umbrella.h"; sourceTree = ""; }; - 10C4FB30E6D80508FF47061BFA30419F /* Pods-SAConfettiView_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Tests.debug.xcconfig"; sourceTree = ""; }; - 275DEC6D94808D6479BE70597CD6FE32 /* Pods-SAConfettiView_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SAConfettiView_Tests-dummy.m"; sourceTree = ""; }; - 2767A783AF5AF5A99371A3B2BD4972D7 /* SAConfettiView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = SAConfettiView.modulemap; sourceTree = ""; }; - 28E226F485B4054F4827326FF703667B /* star.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = star.png; path = Pod/Assets/star.png; sourceTree = ""; }; - 32D6F1A80AC9F2F1C305B30CEC30A2EF /* Pods-SAConfettiView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Example.release.xcconfig"; sourceTree = ""; }; - 33083C616C9CA8AF16FA7C690BC673C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 33BA93C7462150EBA0DCDE14132580CF /* Pods-SAConfettiView_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Example-resources.sh"; sourceTree = ""; }; - 3917A50EB224EEDBC66971700D698782 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 3FAD79F891E73C27D68F23EF0E2F9307 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 460159317902E3BD61BFFE4DC7488889 /* Pods-SAConfettiView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Example.debug.xcconfig"; sourceTree = ""; }; - 47E6ECE1D7B0410EE11E355979A7855D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 521BE9113909E8E546275A811FE093C4 /* SAConfettiView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SAConfettiView.swift; path = Pod/Classes/SAConfettiView.swift; sourceTree = ""; }; - 5253FB4293EE0A68E9A9FEF77E39A254 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 58991F250A9AD6D88C5E6F2177C55B42 /* Pods-SAConfettiView_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Tests-acknowledgements.plist"; sourceTree = ""; }; - 58C8CF855E1A8861C1CA2F27DC33B985 /* Pods_SAConfettiView_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SAConfettiView_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 639FB2642BB5251B2AD6F98125ABA331 /* Pods_SAConfettiView_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SAConfettiView_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64083DF31741E413F544673043422955 /* Pods-SAConfettiView_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-SAConfettiView_Example.modulemap"; sourceTree = ""; }; - 6636A6D0B5BA6619DA5E457734391208 /* Pods-SAConfettiView_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SAConfettiView_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 6C6CED2FBBD410800ABE5E4CA944616E /* Pods-SAConfettiView_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SAConfettiView_Example-umbrella.h"; sourceTree = ""; }; - 77A097E61438B8C40E18E32A1E633C2D /* SAConfettiView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SAConfettiView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7AD37E073093D22BB5CA07CE7083830E /* SAConfettiView.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SAConfettiView.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 871361338185FBF868944C5AA452A776 /* Pods-SAConfettiView_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Tests-frameworks.sh"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9B18E260BCE8DDB31A87C4027A4AD9A4 /* confetti.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = confetti.png; path = Pod/Assets/confetti.png; sourceTree = ""; }; - A03BF29F3F1BF843868FBE193458F722 /* SAConfettiView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAConfettiView-umbrella.h"; sourceTree = ""; }; - A515290629475DC971B90FE965D5DDEC /* Pods-SAConfettiView_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Tests.release.xcconfig"; sourceTree = ""; }; - AAFA0F6664979CC64FB2CADFD7F21411 /* Pods-SAConfettiView_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Tests-resources.sh"; sourceTree = ""; }; - ADCC9C217A5F4FD7D7D1CD56341E0C89 /* triangle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = triangle.png; path = Pod/Assets/triangle.png; sourceTree = ""; }; - AF603D52D8DC00624561A0639B2E3A46 /* Pods-SAConfettiView_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SAConfettiView_Example-acknowledgements.markdown"; sourceTree = ""; }; - B42E07E0F0C0A5A7EF950D7F4BBFCBBB /* Pods-SAConfettiView_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-SAConfettiView_Tests.modulemap"; sourceTree = ""; }; - C2E01C2E4676DFD9B886B4A9860C207F /* diamond.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = diamond.png; path = Pod/Assets/diamond.png; sourceTree = ""; }; - C3B8CF57AA33060F09AF9974EE9FACD6 /* SAConfettiView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAConfettiView-prefix.pch"; sourceTree = ""; }; - C4973B68510353854FDC0B16D5DDA965 /* Pods-SAConfettiView_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Example-acknowledgements.plist"; sourceTree = ""; }; - CBDA70B42A045257AF4D4E4EAA511E33 /* Pods-SAConfettiView_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Example-frameworks.sh"; sourceTree = ""; }; - CEF5451D73C3D3A9458A6FBE8BC42052 /* SAConfettiView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SAConfettiView-dummy.m"; sourceTree = ""; }; - D9BC26EBF2BB1E22B69EE4490D41AF1B /* Pods-SAConfettiView_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SAConfettiView_Example-dummy.m"; sourceTree = ""; }; - EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SAConfettiView.xcconfig; sourceTree = ""; }; - FB7751D4D791D1183FB66D3CCA52CD8E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + 09C056DC0EA0E9DC69F5FFE86E1F4422 /* confetti.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = confetti.png; path = Sources/SAConfettiView/Resources/Assets/confetti.png; sourceTree = ""; }; + 0ED0658EE272ACE3CA999FE4250B2310 /* Pods-SAConfettiView_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Tests-frameworks.sh"; sourceTree = ""; }; + 12265FFB849E37B4FA3A6AC478259ADB /* SAConfettiView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SAConfettiView.release.xcconfig; sourceTree = ""; }; + 1E1A65BF59C33922A138BE06EF812072 /* star.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = star.png; path = Sources/SAConfettiView/Resources/Assets/star.png; sourceTree = ""; }; + 203489CB7F78EFE3EFF8469CB4F3EAFB /* SAConfettiView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SAConfettiView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 206D5AF09E42EF57995328FA59E70382 /* Pods-SAConfettiView_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SAConfettiView_Example-umbrella.h"; sourceTree = ""; }; + 24F88180AF069C2F05A48D620B6AA6F6 /* diamond.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = diamond.png; path = Sources/SAConfettiView/Resources/Assets/diamond.png; sourceTree = ""; }; + 29C25A377A21C9AB2CE827C28C80BD2E /* Pods-SAConfettiView_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SAConfettiView_Example-frameworks.sh"; sourceTree = ""; }; + 2DEB105F8E325195FD927CD2C5235EF1 /* Pods-SAConfettiView_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Tests-Info.plist"; sourceTree = ""; }; + 2E276A41C71C137FAED4A4BCE113861E /* Pods-SAConfettiView_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SAConfettiView_Example.modulemap"; sourceTree = ""; }; + 32C76B7D7DF1CB04BBE1A605C28A599A /* SAConfettiView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SAConfettiView.debug.xcconfig; sourceTree = ""; }; + 362FCFD05638BA799C2B9436B4B05077 /* Pods-SAConfettiView_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Example-acknowledgements.plist"; sourceTree = ""; }; + 36B89BCAF518FC28EF5FE0A25FE801CB /* triangle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = triangle.png; path = Sources/SAConfettiView/Resources/Assets/triangle.png; sourceTree = ""; }; + 386ED247BC890BB016BE86B605A35AF3 /* SAConfettiView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SAConfettiView.swift; path = Sources/SAConfettiView/Classes/SAConfettiView.swift; sourceTree = ""; }; + 39A1AE96DE734B49BE556198DC9A2F82 /* Pods-SAConfettiView_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SAConfettiView_Tests-umbrella.h"; sourceTree = ""; }; + 3E492DC4F4C64E5D64A338AE119F8E14 /* Pods-SAConfettiView_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SAConfettiView_Tests.modulemap"; sourceTree = ""; }; + 404AB4D0326B30C18897D56FC887096E /* Pods-SAConfettiView_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SAConfettiView_Tests-dummy.m"; sourceTree = ""; }; + 4677285E18E97DEF17398E501D8F4D21 /* Pods-SAConfettiView_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Example-Info.plist"; sourceTree = ""; }; + 4B1530FBFAA1690D27A135E4CC85AA07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 4C07EED0C6CA4B0C11182CE4633A2117 /* Pods-SAConfettiView_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SAConfettiView_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 4CFF2E4058F858816365EC642C6DD990 /* SAConfettiView */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SAConfettiView; path = SAConfettiView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4E8A9F6AB86210826147F7F37A1AAA13 /* SAConfettiView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SAConfettiView.modulemap; sourceTree = ""; }; + 58696DABFA58CA31406F40C3D5FB9A37 /* ResourceBundle-SAConfettiView-SAConfettiView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SAConfettiView-SAConfettiView-Info.plist"; sourceTree = ""; }; + 7432A5D2AB7C6B6B06067686AE696E84 /* SAConfettiView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SAConfettiView-Info.plist"; sourceTree = ""; }; + 7C517F010CA7C2514309832FF2F4B90F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 86916B22A28B0FB99898415D6075F417 /* SAConfettiView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAConfettiView-prefix.pch"; sourceTree = ""; }; + 8CE2AD31F00D0EF9C522211BDDBF6C3C /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 9C112394324358943C161B1B0B3DF0D8 /* Pods-SAConfettiView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Example.release.xcconfig"; sourceTree = ""; }; + 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; }; + 9FE46B11FEBCBB7C689EB07A5E57BD38 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + AAFB5E2CE04218A70405E9B6E4667969 /* SAConfettiView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SAConfettiView-umbrella.h"; sourceTree = ""; }; + ABB39D5ADD6A340128C144DF76165E9D /* Pods-SAConfettiView_Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SAConfettiView_Example"; path = Pods_SAConfettiView_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B4209C85753B9DB9B0356FC484AA014B /* Pods-SAConfettiView_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SAConfettiView_Example-dummy.m"; sourceTree = ""; }; + C5899F641953F987DA026D0ADBB4CBE3 /* Pods-SAConfettiView_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Tests.release.xcconfig"; sourceTree = ""; }; + CB4DD9FA5A9D91691E5DE04CA4309CCC /* Pods-SAConfettiView_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SAConfettiView_Tests-acknowledgements.plist"; sourceTree = ""; }; + D4A27CDA482E287299DF229FA0AFA28F /* Pods-SAConfettiView_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Tests.debug.xcconfig"; sourceTree = ""; }; + E94B64C2BD13E14D90FC9CA3977F42AF /* SAConfettiView-SAConfettiView */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SAConfettiView-SAConfettiView"; path = SAConfettiView.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + EE3A8F9D86D9A60CE7A8CAB8AB887D70 /* Pods-SAConfettiView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SAConfettiView_Example.debug.xcconfig"; sourceTree = ""; }; + EECC156434E3410F7485E0B17C18D969 /* Pods-SAConfettiView_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SAConfettiView_Example-acknowledgements.markdown"; sourceTree = ""; }; + F40451A0E42650824A5827FA3C0D2F96 /* Pods-SAConfettiView_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SAConfettiView_Tests"; path = Pods_SAConfettiView_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F5088DBDB799C5863A0BE6EE9AF864EB /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + F68109F3C7DACA5BC6E4BA76D6649E90 /* SAConfettiView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SAConfettiView-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 22116AB83D53902B135E842749883FFA /* Frameworks */ = { + 0BD043925EBF0A9F54B55BBDA885713A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FAE73C0AD5D80120CCC028ED72895750 /* Foundation.framework in Frameworks */, + A7165B5C2EED4FCA728B2C04F4F8705A /* Foundation.framework in Frameworks */, + B9AD3D693185BFE695787B8B5749CA7E /* QuartzCore.framework in Frameworks */, + 5DF7D6554FFADB7BA85C011B424D5E02 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 30F46CB2F58DD3FAFF9754CB46CD5E67 /* Frameworks */ = { + 190FA93A77293B728D9CD86D99B78223 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C2C908904B9D6F91FFDFEB246D8B8E73 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6609DCBA7A6809644210CEBA815CF5C4 /* Frameworks */ = { + 2EAC9CBA3974B0A1D5E36E69D8AC5C37 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1402CA880079879D9515D172785F6CEE /* Foundation.framework in Frameworks */, - 60BF2CBC93C9246F95F574D05E462FFF /* QuartzCore.framework in Frameworks */, - 6C8F2977AA7A7EB6C51EBFDACAEF9157 /* UIKit.framework in Frameworks */, + 0FAA7171885EB166616A46FA63248DD6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 661E6C411C3FC892CB92EF9E02629D06 /* Frameworks */ = { + 2F2928C4BA04D158B99EC9E0FA5D2B29 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + F2AE859E3332ACF51DE47A8AF3EB064B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { + 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */ = { isa = PBXGroup; children = ( - 93A319F2C1969B7AA0B17444A3F8BA22 /* iOS */, + F0A778C0229E9BF1FD97896B93F3272B /* iOS */, ); name = Frameworks; sourceTree = ""; }; - 657A348A99CE452340A189BE67F27849 /* Resources */ = { + 416467911771502C42ACF6B2B617BAAD /* Pods-SAConfettiView_Tests */ = { isa = PBXGroup; children = ( - 9B18E260BCE8DDB31A87C4027A4AD9A4 /* confetti.png */, - C2E01C2E4676DFD9B886B4A9860C207F /* diamond.png */, - 28E226F485B4054F4827326FF703667B /* star.png */, - ADCC9C217A5F4FD7D7D1CD56341E0C89 /* triangle.png */, + 3E492DC4F4C64E5D64A338AE119F8E14 /* Pods-SAConfettiView_Tests.modulemap */, + 4C07EED0C6CA4B0C11182CE4633A2117 /* Pods-SAConfettiView_Tests-acknowledgements.markdown */, + CB4DD9FA5A9D91691E5DE04CA4309CCC /* Pods-SAConfettiView_Tests-acknowledgements.plist */, + 404AB4D0326B30C18897D56FC887096E /* Pods-SAConfettiView_Tests-dummy.m */, + 0ED0658EE272ACE3CA999FE4250B2310 /* Pods-SAConfettiView_Tests-frameworks.sh */, + 2DEB105F8E325195FD927CD2C5235EF1 /* Pods-SAConfettiView_Tests-Info.plist */, + 39A1AE96DE734B49BE556198DC9A2F82 /* Pods-SAConfettiView_Tests-umbrella.h */, + D4A27CDA482E287299DF229FA0AFA28F /* Pods-SAConfettiView_Tests.debug.xcconfig */, + C5899F641953F987DA026D0ADBB4CBE3 /* Pods-SAConfettiView_Tests.release.xcconfig */, ); - name = Resources; + name = "Pods-SAConfettiView_Tests"; + path = "Target Support Files/Pods-SAConfettiView_Tests"; sourceTree = ""; }; - 712458E5975627A5E1A7B233120B2E68 /* Support Files */ = { + 4991CD9D899DC93B30CB5070AD21B33F /* Pod */ = { isa = PBXGroup; children = ( - 5253FB4293EE0A68E9A9FEF77E39A254 /* Info.plist */, - 0287717309D19C3E54C86A7472500525 /* ResourceBundle-SAConfettiView-Info.plist */, - 2767A783AF5AF5A99371A3B2BD4972D7 /* SAConfettiView.modulemap */, - EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */, - CEF5451D73C3D3A9458A6FBE8BC42052 /* SAConfettiView-dummy.m */, - C3B8CF57AA33060F09AF9974EE9FACD6 /* SAConfettiView-prefix.pch */, - A03BF29F3F1BF843868FBE193458F722 /* SAConfettiView-umbrella.h */, + 7C517F010CA7C2514309832FF2F4B90F /* LICENSE */, + F5088DBDB799C5863A0BE6EE9AF864EB /* README.md */, + 203489CB7F78EFE3EFF8469CB4F3EAFB /* SAConfettiView.podspec */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/SAConfettiView"; + name = Pod; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 6349E9342B34594754FA2214FC9A204B /* Targets Support Files */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - E8E3B4FD480B36EA2953619097017C7E /* Development Pods */, - 122DA2E5084A4393C29BE363C764795C /* Frameworks */, - 949B7C032FC84B5D04993ACF640F4319 /* Products */, - F196E59D51CB2B593FC1DBF0872E6DE1 /* Targets Support Files */, + B4634FB08EE42571E8E84FCBD1EF29D8 /* Pods-SAConfettiView_Example */, + 416467911771502C42ACF6B2B617BAAD /* Pods-SAConfettiView_Tests */, ); + name = "Targets Support Files"; sourceTree = ""; }; - 8BAD2DFF1433A3F997593F5DC88F835F /* SAConfettiView */ = { + 815EA91BDD53549BC2DB6D209224C6BD /* Support Files */ = { isa = PBXGroup; children = ( - 521BE9113909E8E546275A811FE093C4 /* SAConfettiView.swift */, - 657A348A99CE452340A189BE67F27849 /* Resources */, - 712458E5975627A5E1A7B233120B2E68 /* Support Files */, + 58696DABFA58CA31406F40C3D5FB9A37 /* ResourceBundle-SAConfettiView-SAConfettiView-Info.plist */, + 4E8A9F6AB86210826147F7F37A1AAA13 /* SAConfettiView.modulemap */, + F68109F3C7DACA5BC6E4BA76D6649E90 /* SAConfettiView-dummy.m */, + 7432A5D2AB7C6B6B06067686AE696E84 /* SAConfettiView-Info.plist */, + 86916B22A28B0FB99898415D6075F417 /* SAConfettiView-prefix.pch */, + AAFB5E2CE04218A70405E9B6E4667969 /* SAConfettiView-umbrella.h */, + 32C76B7D7DF1CB04BBE1A605C28A599A /* SAConfettiView.debug.xcconfig */, + 12265FFB849E37B4FA3A6AC478259ADB /* SAConfettiView.release.xcconfig */, ); - name = SAConfettiView; - path = ../..; + name = "Support Files"; + path = "Example/Pods/Target Support Files/SAConfettiView"; sourceTree = ""; }; - 93A319F2C1969B7AA0B17444A3F8BA22 /* iOS */ = { + 96002A50F0758C9353A4C662CCE58EDF /* SAConfettiView */ = { isa = PBXGroup; children = ( - 33083C616C9CA8AF16FA7C690BC673C7 /* Foundation.framework */, - FB7751D4D791D1183FB66D3CCA52CD8E /* QuartzCore.framework */, - 3917A50EB224EEDBC66971700D698782 /* UIKit.framework */, + 09C056DC0EA0E9DC69F5FFE86E1F4422 /* confetti.png */, + 24F88180AF069C2F05A48D620B6AA6F6 /* diamond.png */, + 386ED247BC890BB016BE86B605A35AF3 /* SAConfettiView.swift */, + 1E1A65BF59C33922A138BE06EF812072 /* star.png */, + 36B89BCAF518FC28EF5FE0A25FE801CB /* triangle.png */, + 4991CD9D899DC93B30CB5070AD21B33F /* Pod */, + 815EA91BDD53549BC2DB6D209224C6BD /* Support Files */, ); - name = iOS; + name = SAConfettiView; + path = ../..; sourceTree = ""; }; - 949B7C032FC84B5D04993ACF640F4319 /* Products */ = { + B4634FB08EE42571E8E84FCBD1EF29D8 /* Pods-SAConfettiView_Example */ = { isa = PBXGroup; children = ( - 58C8CF855E1A8861C1CA2F27DC33B985 /* Pods_SAConfettiView_Example.framework */, - 639FB2642BB5251B2AD6F98125ABA331 /* Pods_SAConfettiView_Tests.framework */, - 7AD37E073093D22BB5CA07CE7083830E /* SAConfettiView.bundle */, - 77A097E61438B8C40E18E32A1E633C2D /* SAConfettiView.framework */, + 2E276A41C71C137FAED4A4BCE113861E /* Pods-SAConfettiView_Example.modulemap */, + EECC156434E3410F7485E0B17C18D969 /* Pods-SAConfettiView_Example-acknowledgements.markdown */, + 362FCFD05638BA799C2B9436B4B05077 /* Pods-SAConfettiView_Example-acknowledgements.plist */, + B4209C85753B9DB9B0356FC484AA014B /* Pods-SAConfettiView_Example-dummy.m */, + 29C25A377A21C9AB2CE827C28C80BD2E /* Pods-SAConfettiView_Example-frameworks.sh */, + 4677285E18E97DEF17398E501D8F4D21 /* Pods-SAConfettiView_Example-Info.plist */, + 206D5AF09E42EF57995328FA59E70382 /* Pods-SAConfettiView_Example-umbrella.h */, + EE3A8F9D86D9A60CE7A8CAB8AB887D70 /* Pods-SAConfettiView_Example.debug.xcconfig */, + 9C112394324358943C161B1B0B3DF0D8 /* Pods-SAConfettiView_Example.release.xcconfig */, ); - name = Products; + name = "Pods-SAConfettiView_Example"; + path = "Target Support Files/Pods-SAConfettiView_Example"; sourceTree = ""; }; - A2FC40552071DDE74B226184309229E1 /* Pods-SAConfettiView_Example */ = { + CE21734F85A2922035BCA050D7F87B4F /* Products */ = { isa = PBXGroup; children = ( - 3FAD79F891E73C27D68F23EF0E2F9307 /* Info.plist */, - 64083DF31741E413F544673043422955 /* Pods-SAConfettiView_Example.modulemap */, - AF603D52D8DC00624561A0639B2E3A46 /* Pods-SAConfettiView_Example-acknowledgements.markdown */, - C4973B68510353854FDC0B16D5DDA965 /* Pods-SAConfettiView_Example-acknowledgements.plist */, - D9BC26EBF2BB1E22B69EE4490D41AF1B /* Pods-SAConfettiView_Example-dummy.m */, - CBDA70B42A045257AF4D4E4EAA511E33 /* Pods-SAConfettiView_Example-frameworks.sh */, - 33BA93C7462150EBA0DCDE14132580CF /* Pods-SAConfettiView_Example-resources.sh */, - 6C6CED2FBBD410800ABE5E4CA944616E /* Pods-SAConfettiView_Example-umbrella.h */, - 460159317902E3BD61BFFE4DC7488889 /* Pods-SAConfettiView_Example.debug.xcconfig */, - 32D6F1A80AC9F2F1C305B30CEC30A2EF /* Pods-SAConfettiView_Example.release.xcconfig */, + ABB39D5ADD6A340128C144DF76165E9D /* Pods-SAConfettiView_Example */, + F40451A0E42650824A5827FA3C0D2F96 /* Pods-SAConfettiView_Tests */, + 4CFF2E4058F858816365EC642C6DD990 /* SAConfettiView */, + E94B64C2BD13E14D90FC9CA3977F42AF /* SAConfettiView-SAConfettiView */, ); - name = "Pods-SAConfettiView_Example"; - path = "Target Support Files/Pods-SAConfettiView_Example"; + name = Products; sourceTree = ""; }; - E21633547A43E841EAE96E85F0908F1A /* Pods-SAConfettiView_Tests */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 47E6ECE1D7B0410EE11E355979A7855D /* Info.plist */, - B42E07E0F0C0A5A7EF950D7F4BBFCBBB /* Pods-SAConfettiView_Tests.modulemap */, - 6636A6D0B5BA6619DA5E457734391208 /* Pods-SAConfettiView_Tests-acknowledgements.markdown */, - 58991F250A9AD6D88C5E6F2177C55B42 /* Pods-SAConfettiView_Tests-acknowledgements.plist */, - 275DEC6D94808D6479BE70597CD6FE32 /* Pods-SAConfettiView_Tests-dummy.m */, - 871361338185FBF868944C5AA452A776 /* Pods-SAConfettiView_Tests-frameworks.sh */, - AAFA0F6664979CC64FB2CADFD7F21411 /* Pods-SAConfettiView_Tests-resources.sh */, - 0F952375C163F86C986B06AD2A34EA2B /* Pods-SAConfettiView_Tests-umbrella.h */, - 10C4FB30E6D80508FF47061BFA30419F /* Pods-SAConfettiView_Tests.debug.xcconfig */, - A515290629475DC971B90FE965D5DDEC /* Pods-SAConfettiView_Tests.release.xcconfig */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + D48B05547734E1BA694F9408D3191388 /* Development Pods */, + 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */, + CE21734F85A2922035BCA050D7F87B4F /* Products */, + 6349E9342B34594754FA2214FC9A204B /* Targets Support Files */, ); - name = "Pods-SAConfettiView_Tests"; - path = "Target Support Files/Pods-SAConfettiView_Tests"; sourceTree = ""; }; - E8E3B4FD480B36EA2953619097017C7E /* Development Pods */ = { + D48B05547734E1BA694F9408D3191388 /* Development Pods */ = { isa = PBXGroup; children = ( - 8BAD2DFF1433A3F997593F5DC88F835F /* SAConfettiView */, + 96002A50F0758C9353A4C662CCE58EDF /* SAConfettiView */, ); name = "Development Pods"; sourceTree = ""; }; - F196E59D51CB2B593FC1DBF0872E6DE1 /* Targets Support Files */ = { + F0A778C0229E9BF1FD97896B93F3272B /* iOS */ = { isa = PBXGroup; children = ( - A2FC40552071DDE74B226184309229E1 /* Pods-SAConfettiView_Example */, - E21633547A43E841EAE96E85F0908F1A /* Pods-SAConfettiView_Tests */, + 4B1530FBFAA1690D27A135E4CC85AA07 /* Foundation.framework */, + 9FE46B11FEBCBB7C689EB07A5E57BD38 /* QuartzCore.framework */, + 8CE2AD31F00D0EF9C522211BDDBF6C3C /* UIKit.framework */, ); - name = "Targets Support Files"; + name = iOS; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 5980BA7B5DD1DFC7C531741AB3DC5A6D /* Headers */ = { + 74A14C174A518227B47D85CDA0EC1694 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 383F0F26CF5FB3C1004F8149F79A3A9A /* SAConfettiView-umbrella.h in Headers */, + 9EA4E5E65D07CB187D59C9544853CAE9 /* SAConfettiView-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 82565579F570426EA0F9C69FAABBE572 /* Headers */ = { + C970D361DC92EEA4AEE2ECC0D2FAEFC4 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 461B4E4517D069950927A6FFF8610C8F /* Pods-SAConfettiView_Tests-umbrella.h in Headers */, + 6D546DF6A1A6354AC1AC011AF667D55E /* Pods-SAConfettiView_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AE60063EA8B1EE8EFB11539B1813E659 /* Headers */ = { + DD1750231AF8A7B70CF959FED0C0B4C1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A70D88EF0AC5BC9C175D4D088FC0A205 /* Pods-SAConfettiView_Example-umbrella.h in Headers */, + FDF15017A24BC31DE6E085EBEB2611E3 /* Pods-SAConfettiView_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 9A320D56A8460A17A128D17F1B5E19C8 /* Pods-SAConfettiView_Example */ = { + 1E488B4A8341D4A1374B44B7D0191BC4 /* SAConfettiView-SAConfettiView */ = { isa = PBXNativeTarget; - buildConfigurationList = 1C862E5C4CCB6CA7BAAAA92874510310 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Example" */; + buildConfigurationList = D47C22B9346A197512A04D1F926F12CA /* Build configuration list for PBXNativeTarget "SAConfettiView-SAConfettiView" */; buildPhases = ( - CFDD631D3AD4EA068C409004DCC05F93 /* Sources */, - 30F46CB2F58DD3FAFF9754CB46CD5E67 /* Frameworks */, - AE60063EA8B1EE8EFB11539B1813E659 /* Headers */, + 0A45A9F8F6790FE820611F696C03F41A /* Sources */, + 190FA93A77293B728D9CD86D99B78223 /* Frameworks */, + 4DCDE41B5D965F87AA291533038C1CF9 /* Resources */, ); buildRules = ( ); dependencies = ( - EA764FD2FE48BAAEAE425D370580049F /* PBXTargetDependency */, ); - name = "Pods-SAConfettiView_Example"; - productName = "Pods-SAConfettiView_Example"; - productReference = 58C8CF855E1A8861C1CA2F27DC33B985 /* Pods_SAConfettiView_Example.framework */; - productType = "com.apple.product-type.framework"; + name = "SAConfettiView-SAConfettiView"; + productName = SAConfettiView; + productReference = E94B64C2BD13E14D90FC9CA3977F42AF /* SAConfettiView-SAConfettiView */; + productType = "com.apple.product-type.bundle"; }; - 9EAF082AE8FA143F0CD6B91EB893CD45 /* SAConfettiView-SAConfettiView */ = { + 31C41410327F83ED4BCC6B8B33663FDD /* Pods-SAConfettiView_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 0B74A41178DC534EAB74201BA6ED6C32 /* Build configuration list for PBXNativeTarget "SAConfettiView-SAConfettiView" */; + buildConfigurationList = 33352ECE55A23C1B4744F41CB3646020 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Tests" */; buildPhases = ( - 62A218DB4F552F7876C78D8D56D386BC /* Sources */, - 661E6C411C3FC892CB92EF9E02629D06 /* Frameworks */, - 922C296980433471FB40C2F8DC9B9114 /* Resources */, + DD1750231AF8A7B70CF959FED0C0B4C1 /* Headers */, + 5ACA85B10B9D525343B0A23C9270DDE3 /* Sources */, + 2EAC9CBA3974B0A1D5E36E69D8AC5C37 /* Frameworks */, + 304ACBCB932C85D04198E0F7100556FB /* Resources */, ); buildRules = ( ); dependencies = ( + E7D5139BE0107CECB72DE18D6CE15FBB /* PBXTargetDependency */, ); - name = "SAConfettiView-SAConfettiView"; - productName = "SAConfettiView-SAConfettiView"; - productReference = 7AD37E073093D22BB5CA07CE7083830E /* SAConfettiView.bundle */; - productType = "com.apple.product-type.bundle"; + name = "Pods-SAConfettiView_Tests"; + productName = Pods_SAConfettiView_Tests; + productReference = F40451A0E42650824A5827FA3C0D2F96 /* Pods-SAConfettiView_Tests */; + productType = "com.apple.product-type.framework"; }; - D2F524BF7A5A90DBD728253300EB5031 /* SAConfettiView */ = { + BBA8B46EA619B1D9BD1F1B799EFE5758 /* Pods-SAConfettiView_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = A5BA17D58422214A0A9CA4EC5C118642 /* Build configuration list for PBXNativeTarget "SAConfettiView" */; + buildConfigurationList = 5DAAD261035670D8FCBBB2C1A19DA507 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Example" */; buildPhases = ( - 8F3BF8022E4BA2D754CB619F3F64923C /* Sources */, - 6609DCBA7A6809644210CEBA815CF5C4 /* Frameworks */, - 6FC09A13C5233CEC105EE757D200E37E /* Resources */, - 5980BA7B5DD1DFC7C531741AB3DC5A6D /* Headers */, + C970D361DC92EEA4AEE2ECC0D2FAEFC4 /* Headers */, + C0824ACA51A04B0103C23AEBF72E16D5 /* Sources */, + 2F2928C4BA04D158B99EC9E0FA5D2B29 /* Frameworks */, + 0DC6C46219C1E742AC5E63FDBC009FD7 /* Resources */, ); buildRules = ( ); dependencies = ( - 41BF900279DC5D80DD88FB4C5417BF7D /* PBXTargetDependency */, + 7B961BCA6FA2972201E510E4724A1703 /* PBXTargetDependency */, ); - name = SAConfettiView; - productName = SAConfettiView; - productReference = 77A097E61438B8C40E18E32A1E633C2D /* SAConfettiView.framework */; + name = "Pods-SAConfettiView_Example"; + productName = Pods_SAConfettiView_Example; + productReference = ABB39D5ADD6A340128C144DF76165E9D /* Pods-SAConfettiView_Example */; productType = "com.apple.product-type.framework"; }; - EA601E2AB3CA290FB58248736E978676 /* Pods-SAConfettiView_Tests */ = { + DEF5EC9A82178D0D695682390F2DE2F1 /* SAConfettiView */ = { isa = PBXNativeTarget; - buildConfigurationList = 7E04B6CFB4917E5C63613350205E7C89 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Tests" */; + buildConfigurationList = 84BD49BDB0522442B9D0FE0DB4D96F9E /* Build configuration list for PBXNativeTarget "SAConfettiView" */; buildPhases = ( - 2AF9690B3D9DF732C21018EC6995B25A /* Sources */, - 22116AB83D53902B135E842749883FFA /* Frameworks */, - 82565579F570426EA0F9C69FAABBE572 /* Headers */, + 74A14C174A518227B47D85CDA0EC1694 /* Headers */, + 6A998A181FAED5D43C19EA6695285C1A /* Sources */, + 0BD043925EBF0A9F54B55BBDA885713A /* Frameworks */, + 3292428F7B88360387EE92948F0345A8 /* Resources */, ); buildRules = ( ); dependencies = ( - 1E6F970B1C25B6564D6F8AD4DFE100A4 /* PBXTargetDependency */, + 82B72FC7D9F7404EC37F4E01A99030CA /* PBXTargetDependency */, ); - name = "Pods-SAConfettiView_Tests"; - productName = "Pods-SAConfettiView_Tests"; - productReference = 639FB2642BB5251B2AD6F98125ABA331 /* Pods_SAConfettiView_Tests.framework */; + name = SAConfettiView; + productName = SAConfettiView; + productReference = 4CFF2E4058F858816365EC642C6DD990 /* SAConfettiView */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 1240; + LastUpgradeCheck = 1240; }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( + Base, en, ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 949B7C032FC84B5D04993ACF640F4319 /* Products */; + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = CE21734F85A2922035BCA050D7F87B4F /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 9A320D56A8460A17A128D17F1B5E19C8 /* Pods-SAConfettiView_Example */, - EA601E2AB3CA290FB58248736E978676 /* Pods-SAConfettiView_Tests */, - D2F524BF7A5A90DBD728253300EB5031 /* SAConfettiView */, - 9EAF082AE8FA143F0CD6B91EB893CD45 /* SAConfettiView-SAConfettiView */, + BBA8B46EA619B1D9BD1F1B799EFE5758 /* Pods-SAConfettiView_Example */, + 31C41410327F83ED4BCC6B8B33663FDD /* Pods-SAConfettiView_Tests */, + DEF5EC9A82178D0D695682390F2DE2F1 /* SAConfettiView */, + 1E488B4A8341D4A1374B44B7D0191BC4 /* SAConfettiView-SAConfettiView */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 6FC09A13C5233CEC105EE757D200E37E /* Resources */ = { + 0DC6C46219C1E742AC5E63FDBC009FD7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 304ACBCB932C85D04198E0F7100556FB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3292428F7B88360387EE92948F0345A8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 71083D863724FE60CEF42AE3B9044A27 /* SAConfettiView.bundle in Resources */, + 4B848AAC9FC619580BE2D1F5D6831361 /* SAConfettiView-SAConfettiView in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 922C296980433471FB40C2F8DC9B9114 /* Resources */ = { + 4DCDE41B5D965F87AA291533038C1CF9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5A3A0CD2ECE2CFC80E0FE1937A817364 /* confetti.png in Resources */, - E580DBD043A9AADD1F862BB289F4E211 /* diamond.png in Resources */, - CB9E81DEDE80D97547D82EF0A2AB827F /* star.png in Resources */, - 4F14BE4083218ADE1845EA12113F54FA /* triangle.png in Resources */, + C007BE027681BD1319F2CB197238A10F /* confetti.png in Resources */, + 644A5065B8A52B3C4D216256BABD403C /* diamond.png in Resources */, + 44C77399105240AD49EA2A69D6F69F8C /* star.png in Resources */, + 345ABE145933041C5D0D3B73F57A21B0 /* triangle.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 2AF9690B3D9DF732C21018EC6995B25A /* Sources */ = { + 0A45A9F8F6790FE820611F696C03F41A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8DA0A9709A13AD9454E8D294740FE757 /* Pods-SAConfettiView_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 62A218DB4F552F7876C78D8D56D386BC /* Sources */ = { + 5ACA85B10B9D525343B0A23C9270DDE3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E5370537236FF731BB3030D319D99BCB /* Pods-SAConfettiView_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8F3BF8022E4BA2D754CB619F3F64923C /* Sources */ = { + 6A998A181FAED5D43C19EA6695285C1A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C10C733E55349ABFD51E6C3DA68207ED /* SAConfettiView-dummy.m in Sources */, - B7BC68B1A0BA50E769A067F1C12B76FB /* SAConfettiView.swift in Sources */, + DE7C0A69FF18FC9F7870C783AFB2A788 /* SAConfettiView.swift in Sources */, + 3BC2005AFB795841DE359997830192AD /* SAConfettiView-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CFDD631D3AD4EA068C409004DCC05F93 /* Sources */ = { + C0824ACA51A04B0103C23AEBF72E16D5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 07829CC90F47039EF468DBD3794A245B /* Pods-SAConfettiView_Example-dummy.m in Sources */, + EEA5C14C7F0B15ACC37288A6483F1356 /* Pods-SAConfettiView_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 1E6F970B1C25B6564D6F8AD4DFE100A4 /* PBXTargetDependency */ = { + 7B961BCA6FA2972201E510E4724A1703 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SAConfettiView; - target = D2F524BF7A5A90DBD728253300EB5031 /* SAConfettiView */; - targetProxy = 8B991EACC422AA00330BF7FE678034CD /* PBXContainerItemProxy */; + target = DEF5EC9A82178D0D695682390F2DE2F1 /* SAConfettiView */; + targetProxy = AEA40AAF34CDAFA45E89F6F1ABB4E9B8 /* PBXContainerItemProxy */; }; - 41BF900279DC5D80DD88FB4C5417BF7D /* PBXTargetDependency */ = { + 82B72FC7D9F7404EC37F4E01A99030CA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "SAConfettiView-SAConfettiView"; - target = 9EAF082AE8FA143F0CD6B91EB893CD45 /* SAConfettiView-SAConfettiView */; - targetProxy = 9C95B4A86DF853B3B0021F80C7F4EEEB /* PBXContainerItemProxy */; + target = 1E488B4A8341D4A1374B44B7D0191BC4 /* SAConfettiView-SAConfettiView */; + targetProxy = 0DD04384F2E805BF25C0741E2FA04CD5 /* PBXContainerItemProxy */; }; - EA764FD2FE48BAAEAE425D370580049F /* PBXTargetDependency */ = { + E7D5139BE0107CECB72DE18D6CE15FBB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SAConfettiView; - target = D2F524BF7A5A90DBD728253300EB5031 /* SAConfettiView */; - targetProxy = 19DD0B79BC8484852268A745CF0A69F6 /* PBXContainerItemProxy */; + target = DEF5EC9A82178D0D695682390F2DE2F1 /* SAConfettiView */; + targetProxy = 097BA534D6889DC93ACDF82FB7E45341 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 005926061F07F2282006B60FE08736AC /* Release */ = { + 30988E5EF03B5F51F7DA86A9F1F63577 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */; + baseConfigurationReference = 12265FFB849E37B4FA3A6AC478259ADB /* SAConfettiView.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -484,16 +504,16 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREFIX_HEADER = "Target Support Files/SAConfettiView/SAConfettiView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SAConfettiView/Info.plist"; + INFOPLIST_FILE = "Target Support Files/SAConfettiView/SAConfettiView-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/SAConfettiView/SAConfettiView.modulemap"; + PRODUCT_MODULE_NAME = SAConfettiView; PRODUCT_NAME = SAConfettiView; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -502,11 +522,11 @@ }; name = Release; }; - 051232399E6EA4952315813A07DA4373 /* Debug */ = { + 61C3B57D7117A418A262145E7BC06E4E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 10C4FB30E6D80508FF47061BFA30419F /* Pods-SAConfettiView_Tests.debug.xcconfig */; + baseConfigurationReference = 9C112394324358943C161B1B0B3DF0D8 /* Pods-SAConfettiView_Example.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -515,41 +535,43 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SAConfettiView_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 1CDAB5613991E411E5990BAF694995C5 /* Debug */ = { + 7AB5E2D3F528C2D80FB9A92EB667EB88 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -557,26 +579,24 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -586,55 +606,38 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.3; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; + name = Release; }; - 2D99B5656B6FDB87E95E2431F53AAD5F /* Debug */ = { + A3EEAAD6D963F874418516B1FA5B0834 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 460159317902E3BD61BFFE4DC7488889 /* Pods-SAConfettiView_Example.debug.xcconfig */; + baseConfigurationReference = 32C76B7D7DF1CB04BBE1A605C28A599A /* SAConfettiView.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SAConfettiView_Example; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SAConfettiView"; + IBSC_MODULE = SAConfettiView; + INFOPLIST_FILE = "Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-SAConfettiView-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PRODUCT_NAME = SAConfettiView; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + WRAPPER_EXTENSION = bundle; }; name = Debug; }; - 30CB4C92BE9DAA4E690D6C6281E8BFB6 /* Release */ = { + A83C000A37B588ED7B391F14DD56BD47 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A515290629475DC971B90FE965D5DDEC /* Pods-SAConfettiView_Tests.release.xcconfig */; + baseConfigurationReference = C5899F641953F987DA026D0ADBB4CBE3 /* Pods-SAConfettiView_Tests.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -643,7 +646,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -653,10 +656,9 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SAConfettiView_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -664,11 +666,11 @@ }; name = Release; }; - 5D3F045D0DBFCC51E54ABD002617CCA6 /* Release */ = { + BFF62859D9DCD033542122D9E1BBE9E4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32D6F1A80AC9F2F1C305B30CEC30A2EF /* Pods-SAConfettiView_Example.release.xcconfig */; + baseConfigurationReference = D4A27CDA482E287299DF229FA0AFA28F /* Pods-SAConfettiView_Tests.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -677,41 +679,42 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Example/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_SAConfettiView_Example; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 7B62A85C412D689EF418FA67DA770A41 /* Release */ = { + CA72A6FC05FFA515A46233C87282147A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -719,23 +722,27 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -745,35 +752,22 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.3; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Release; - }; - BD1631C0519B971A2F78550B73BDC41B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SAConfettiView"; - INFOPLIST_FILE = "Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - PRODUCT_NAME = SAConfettiView; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; + name = Debug; }; - CD552592E7A99732BAD91A60D08A9405 /* Debug */ = { + E4A0B6733FFD58A5091396CD2F6729A6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */; + baseConfigurationReference = 32C76B7D7DF1CB04BBE1A605C28A599A /* SAConfettiView.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -783,16 +777,16 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREFIX_HEADER = "Target Support Files/SAConfettiView/SAConfettiView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SAConfettiView/Info.plist"; + INFOPLIST_FILE = "Target Support Files/SAConfettiView/SAConfettiView-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/SAConfettiView/SAConfettiView.modulemap"; + PRODUCT_MODULE_NAME = SAConfettiView; PRODUCT_NAME = SAConfettiView; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -800,13 +794,13 @@ }; name = Debug; }; - FA03500696DC80249DFDB3DCCFE3852B /* Debug */ = { + F58E8D212B524784354032CD95080C82 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFC0DFE1F202B7BC372A22177849A6B7 /* SAConfettiView.xcconfig */; + baseConfigurationReference = 12265FFB849E37B4FA3A6AC478259ADB /* SAConfettiView.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SAConfettiView"; - INFOPLIST_FILE = "Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-Info.plist"; + IBSC_MODULE = SAConfettiView; + INFOPLIST_FILE = "Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-SAConfettiView-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; PRODUCT_NAME = SAConfettiView; SDKROOT = iphoneos; @@ -814,57 +808,89 @@ TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = bundle; }; + name = Release; + }; + F6241FB969486DF3592FCB7759741E7B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = EE3A8F9D86D9A60CE7A8CAB8AB887D70 /* Pods-SAConfettiView_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0B74A41178DC534EAB74201BA6ED6C32 /* Build configuration list for PBXNativeTarget "SAConfettiView-SAConfettiView" */ = { + 33352ECE55A23C1B4744F41CB3646020 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - FA03500696DC80249DFDB3DCCFE3852B /* Debug */, - BD1631C0519B971A2F78550B73BDC41B /* Release */, + BFF62859D9DCD033542122D9E1BBE9E4 /* Debug */, + A83C000A37B588ED7B391F14DD56BD47 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1C862E5C4CCB6CA7BAAAA92874510310 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Example" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2D99B5656B6FDB87E95E2431F53AAD5F /* Debug */, - 5D3F045D0DBFCC51E54ABD002617CCA6 /* Release */, + CA72A6FC05FFA515A46233C87282147A /* Debug */, + 7AB5E2D3F528C2D80FB9A92EB667EB88 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 5DAAD261035670D8FCBBB2C1A19DA507 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1CDAB5613991E411E5990BAF694995C5 /* Debug */, - 7B62A85C412D689EF418FA67DA770A41 /* Release */, + F6241FB969486DF3592FCB7759741E7B /* Debug */, + 61C3B57D7117A418A262145E7BC06E4E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7E04B6CFB4917E5C63613350205E7C89 /* Build configuration list for PBXNativeTarget "Pods-SAConfettiView_Tests" */ = { + 84BD49BDB0522442B9D0FE0DB4D96F9E /* Build configuration list for PBXNativeTarget "SAConfettiView" */ = { isa = XCConfigurationList; buildConfigurations = ( - 051232399E6EA4952315813A07DA4373 /* Debug */, - 30CB4C92BE9DAA4E690D6C6281E8BFB6 /* Release */, + E4A0B6733FFD58A5091396CD2F6729A6 /* Debug */, + 30988E5EF03B5F51F7DA86A9F1F63577 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A5BA17D58422214A0A9CA4EC5C118642 /* Build configuration list for PBXNativeTarget "SAConfettiView" */ = { + D47C22B9346A197512A04D1F926F12CA /* Build configuration list for PBXNativeTarget "SAConfettiView-SAConfettiView" */ = { isa = XCConfigurationList; buildConfigurations = ( - CD552592E7A99732BAD91A60D08A9405 /* Debug */, - 005926061F07F2282006B60FE08736AC /* Release */, + A3EEAAD6D963F874418516B1FA5B0834 /* Debug */, + F58E8D212B524784354032CD95080C82 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; } diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-Info.plist b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-Info.plist new file mode 100644 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh index 82d92fd..79215df 100755 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh @@ -1,15 +1,32 @@ #!/bin/sh set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + # This protects against multiple targets copying the same framework dependency at the same time. The solution # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,19 +40,34 @@ install_framework() local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" fi # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -49,7 +81,7 @@ install_framework() # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" @@ -57,49 +89,91 @@ install_framework() done fi } - -# Copies the dSYM of a vendored framework +# Copies and strips a vendored dSYM install_dsym() { local source="$1" + warn_missing_arch=${2:-true} if [ -r "$source" ]; then - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" fi } +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi stripped="" - for arch in $archs; do + for arch in $binary_archs; do if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + lipo -remove "$arch" -output "$binary" "$binary" stripped="$stripped $arch" fi done if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + 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}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" } +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/SAConfettiView/SAConfettiView.framework" diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.debug.xcconfig index 5b5a077..7980cd7 100644 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.debug.xcconfig @@ -1,11 +1,15 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView/SAConfettiView.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SAConfettiView" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView/SAConfettiView.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SAConfettiView" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.release.xcconfig index 5b5a077..7980cd7 100644 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example.release.xcconfig @@ -1,11 +1,15 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView/SAConfettiView.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SAConfettiView" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView/SAConfettiView.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SAConfettiView" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-Info.plist b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-Info.plist new file mode 100644 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh index 82d92fd..79215df 100755 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh @@ -1,15 +1,32 @@ #!/bin/sh set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + # This protects against multiple targets copying the same framework dependency at the same time. The solution # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -23,19 +40,34 @@ install_framework() local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" fi # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -49,7 +81,7 @@ install_framework() # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" @@ -57,49 +89,91 @@ install_framework() done fi } - -# Copies the dSYM of a vendored framework +# Copies and strips a vendored dSYM install_dsym() { local source="$1" + warn_missing_arch=${2:-true} if [ -r "$source" ]; then - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" fi } +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi stripped="" - for arch in $archs; do + for arch in $binary_archs; do if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + lipo -remove "$arch" -output "$binary" "$binary" stripped="$stripped $arch" fi done if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + 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}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" } +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/SAConfettiView/SAConfettiView.framework" diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.debug.xcconfig index 5b5a077..2668465 100644 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.debug.xcconfig @@ -1,11 +1,15 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView/SAConfettiView.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SAConfettiView" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView/SAConfettiView.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SAConfettiView" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.release.xcconfig index 5b5a077..2668465 100644 --- a/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests.release.xcconfig @@ -1,11 +1,15 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SAConfettiView/SAConfettiView.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SAConfettiView" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView/SAConfettiView.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "SAConfettiView" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-SAConfettiView-Info.plist b/Example/Pods/Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-SAConfettiView-Info.plist new file mode 100644 index 0000000..6288a87 --- /dev/null +++ b/Example/Pods/Target Support Files/SAConfettiView/ResourceBundle-SAConfettiView-SAConfettiView-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 0.1.9 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView-Info.plist b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView-Info.plist new file mode 100644 index 0000000..3168160 --- /dev/null +++ b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.1.9 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.debug.xcconfig b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.debug.xcconfig new file mode 100644 index 0000000..d0e1d64 --- /dev/null +++ b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.release.xcconfig b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.release.xcconfig new file mode 100644 index 0000000..d0e1d64 --- /dev/null +++ b/Example/Pods/Target Support Files/SAConfettiView/SAConfettiView.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SAConfettiView +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/SAConfettiView.xcodeproj/project.pbxproj b/Example/SAConfettiView.xcodeproj/project.pbxproj index a9c6a23..e2401af 100644 --- a/Example/SAConfettiView.xcodeproj/project.pbxproj +++ b/Example/SAConfettiView.xcodeproj/project.pbxproj @@ -173,7 +173,6 @@ 607FACCD1AFB9204008FA782 /* Frameworks */, 607FACCE1AFB9204008FA782 /* Resources */, 67B879CB196FAC8DFF07D902 /* [CP] Embed Pods Frameworks */, - A9F5973F0AFEEF764ABD2894 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -193,7 +192,6 @@ 607FACE21AFB9204008FA782 /* Frameworks */, 607FACE31AFB9204008FA782 /* Resources */, CF6D21F5E4A51DBD3F295412 /* [CP] Embed Pods Frameworks */, - CBEC002BFA86E53843BB8DFB /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -217,9 +215,11 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; + ProvisioningStyle = Manual; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; + ProvisioningStyle = Manual; TestTargetID = 607FACCF1AFB9204008FA782; }; }; @@ -229,6 +229,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -288,7 +289,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh", "${BUILT_PRODUCTS_DIR}/SAConfettiView/SAConfettiView.framework", ); name = "[CP] Embed Pods Frameworks"; @@ -297,37 +298,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A9F5973F0AFEEF764ABD2894 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - CBEC002BFA86E53843BB8DFB /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SAConfettiView_Example/Pods-SAConfettiView_Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; CF6D21F5E4A51DBD3F295412 /* [CP] Embed Pods Frameworks */ = { @@ -336,7 +307,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/SAConfettiView/SAConfettiView.framework", ); name = "[CP] Embed Pods Frameworks"; @@ -345,7 +316,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SAConfettiView_Tests/Pods-SAConfettiView_Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; F94B2FCF47A4B332DDE3AABF /* [CP] Check Pods Manifest.lock */ = { @@ -523,11 +494,14 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = SAConfettiView/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -537,11 +511,14 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = SAConfettiView/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; @@ -551,6 +528,10 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -563,6 +544,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SAConfettiView_Example.app/SAConfettiView_Example"; }; name = Debug; @@ -573,6 +556,10 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -581,6 +568,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SAConfettiView_Example.app/SAConfettiView_Example"; }; name = Release; diff --git a/Example/SAConfettiView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/SAConfettiView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/SAConfettiView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..1356616 --- /dev/null +++ b/Package.swift @@ -0,0 +1,28 @@ +// swift-tools-version: 5.4 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SAConfettiView", + platforms: [.iOS(.v8)], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "SAConfettiView", + targets: ["SAConfettiView"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "SAConfettiView", + dependencies: [], + resources: [.process("Resources")] + ), + ] +) diff --git a/SAConfettiView.podspec b/SAConfettiView.podspec index cf4b843..c5abfc0 100644 --- a/SAConfettiView.podspec +++ b/SAConfettiView.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "SAConfettiView" - s.version = "0.1.8" + s.version = "0.1.9" s.summary = "Confetti! Who doesn't like confetti?'" # This description is used to generate tags and improve search results. @@ -30,9 +30,9 @@ Pod::Spec.new do |s| s.platform = :ios, '8.0' s.requires_arc = true - s.source_files = 'Pod/Classes/**/*' + s.source_files = 'Sources/SAConfettiView/Classes/**/*' s.resource_bundles = { - 'SAConfettiView' => ['Pod/Assets/*.png'] + 'SAConfettiView' => ['Sources/SAConfettiView/Resources/Assets/*.png'] } # s.public_header_files = 'Pod/Classes/**/*.h' diff --git a/Pod/Assets/.gitkeep b/Sources/SAConfettiView/Classes/.gitkeep similarity index 100% rename from Pod/Assets/.gitkeep rename to Sources/SAConfettiView/Classes/.gitkeep diff --git a/Pod/Classes/SAConfettiView.swift b/Sources/SAConfettiView/Classes/SAConfettiView.swift similarity index 93% rename from Pod/Classes/SAConfettiView.swift rename to Sources/SAConfettiView/Classes/SAConfettiView.swift index 348771a..724b858 100644 --- a/Pod/Classes/SAConfettiView.swift +++ b/Sources/SAConfettiView/Classes/SAConfettiView.swift @@ -50,7 +50,11 @@ public class SAConfettiView: UIView { emitter = CAEmitterLayer() emitter.emitterPosition = CGPoint(x: frame.size.width / 2.0, y: 0) + #if swift(<5) emitter.emitterShape = kCAEmitterLayerLine + #else + emitter.emitterShape = CAEmitterLayerEmitterShape.line + #endif emitter.emitterSize = CGSize(width: frame.size.width, height: 1) var cells = [CAEmitterCell]() @@ -85,6 +89,11 @@ public class SAConfettiView: UIView { return customImage } + +#if SWIFT_PACKAGE + + return UIImage(named: fileName, in: .module, compatibleWith: nil) +#else let path = Bundle(for: SAConfettiView.self).path(forResource: "SAConfettiView", ofType: "bundle") let bundle = Bundle(path: path!) let imagePath = bundle?.path(forResource: fileName, ofType: "png") @@ -96,6 +105,9 @@ public class SAConfettiView: UIView { print(error) } return nil +#endif + + } func confettiWithColor(color: UIColor) -> CAEmitterCell { diff --git a/Pod/Classes/.gitkeep b/Sources/SAConfettiView/Resources/Assets/.gitkeep similarity index 100% rename from Pod/Classes/.gitkeep rename to Sources/SAConfettiView/Resources/Assets/.gitkeep diff --git a/Pod/Assets/confetti.png b/Sources/SAConfettiView/Resources/Assets/confetti.png similarity index 100% rename from Pod/Assets/confetti.png rename to Sources/SAConfettiView/Resources/Assets/confetti.png diff --git a/Pod/Assets/diamond.png b/Sources/SAConfettiView/Resources/Assets/diamond.png similarity index 100% rename from Pod/Assets/diamond.png rename to Sources/SAConfettiView/Resources/Assets/diamond.png diff --git a/Pod/Assets/star.png b/Sources/SAConfettiView/Resources/Assets/star.png similarity index 100% rename from Pod/Assets/star.png rename to Sources/SAConfettiView/Resources/Assets/star.png diff --git a/Pod/Assets/triangle.png b/Sources/SAConfettiView/Resources/Assets/triangle.png similarity index 100% rename from Pod/Assets/triangle.png rename to Sources/SAConfettiView/Resources/Assets/triangle.png