diff --git a/CachingPlayerItem.podspec b/CachingPlayerItem.podspec index 0a0afea..3d6ad3a 100644 --- a/CachingPlayerItem.podspec +++ b/CachingPlayerItem.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'CachingPlayerItem' - s.version = '1.1.3' + s.version = '2.0.0' s.summary = 'Cache & Play audio and video files' s.homepage = 'https://github.com/sukov/CachingPlayerItem' diff --git a/Example/Podfile.lock b/Example/Podfile.lock index eee8dbd..f05abc8 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - CachingPlayerItem (1.0.4) + - CachingPlayerItem (2.0.0) - Nimble (9.2.1) - Quick (4.0.0) @@ -18,10 +18,10 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CachingPlayerItem: 7f6792912f2b186fededb6dd3d62250f76c088a5 + CachingPlayerItem: 61dfcd2931cf590d8f461d4cbee65cd2e643f69b Nimble: e7e615c0335ee4bf5b0d786685451e62746117d5 Quick: 6473349e43b9271a8d43839d9ba1c442ed1b7ac4 PODFILE CHECKSUM: 0b648f8072442c1ace440db05048c9726462e88a -COCOAPODS: 1.10.1 +COCOAPODS: 1.15.2 diff --git a/Example/Pods/Local Podspecs/CachingPlayerItem.podspec.json b/Example/Pods/Local Podspecs/CachingPlayerItem.podspec.json index 12444e3..c9dfa36 100644 --- a/Example/Pods/Local Podspecs/CachingPlayerItem.podspec.json +++ b/Example/Pods/Local Podspecs/CachingPlayerItem.podspec.json @@ -1,6 +1,6 @@ { "name": "CachingPlayerItem", - "version": "1.0.4", + "version": "2.0.0", "summary": "Cache & Play audio and video files", "homepage": "https://github.com/sukov/CachingPlayerItem", "license": { @@ -12,7 +12,7 @@ }, "source": { "git": "https://github.com/sukov/CachingPlayerItem.git", - "tag": "1.0.4" + "tag": "2.0.0" }, "swift_versions": "5.0", "platforms": { diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index eee8dbd..f05abc8 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - CachingPlayerItem (1.0.4) + - CachingPlayerItem (2.0.0) - Nimble (9.2.1) - Quick (4.0.0) @@ -18,10 +18,10 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CachingPlayerItem: 7f6792912f2b186fededb6dd3d62250f76c088a5 + CachingPlayerItem: 61dfcd2931cf590d8f461d4cbee65cd2e643f69b Nimble: e7e615c0335ee4bf5b0d786685451e62746117d5 Quick: 6473349e43b9271a8d43839d9ba1c442ed1b7ac4 PODFILE CHECKSUM: 0b648f8072442c1ace440db05048c9726462e88a -COCOAPODS: 1.10.1 +COCOAPODS: 1.15.2 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index e4220f5..604fe08 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,170 +7,174 @@ objects = { /* Begin PBXBuildFile section */ - 01A04218EC99765ADC0409631E60BB97 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7984E2929E13FE9962030FA664F09CB2 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 03D2B9651FD82FC0D5C97AD6F0E561D4 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01872A5724C80F9F66F85BE505EF41E /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 096A350DACDDDFF8805FDAEBE86EC2F6 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CA7814D47356EA90B9ECB4FDB3F859 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 0A363AD0A93A6F9E8961F52B10580718 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4097A6637537D84D28A10721A2E7EC6 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 0D76A5CAF71781C4E1CC5E0D70D3426D /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C572C7D93AF0E9B50A517675CD4D665 /* QuickSpec.m */; }; - 0DFBCBE5C1E75DC9CD38757ACF33E0A7 /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25751F36800946C1A1A22406B3596FE /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 0E48962ACAEDD1289D7DAE793F3A731F /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19A3558661CEF3BE87C498E32AEC3EB0 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1126E10683633A8503EE54632EE12803 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB539966A7AFD5CB6811DAA9B761F1B /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 113CB0649F1C41E6358C27C4DC19D0A7 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C42CFB5518B1F634F1B99EBB383B6B0 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 15DB927C7009266E077993F38882D40E /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB97E529E69C80140CF90C16575922D /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1AF9A29318570C093E7F92579080C6C4 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DD3495984E50717EE5951C04EAFB788 /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1DA94F92235E0C3A0FD7768DD848068C /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3107E43F634AF3B221072AD06EDC701 /* Closures.swift */; }; - 1E3B805AA2F844C715C9F3135A7D7BD5 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB293BEEC38AC66C26BFE450BF27D14F /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1F5967DC89CF19ABF6F288617010D900 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD90DC04A8EE437DF70BED5C4A8D946 /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 20A7D607CEC9E4D0F0B7ECC1A545A05F /* QuickConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D864B01792C2475774D9271679F17B9A /* QuickConfiguration.swift */; }; - 2145470ED629F29ABCCBF304F24DA354 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C2D1D1C6474F27A8FCC8D6856C47704 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2432100DBFB954DDC3AC2CEA3E170B9D /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07B58265E7E51E07AFB8D2BD2A392369 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2513544A87AE23B204407637DC8CF5AF /* CachingPlayerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3865CFB2696EFCD1419295CEA9266165 /* CachingPlayerItem.swift */; }; - 2551CBC318614FA2BF169B2844F46724 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8072728FE77384B733518CEDD0A251 /* XCTest.framework */; }; - 27C96AB21C9D153E5EEE8CD305935088 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = E5207C4D8365FB324A7064CEAED8E497 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2A7FA62A2799B4F51D2B3B4463763BE5 /* String+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D790CFC0DD27CF5E3726D13716B8457 /* String+C99ExtendedIdentifier.swift */; }; - 2AC400B28F334D89B97F36620EF4F362 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 487FC1B156A23E9FE1FB704254E44A12 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2C7EA1D1F721BB8C5AFBA3D6427C1034 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A565AB2A63D27ACF855DE572A8749763 /* Nimble-dummy.m */; }; - 2D1BD8BC036C099C617457E7BF7AC8CB /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5912F55BE3AA373DBEF439FEAE802EC /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 31F310A182C07209B212AC43C4AD699E /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = E44D64C97F0EB045C86340CAD74FF65D /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 351C5491EB39A1A8CC635F0A27C3E372 /* QuickTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FDF855D797FF314FA501247ABF1FEC7 /* QuickTestObservation.swift */; }; - 3D88FA031800EAD5410C710DC430D909 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F792826C2A1DCA549A626F8B6BB9048 /* World.swift */; }; - 3F31BA28AEC03B51AF90221CC4AD864B /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90A8B866BF1B5741F3E8FDA8E728708F /* World+DSL.swift */; }; - 416FEB65425C4D4A5BD9A56DBB994F72 /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A1E6D0F0B64E0881BB387BFDBBAEDE64 /* QuickConfiguration.m */; }; - 44CC283E83FE6CCCAAB2F327740770E7 /* QuickObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 917DABFABA971087CC881C67BBCB896A /* QuickObjCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4507C3FA3B3C2A7A13D9C503CFD9CC19 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = B778739B132B4FEC875F9615ED37CAEA /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 45718892681E27BFB3CA4F77FB637189 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC7C9BFBE17C3F91CEB7AEF368D4BF50 /* Behavior.swift */; }; - 45E7CAF07B6469F2BBA312440782C90B /* ResourceLoaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB248F1686720332ACF9DA3B8BDBE56 /* ResourceLoaderDelegate.swift */; }; - 4BB64DB9E1A1717C926E9A2FA7D5DA97 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5808B9A93D2F619B1FB8E6A7D46F1C /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 501A30CB9F16F63F7FBABA667043DCCC /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E79BFE04E48F6AC4C63F2B0CAF4E210 /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 520E7371FE7DB9BF712762793CC0BB4B /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACCFB9311ED98345A6282A28A6CFAD83 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5A7CA27F8A4CB0DCBDBFB48B301E26D6 /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0366B612A2ACEBDB6626EBF65E107253 /* URL+FileName.swift */; }; - 5DD0B3311BB289641928D6E734F4ED55 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A80B6F8B82934D9A77E355D2A690124 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5FF3D0D8B874D76C903952F8E318E006 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9973833824E7ED01540C73DCB2C1247 /* Quick-dummy.m */; }; - 606F220B87194FFF5D050FC4942120C5 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73141CA135219B195CA9C9BBE8BC38E0 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 610CEB4BDE1C763C5CA2025801FA6C19 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; - 62B4411C147375E0F1D0639B40963428 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = E0FE7DF20C0080F14BDF5F181BF2345F /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64FF7B082BBD75946F6B6342F202F6CC /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = D23387148BE56CC3EB877BEE9F509DA9 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 6651438A66A1DEB7B86EC4814EA9DA16 /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5700BD6275F82CB443901CE97C7FBFE2 /* Callsite.swift */; }; - 665B3B718611BE55F338D2CF4602AC74 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A8FC83ADFAB68A939D061B9DA7B2C3 /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69FB2A0E963C18660AA3B8CFE72FE3C4 /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6971FF4FC2D354A79275D7A0E176A2EC /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 6C53B0695A60489C1FFCBE9FABBFA47A /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 39008AE1E1CAEB0064DAD5FE36764295 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6CE2E10D6237472E319B05C3F16A2237 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2DD27CB90704924D6D50162205BD97 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 6D2EB1AA036F99007BFB31045522F459 /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = C234427DC01A4C983F67F5875E295B28 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E5819480E972CA10D8D9A34D94405BF /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0EE0182653D00926C08100E31BD3795 /* Filter.swift */; }; - 7433873AD9AFAE2CA71EFD10FA2CD88C /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FCA2F2ED2C8A41C278097D187DEBE989 /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 784F57A0959BD334BD0D1158C8359135 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CC2D566D5FDF7981081C8C4D3648C2 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 79A86162B6B82D7F8795DCED169BE954 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = A789DFAD27D89A0DA5B60793DB255366 /* QCKDSL.m */; }; - 7D171247CA2ABB73A04421806294736F /* Pods-CachingPlayerItem_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1CAF837E658527708A866443BF5F75 /* Pods-CachingPlayerItem_Tests-dummy.m */; }; - 7FA57A4E6F31FBD1C126E7689E1AD61C /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25030C0A2B44B4AFE6D77A9BAAF84088 /* Configuration.swift */; }; - 7FA979F226052E7C77BA9D37FEDA95D2 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE05B0AC3FA989A47A0C2BCE00A237B9 /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 800D781D242F5E551B42C4D8393CBB0B /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75423B81B53812C99CD2B45F03DB3037 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 80D116D3CC62170FF258E5AEABE6792A /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 030CD2D7B5E0A8B711B3F24711647E5D /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8510469EB9B18B318478019A11F7D784 /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11CD7AC874836F8DA7EC88B0872CDBAE /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 86D9716ADE347B2916F9CB715A3B26D5 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = C9F5C65CA8F308F74190933D608601A6 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 89396273444D853480B62B113EE22623 /* BeginWithPrefix.swift in Sources */ = {isa = PBXBuildFile; fileRef = 802103650A4E5841D47428C4B297B890 /* BeginWithPrefix.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8A7A3AFF694933726D4726769068AC14 /* Pods-CachingPlayerItem_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CF1C6A9E80DE2E1C8426BA657C2EE62 /* Pods-CachingPlayerItem_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E2D915F77F55ADEBC7C3B223A4F3A9C /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A81330D968B34C59FC40E730C91DA50 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8F01AC0753C01A52C349A233690D7938 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3A6C6DA8267274529580FC6BB388664 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 95079B04F2442FF22611EA7AC48EF81E /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CC867E16210A5E3628561E0E52DAED /* Example.swift */; }; - 97FA3A0D9196BB3D170B7F7F2A6BDFCD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; - 98D4C88DB61717125A36A5334F27E5C6 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB69E074D53782BE2F1E1AEC1CAA6797 /* NSBundle+CurrentTestBundle.swift */; }; - 9A1BE88CE8717D03F12BF668F2ACF766 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA676B386635A5851AD41777A665907 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9D1731F108FFD33C034F6A859A8A625B /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8599C685A6E9088137A44D9BD36F320D /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9D56BAD608CA598B071D591E0112F6BE /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 817BE9A694522F7F4026799121CBA1C7 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9F2643593B001BED9C62BEF8FB0EBF9D /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0803F35E782099A482A475DC094AA98B /* QuickTestSuite.swift */; }; - A1D30A36109E6A90E1791B51BAE55A72 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7425C80AFE5874C82C321C25C8FD8E4E /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A4E1AC7A059F8774AECC57EB095245DA /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB3DC3139A1280CF034113B965D1A718 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A5EB253AF98ECD3895797CF40302FA39 /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = EA20C87137C7C7A9356234D9535104D4 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9AF3F7AB8269225790D01ABD9F559D7 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81545145A1C5A4394570ECEC1644AC94 /* DSL.swift */; }; - AD4AC85D286EF36E94059676F912BE33 /* Equal+Tuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 431CBAEE164D12511676DF2CA2E5F6E1 /* Equal+Tuple.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AE9B8D884D9817D95AE9547AC70C9641 /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17550890BB023B26063ABDFE4B258145 /* SuiteHooks.swift */; }; - AEB5246A054AE75A5BFA7D8C770E9E8E /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B7283F4C347135472840AFDA74C4E5A /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B1748512B443FCEA0F846B5E93F8DDF0 /* URLExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2329236D787235A5653D38E8B2060A /* URLExtension.swift */; }; - B212BEE5869453F67DE16621A5388954 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9817083983497DB3ED6001E3E97533CB /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B2D03C30992D861A3C55D5301D718518 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3862A4029F0AE7BD5D04E22605C911F /* ExampleHooks.swift */; }; - B844C53365327CB75CC1645AE73CDCED /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4533A88B2DE8230A61D3FE3F4CD5BC98 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C0D3EDC5F8D2546D5B5CB583230606B7 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E9D232917B7F9161AD32800BD7188F6 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C12A5EDA29052D6AB6B5C08EB827147F /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2EF8A720D0EAA49000115560DF7BBC /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C2D906D76A9597A6C5B496D316893560 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = FECCD0DFA1B5AC88BE310179E43A5722 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C759FEB2A9EF6B829DF536816DF4CABB /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1014F88FBB418E7E9B24F6C3E73E89DA /* ExampleMetadata.swift */; }; - C7B3848543A19E420CA7638FBF6775CB /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B085943B46F49A20A9E6E3DE9F200FE /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C9EFD79787203ED7436E0436ABE69A4A /* CachingPlayerItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C56D6F310AC1B803DD8342372DCC6B11 /* CachingPlayerItemConfiguration.swift */; }; - CA791EB47A2D4F838A353E79B693A4B8 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B63A49E44A8499A1A97B90F2A37A90C /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CC9476F9485F3506AE3374888A29D0AA /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B0AADE582B5BD22FA91D3DAD8844B92 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CFB78DAD8A511C9123F8559BA702B5E4 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42246731B3D9A2B8790893EBBD465FFF /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D392F6B2FA170B0C80F8ACE74BD724C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; - D562A34837C271ABE23892804EABFC83 /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 10C36E789BFF17B70EC945692C82D859 /* QuickSpecBase.m */; }; - D5909A235107CDC9E1B0C12CB08B6505 /* DispatchTimeInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85BB1858F6652DC026D80938BD29DD97 /* DispatchTimeInterval.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D5F9007B27D8A964A59DEF1B1FF9836C /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7CAC455B538657F71487C6E76079952 /* AVFoundation.framework */; }; - D6276432FE863185A68BC069E47F1BD9 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2924BBEE0618BF7EC93C2C9016D0CCCA /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D989AA28FF39931A8E9F6FFD665FD0B7 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 68BC691C67B0A64F7510D5C6298F4A80 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DB4F2A50A04E673714C6A8AA32D94D53 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F10523AFF38648C15FCA6AA129C23 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DBB0B80C28F80394644E12D3C4EE2CB3 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD69990709ED1315032AA1A075A30E4A /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DD13D7F39BF525E3E515719845C3D951 /* CachingPlayerItem-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E2FC18655E1BBFB9C9F5D12662EDD26B /* CachingPlayerItem-dummy.m */; }; - E0E2E724288F13C852B9DB0C323ABBE4 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D419D9857BEDF4AABA8218936B3677E /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E1F708C047C1B3C52B13F4D322D15F69 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE7135B910B114C8F5096BEF6D8C97 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E282A90FA01DE2C5003A3E17907E17A9 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = E6B078FDEFF43D01A46CEC09B78FA029 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E41DA6DEFB27EE0BCF12DC39EF0E1E1A /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 791E6CD5C8804BBD715C9D08D4BEC854 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E5FA00B2EC7B07285D2AE732D338BBDC /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09731733D98B8FD7224447F776E75441 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E6E826B1E39D4EDF688F84781E0EF0FA /* MediaFileHandle.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF9F1F48C5FAA3EDE19E0743CC822906 /* MediaFileHandle.swift */; }; - E80FC1D79D4A8DCA72F3C9A023D7BBD8 /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E30B4EFCE7868E0DBE8E364AD275301 /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E8AE858EC457AE28E23FE08EFB32E892 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757BAF37999C9047D1AE2770EE6A4A6E /* QuickSelectedTestSuiteBuilder.swift */; }; - E9EB5895A3C64621F2D5D153BD103D6E /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F8F92D4F337391CA98495AED7459FB /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - EA3B734318B9E04D966DB61ED42B08EC /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = E762B92915992D34CF1197690DD6C504 /* ErrorUtility.swift */; }; - EC614D9F4E90768EDAD8867FDF1AA3DF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; - ED19AC2F490C66E0DE2E2ACFBFBA7371 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; - EE7C2A10D09991BF6E14ECE2C8F41243 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = DBCE4BA046CAEB42619707DBED53725C /* XCTestSuite+QuickTestSuiteBuilder.m */; }; - F02B60DD96EB7DE9CA25530D09966391 /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54786640730EAADE6139B51A243CA4B7 /* ExampleGroup.swift */; }; - F0BE82B3C81BDAF3B7134D8C76E8819E /* CachingPlayerItem-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F6143C60E17F82DE4AB560DA2CA9F39 /* CachingPlayerItem-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F17CCA8ABDDEE4BA268DC3D82A9C59BC /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEE0135D5FDA5A4415EADADB336B9246 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F1EDFF4C8CD256D625C5B46E0768AEFB /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACA8E066CB31D5BC83F54CCFE6CFD9B8 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F655BE2E98E916AC0EB09E627C43C3AA /* Pods-CachingPlayerItem_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AEBDEDD0143A4CF89941F8FCFD386262 /* Pods-CachingPlayerItem_Example-dummy.m */; }; - F74B14337C89364EAABE436EEF56705D /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 599A5A20097CA4DD27ECE4579DDE32BD /* HooksPhase.swift */; }; - F7FF348727315821588F9F0C635BEE2C /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1209032F9B9026846B05C17994D723B3 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F92273C61B48AB0E00CC817DF18A4C47 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5898400AEF7989EB1C4B445B05061557 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F9D4AB9515DB3E931E4AF493DE11895E /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD192718D9180DF715E2B12BD4F99324 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - FC740FFCEA8E90C8F3DB11189FD9FA9D /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ED05FA78925BC3E8E8D05CC3D3321291 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FCC23B8552E01DB23CA349EB8921842C /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D9304D037786B05B215A100D854D943 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - FD1E01D8C3414F0495353334492BF4A9 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = C398A9D17862A4A4F45ADB5FA7444E92 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - FF19798801098184A22810834528D1AC /* Pods-CachingPlayerItem_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 87A99AE39108DEFB24B13DDF873EAD04 /* Pods-CachingPlayerItem_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0132BCEC809FC6B0731C8FD25329B011 /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C572C7D93AF0E9B50A517675CD4D665 /* QuickSpec.m */; }; + 04B815FC0ACB3FED6290C6E0505587E7 /* Pods-CachingPlayerItem_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 87A99AE39108DEFB24B13DDF873EAD04 /* Pods-CachingPlayerItem_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 053B88AAB25D8E9E247314D1A1933B19 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 757BAF37999C9047D1AE2770EE6A4A6E /* QuickSelectedTestSuiteBuilder.swift */; }; + 0779B89F9C0D5D853C7308F616A5A849 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CC2D566D5FDF7981081C8C4D3648C2 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 07B8533B93693FCEAA99BF09F9253B2F /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E30B4EFCE7868E0DBE8E364AD275301 /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 0AB4D69A223EE91B885F7EBFB50DE156 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4533A88B2DE8230A61D3FE3F4CD5BC98 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 0AF0D94CD930C1500995605C433F383E /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 817BE9A694522F7F4026799121CBA1C7 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 0D476A8577141576F5FDB1046C02B11A /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D9304D037786B05B215A100D854D943 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 0EA459BD6662050D9560047C9F812C11 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2924BBEE0618BF7EC93C2C9016D0CCCA /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 14CF863FE8B157437FF2B78AEBB7B413 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75423B81B53812C99CD2B45F03DB3037 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 18D714FD70EA5AD28403F0EA57869F3E /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 599A5A20097CA4DD27ECE4579DDE32BD /* HooksPhase.swift */; }; + 19A8009537BCAD56435B2DDC620B29AA /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2EF8A720D0EAA49000115560DF7BBC /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1AE2F33DF9F5F77B8F992AD620C5DE94 /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = E762B92915992D34CF1197690DD6C504 /* ErrorUtility.swift */; }; + 1CB7927791B377DB30E9CE046A2C664C /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB539966A7AFD5CB6811DAA9B761F1B /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 1ECBA6E84244B735031FF3F42C5393D5 /* URLResponseExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 229B5EBF1D386F6C99A7C196B5A9636F /* URLResponseExtension.swift */; }; + 21F3408E9BD0BE7C7A9FFBF43B4F28A0 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = B778739B132B4FEC875F9615ED37CAEA /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2237E6E22D72C7C15435869831F2DCE2 /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6971FF4FC2D354A79275D7A0E176A2EC /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 23000995DBD093C7D33D8BE08AFC3D7D /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A565AB2A63D27ACF855DE572A8749763 /* Nimble-dummy.m */; }; + 259BF5B2716811449046CBCF05FA5C38 /* Pods-CachingPlayerItem_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AEBDEDD0143A4CF89941F8FCFD386262 /* Pods-CachingPlayerItem_Example-dummy.m */; }; + 288A9262472730459EFECA301BF7F08A /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B0AADE582B5BD22FA91D3DAD8844B92 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2BDF0A0BCDCCB4CDB35FC276EBE18FB6 /* String+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D790CFC0DD27CF5E3726D13716B8457 /* String+C99ExtendedIdentifier.swift */; }; + 2CF2036F269D92D594037180F346C926 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 791E6CD5C8804BBD715C9D08D4BEC854 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 31231B6154E000C8C27019B50071D010 /* URLExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E12E1CBA9A786855CE4A5EF87AE72907 /* URLExtension.swift */; }; + 32995147DC30DF5022DD66C0470BFDE9 /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FCA2F2ED2C8A41C278097D187DEBE989 /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36FBD4F8D6EE81B6E753EC3612C90779 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB293BEEC38AC66C26BFE450BF27D14F /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 37D7E98EFCBDBA089CD46482EF1F21C4 /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5912F55BE3AA373DBEF439FEAE802EC /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39EB6F3F4D4BC1FB786A3C25827D26BC /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7984E2929E13FE9962030FA664F09CB2 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39F7D7CBD814A4DD7A8907951314A36C /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25030C0A2B44B4AFE6D77A9BAAF84088 /* Configuration.swift */; }; + 40B9F78D86FB4CE884EA9F73CDDF27E6 /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CC867E16210A5E3628561E0E52DAED /* Example.swift */; }; + 418D281C0D9DFECE0BC865C95471EE7F /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C42CFB5518B1F634F1B99EBB383B6B0 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 42BBE0E315E36B784C0B87F8FF47BFE4 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8599C685A6E9088137A44D9BD36F320D /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 43053D4C139B803727E485CB5EC2BDE7 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5808B9A93D2F619B1FB8E6A7D46F1C /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 456B5082BEA7D6DC9203FC95F2275427 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEE0135D5FDA5A4415EADADB336B9246 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4933DA60945D792DFF5BFD12C8EA041E /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9817083983497DB3ED6001E3E97533CB /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 49857B3D7D3AE323F25A8663A569ADD8 /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90A8B866BF1B5741F3E8FDA8E728708F /* World+DSL.swift */; }; + 4A7DE0C16571E49896074F0152E5B0F8 /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25751F36800946C1A1A22406B3596FE /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4DC21C433B0E7FC92A8C7956943EDBAE /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3862A4029F0AE7BD5D04E22605C911F /* ExampleHooks.swift */; }; + 5691B93A51512304D117B4A69DDD507E /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17550890BB023B26063ABDFE4B258145 /* SuiteHooks.swift */; }; + 583B5AF27B91E2F4EE8D1547443E1C75 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F8F92D4F337391CA98495AED7459FB /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 59E81A3529AA2EA5F274387B207DE008 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0EE0182653D00926C08100E31BD3795 /* Filter.swift */; }; + 604A73AD1D0E82356F2A073C53BC6517 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; + 60A059AA3734D5D3F2F73D07C427F4C1 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A8FC83ADFAB68A939D061B9DA7B2C3 /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 60E7AE4194948B5824E3BA84B9BD7B41 /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACCFB9311ED98345A6282A28A6CFAD83 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 612581CCD8346C696A80E6BC09D24C1F /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 39008AE1E1CAEB0064DAD5FE36764295 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6210C7C9A6CBFEC7C4EDE39D753D6780 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73141CA135219B195CA9C9BBE8BC38E0 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 65BB115F57E7BCEB6908D5000AEA0A81 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5898400AEF7989EB1C4B445B05061557 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 6612F33BD20A641C4E57C96E7E0EBD7A /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01872A5724C80F9F66F85BE505EF41E /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 66797F8F43C1222974E9CF45F7A3498B /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = D23387148BE56CC3EB877BEE9F509DA9 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 69D887264BF5A2D300A09A92BBABB408 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09731733D98B8FD7224447F776E75441 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 6A47C53473FBCF2FF5C85069FBD4CA8D /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = EA20C87137C7C7A9356234D9535104D4 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7118AE24D7AC2E5A09D851E36AD49847 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CA7814D47356EA90B9ECB4FDB3F859 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7190961540266108624E854866842A81 /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B085943B46F49A20A9E6E3DE9F200FE /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 72E8C878B1927D988D108E3177403359 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC7C9BFBE17C3F91CEB7AEF368D4BF50 /* Behavior.swift */; }; + 75145B057D4E9B634E53E202CD5BE254 /* ResourceLoaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E09667A15A4D7B0BCB00291A4B2F90B /* ResourceLoaderDelegate.swift */; }; + 7778C6B86287F5E2F906D9A7929B1F32 /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5700BD6275F82CB443901CE97C7FBFE2 /* Callsite.swift */; }; + 77D0DC280412E93206CF9E5B3B1B8F61 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19A3558661CEF3BE87C498E32AEC3EB0 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 78414539BDE67644C7ED996057FD8B81 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42246731B3D9A2B8790893EBBD465FFF /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 785F83BBF7F3CC895851D4162BF97B06 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2DD27CB90704924D6D50162205BD97 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7981FCF6822DE2547C70226639A996DB /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7CAC455B538657F71487C6E76079952 /* AVFoundation.framework */; }; + 79A9ADCAE72B5F30CE882F79CDDDD47F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; + 79B88C8C011CFBDB0562BE069224DDCD /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 487FC1B156A23E9FE1FB704254E44A12 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7D54398DC6FEA5F878EB3DA9B82BCEE4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; + 7E2E7651B51BF28CA66F8652618AD62E /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1209032F9B9026846B05C17994D723B3 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 800CE15AB7C9BC8C04C8712B0541D507 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B7283F4C347135472840AFDA74C4E5A /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 855A990E6D084C1576917EBC48BF1190 /* CachingPlayerItem-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C5F1CE85DD3056C90D7387CC274FFA /* CachingPlayerItem-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 87C4492353709B68EE6BCF6A39894D43 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; + 880127B565D384955284322078C87AB2 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0803F35E782099A482A475DC094AA98B /* QuickTestSuite.swift */; }; + 88E1D9F9F8FF7AE322F3261305140328 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACA8E066CB31D5BC83F54CCFE6CFD9B8 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8D56DB5B0A79CF1081062ED05CEEEF24 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA676B386635A5851AD41777A665907 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8F572967B8805D18212CC67C039F0443 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB3DC3139A1280CF034113B965D1A718 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8F5C3B5756C30090332AC514897F4A2F /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F792826C2A1DCA549A626F8B6BB9048 /* World.swift */; }; + 8FB7B05F443BDE9227CDB4F77C435D8B /* Equal+Tuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 431CBAEE164D12511676DF2CA2E5F6E1 /* Equal+Tuple.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 948E33EBB139A91A51C0126F09FA82D0 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A80B6F8B82934D9A77E355D2A690124 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 97C3E58BF923DDDFC24D4093D010B8A1 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3A6C6DA8267274529580FC6BB388664 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 997EC03E15F19A72CC410FDCDBFDF387 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9973833824E7ED01540C73DCB2C1247 /* Quick-dummy.m */; }; + 9B7F051D38E1944CD965A9FB4D2A0CE3 /* PendingRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E8436A04E894A216301DB82D7D38F76 /* PendingRequest.swift */; }; + 9DC2ABBC9A7C2D58365B389176258B33 /* DispatchTimeInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85BB1858F6652DC026D80938BD29DD97 /* DispatchTimeInterval.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A300D9554F7D25A75347FE6A574A4E34 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = E44D64C97F0EB045C86340CAD74FF65D /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A53B2E144B6A63C518FD4927293A8050 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B06D0635479264C16188B060A5FF26 /* Foundation.framework */; }; + A5A13AA5C8708EC3C78BA26A8C1F606C /* BeginWithPrefix.swift in Sources */ = {isa = PBXBuildFile; fileRef = 802103650A4E5841D47428C4B297B890 /* BeginWithPrefix.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A6E27F55BDE035D65EBD7F43580B0E9E /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1014F88FBB418E7E9B24F6C3E73E89DA /* ExampleMetadata.swift */; }; + A98DB1F750AC4D9C4700ADDC970BB5A9 /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 10C36E789BFF17B70EC945692C82D859 /* QuickSpecBase.m */; }; + AA01E05BE1B12174011ED45CED568498 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE05B0AC3FA989A47A0C2BCE00A237B9 /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B43C79561813FC1E0C76BED57C3638DE /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = DBCE4BA046CAEB42619707DBED53725C /* XCTestSuite+QuickTestSuiteBuilder.m */; }; + B8A111BEADE508D1C85DF8B7891628AE /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E79BFE04E48F6AC4C63F2B0CAF4E210 /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + BB8370B2AD5EDA60D508B0A9FA16E4D9 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = C398A9D17862A4A4F45ADB5FA7444E92 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C03116C765F1A8893559730965ECBAD8 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DD3495984E50717EE5951C04EAFB788 /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C2E1F79FD03B6561EEF71E1775E64C89 /* QuickTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FDF855D797FF314FA501247ABF1FEC7 /* QuickTestObservation.swift */; }; + C2FA0C88754F444F546CD14FAD4983E1 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD90DC04A8EE437DF70BED5C4A8D946 /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C7EAFC19DEB229B96943921BD30D945E /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B63A49E44A8499A1A97B90F2A37A90C /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C96B370E9B3442878448F8FFFDC98C7A /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ED05FA78925BC3E8E8D05CC3D3321291 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CA6D99B9801B4B92896343D06633560C /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD192718D9180DF715E2B12BD4F99324 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CA76C6322518A8581332F08D97B58256 /* QuickConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D864B01792C2475774D9271679F17B9A /* QuickConfiguration.swift */; }; + CC30B9350D7237C9A3241C7AED584D9D /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = C9F5C65CA8F308F74190933D608601A6 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D0BD9D341F96D9C4E32D90DD1581854A /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F10523AFF38648C15FCA6AA129C23 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D25A73F0AC8F3983007A4826A8851347 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 030CD2D7B5E0A8B711B3F24711647E5D /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D4107A19475104B1EB2F9D8B9BB12749 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD69990709ED1315032AA1A075A30E4A /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D60A1EE9D24DFF74F1E920F68CFF749A /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0366B612A2ACEBDB6626EBF65E107253 /* URL+FileName.swift */; }; + D8B8FCEC597824B40986C8F4F7B50899 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = E6B078FDEFF43D01A46CEC09B78FA029 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8C6C2FD9936FE5E3B7C39A95483313A /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54786640730EAADE6139B51A243CA4B7 /* ExampleGroup.swift */; }; + D8DA0BE3CDB09D6FF62E046CB57A0631 /* CachingPlayerItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5323A1F3FF3EF67020718D8186476E68 /* CachingPlayerItemConfiguration.swift */; }; + D94D321C599043FB86D4ED10F1AFB564 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = FECCD0DFA1B5AC88BE310179E43A5722 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D9F430C02E1BE86A5D89AE25740870DF /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A81330D968B34C59FC40E730C91DA50 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DC267B5C6058DD95B0A10596561DD2CD /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A1E6D0F0B64E0881BB387BFDBBAEDE64 /* QuickConfiguration.m */; }; + DD6DD40497DF10767F94B6B9AA0FD76E /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81545145A1C5A4394570ECEC1644AC94 /* DSL.swift */; }; + DE62DFE1CB1D278D6327FD732FCCC446 /* MediaFileHandle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C68FBC1B54CE7FD4707117033EC4A57 /* MediaFileHandle.swift */; }; + E1CD0FEF6BA86FA9C28038C818E2514A /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = E0FE7DF20C0080F14BDF5F181BF2345F /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2EE2E7797C383576ACBFE4986179459 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 68BC691C67B0A64F7510D5C6298F4A80 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E511C6D8303FC4E7ABC7F8D33C19DF38 /* Pods-CachingPlayerItem_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CF1C6A9E80DE2E1C8426BA657C2EE62 /* Pods-CachingPlayerItem_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E8CD752EF080995577447A4761A9F923 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D419D9857BEDF4AABA8218936B3677E /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E92B6C16F730A22BF5F6DC99835B718B /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E9D232917B7F9161AD32800BD7188F6 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EA22ADD506007952F9890A93DF70E0DA /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7425C80AFE5874C82C321C25C8FD8E4E /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EA4EC4B3853541FDC946239C036D12C9 /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = C234427DC01A4C983F67F5875E295B28 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EB892573E1CA332ED26DCC659406E79B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8072728FE77384B733518CEDD0A251 /* XCTest.framework */; }; + ECF4A70CCB729DD6CD8B814037BA7EE8 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = E5207C4D8365FB324A7064CEAED8E497 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + ECFB15EC751302F529DA5D911EECB165 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB69E074D53782BE2F1E1AEC1CAA6797 /* NSBundle+CurrentTestBundle.swift */; }; + F1C5C1FB9845BCD95F196606849FBEAD /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11CD7AC874836F8DA7EC88B0872CDBAE /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F34340E990EDAE6103B91695F1A5F527 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07B58265E7E51E07AFB8D2BD2A392369 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F7B7A478EE19E86D35FA446398F9E136 /* CachingPlayerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA217C8B7B74D1BBF43A5589957D076 /* CachingPlayerItem.swift */; }; + F7E32B0968669AF58CC182C6B96FD0A4 /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3107E43F634AF3B221072AD06EDC701 /* Closures.swift */; }; + F9C2B71231752C62A65D26FDCCC3BEBD /* Pods-CachingPlayerItem_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1CAF837E658527708A866443BF5F75 /* Pods-CachingPlayerItem_Tests-dummy.m */; }; + FA94BF94E57B46625F2F98E6D7C11E44 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C2D1D1C6474F27A8FCC8D6856C47704 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FB50301F3F0969845462C062D48A0B62 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4097A6637537D84D28A10721A2E7EC6 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FC4F734925BC0EDDCD7C10AFBF93C576 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB97E529E69C80140CF90C16575922D /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC9E5E03A90FEAD4AB11759F8AC2805E /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE7135B910B114C8F5096BEF6D8C97 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FD9E22760E705E12B2AE9809647B1D77 /* CachingPlayerItem-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F156B3181CD0E5DC8ACC95A83C92F2AD /* CachingPlayerItem-dummy.m */; }; + FE67CE5AE4DFFE6B850FA43334EEBDC0 /* QuickObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 917DABFABA971087CC881C67BBCB896A /* QuickObjCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF9E9BBB984E82DBD3AC0E8CC16C576F /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = A789DFAD27D89A0DA5B60793DB255366 /* QCKDSL.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 77CAE1A76EA4E06A963D86F70F621602 /* PBXContainerItemProxy */ = { + 1ACC1BA57F973774C6062780B214DF5C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; remoteInfo = Nimble; }; - 7FB4005ACAB84C6E94068608B33A388A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5AC845F8F60E6D74BC46BB3D65D32A0E; - remoteInfo = "Pods-CachingPlayerItem_Example"; - }; - 9A5394FB06CB1615C1202A902B58BA40 /* PBXContainerItemProxy */ = { + 39425A848F748EA7D7D419FB3C6CE9EB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; remoteInfo = Quick; }; - DD68FB7B60DB75A9BF6513323AFFB5EF /* PBXContainerItemProxy */ = { + 3C351EC6D0ABE01D1C48279BC37F04A0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 31D3DC3FCCAB0AB08B35437BFBC158AA; remoteInfo = CachingPlayerItem; }; + FDB07183ACB01D6CA4C481D0A7C01C83 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5AC845F8F60E6D74BC46BB3D65D32A0E; + remoteInfo = "Pods-CachingPlayerItem_Example"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 016E0198A5E10082DDE3AC936E35DC0C /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/index.html; sourceTree = ""; }; 02FC9FA72BA2A262A7E9F6D1DB32D272 /* Nimble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.debug.xcconfig; sourceTree = ""; }; 030CD2D7B5E0A8B711B3F24711647E5D /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; 0366B612A2ACEBDB6626EBF65E107253 /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; - 05BEC42558D09E109F1053573EDAA8C7 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; + 03815C3F4FF4FEAA9B027B0CCAA34D4C /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/js/typeahead.jquery.js; sourceTree = ""; }; + 04C2A650CEC3F7C8C07073C51E8C022E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 062651C3F6E6E957970C0DA625AE1594 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; 07B58265E7E51E07AFB8D2BD2A392369 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; 07FE7135B910B114C8F5096BEF6D8C97 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; @@ -178,85 +182,81 @@ 086F10523AFF38648C15FCA6AA129C23 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; 09731733D98B8FD7224447F776E75441 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; 0B0AADE582B5BD22FA91D3DAD8844B92 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; - 0C2AD6664FADB2F28953FD60175B7233 /* CachingPlayerItem.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = CachingPlayerItem.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D043E058C7E2F3121E2277329E4CC49 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/img/gh.png; sourceTree = ""; }; + 0D631E9908483F9525A6B3F36F16CC61 /* Quick */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0DD3495984E50717EE5951C04EAFB788 /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; + 0E09667A15A4D7B0BCB00291A4B2F90B /* ResourceLoaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResourceLoaderDelegate.swift; path = Source/ResourceLoaderDelegate.swift; sourceTree = ""; }; + 0E20C6EA08C2F5A5825834D7EDF503B2 /* CachingPlayerItemConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemConfiguration.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html; sourceTree = ""; }; 1014F88FBB418E7E9B24F6C3E73E89DA /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; 10C36E789BFF17B70EC945692C82D859 /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickObjCRuntime/QuickSpecBase.m; sourceTree = ""; }; - 118955FD689443374DEC9F8189C5BF2D /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; 11CD7AC874836F8DA7EC88B0872CDBAE /* SatisfyAllOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAllOf.swift; path = Sources/Nimble/Matchers/SatisfyAllOf.swift; sourceTree = ""; }; 1209032F9B9026846B05C17994D723B3 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; 125B2DF909470F43204069C82BDDF9D2 /* Pods-CachingPlayerItem_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CachingPlayerItem_Tests-acknowledgements.plist"; sourceTree = ""; }; - 146AD1D22FE345B647EDFFE402A1D1A7 /* CachingPlayerItem.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html; sourceTree = ""; }; - 14ACD1EC8658EB37B5C3F54F57DA149B /* CachingPlayerItem-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CachingPlayerItem-Info.plist"; sourceTree = ""; }; + 156AC5F5E22221B75F7943507B01E1A3 /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; + 159FC1FB9B754E649EFF79954CFD7404 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; 17550890BB023B26063ABDFE4B258145 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; + 18CF2373C52E966439C89CF2938EF628 /* CachingPlayerItem.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = CachingPlayerItem.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 19A3558661CEF3BE87C498E32AEC3EB0 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; 1A80B6F8B82934D9A77E355D2A690124 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; 1B085943B46F49A20A9E6E3DE9F200FE /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; - 1D8B3F39AC50E3956684B2C278412914 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/img/dash.png; sourceTree = ""; }; - 20D83324A41F2F939E19372E6AD80488 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/Protocols.html; sourceTree = ""; }; + 1C6C5B765472E56811E1AE64255ED3E3 /* CachingPlayerItemDelegate.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemDelegate.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html; sourceTree = ""; }; + 1D4E5C97FDEF7F81E0ABC02DBC00A91D /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; + 229B5EBF1D386F6C99A7C196B5A9636F /* URLResponseExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLResponseExtension.swift; path = Source/URLResponseExtension.swift; sourceTree = ""; }; + 2414F1BB4028A6549C914C13E986C23E /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/js/jazzy.search.js; sourceTree = ""; }; 25030C0A2B44B4AFE6D77A9BAAF84088 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; - 275027C72249959419D8A217BA4D2ED3 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; 28A8FC83ADFAB68A939D061B9DA7B2C3 /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; 2924BBEE0618BF7EC93C2C9016D0CCCA /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; - 2940B266F0F736CD7089ED1D7AA08228 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; - 2C684331832794725A6B326396680175 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; + 29C5F1CE85DD3056C90D7387CC274FFA /* CachingPlayerItem-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CachingPlayerItem-umbrella.h"; sourceTree = ""; }; 2CF1C6A9E80DE2E1C8426BA657C2EE62 /* Pods-CachingPlayerItem_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CachingPlayerItem_Tests-umbrella.h"; sourceTree = ""; }; + 2E5F8C0DE70B804AA52BFFF4E7013A3D /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/undocumented.json; sourceTree = ""; }; 32435C410D6166FD3FF1FF89804AE5BD /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; 34EB35DAD99DC6416D4670B6D9793071 /* Pods-CachingPlayerItem_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-CachingPlayerItem_Example-acknowledgements.markdown"; sourceTree = ""; }; - 3865CFB2696EFCD1419295CEA9266165 /* CachingPlayerItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachingPlayerItem.swift; path = Source/CachingPlayerItem.swift; sourceTree = ""; }; + 35D34979BDF953E2AEA691CFF13F6CFF /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/Classes.html; sourceTree = ""; }; 39008AE1E1CAEB0064DAD5FE36764295 /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; 3C881CEC84ECB068B626CA0243C89F5F /* Quick-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Quick-Info.plist"; sourceTree = ""; }; + 3F5A5A301DE18B78A12E6657F6A775B3 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; 3F792826C2A1DCA549A626F8B6BB9048 /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; + 3FA217C8B7B74D1BBF43A5589957D076 /* CachingPlayerItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachingPlayerItem.swift; path = Source/CachingPlayerItem.swift; sourceTree = ""; }; 42246731B3D9A2B8790893EBBD465FFF /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; 431CBAEE164D12511676DF2CA2E5F6E1 /* Equal+Tuple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Equal+Tuple.swift"; path = "Sources/Nimble/Matchers/Equal+Tuple.swift"; sourceTree = ""; }; + 43C6055AB64B6ED187BFD2C321BB627F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 446E947816F05791DB496C24CDC9B671 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; 4533A88B2DE8230A61D3FE3F4CD5BC98 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; - 47CF46FC5720DB3A1D2D7A3D7DA2F18D /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/js/jazzy.js; sourceTree = ""; }; 487FC1B156A23E9FE1FB704254E44A12 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; - 4892DCED314D87F4A1CBDF6420D2638A /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/js/jazzy.search.js; sourceTree = ""; }; - 4A360A3DA5DB793AC9316482F5C408FF /* CachingPlayerItem.xml */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.xml; path = docs/docsets/CachingPlayerItem.xml; sourceTree = ""; }; 4A81330D968B34C59FC40E730C91DA50 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; - 4BF14D07208604213EFC166E65E4946A /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; 4C2D1D1C6474F27A8FCC8D6856C47704 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; - 4EAC2E8EE8BAC03193BA61F457A434F0 /* CachingPlayerItem-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CachingPlayerItem-prefix.pch"; sourceTree = ""; }; - 51B371C9FDF13075E28623D73B8C0362 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/js/typeahead.jquery.js; sourceTree = ""; }; 526F23A217BAB3DEF2E0200AF209EFA4 /* Pods-CachingPlayerItem_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CachingPlayerItem_Tests.release.xcconfig"; sourceTree = ""; }; + 5323A1F3FF3EF67020718D8186476E68 /* CachingPlayerItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachingPlayerItemConfiguration.swift; path = Source/CachingPlayerItemConfiguration.swift; sourceTree = ""; }; + 545FF21489DED18DE9E66E5EAA000A39 /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/js/jazzy.js; sourceTree = ""; }; 54786640730EAADE6139B51A243CA4B7 /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; 562743D3E3D9A1D90630F55105FC503E /* Pods-CachingPlayerItem_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CachingPlayerItem_Tests-Info.plist"; sourceTree = ""; }; - 56B5F6B5DD27BA6B01DFC92D9A26E2C7 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/img/carat.png; sourceTree = ""; }; 5700BD6275F82CB443901CE97C7FBFE2 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; 57DCB0505A6CCEBDFBAB00473DC7CE5A /* Pods-CachingPlayerItem_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CachingPlayerItem_Example.debug.xcconfig"; sourceTree = ""; }; 5898400AEF7989EB1C4B445B05061557 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; 599A5A20097CA4DD27ECE4579DDE32BD /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; + 5D1EFD79C9EE09F6730B10071CE6F371 /* CachingPlayerItemConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemConfiguration.html; path = docs/Enums/CachingPlayerItemConfiguration.html; sourceTree = ""; }; 5E3A948374B447E80B3F7A9D1BB3866D /* Pods-CachingPlayerItem_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-CachingPlayerItem_Example-frameworks.sh"; sourceTree = ""; }; 5E79BFE04E48F6AC4C63F2B0CAF4E210 /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; 5E9D232917B7F9161AD32800BD7188F6 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; 5F536E8B1B6F8B075512829536DE9634 /* Pods-CachingPlayerItem_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-CachingPlayerItem_Tests-frameworks.sh"; sourceTree = ""; }; 5FDF855D797FF314FA501247ABF1FEC7 /* QuickTestObservation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestObservation.swift; path = Sources/Quick/QuickTestObservation.swift; sourceTree = ""; }; - 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods_CachingPlayerItem_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_CachingPlayerItem_Example.framework; path = "Pods-CachingPlayerItem_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods-CachingPlayerItem_Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-CachingPlayerItem_Example"; path = Pods_CachingPlayerItem_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 641D4B5D91824160AD2BBD088B2CBE0F /* Pods-CachingPlayerItem_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CachingPlayerItem_Example-acknowledgements.plist"; sourceTree = ""; }; 6645CB0EA61CF61654A6456C637CC905 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; 68BC691C67B0A64F7510D5C6298F4A80 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; + 695D74EA6ECB5940111C2173CF5DED4E /* CachingPlayerItem.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CachingPlayerItem.release.xcconfig; sourceTree = ""; }; 6971FF4FC2D354A79275D7A0E176A2EC /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; 6B7283F4C347135472840AFDA74C4E5A /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; - 6BA262CA189C5168CBA4E7B07785E3AB /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; - 6C97B1568903532595E13D3003B393E5 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/img/spinner.gif; sourceTree = ""; }; + 6D61EBE42044E38BD85497E90BB54A7F /* CachingPlayerItem-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CachingPlayerItem-Info.plist"; sourceTree = ""; }; 6E8072728FE77384B733518CEDD0A251 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 6EF9C32C7E5E7F31C003165D488C38A4 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; - 6F6143C60E17F82DE4AB560DA2CA9F39 /* CachingPlayerItem-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CachingPlayerItem-umbrella.h"; sourceTree = ""; }; 6FD90DC04A8EE437DF70BED5C4A8D946 /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; - 7150299CF04EB691610A6BFA5C5B5A84 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; - 72686393E4ECEA1DF64E731A09447E59 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; 73141CA135219B195CA9C9BBE8BC38E0 /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; + 7390B7D430CABCF3DF4A052537023090 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/Enums.html; sourceTree = ""; }; + 73CFE270D172038A1CE837A933EC1581 /* CachingPlayerItem.xml */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.xml; path = docs/docsets/CachingPlayerItem.xml; sourceTree = ""; }; 7425C80AFE5874C82C321C25C8FD8E4E /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; 74452D1F0621AC9F56C720D50841B6E6 /* Pods-CachingPlayerItem_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-CachingPlayerItem_Example.modulemap"; sourceTree = ""; }; - 74B5A9E9E795512FC43E08E1C0AE0F19 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/undocumented.json; sourceTree = ""; }; - 74F220C3EC797FC96D409B05EA3C0753 /* CachingPlayerItem.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.html; path = docs/Classes/CachingPlayerItem.html; sourceTree = ""; }; 75423B81B53812C99CD2B45F03DB3037 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; 757BAF37999C9047D1AE2770EE6A4A6E /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; - 76079078982B1C544240D04EBDC6E9B9 /* CachingPlayerItem.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CachingPlayerItem.modulemap; sourceTree = ""; }; - 7765C22735D07FF463480F6920359A6D /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; - 78D6072B965CF4CA4131BEFC79001EA1 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/badge.svg; sourceTree = ""; }; 791E6CD5C8804BBD715C9D08D4BEC854 /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; 7981FC6993399F6CC88288632463A471 /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; 7984E2929E13FE9962030FA664F09CB2 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; @@ -266,41 +266,53 @@ 7C572C7D93AF0E9B50A517675CD4D665 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; 7D9304D037786B05B215A100D854D943 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; 7E30B4EFCE7868E0DBE8E364AD275301 /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; - 7EA3A163609A6033FBE5FAC31D269757 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; - 7EE23345A3A3EE8C3D49CC21489331C2 /* CachingPlayerItemConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemConfiguration.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html; sourceTree = ""; }; + 7E8436A04E894A216301DB82D7D38F76 /* PendingRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PendingRequest.swift; path = Source/PendingRequest.swift; sourceTree = ""; }; + 8017B53F08579D8F8CF9DE758B249C94 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/js/lunr.min.js; sourceTree = ""; }; 802103650A4E5841D47428C4B297B890 /* BeginWithPrefix.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWithPrefix.swift; path = Sources/Nimble/Matchers/BeginWithPrefix.swift; sourceTree = ""; }; - 813E4788633E66F6F7F13528DD23DC82 /* CachingPlayerItemConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemConfiguration.html; path = docs/Enums/CachingPlayerItemConfiguration.html; sourceTree = ""; }; 81545145A1C5A4394570ECEC1644AC94 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; 817BE9A694522F7F4026799121CBA1C7 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; + 839B7842AF466C44EE21305DC8AEE5B4 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/img/dash.png; sourceTree = ""; }; 8599C685A6E9088137A44D9BD36F320D /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; + 85AEF502DC7D9BAE4A095F7FAEFE98CB /* CachingPlayerItemDelegate.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemDelegate.html; path = docs/Protocols/CachingPlayerItemDelegate.html; sourceTree = ""; }; 85BB1858F6652DC026D80938BD29DD97 /* DispatchTimeInterval.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchTimeInterval.swift; path = Sources/Nimble/Utils/DispatchTimeInterval.swift; sourceTree = ""; }; + 870F30730EB667E726F5A61070D42DED /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; 87A99AE39108DEFB24B13DDF873EAD04 /* Pods-CachingPlayerItem_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CachingPlayerItem_Example-umbrella.h"; sourceTree = ""; }; - 8829476925A7F294846EF5B066CB6E9D /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; - 88325C32F6DB93824D08B6BDCC875919 /* CachingPlayerItem.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.tgz; path = docs/docsets/CachingPlayerItem.tgz; sourceTree = ""; }; - 8835FAAA9C95CFC30BC0ADF84F16A300 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; - 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CachingPlayerItem.framework; path = CachingPlayerItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CachingPlayerItem; path = CachingPlayerItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8C0D0AEDA64D57A4828E5410426E054A /* CachingPlayerItem.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html; sourceTree = ""; }; + 8C5ADEF5FA07E5FF2902FABB11613553 /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; 8D419D9857BEDF4AABA8218936B3677E /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; - 8D7C66D9176F42A7E228F4A0F27E961D /* CachingPlayerItemDelegate.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemDelegate.html; path = docs/Protocols/CachingPlayerItemDelegate.html; sourceTree = ""; }; - 8E22DA3DE43CC94BD1147CD41310CD26 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; + 8E71C2BD6B54978615CC489DF0FE9B49 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; 8FD76FF5D5F3AC8A3C06A6D3409E3405 /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; + 902575D2A2273F1BD5597F9D45DBF2E9 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/search.json; sourceTree = ""; }; 90A8B866BF1B5741F3E8FDA8E728708F /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; 917DABFABA971087CC881C67BBCB896A /* QuickObjCRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickObjCRuntime.h; path = Sources/QuickObjCRuntime/include/QuickObjCRuntime.h; sourceTree = ""; }; 92908130014A01F433AEE156BE66A71F /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; + 92CF74B88D7D7725C841CF8296D26FE9 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/img/carat.png; sourceTree = ""; }; + 94AE75A6F682EED2CE2ECA413E5E0470 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; + 95EC99F6D3C6AE6259FD85A5DA8ED37E /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; 96F8F92D4F337391CA98495AED7459FB /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; 9817083983497DB3ED6001E3E97533CB /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; 98AD1D4272540420383C7922F88E000E /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; + 99A605112D6BE27460B7C6BEA7B9743F /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/badge.svg; sourceTree = ""; }; + 9ADCBBAF527F96805FEF4F8625434DDD /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; + 9C68FBC1B54CE7FD4707117033EC4A57 /* MediaFileHandle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaFileHandle.swift; path = Source/MediaFileHandle.swift; sourceTree = ""; }; 9D15EF8C7C7594AC82B69F0F3FA47A83 /* Pods-CachingPlayerItem_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-CachingPlayerItem_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 9D2329236D787235A5653D38E8B2060A /* URLExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLExtension.swift; path = Source/URLExtension.swift; sourceTree = ""; }; 9D790CFC0DD27CF5E3726D13716B8457 /* String+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+C99ExtendedIdentifier.swift"; path = "Sources/Quick/String+C99ExtendedIdentifier.swift"; 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; }; + 9EC7E13BD2610A605101FF375E54A590 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/img/spinner.gif; sourceTree = ""; }; + 9F247FAF3E0C7C8EAA733E942B05FC40 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; + 9F5516A254FFF76EADBA5993E24EFFF3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/docsets/CachingPlayerItem.docset/Contents/Info.plist; sourceTree = ""; }; + A0C7939CCB907112F0610578D9B604E1 /* CachingPlayerItem.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.tgz; path = docs/docsets/CachingPlayerItem.tgz; sourceTree = ""; }; A1E6D0F0B64E0881BB387BFDBBAEDE64 /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; A4B06D0635479264C16188B060A5FF26 /* 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; }; A565AB2A63D27ACF855DE572A8749763 /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; - A577961BE492D9146722192CC9E5270F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/docsets/CachingPlayerItem.docset/Contents/Info.plist; sourceTree = ""; }; - A6AB8723F0A03375BF129CEA43D8293C /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/search.json; sourceTree = ""; }; + A774D5810041BA3B1219E09030710A8D /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/Protocols.html; sourceTree = ""; }; A789DFAD27D89A0DA5B60793DB255366 /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; + A8ABEE1126550074D499CD149FE2594E /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; A93FF845443E835A464CC0A55B6A3DD1 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; - AA8FB5C3C35312AD587DBD03732DF917 /* Pods_CachingPlayerItem_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_CachingPlayerItem_Tests.framework; path = "Pods-CachingPlayerItem_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A99C103BA9347FB7991F9BDE493E82A0 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; + AA8FB5C3C35312AD587DBD03732DF917 /* Pods-CachingPlayerItem_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-CachingPlayerItem_Tests"; path = Pods_CachingPlayerItem_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ABCF9F9221FB774A86457A979A3E2547 /* CachingPlayerItem.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CachingPlayerItem.debug.xcconfig; sourceTree = ""; }; ACA8E066CB31D5BC83F54CCFE6CFD9B8 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; ACCFB9311ED98345A6282A28A6CFAD83 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; ADA676B386635A5851AD41777A665907 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; @@ -308,113 +320,105 @@ B25751F36800946C1A1A22406B3596FE /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; B3A6C6DA8267274529580FC6BB388664 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; B5912F55BE3AA373DBEF439FEAE802EC /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; - B6C18EAFD70D2C4DC1F64FAAF29C741F /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/img/gh.png; sourceTree = ""; }; B778739B132B4FEC875F9615ED37CAEA /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; B9973833824E7ED01540C73DCB2C1247 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BAE263041362D074978BB3B577DF0A05 /* Nimble */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BB2DD27CB90704924D6D50162205BD97 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; - BC493B2D615028A11E79FA5DF0FB1116 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/css/highlight.css; sourceTree = ""; }; - BDADED2F87E6C7DA6E219C1DD57353A4 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; - BDEA4455F6F9DEDF3A62C17A3838ADD9 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/js/jquery.min.js; sourceTree = ""; }; BEE0135D5FDA5A4415EADADB336B9246 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; - C05B94D10E412D664713B4B9BEA23A5B /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; C0EE0182653D00926C08100E31BD3795 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; C234427DC01A4C983F67F5875E295B28 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; C2A45AD34C96D97DAAC4C22F198A6E04 /* Pods-CachingPlayerItem_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CachingPlayerItem_Example.release.xcconfig"; sourceTree = ""; }; C3107E43F634AF3B221072AD06EDC701 /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; C3862A4029F0AE7BD5D04E22605C911F /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; C398A9D17862A4A4F45ADB5FA7444E92 /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; - C56D6F310AC1B803DD8342372DCC6B11 /* CachingPlayerItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachingPlayerItemConfiguration.swift; path = Source/CachingPlayerItemConfiguration.swift; sourceTree = ""; }; - C7B72F1BA638F523413E75B9EEEE182E /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + C59C073D14A969AF2E18E3F940957ED0 /* CachingPlayerItem.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItem.html; path = docs/Classes/CachingPlayerItem.html; sourceTree = ""; }; + C5BCEB4BB9C7DF06A593DBC787711907 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; C7C643B9B6D0B0B30694D696BE857EF5 /* Pods-CachingPlayerItem_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CachingPlayerItem_Example-Info.plist"; sourceTree = ""; }; + C7D433B61C4B1B475C9DE7CBBF0FE005 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; + C7E573F79063955500D72EFF1AC8E8E7 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; C9F5C65CA8F308F74190933D608601A6 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; CB3DC3139A1280CF034113B965D1A718 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; D1CA7814D47356EA90B9ECB4FDB3F859 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; D23387148BE56CC3EB877BEE9F509DA9 /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; D2CC867E16210A5E3628561E0E52DAED /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; D3710DDE0AB41CE30DE32403A6662103 /* Pods-CachingPlayerItem_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-CachingPlayerItem_Tests.modulemap"; sourceTree = ""; }; - D60583ADCA7D54C1A507E505607375D8 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; + D7339A5A1CCC17169336D1D60EB2FEC4 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; D864B01792C2475774D9271679F17B9A /* QuickConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickConfiguration.swift; path = Sources/Quick/Configuration/QuickConfiguration.swift; sourceTree = ""; }; D8DC6582D12740E1319D8EDA1EE01495 /* Pods-CachingPlayerItem_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CachingPlayerItem_Tests.debug.xcconfig"; sourceTree = ""; }; DA1CAF837E658527708A866443BF5F75 /* Pods-CachingPlayerItem_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CachingPlayerItem_Tests-dummy.m"; sourceTree = ""; }; DBCE4BA046CAEB42619707DBED53725C /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; - DD389C65BA056F5256FF2DF432AD5E47 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/Classes.html; sourceTree = ""; }; - DF9F1F48C5FAA3EDE19E0743CC822906 /* MediaFileHandle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MediaFileHandle.swift; path = Source/MediaFileHandle.swift; sourceTree = ""; }; + E07243BC9819D047B47B279ABC20E80F /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/js/jquery.min.js; sourceTree = ""; }; E0FE7DF20C0080F14BDF5F181BF2345F /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; - E2FC18655E1BBFB9C9F5D12662EDD26B /* CachingPlayerItem-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CachingPlayerItem-dummy.m"; sourceTree = ""; }; + E12E1CBA9A786855CE4A5EF87AE72907 /* URLExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLExtension.swift; path = Source/URLExtension.swift; sourceTree = ""; }; E4097A6637537D84D28A10721A2E7EC6 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; E44D64C97F0EB045C86340CAD74FF65D /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; E5207C4D8365FB324A7064CEAED8E497 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; + E5CC29C30550DF79AF50585D0382D8F7 /* CachingPlayerItem-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CachingPlayerItem-prefix.pch"; sourceTree = ""; }; E6B078FDEFF43D01A46CEC09B78FA029 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; - E73AB33A9886DC9C8907489BF3BC5DEB /* CachingPlayerItemDelegate.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachingPlayerItemDelegate.html; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html; sourceTree = ""; }; E762B92915992D34CF1197690DD6C504 /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; - E777A5333860FDF20626753EDA5B8AD4 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/js/lunr.min.js; sourceTree = ""; }; E7CAC455B538657F71487C6E76079952 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; }; EA20C87137C7C7A9356234D9535104D4 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; EB293BEEC38AC66C26BFE450BF27D14F /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; EC7C9BFBE17C3F91CEB7AEF368D4BF50 /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; ED05FA78925BC3E8E8D05CC3D3321291 /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; - EE7FE3131B02AAB4923BF277BC850C40 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/Enums.html; sourceTree = ""; }; EEB539966A7AFD5CB6811DAA9B761F1B /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; F01872A5724C80F9F66F85BE505EF41E /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; F0CC2D566D5FDF7981081C8C4D3648C2 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; - F1D051874A74B26F59B21617F4202393 /* CachingPlayerItem.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CachingPlayerItem.release.xcconfig; sourceTree = ""; }; - F40E8791068366DED4417AF7CA23A37B /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; - F83C0C77B28C9882573D3C571A489C84 /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; + F156B3181CD0E5DC8ACC95A83C92F2AD /* CachingPlayerItem-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CachingPlayerItem-dummy.m"; sourceTree = ""; }; + F32A96986A3838AE8630007833312752 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/css/highlight.css; sourceTree = ""; }; + F58D0F50B975339DA587469A4BF21B9D /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/css/jazzy.css; sourceTree = ""; }; + F5DEBD2173B13825BB3062C09E7706FD /* CachingPlayerItem.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CachingPlayerItem.modulemap; sourceTree = ""; }; FB69E074D53782BE2F1E1AEC1CAA6797 /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + FBFAB3BA37F44CE62D4128B92CAF480F /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; FCA2F2ED2C8A41C278097D187DEBE989 /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickObjCRuntime/include/QuickSpecBase.h; sourceTree = ""; }; FD192718D9180DF715E2B12BD4F99324 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; FD69990709ED1315032AA1A075A30E4A /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; - FDB248F1686720332ACF9DA3B8BDBE56 /* ResourceLoaderDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResourceLoaderDelegate.swift; path = Source/ResourceLoaderDelegate.swift; sourceTree = ""; }; FDB97E529E69C80140CF90C16575922D /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; FE05B0AC3FA989A47A0C2BCE00A237B9 /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; FE5808B9A93D2F619B1FB8E6A7D46F1C /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; - FE8FD6AAE9C4AD9074B8ADD2754D27CC /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/index.html; sourceTree = ""; }; FECCD0DFA1B5AC88BE310179E43A5722 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; - FF180E81D5CF3A1CADCD92FBD47F4C04 /* CachingPlayerItem.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CachingPlayerItem.debug.xcconfig; sourceTree = ""; }; - FFD2C8DDA689C15B9964A6BA2B91BCBF /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/css/jazzy.css; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 4853A8C7A32A790DB757E346C6CB301D /* Frameworks */ = { + 813AFD27AA5CD06136C71E541DBC0CB9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D392F6B2FA170B0C80F8ACE74BD724C9 /* Foundation.framework in Frameworks */, + A53B2E144B6A63C518FD4927293A8050 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 56EE85A37984AD896C58BAEDEF6835BC /* Frameworks */ = { + BC9D1F04E97B92FC4289866ECD95C882 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D5F9007B27D8A964A59DEF1B1FF9836C /* AVFoundation.framework in Frameworks */, - EC614D9F4E90768EDAD8867FDF1AA3DF /* Foundation.framework in Frameworks */, + 7D54398DC6FEA5F878EB3DA9B82BCEE4 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 697CF14C36D1C959756A9A1B4A89553D /* Frameworks */ = { + C2A7B137F2D481B88E9609B979BE6AFE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 610CEB4BDE1C763C5CA2025801FA6C19 /* Foundation.framework in Frameworks */, + 7981FCF6822DE2547C70226639A996DB /* AVFoundation.framework in Frameworks */, + 87C4492353709B68EE6BCF6A39894D43 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8E202F7FB2637D2972DBA7A878C35FEC /* Frameworks */ = { + DA8489B6D5E9C56DC3D6471AE4A67F6D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 97FA3A0D9196BB3D170B7F7F2A6BDFCD /* Foundation.framework in Frameworks */, - 2551CBC318614FA2BF169B2844F46724 /* XCTest.framework in Frameworks */, + 604A73AD1D0E82356F2A073C53BC6517 /* Foundation.framework in Frameworks */, + EB892573E1CA332ED26DCC659406E79B /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C686BFEFB6A62D9B14E65DC7010E2DEB /* Frameworks */ = { + DD6C5AE0FCB56EC173421774C5CA73D3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED19AC2F490C66E0DE2E2ACFBFBA7371 /* Foundation.framework in Frameworks */, + 79A9ADCAE72B5F30CE882F79CDDDD47F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -446,21 +450,6 @@ path = "Target Support Files/Pods-CachingPlayerItem_Example"; sourceTree = ""; }; - 09BC02C90A13F257603420A32EA7B1FD /* CachingPlayerItem */ = { - isa = PBXGroup; - children = ( - 3865CFB2696EFCD1419295CEA9266165 /* CachingPlayerItem.swift */, - C56D6F310AC1B803DD8342372DCC6B11 /* CachingPlayerItemConfiguration.swift */, - DF9F1F48C5FAA3EDE19E0743CC822906 /* MediaFileHandle.swift */, - FDB248F1686720332ACF9DA3B8BDBE56 /* ResourceLoaderDelegate.swift */, - 9D2329236D787235A5653D38E8B2060A /* URLExtension.swift */, - A6ACB2BBE4B403F6FB95778FF2875EBF /* Pod */, - 552E26CBF2E174BAC96533BFB1BA4B13 /* Support Files */, - ); - name = CachingPlayerItem; - path = ../..; - sourceTree = ""; - }; 234920750B70631E944AAFECC3A3E59F /* Nimble */ = { isa = PBXGroup; children = ( @@ -541,21 +530,6 @@ path = Nimble; sourceTree = ""; }; - 552E26CBF2E174BAC96533BFB1BA4B13 /* Support Files */ = { - isa = PBXGroup; - children = ( - 76079078982B1C544240D04EBDC6E9B9 /* CachingPlayerItem.modulemap */, - E2FC18655E1BBFB9C9F5D12662EDD26B /* CachingPlayerItem-dummy.m */, - 14ACD1EC8658EB37B5C3F54F57DA149B /* CachingPlayerItem-Info.plist */, - 4EAC2E8EE8BAC03193BA61F457A434F0 /* CachingPlayerItem-prefix.pch */, - 6F6143C60E17F82DE4AB560DA2CA9F39 /* CachingPlayerItem-umbrella.h */, - FF180E81D5CF3A1CADCD92FBD47F4C04 /* CachingPlayerItem.debug.xcconfig */, - F1D051874A74B26F59B21617F4202393 /* CachingPlayerItem.release.xcconfig */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/CachingPlayerItem"; - sourceTree = ""; - }; 5E5757EBADB7784C3F3A9CAA043B4E9B /* Support Files */ = { isa = PBXGroup; children = ( @@ -571,6 +545,23 @@ path = "../Target Support Files/Quick"; sourceTree = ""; }; + 7A7B1E4F120502791B124B6323D6F2C8 /* CachingPlayerItem */ = { + isa = PBXGroup; + children = ( + 3FA217C8B7B74D1BBF43A5589957D076 /* CachingPlayerItem.swift */, + 5323A1F3FF3EF67020718D8186476E68 /* CachingPlayerItemConfiguration.swift */, + 9C68FBC1B54CE7FD4707117033EC4A57 /* MediaFileHandle.swift */, + 7E8436A04E894A216301DB82D7D38F76 /* PendingRequest.swift */, + 0E09667A15A4D7B0BCB00291A4B2F90B /* ResourceLoaderDelegate.swift */, + E12E1CBA9A786855CE4A5EF87AE72907 /* URLExtension.swift */, + 229B5EBF1D386F6C99A7C196B5A9636F /* URLResponseExtension.swift */, + A84C961F3F87AAB0D0EFC4BDAE112B3E /* Pod */, + CB1D82DD77C326812BCF6D51774D043E /* Support Files */, + ); + name = CachingPlayerItem; + path = ../..; + sourceTree = ""; + }; 9C4CE22019CDE90117DFD34A94EA37F9 /* Pods-CachingPlayerItem_Tests */ = { isa = PBXGroup; children = ( @@ -597,58 +588,58 @@ name = "Targets Support Files"; sourceTree = ""; }; - A6ACB2BBE4B403F6FB95778FF2875EBF /* Pod */ = { + A84C961F3F87AAB0D0EFC4BDAE112B3E /* Pod */ = { isa = PBXGroup; children = ( - 78D6072B965CF4CA4131BEFC79001EA1 /* badge.svg */, - 72686393E4ECEA1DF64E731A09447E59 /* badge.svg */, - 74F220C3EC797FC96D409B05EA3C0753 /* CachingPlayerItem.html */, - 146AD1D22FE345B647EDFFE402A1D1A7 /* CachingPlayerItem.html */, - 0C2AD6664FADB2F28953FD60175B7233 /* CachingPlayerItem.podspec */, - 88325C32F6DB93824D08B6BDCC875919 /* CachingPlayerItem.tgz */, - 4A360A3DA5DB793AC9316482F5C408FF /* CachingPlayerItem.xml */, - 7EE23345A3A3EE8C3D49CC21489331C2 /* CachingPlayerItemConfiguration.html */, - 813E4788633E66F6F7F13528DD23DC82 /* CachingPlayerItemConfiguration.html */, - 8D7C66D9176F42A7E228F4A0F27E961D /* CachingPlayerItemDelegate.html */, - E73AB33A9886DC9C8907489BF3BC5DEB /* CachingPlayerItemDelegate.html */, - BDADED2F87E6C7DA6E219C1DD57353A4 /* carat.png */, - 56B5F6B5DD27BA6B01DFC92D9A26E2C7 /* carat.png */, - 6EF9C32C7E5E7F31C003165D488C38A4 /* Classes.html */, - DD389C65BA056F5256FF2DF432AD5E47 /* Classes.html */, - 1D8B3F39AC50E3956684B2C278412914 /* dash.png */, - 4BF14D07208604213EFC166E65E4946A /* dash.png */, - F40E8791068366DED4417AF7CA23A37B /* docSet.dsidx */, - 8829476925A7F294846EF5B066CB6E9D /* Enums.html */, - EE7FE3131B02AAB4923BF277BC850C40 /* Enums.html */, - 2940B266F0F736CD7089ED1D7AA08228 /* gh.png */, - B6C18EAFD70D2C4DC1F64FAAF29C741F /* gh.png */, - BC493B2D615028A11E79FA5DF0FB1116 /* highlight.css */, - 275027C72249959419D8A217BA4D2ED3 /* highlight.css */, - 2C684331832794725A6B326396680175 /* index.html */, - FE8FD6AAE9C4AD9074B8ADD2754D27CC /* index.html */, - A577961BE492D9146722192CC9E5270F /* Info.plist */, - F83C0C77B28C9882573D3C571A489C84 /* jazzy.css */, - FFD2C8DDA689C15B9964A6BA2B91BCBF /* jazzy.css */, - 47CF46FC5720DB3A1D2D7A3D7DA2F18D /* jazzy.js */, - 118955FD689443374DEC9F8189C5BF2D /* jazzy.js */, - 05BEC42558D09E109F1053573EDAA8C7 /* jazzy.search.js */, - 4892DCED314D87F4A1CBDF6420D2638A /* jazzy.search.js */, - BDEA4455F6F9DEDF3A62C17A3838ADD9 /* jquery.min.js */, - 7765C22735D07FF463480F6920359A6D /* jquery.min.js */, - C7B72F1BA638F523413E75B9EEEE182E /* LICENSE */, - E777A5333860FDF20626753EDA5B8AD4 /* lunr.min.js */, - 6BA262CA189C5168CBA4E7B07785E3AB /* lunr.min.js */, - 8835FAAA9C95CFC30BC0ADF84F16A300 /* Protocols.html */, - 20D83324A41F2F939E19372E6AD80488 /* Protocols.html */, - C05B94D10E412D664713B4B9BEA23A5B /* README.md */, - A6AB8723F0A03375BF129CEA43D8293C /* search.json */, - 7EA3A163609A6033FBE5FAC31D269757 /* search.json */, - 6C97B1568903532595E13D3003B393E5 /* spinner.gif */, - D60583ADCA7D54C1A507E505607375D8 /* spinner.gif */, - 7150299CF04EB691610A6BFA5C5B5A84 /* typeahead.jquery.js */, - 51B371C9FDF13075E28623D73B8C0362 /* typeahead.jquery.js */, - 8E22DA3DE43CC94BD1147CD41310CD26 /* undocumented.json */, - 74B5A9E9E795512FC43E08E1C0AE0F19 /* undocumented.json */, + 99A605112D6BE27460B7C6BEA7B9743F /* badge.svg */, + C5BCEB4BB9C7DF06A593DBC787711907 /* badge.svg */, + C59C073D14A969AF2E18E3F940957ED0 /* CachingPlayerItem.html */, + 8C0D0AEDA64D57A4828E5410426E054A /* CachingPlayerItem.html */, + 18CF2373C52E966439C89CF2938EF628 /* CachingPlayerItem.podspec */, + A0C7939CCB907112F0610578D9B604E1 /* CachingPlayerItem.tgz */, + 73CFE270D172038A1CE837A933EC1581 /* CachingPlayerItem.xml */, + 0E20C6EA08C2F5A5825834D7EDF503B2 /* CachingPlayerItemConfiguration.html */, + 5D1EFD79C9EE09F6730B10071CE6F371 /* CachingPlayerItemConfiguration.html */, + 1C6C5B765472E56811E1AE64255ED3E3 /* CachingPlayerItemDelegate.html */, + 85AEF502DC7D9BAE4A095F7FAEFE98CB /* CachingPlayerItemDelegate.html */, + 3F5A5A301DE18B78A12E6657F6A775B3 /* carat.png */, + 92CF74B88D7D7725C841CF8296D26FE9 /* carat.png */, + 35D34979BDF953E2AEA691CFF13F6CFF /* Classes.html */, + 95EC99F6D3C6AE6259FD85A5DA8ED37E /* Classes.html */, + FBFAB3BA37F44CE62D4128B92CAF480F /* dash.png */, + 839B7842AF466C44EE21305DC8AEE5B4 /* dash.png */, + 156AC5F5E22221B75F7943507B01E1A3 /* docSet.dsidx */, + 8E71C2BD6B54978615CC489DF0FE9B49 /* Enums.html */, + 7390B7D430CABCF3DF4A052537023090 /* Enums.html */, + 9ADCBBAF527F96805FEF4F8625434DDD /* gh.png */, + 0D043E058C7E2F3121E2277329E4CC49 /* gh.png */, + F32A96986A3838AE8630007833312752 /* highlight.css */, + C7D433B61C4B1B475C9DE7CBBF0FE005 /* highlight.css */, + 9F247FAF3E0C7C8EAA733E942B05FC40 /* index.html */, + 016E0198A5E10082DDE3AC936E35DC0C /* index.html */, + 9F5516A254FFF76EADBA5993E24EFFF3 /* Info.plist */, + F58D0F50B975339DA587469A4BF21B9D /* jazzy.css */, + 8C5ADEF5FA07E5FF2902FABB11613553 /* jazzy.css */, + 870F30730EB667E726F5A61070D42DED /* jazzy.js */, + 545FF21489DED18DE9E66E5EAA000A39 /* jazzy.js */, + 159FC1FB9B754E649EFF79954CFD7404 /* jazzy.search.js */, + 2414F1BB4028A6549C914C13E986C23E /* jazzy.search.js */, + 94AE75A6F682EED2CE2ECA413E5E0470 /* jquery.min.js */, + E07243BC9819D047B47B279ABC20E80F /* jquery.min.js */, + 43C6055AB64B6ED187BFD2C321BB627F /* LICENSE */, + A8ABEE1126550074D499CD149FE2594E /* lunr.min.js */, + 8017B53F08579D8F8CF9DE758B249C94 /* lunr.min.js */, + 1D4E5C97FDEF7F81E0ABC02DBC00A91D /* Protocols.html */, + A774D5810041BA3B1219E09030710A8D /* Protocols.html */, + 04C2A650CEC3F7C8C07073C51E8C022E /* README.md */, + A99C103BA9347FB7991F9BDE493E82A0 /* search.json */, + 902575D2A2273F1BD5597F9D45DBF2E9 /* search.json */, + 446E947816F05791DB496C24CDC9B671 /* spinner.gif */, + 9EC7E13BD2610A605101FF375E54A590 /* spinner.gif */, + C7E573F79063955500D72EFF1AC8E8E7 /* typeahead.jquery.js */, + 03815C3F4FF4FEAA9B027B0CCAA34D4C /* typeahead.jquery.js */, + D7339A5A1CCC17169336D1D60EB2FEC4 /* undocumented.json */, + 2E5F8C0DE70B804AA52BFFF4E7013A3D /* undocumented.json */, ); name = Pod; sourceTree = ""; @@ -714,36 +705,51 @@ name = Pods; sourceTree = ""; }; - C35D68F2E23204AEB72B0F667F08B217 /* Products */ = { + CB1D82DD77C326812BCF6D51774D043E /* Support Files */ = { isa = PBXGroup; children = ( - 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem.framework */, - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */, - 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods_CachingPlayerItem_Example.framework */, - AA8FB5C3C35312AD587DBD03732DF917 /* Pods_CachingPlayerItem_Tests.framework */, - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */, + F5DEBD2173B13825BB3062C09E7706FD /* CachingPlayerItem.modulemap */, + F156B3181CD0E5DC8ACC95A83C92F2AD /* CachingPlayerItem-dummy.m */, + 6D61EBE42044E38BD85497E90BB54A7F /* CachingPlayerItem-Info.plist */, + E5CC29C30550DF79AF50585D0382D8F7 /* CachingPlayerItem-prefix.pch */, + 29C5F1CE85DD3056C90D7387CC274FFA /* CachingPlayerItem-umbrella.h */, + ABCF9F9221FB774A86457A979A3E2547 /* CachingPlayerItem.debug.xcconfig */, + 695D74EA6ECB5940111C2173CF5DED4E /* CachingPlayerItem.release.xcconfig */, ); - name = Products; + name = "Support Files"; + path = "Example/Pods/Target Support Files/CachingPlayerItem"; + sourceTree = ""; + }; + CE570CA3F59376AF29A17B583FED027D /* Development Pods */ = { + isa = PBXGroup; + children = ( + 7A7B1E4F120502791B124B6323D6F2C8 /* CachingPlayerItem */, + ); + name = "Development Pods"; sourceTree = ""; }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - D2FEEE416415CD0FFD03CAA305F0AE8E /* Development Pods */, + CE570CA3F59376AF29A17B583FED027D /* Development Pods */, 03C5C200A0787E300053CFA8F53CA094 /* Frameworks */, B716C811F0F14528B6525E2277EA7060 /* Pods */, - C35D68F2E23204AEB72B0F667F08B217 /* Products */, + DB115620A984A8A871C322941EA84559 /* Products */, 9FFC6D95FE7D47F9E564DB31D49B1873 /* Targets Support Files */, ); sourceTree = ""; }; - D2FEEE416415CD0FFD03CAA305F0AE8E /* Development Pods */ = { + DB115620A984A8A871C322941EA84559 /* Products */ = { isa = PBXGroup; children = ( - 09BC02C90A13F257603420A32EA7B1FD /* CachingPlayerItem */, + 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem */, + BAE263041362D074978BB3B577DF0A05 /* Nimble */, + 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods-CachingPlayerItem_Example */, + AA8FB5C3C35312AD587DBD03732DF917 /* Pods-CachingPlayerItem_Tests */, + 0D631E9908483F9525A6B3F36F16CC61 /* Quick */, ); - name = "Development Pods"; + name = Products; sourceTree = ""; }; F923BB2138842707ACB953DF108B2BFC /* Support Files */ = { @@ -764,56 +770,56 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 301556F66E66D9FAA53F5E10CE382BE6 /* Headers */ = { + 2ECA8588289B7FD3CD8D5FC71DC87C4E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8A7A3AFF694933726D4726769068AC14 /* Pods-CachingPlayerItem_Tests-umbrella.h in Headers */, + EA4EC4B3853541FDC946239C036D12C9 /* CwlCatchException.h in Headers */, + E2EE2E7797C383576ACBFE4986179459 /* CwlMachBadInstructionHandler.h in Headers */, + FC4F734925BC0EDDCD7C10AFBF93C576 /* DSL.h in Headers */, + 19A8009537BCAD56435B2DDC620B29AA /* mach_excServer.h in Headers */, + 21F3408E9BD0BE7C7A9FFBF43B4F28A0 /* Nimble.h in Headers */, + C03116C765F1A8893559730965ECBAD8 /* Nimble-umbrella.h in Headers */, + 60A059AA3734D5D3F2F73D07C427F4C1 /* NMBExceptionCapture.h in Headers */, + 7190961540266108624E854866842A81 /* NMBStringify.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5864C8DE441A61168C3E30FA49C55755 /* Headers */ = { + 685E467E5F675BE9329203A155675B9E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FF19798801098184A22810834528D1AC /* Pods-CachingPlayerItem_Example-umbrella.h in Headers */, + E511C6D8303FC4E7ABC7F8D33C19DF38 /* Pods-CachingPlayerItem_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8EA28D842BC003811FDEEE44E2271D5E /* Headers */ = { + 858BA8882D480E1B201AE2476A8BBBEC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6C53B0695A60489C1FFCBE9FABBFA47A /* QCKDSL.h in Headers */, - FC740FFCEA8E90C8F3DB11189FD9FA9D /* Quick-umbrella.h in Headers */, - 62B4411C147375E0F1D0639B40963428 /* Quick.h in Headers */, - A5EB253AF98ECD3895797CF40302FA39 /* QuickConfiguration.h in Headers */, - 44CC283E83FE6CCCAAB2F327740770E7 /* QuickObjCRuntime.h in Headers */, - E282A90FA01DE2C5003A3E17907E17A9 /* QuickSpec.h in Headers */, - 7433873AD9AFAE2CA71EFD10FA2CD88C /* QuickSpecBase.h in Headers */, + 04B815FC0ACB3FED6290C6E0505587E7 /* Pods-CachingPlayerItem_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9C01C89BB672F9A373B0BE8233D888E2 /* Headers */ = { + EF56162795BEE38037C39740F2E15F4B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6D2EB1AA036F99007BFB31045522F459 /* CwlCatchException.h in Headers */, - D989AA28FF39931A8E9F6FFD665FD0B7 /* CwlMachBadInstructionHandler.h in Headers */, - 15DB927C7009266E077993F38882D40E /* DSL.h in Headers */, - C12A5EDA29052D6AB6B5C08EB827147F /* mach_excServer.h in Headers */, - 1AF9A29318570C093E7F92579080C6C4 /* Nimble-umbrella.h in Headers */, - 4507C3FA3B3C2A7A13D9C503CFD9CC19 /* Nimble.h in Headers */, - 665B3B718611BE55F338D2CF4602AC74 /* NMBExceptionCapture.h in Headers */, - C7B3848543A19E420CA7638FBF6775CB /* NMBStringify.h in Headers */, + 612581CCD8346C696A80E6BC09D24C1F /* QCKDSL.h in Headers */, + E1CD0FEF6BA86FA9C28038C818E2514A /* Quick.h in Headers */, + C96B370E9B3442878448F8FFFDC98C7A /* Quick-umbrella.h in Headers */, + 6A47C53473FBCF2FF5C85069FBD4CA8D /* QuickConfiguration.h in Headers */, + FE67CE5AE4DFFE6B850FA43334EEBDC0 /* QuickObjCRuntime.h in Headers */, + D8B8FCEC597824B40986C8F4F7B50899 /* QuickSpec.h in Headers */, + 32995147DC30DF5022DD66C0470BFDE9 /* QuickSpecBase.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A0A42820CD27D939DEDDA2A20614AB7C /* Headers */ = { + F08F82A949D1A587A12D4E8419C8A4F2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F0BE82B3C81BDAF3B7134D8C76E8819E /* CachingPlayerItem-umbrella.h in Headers */, + 855A990E6D084C1576917EBC48BF1190 /* CachingPlayerItem-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -822,12 +828,12 @@ /* Begin PBXNativeTarget section */ 31D3DC3FCCAB0AB08B35437BFBC158AA /* CachingPlayerItem */ = { isa = PBXNativeTarget; - buildConfigurationList = 05E62F89D1025A58CC0C1242E60D5770 /* Build configuration list for PBXNativeTarget "CachingPlayerItem" */; + buildConfigurationList = 3FC23B83981D5F0247AB6ADE3EEDBF11 /* Build configuration list for PBXNativeTarget "CachingPlayerItem" */; buildPhases = ( - A0A42820CD27D939DEDDA2A20614AB7C /* Headers */, - 7EC7A34614B5621A819A96AA53596F80 /* Sources */, - 56EE85A37984AD896C58BAEDEF6835BC /* Frameworks */, - A0E571258D4AAF758B5025018513756F /* Resources */, + F08F82A949D1A587A12D4E8419C8A4F2 /* Headers */, + D270277FD90CBB922B3AEE35CCF059F7 /* Sources */, + C2A7B137F2D481B88E9609B979BE6AFE /* Frameworks */, + A415F2F8065BE359C842AE44823BCDA8 /* Resources */, ); buildRules = ( ); @@ -835,36 +841,36 @@ ); name = CachingPlayerItem; productName = CachingPlayerItem; - productReference = 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem.framework */; + productReference = 8A6231DC8C4D8B744E89BA96003682AB /* CachingPlayerItem */; productType = "com.apple.product-type.framework"; }; 5AC845F8F60E6D74BC46BB3D65D32A0E /* Pods-CachingPlayerItem_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = CAC7365AE9813401F0DFF3E19985CEC8 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Example" */; + buildConfigurationList = A231F3427FDF274932CD996F07AB2897 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Example" */; buildPhases = ( - 5864C8DE441A61168C3E30FA49C55755 /* Headers */, - 23138A16E366EE7B94A88713FE64A97E /* Sources */, - 4853A8C7A32A790DB757E346C6CB301D /* Frameworks */, - 95C52C3F7CCC5B17BBA0FDCBE33F9CE0 /* Resources */, + 858BA8882D480E1B201AE2476A8BBBEC /* Headers */, + 39D98DB0C3AE88266B61C758BA5E13D4 /* Sources */, + 813AFD27AA5CD06136C71E541DBC0CB9 /* Frameworks */, + 3B3AC82A96BDC453C650FBDAA85FB99F /* Resources */, ); buildRules = ( ); dependencies = ( - 77CE617BEB6AC02E2CD4F0B90C81EA8C /* PBXTargetDependency */, + 41F92BEE62EC3EFAD62CC109DE3378B6 /* PBXTargetDependency */, ); name = "Pods-CachingPlayerItem_Example"; - productName = "Pods-CachingPlayerItem_Example"; - productReference = 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods_CachingPlayerItem_Example.framework */; + productName = Pods_CachingPlayerItem_Example; + productReference = 62243388BD2CDBA0C9E1E84E4EC3C0E3 /* Pods-CachingPlayerItem_Example */; productType = "com.apple.product-type.framework"; }; 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */ = { isa = PBXNativeTarget; - buildConfigurationList = F6705D09AFC59B144E7015490019601A /* Build configuration list for PBXNativeTarget "Nimble" */; + buildConfigurationList = 84E3C08133057626870418A290649C7E /* Build configuration list for PBXNativeTarget "Nimble" */; buildPhases = ( - 9C01C89BB672F9A373B0BE8233D888E2 /* Headers */, - AB6CA551A58E1C678E9D6EA1AC37FFEB /* Sources */, - 697CF14C36D1C959756A9A1B4A89553D /* Frameworks */, - 36CAF29A7E7B1A86D0FCFE6B04A2FF0A /* Resources */, + 2ECA8588289B7FD3CD8D5FC71DC87C4E /* Headers */, + BA1BC0E48F3ADC5507788A7AED85E9E6 /* Sources */, + DD6C5AE0FCB56EC173421774C5CA73D3 /* Frameworks */, + C8C24821D185E1A194A59A3A3BCB60CA /* Resources */, ); buildRules = ( ); @@ -872,38 +878,38 @@ ); name = Nimble; productName = Nimble; - productReference = BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */; + productReference = BAE263041362D074978BB3B577DF0A05 /* Nimble */; productType = "com.apple.product-type.framework"; }; 8CF0973AB87B217D827FFF761A033194 /* Pods-CachingPlayerItem_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = B1FCEFFC2F994054F0764D8130DBF095 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Tests" */; + buildConfigurationList = 3A834C823C880980CA3F53E920B8435D /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Tests" */; buildPhases = ( - 301556F66E66D9FAA53F5E10CE382BE6 /* Headers */, - 63A10D9D56712217DD1CDD955F93520C /* Sources */, - C686BFEFB6A62D9B14E65DC7010E2DEB /* Frameworks */, - F568C2D787E74E79B0B2746A024775F0 /* Resources */, + 685E467E5F675BE9329203A155675B9E /* Headers */, + 67FEE34574DAF87809AAFFF0C00713D3 /* Sources */, + BC9D1F04E97B92FC4289866ECD95C882 /* Frameworks */, + D162086B50E047C4A2FDD7EFCB86E988 /* Resources */, ); buildRules = ( ); dependencies = ( - 57D9D07E27FEB78BD41A153883C3D202 /* PBXTargetDependency */, - 2757FDBEE57493773388AF0FB883DC12 /* PBXTargetDependency */, - 396F99AC732D035EE6AC4A09D22DF682 /* PBXTargetDependency */, + 215F1A72AEAD4D0386CEDBE74EDAD370 /* PBXTargetDependency */, + 2C9548D742675439AE861108B5473B58 /* PBXTargetDependency */, + D4BC61C7B5D39777329CA73572480C2B /* PBXTargetDependency */, ); name = "Pods-CachingPlayerItem_Tests"; - productName = "Pods-CachingPlayerItem_Tests"; - productReference = AA8FB5C3C35312AD587DBD03732DF917 /* Pods_CachingPlayerItem_Tests.framework */; + productName = Pods_CachingPlayerItem_Tests; + productReference = AA8FB5C3C35312AD587DBD03732DF917 /* Pods-CachingPlayerItem_Tests */; productType = "com.apple.product-type.framework"; }; C82891EAB7293DBEE916B21F57E8474D /* Quick */ = { isa = PBXNativeTarget; - buildConfigurationList = F2B4D510B50F2BA6EE84690A129A445C /* Build configuration list for PBXNativeTarget "Quick" */; + buildConfigurationList = 1D467AF12BCFD8263C61085D135659C3 /* Build configuration list for PBXNativeTarget "Quick" */; buildPhases = ( - 8EA28D842BC003811FDEEE44E2271D5E /* Headers */, - F597BF576BAA00E7B8B42D9D445B9730 /* Sources */, - 8E202F7FB2637D2972DBA7A878C35FEC /* Frameworks */, - E1ADE9DEAB79E323D274141A87BB5060 /* Resources */, + EF56162795BEE38037C39740F2E15F4B /* Headers */, + 5F7791E1C3AEEF354315AD6A1EC5DD57 /* Sources */, + DA8489B6D5E9C56DC3D6471AE4A67F6D /* Frameworks */, + 78B22DE6F38E020E338DC52F9D195A52 /* Resources */, ); buildRules = ( ); @@ -911,7 +917,7 @@ ); name = Quick; productName = Quick; - productReference = 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */; + productReference = 0D631E9908483F9525A6B3F36F16CC61 /* Quick */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -920,19 +926,19 @@ BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1100; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; }; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = C35D68F2E23204AEB72B0F667F08B217 /* Products */; + productRefGroup = DB115620A984A8A871C322941EA84559 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -946,35 +952,35 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 36CAF29A7E7B1A86D0FCFE6B04A2FF0A /* Resources */ = { + 3B3AC82A96BDC453C650FBDAA85FB99F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 95C52C3F7CCC5B17BBA0FDCBE33F9CE0 /* Resources */ = { + 78B22DE6F38E020E338DC52F9D195A52 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A0E571258D4AAF758B5025018513756F /* Resources */ = { + A415F2F8065BE359C842AE44823BCDA8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E1ADE9DEAB79E323D274141A87BB5060 /* Resources */ = { + C8C24821D185E1A194A59A3A3BCB60CA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - F568C2D787E74E79B0B2746A024775F0 /* Resources */ = { + D162086B50E047C4A2FDD7EFCB86E988 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -984,176 +990,179 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 23138A16E366EE7B94A88713FE64A97E /* Sources */ = { + 39D98DB0C3AE88266B61C758BA5E13D4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F655BE2E98E916AC0EB09E627C43C3AA /* Pods-CachingPlayerItem_Example-dummy.m in Sources */, + 259BF5B2716811449046CBCF05FA5C38 /* Pods-CachingPlayerItem_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 63A10D9D56712217DD1CDD955F93520C /* Sources */ = { + 5F7791E1C3AEEF354315AD6A1EC5DD57 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7D171247CA2ABB73A04421806294736F /* Pods-CachingPlayerItem_Tests-dummy.m in Sources */, + 72E8C878B1927D988D108E3177403359 /* Behavior.swift in Sources */, + 7778C6B86287F5E2F906D9A7929B1F32 /* Callsite.swift in Sources */, + F7E32B0968669AF58CC182C6B96FD0A4 /* Closures.swift in Sources */, + 39F7D7CBD814A4DD7A8907951314A36C /* Configuration.swift in Sources */, + DD6DD40497DF10767F94B6B9AA0FD76E /* DSL.swift in Sources */, + 1AE2F33DF9F5F77B8F992AD620C5DE94 /* ErrorUtility.swift in Sources */, + 40B9F78D86FB4CE884EA9F73CDDF27E6 /* Example.swift in Sources */, + D8C6C2FD9936FE5E3B7C39A95483313A /* ExampleGroup.swift in Sources */, + 4DC21C433B0E7FC92A8C7956943EDBAE /* ExampleHooks.swift in Sources */, + A6E27F55BDE035D65EBD7F43580B0E9E /* ExampleMetadata.swift in Sources */, + 59E81A3529AA2EA5F274387B207DE008 /* Filter.swift in Sources */, + 18D714FD70EA5AD28403F0EA57869F3E /* HooksPhase.swift in Sources */, + ECFB15EC751302F529DA5D911EECB165 /* NSBundle+CurrentTestBundle.swift in Sources */, + FF9E9BBB984E82DBD3AC0E8CC16C576F /* QCKDSL.m in Sources */, + 997EC03E15F19A72CC410FDCDBFDF387 /* Quick-dummy.m in Sources */, + DC267B5C6058DD95B0A10596561DD2CD /* QuickConfiguration.m in Sources */, + CA76C6322518A8581332F08D97B58256 /* QuickConfiguration.swift in Sources */, + 053B88AAB25D8E9E247314D1A1933B19 /* QuickSelectedTestSuiteBuilder.swift in Sources */, + 0132BCEC809FC6B0731C8FD25329B011 /* QuickSpec.m in Sources */, + A98DB1F750AC4D9C4700ADDC970BB5A9 /* QuickSpecBase.m in Sources */, + C2E1F79FD03B6561EEF71E1775E64C89 /* QuickTestObservation.swift in Sources */, + 880127B565D384955284322078C87AB2 /* QuickTestSuite.swift in Sources */, + 2BDF0A0BCDCCB4CDB35FC276EBE18FB6 /* String+C99ExtendedIdentifier.swift in Sources */, + 5691B93A51512304D117B4A69DDD507E /* SuiteHooks.swift in Sources */, + D60A1EE9D24DFF74F1E920F68CFF749A /* URL+FileName.swift in Sources */, + 8F5C3B5756C30090332AC514897F4A2F /* World.swift in Sources */, + 49857B3D7D3AE323F25A8663A569ADD8 /* World+DSL.swift in Sources */, + B43C79561813FC1E0C76BED57C3638DE /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7EC7A34614B5621A819A96AA53596F80 /* Sources */ = { + 67FEE34574DAF87809AAFFF0C00713D3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DD13D7F39BF525E3E515719845C3D951 /* CachingPlayerItem-dummy.m in Sources */, - 2513544A87AE23B204407637DC8CF5AF /* CachingPlayerItem.swift in Sources */, - C9EFD79787203ED7436E0436ABE69A4A /* CachingPlayerItemConfiguration.swift in Sources */, - E6E826B1E39D4EDF688F84781E0EF0FA /* MediaFileHandle.swift in Sources */, - 45E7CAF07B6469F2BBA312440782C90B /* ResourceLoaderDelegate.swift in Sources */, - B1748512B443FCEA0F846B5E93F8DDF0 /* URLExtension.swift in Sources */, + F9C2B71231752C62A65D26FDCCC3BEBD /* Pods-CachingPlayerItem_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB6CA551A58E1C678E9D6EA1AC37FFEB /* Sources */ = { + BA1BC0E48F3ADC5507788A7AED85E9E6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8F01AC0753C01A52C349A233690D7938 /* AdapterProtocols.swift in Sources */, - C2D906D76A9597A6C5B496D316893560 /* AllPass.swift in Sources */, - 520E7371FE7DB9BF712762793CC0BB4B /* AssertionDispatcher.swift in Sources */, - CFB78DAD8A511C9123F8559BA702B5E4 /* AssertionRecorder.swift in Sources */, - DBB0B80C28F80394644E12D3C4EE2CB3 /* Async.swift in Sources */, - 69FB2A0E963C18660AA3B8CFE72FE3C4 /* Await.swift in Sources */, - E9EB5895A3C64621F2D5D153BD103D6E /* BeAKindOf.swift in Sources */, - E0E2E724288F13C852B9DB0C323ABBE4 /* BeAnInstanceOf.swift in Sources */, - F1EDFF4C8CD256D625C5B46E0768AEFB /* BeCloseTo.swift in Sources */, - 80D116D3CC62170FF258E5AEABE6792A /* BeEmpty.swift in Sources */, - 9A1BE88CE8717D03F12BF668F2ACF766 /* BeginWith.swift in Sources */, - 89396273444D853480B62B113EE22623 /* BeginWithPrefix.swift in Sources */, - B212BEE5869453F67DE16621A5388954 /* BeGreaterThan.swift in Sources */, - E5FA00B2EC7B07285D2AE732D338BBDC /* BeGreaterThanOrEqualTo.swift in Sources */, - 2432100DBFB954DDC3AC2CEA3E170B9D /* BeIdenticalTo.swift in Sources */, - A1D30A36109E6A90E1791B51BAE55A72 /* BeLessThan.swift in Sources */, - 03D2B9651FD82FC0D5C97AD6F0E561D4 /* BeLessThanOrEqual.swift in Sources */, - F92273C61B48AB0E00CC817DF18A4C47 /* BeLogical.swift in Sources */, - E41DA6DEFB27EE0BCF12DC39EF0E1E1A /* BeNil.swift in Sources */, - 01A04218EC99765ADC0409631E60BB97 /* BeVoid.swift in Sources */, - 1126E10683633A8503EE54632EE12803 /* Contain.swift in Sources */, - 1E3B805AA2F844C715C9F3135A7D7BD5 /* ContainElementSatisfying.swift in Sources */, - A4E1AC7A059F8774AECC57EB095245DA /* CwlBadInstructionException.swift in Sources */, - 2D1BD8BC036C099C617457E7BF7AC8CB /* CwlCatchBadInstruction.swift in Sources */, - 86D9716ADE347B2916F9CB715A3B26D5 /* CwlCatchException.m in Sources */, - 31F310A182C07209B212AC43C4AD699E /* CwlCatchException.swift in Sources */, - 2AC400B28F334D89B97F36620EF4F362 /* CwlDarwinDefinitions.swift in Sources */, - B844C53365327CB75CC1645AE73CDCED /* CwlMachBadInstructionHandler.m in Sources */, - D5909A235107CDC9E1B0C12CB08B6505 /* DispatchTimeInterval.swift in Sources */, - 64FF7B082BBD75946F6B6342F202F6CC /* DSL+Wait.swift in Sources */, - 1F5967DC89CF19ABF6F288617010D900 /* DSL.m in Sources */, - 9D1731F108FFD33C034F6A859A8A625B /* DSL.swift in Sources */, - 501A30CB9F16F63F7FBABA667043DCCC /* ElementsEqual.swift in Sources */, - FD1E01D8C3414F0495353334492BF4A9 /* EndWith.swift in Sources */, - AD4AC85D286EF36E94059676F912BE33 /* Equal+Tuple.swift in Sources */, - E1F708C047C1B3C52B13F4D322D15F69 /* Equal.swift in Sources */, - C0D3EDC5F8D2546D5B5CB583230606B7 /* Errors.swift in Sources */, - 0E48962ACAEDD1289D7DAE793F3A731F /* Expectation.swift in Sources */, - 6CE2E10D6237472E319B05C3F16A2237 /* ExpectationMessage.swift in Sources */, - CC9476F9485F3506AE3374888A29D0AA /* Expression.swift in Sources */, - F17CCA8ABDDEE4BA268DC3D82A9C59BC /* FailureMessage.swift in Sources */, - 784F57A0959BD334BD0D1158C8359135 /* HaveCount.swift in Sources */, - 2145470ED629F29ABCCBF304F24DA354 /* mach_excServer.c in Sources */, - CA791EB47A2D4F838A353E79B693A4B8 /* Match.swift in Sources */, - 5DD0B3311BB289641928D6E734F4ED55 /* MatcherFunc.swift in Sources */, - FCC23B8552E01DB23CA349EB8921842C /* MatcherProtocols.swift in Sources */, - E80FC1D79D4A8DCA72F3C9A023D7BBD8 /* MatchError.swift in Sources */, - 2C7EA1D1F721BB8C5AFBA3D6427C1034 /* Nimble-dummy.m in Sources */, - 096A350DACDDDFF8805FDAEBE86EC2F6 /* NimbleEnvironment.swift in Sources */, - 606F220B87194FFF5D050FC4942120C5 /* NimbleXCTestHandler.swift in Sources */, - 27C96AB21C9D153E5EEE8CD305935088 /* NMBExceptionCapture.m in Sources */, - 0A363AD0A93A6F9E8961F52B10580718 /* NMBExpectation.swift in Sources */, - 8E2D915F77F55ADEBC7C3B223A4F3A9C /* NMBObjCMatcher.swift in Sources */, - 9D56BAD608CA598B071D591E0112F6BE /* NMBStringify.m in Sources */, - AEB5246A054AE75A5BFA7D8C770E9E8E /* PostNotification.swift in Sources */, - 7FA979F226052E7C77BA9D37FEDA95D2 /* Predicate.swift in Sources */, - 4BB64DB9E1A1717C926E9A2FA7D5DA97 /* RaisesException.swift in Sources */, - 8510469EB9B18B318478019A11F7D784 /* SatisfyAllOf.swift in Sources */, - 800D781D242F5E551B42C4D8393CBB0B /* SatisfyAnyOf.swift in Sources */, - F7FF348727315821588F9F0C635BEE2C /* SourceLocation.swift in Sources */, - DB4F2A50A04E673714C6A8AA32D94D53 /* Stringers.swift in Sources */, - D6276432FE863185A68BC069E47F1BD9 /* ThrowAssertion.swift in Sources */, - F9D4AB9515DB3E931E4AF493DE11895E /* ThrowError.swift in Sources */, - 0DFBCBE5C1E75DC9CD38757ACF33E0A7 /* ToSucceed.swift in Sources */, - 113CB0649F1C41E6358C27C4DC19D0A7 /* XCTestObservationCenter+Register.m in Sources */, + 97C3E58BF923DDDFC24D4093D010B8A1 /* AdapterProtocols.swift in Sources */, + D94D321C599043FB86D4ED10F1AFB564 /* AllPass.swift in Sources */, + 60E7AE4194948B5824E3BA84B9BD7B41 /* AssertionDispatcher.swift in Sources */, + 78414539BDE67644C7ED996057FD8B81 /* AssertionRecorder.swift in Sources */, + D4107A19475104B1EB2F9D8B9BB12749 /* Async.swift in Sources */, + 2237E6E22D72C7C15435869831F2DCE2 /* Await.swift in Sources */, + 583B5AF27B91E2F4EE8D1547443E1C75 /* BeAKindOf.swift in Sources */, + E8CD752EF080995577447A4761A9F923 /* BeAnInstanceOf.swift in Sources */, + 88E1D9F9F8FF7AE322F3261305140328 /* BeCloseTo.swift in Sources */, + D25A73F0AC8F3983007A4826A8851347 /* BeEmpty.swift in Sources */, + 8D56DB5B0A79CF1081062ED05CEEEF24 /* BeginWith.swift in Sources */, + A5A13AA5C8708EC3C78BA26A8C1F606C /* BeginWithPrefix.swift in Sources */, + 4933DA60945D792DFF5BFD12C8EA041E /* BeGreaterThan.swift in Sources */, + 69D887264BF5A2D300A09A92BBABB408 /* BeGreaterThanOrEqualTo.swift in Sources */, + F34340E990EDAE6103B91695F1A5F527 /* BeIdenticalTo.swift in Sources */, + EA22ADD506007952F9890A93DF70E0DA /* BeLessThan.swift in Sources */, + 6612F33BD20A641C4E57C96E7E0EBD7A /* BeLessThanOrEqual.swift in Sources */, + 65BB115F57E7BCEB6908D5000AEA0A81 /* BeLogical.swift in Sources */, + 2CF2036F269D92D594037180F346C926 /* BeNil.swift in Sources */, + 39EB6F3F4D4BC1FB786A3C25827D26BC /* BeVoid.swift in Sources */, + 1CB7927791B377DB30E9CE046A2C664C /* Contain.swift in Sources */, + 36FBD4F8D6EE81B6E753EC3612C90779 /* ContainElementSatisfying.swift in Sources */, + 8F572967B8805D18212CC67C039F0443 /* CwlBadInstructionException.swift in Sources */, + 37D7E98EFCBDBA089CD46482EF1F21C4 /* CwlCatchBadInstruction.swift in Sources */, + CC30B9350D7237C9A3241C7AED584D9D /* CwlCatchException.m in Sources */, + A300D9554F7D25A75347FE6A574A4E34 /* CwlCatchException.swift in Sources */, + 79B88C8C011CFBDB0562BE069224DDCD /* CwlDarwinDefinitions.swift in Sources */, + 0AB4D69A223EE91B885F7EBFB50DE156 /* CwlMachBadInstructionHandler.m in Sources */, + 9DC2ABBC9A7C2D58365B389176258B33 /* DispatchTimeInterval.swift in Sources */, + C2FA0C88754F444F546CD14FAD4983E1 /* DSL.m in Sources */, + 42BBE0E315E36B784C0B87F8FF47BFE4 /* DSL.swift in Sources */, + 66797F8F43C1222974E9CF45F7A3498B /* DSL+Wait.swift in Sources */, + B8A111BEADE508D1C85DF8B7891628AE /* ElementsEqual.swift in Sources */, + BB8370B2AD5EDA60D508B0A9FA16E4D9 /* EndWith.swift in Sources */, + FC9E5E03A90FEAD4AB11759F8AC2805E /* Equal.swift in Sources */, + 8FB7B05F443BDE9227CDB4F77C435D8B /* Equal+Tuple.swift in Sources */, + E92B6C16F730A22BF5F6DC99835B718B /* Errors.swift in Sources */, + 77D0DC280412E93206CF9E5B3B1B8F61 /* Expectation.swift in Sources */, + 785F83BBF7F3CC895851D4162BF97B06 /* ExpectationMessage.swift in Sources */, + 288A9262472730459EFECA301BF7F08A /* Expression.swift in Sources */, + 456B5082BEA7D6DC9203FC95F2275427 /* FailureMessage.swift in Sources */, + 0779B89F9C0D5D853C7308F616A5A849 /* HaveCount.swift in Sources */, + FA94BF94E57B46625F2F98E6D7C11E44 /* mach_excServer.c in Sources */, + C7EAFC19DEB229B96943921BD30D945E /* Match.swift in Sources */, + 948E33EBB139A91A51C0126F09FA82D0 /* MatcherFunc.swift in Sources */, + 0D476A8577141576F5FDB1046C02B11A /* MatcherProtocols.swift in Sources */, + 07B8533B93693FCEAA99BF09F9253B2F /* MatchError.swift in Sources */, + 23000995DBD093C7D33D8BE08AFC3D7D /* Nimble-dummy.m in Sources */, + 7118AE24D7AC2E5A09D851E36AD49847 /* NimbleEnvironment.swift in Sources */, + 6210C7C9A6CBFEC7C4EDE39D753D6780 /* NimbleXCTestHandler.swift in Sources */, + ECF4A70CCB729DD6CD8B814037BA7EE8 /* NMBExceptionCapture.m in Sources */, + FB50301F3F0969845462C062D48A0B62 /* NMBExpectation.swift in Sources */, + D9F430C02E1BE86A5D89AE25740870DF /* NMBObjCMatcher.swift in Sources */, + 0AF0D94CD930C1500995605C433F383E /* NMBStringify.m in Sources */, + 800CE15AB7C9BC8C04C8712B0541D507 /* PostNotification.swift in Sources */, + AA01E05BE1B12174011ED45CED568498 /* Predicate.swift in Sources */, + 43053D4C139B803727E485CB5EC2BDE7 /* RaisesException.swift in Sources */, + F1C5C1FB9845BCD95F196606849FBEAD /* SatisfyAllOf.swift in Sources */, + 14CF863FE8B157437FF2B78AEBB7B413 /* SatisfyAnyOf.swift in Sources */, + 7E2E7651B51BF28CA66F8652618AD62E /* SourceLocation.swift in Sources */, + D0BD9D341F96D9C4E32D90DD1581854A /* Stringers.swift in Sources */, + 0EA459BD6662050D9560047C9F812C11 /* ThrowAssertion.swift in Sources */, + CA6D99B9801B4B92896343D06633560C /* ThrowError.swift in Sources */, + 4A7DE0C16571E49896074F0152E5B0F8 /* ToSucceed.swift in Sources */, + 418D281C0D9DFECE0BC865C95471EE7F /* XCTestObservationCenter+Register.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F597BF576BAA00E7B8B42D9D445B9730 /* Sources */ = { + D270277FD90CBB922B3AEE35CCF059F7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 45718892681E27BFB3CA4F77FB637189 /* Behavior.swift in Sources */, - 6651438A66A1DEB7B86EC4814EA9DA16 /* Callsite.swift in Sources */, - 1DA94F92235E0C3A0FD7768DD848068C /* Closures.swift in Sources */, - 7FA57A4E6F31FBD1C126E7689E1AD61C /* Configuration.swift in Sources */, - A9AF3F7AB8269225790D01ABD9F559D7 /* DSL.swift in Sources */, - EA3B734318B9E04D966DB61ED42B08EC /* ErrorUtility.swift in Sources */, - 95079B04F2442FF22611EA7AC48EF81E /* Example.swift in Sources */, - F02B60DD96EB7DE9CA25530D09966391 /* ExampleGroup.swift in Sources */, - B2D03C30992D861A3C55D5301D718518 /* ExampleHooks.swift in Sources */, - C759FEB2A9EF6B829DF536816DF4CABB /* ExampleMetadata.swift in Sources */, - 6E5819480E972CA10D8D9A34D94405BF /* Filter.swift in Sources */, - F74B14337C89364EAABE436EEF56705D /* HooksPhase.swift in Sources */, - 98D4C88DB61717125A36A5334F27E5C6 /* NSBundle+CurrentTestBundle.swift in Sources */, - 79A86162B6B82D7F8795DCED169BE954 /* QCKDSL.m in Sources */, - 5FF3D0D8B874D76C903952F8E318E006 /* Quick-dummy.m in Sources */, - 416FEB65425C4D4A5BD9A56DBB994F72 /* QuickConfiguration.m in Sources */, - 20A7D607CEC9E4D0F0B7ECC1A545A05F /* QuickConfiguration.swift in Sources */, - E8AE858EC457AE28E23FE08EFB32E892 /* QuickSelectedTestSuiteBuilder.swift in Sources */, - 0D76A5CAF71781C4E1CC5E0D70D3426D /* QuickSpec.m in Sources */, - D562A34837C271ABE23892804EABFC83 /* QuickSpecBase.m in Sources */, - 351C5491EB39A1A8CC635F0A27C3E372 /* QuickTestObservation.swift in Sources */, - 9F2643593B001BED9C62BEF8FB0EBF9D /* QuickTestSuite.swift in Sources */, - 2A7FA62A2799B4F51D2B3B4463763BE5 /* String+C99ExtendedIdentifier.swift in Sources */, - AE9B8D884D9817D95AE9547AC70C9641 /* SuiteHooks.swift in Sources */, - 5A7CA27F8A4CB0DCBDBFB48B301E26D6 /* URL+FileName.swift in Sources */, - 3F31BA28AEC03B51AF90221CC4AD864B /* World+DSL.swift in Sources */, - 3D88FA031800EAD5410C710DC430D909 /* World.swift in Sources */, - EE7C2A10D09991BF6E14ECE2C8F41243 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, + F7B7A478EE19E86D35FA446398F9E136 /* CachingPlayerItem.swift in Sources */, + FD9E22760E705E12B2AE9809647B1D77 /* CachingPlayerItem-dummy.m in Sources */, + D8DA0BE3CDB09D6FF62E046CB57A0631 /* CachingPlayerItemConfiguration.swift in Sources */, + DE62DFE1CB1D278D6327FD732FCCC446 /* MediaFileHandle.swift in Sources */, + 9B7F051D38E1944CD965A9FB4D2A0CE3 /* PendingRequest.swift in Sources */, + 75145B057D4E9B634E53E202CD5BE254 /* ResourceLoaderDelegate.swift in Sources */, + 31231B6154E000C8C27019B50071D010 /* URLExtension.swift in Sources */, + 1ECBA6E84244B735031FF3F42C5393D5 /* URLResponseExtension.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 2757FDBEE57493773388AF0FB883DC12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-CachingPlayerItem_Example"; - target = 5AC845F8F60E6D74BC46BB3D65D32A0E /* Pods-CachingPlayerItem_Example */; - targetProxy = 7FB4005ACAB84C6E94068608B33A388A /* PBXContainerItemProxy */; - }; - 396F99AC732D035EE6AC4A09D22DF682 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Quick; - target = C82891EAB7293DBEE916B21F57E8474D /* Quick */; - targetProxy = 9A5394FB06CB1615C1202A902B58BA40 /* PBXContainerItemProxy */; - }; - 57D9D07E27FEB78BD41A153883C3D202 /* PBXTargetDependency */ = { + 215F1A72AEAD4D0386CEDBE74EDAD370 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Nimble; target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = 77CAE1A76EA4E06A963D86F70F621602 /* PBXContainerItemProxy */; + targetProxy = 1ACC1BA57F973774C6062780B214DF5C /* PBXContainerItemProxy */; }; - 77CE617BEB6AC02E2CD4F0B90C81EA8C /* PBXTargetDependency */ = { + 2C9548D742675439AE861108B5473B58 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-CachingPlayerItem_Example"; + target = 5AC845F8F60E6D74BC46BB3D65D32A0E /* Pods-CachingPlayerItem_Example */; + targetProxy = FDB07183ACB01D6CA4C481D0A7C01C83 /* PBXContainerItemProxy */; + }; + 41F92BEE62EC3EFAD62CC109DE3378B6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CachingPlayerItem; target = 31D3DC3FCCAB0AB08B35437BFBC158AA /* CachingPlayerItem */; - targetProxy = DD68FB7B60DB75A9BF6513323AFFB5EF /* PBXContainerItemProxy */; + targetProxy = 3C351EC6D0ABE01D1C48279BC37F04A0 /* PBXContainerItemProxy */; + }; + D4BC61C7B5D39777329CA73572480C2B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Quick; + target = C82891EAB7293DBEE916B21F57E8474D /* Quick */; + targetProxy = 39425A848F748EA7D7D419FB3C6CE9EB /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 38B6F68E9732D1DC74058D69C9571339 /* Debug */ = { + 2FF7BBFAD89A19030958347B2D7BE38C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF180E81D5CF3A1CADCD92FBD47F4C04 /* CachingPlayerItem.debug.xcconfig */; + baseConfigurationReference = 57DCB0505A6CCEBDFBAB00473DC7CE5A /* Pods-CachingPlayerItem_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1163,27 +1172,58 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CachingPlayerItem/CachingPlayerItem-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem.modulemap"; - PRODUCT_MODULE_NAME = CachingPlayerItem; - PRODUCT_NAME = CachingPlayerItem; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_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; + }; + 4DA5966C6835A80985E79F8D69CB451A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 32435C410D6166FD3FF1FF89804AE5BD /* Nimble.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 73E50CF7A77FF7976FC794DC38016D0E /* Debug */ = { + 5FF041F1D682874DAFBE63E833E2027D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 57DCB0505A6CCEBDFBAB00473DC7CE5A /* Pods-CachingPlayerItem_Example.debug.xcconfig */; + baseConfigurationReference = D8DC6582D12740E1319D8EDA1EE01495 /* Pods-CachingPlayerItem_Tests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1195,12 +1235,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1214,9 +1254,9 @@ }; name = Debug; }; - 7CB210BA3AAC51F7595E86EA6539CD62 /* Release */ = { + 7C554CFBE2233E13A020638ABC37ABD7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32435C410D6166FD3FF1FF89804AE5BD /* Nimble.release.xcconfig */; + baseConfigurationReference = 02FC9FA72BA2A262A7E9F6D1DB32D272 /* Nimble.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1238,11 +1278,10 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 7EE7A78859F657F6BEFC651185B43192 /* Release */ = { isa = XCBuildConfiguration; @@ -1306,25 +1345,27 @@ }; name = Release; }; - 8F9BFCCD0B83865DEAE6CC830E6CD990 /* Debug */ = { + 866C12353E090EC14BAA88CDA4944348 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7981FC6993399F6CC88288632463A471 /* Quick.debug.xcconfig */; + baseConfigurationReference = ABCF9F9221FB774A86457A979A3E2547 /* CachingPlayerItem.debug.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = 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"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CachingPlayerItem/CachingPlayerItem-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; + MODULEMAP_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem.modulemap"; + PRODUCT_MODULE_NAME = CachingPlayerItem; + PRODUCT_NAME = CachingPlayerItem; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1335,27 +1376,25 @@ }; name = Debug; }; - A1A3EDE6AE00C7C284F8B0BFC9998330 /* Release */ = { + 87348FBD840126344754C1FDCFB6020A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F1D051874A74B26F59B21617F4202393 /* CachingPlayerItem.release.xcconfig */; + baseConfigurationReference = 92908130014A01F433AEE156BE66A71F /* Quick.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = 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"; - GCC_PREFIX_HEADER = "Target Support Files/CachingPlayerItem/CachingPlayerItem-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem.modulemap"; - PRODUCT_MODULE_NAME = CachingPlayerItem; - PRODUCT_NAME = CachingPlayerItem; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1367,68 +1406,68 @@ }; name = Release; }; - ABCDE6AD74E348556CCD044A4031DC08 /* Release */ = { + 9FB1D9D883B07F6F30FCD12226177EB3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 526F23A217BAB3DEF2E0200AF209EFA4 /* Pods-CachingPlayerItem_Tests.release.xcconfig */; + baseConfigurationReference = 7981FC6993399F6CC88288632463A471 /* Quick.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = 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-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - C0B1FC5AF8B3D04E58BEFA3EF6594B8D /* Debug */ = { + AAC714A630E11C170A81DF721044F0D9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02FC9FA72BA2A262A7E9F6D1DB32D272 /* Nimble.debug.xcconfig */; + baseConfigurationReference = C2A45AD34C96D97DAAC4C22F198A6E04 /* Pods-CachingPlayerItem_Example.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = 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"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_MODULE_NAME = Nimble; - PRODUCT_NAME = Nimble; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; D299434AB35E7FD6F7921C8EF24742FF /* Debug */ = { isa = XCBuildConfiguration; @@ -1496,9 +1535,9 @@ }; name = Debug; }; - D76E9D9C60CBD010A9A1FBF5C00D3CFB /* Debug */ = { + D69B8FE4189C74412A430D4F5D4B758A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D8DC6582D12740E1319D8EDA1EE01495 /* Pods-CachingPlayerItem_Tests.debug.xcconfig */; + baseConfigurationReference = 526F23A217BAB3DEF2E0200AF209EFA4 /* Pods-CachingPlayerItem_Tests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1524,46 +1563,16 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - E908040A2E6E6A710B96E2884F842063 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 92908130014A01F433AEE156BE66A71F /* Quick.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - FCDD643F78A5C7DA2573E3765ED00F33 /* Release */ = { + D9AD0D3C346C2E150B8FE0F0E35BF076 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2A45AD34C96D97DAAC4C22F198A6E04 /* Pods-CachingPlayerItem_Example.release.xcconfig */; + baseConfigurationReference = 695D74EA6ECB5940111C2173CF5DED4E /* CachingPlayerItem.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1573,19 +1582,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CachingPlayerItem/CachingPlayerItem-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/CachingPlayerItem/CachingPlayerItem.modulemap"; + PRODUCT_MODULE_NAME = CachingPlayerItem; + PRODUCT_NAME = CachingPlayerItem; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1596,56 +1604,56 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 05E62F89D1025A58CC0C1242E60D5770 /* Build configuration list for PBXNativeTarget "CachingPlayerItem" */ = { + 1D467AF12BCFD8263C61085D135659C3 /* Build configuration list for PBXNativeTarget "Quick" */ = { isa = XCConfigurationList; buildConfigurations = ( - 38B6F68E9732D1DC74058D69C9571339 /* Debug */, - A1A3EDE6AE00C7C284F8B0BFC9998330 /* Release */, + 9FB1D9D883B07F6F30FCD12226177EB3 /* Debug */, + 87348FBD840126344754C1FDCFB6020A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 3A834C823C880980CA3F53E920B8435D /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D299434AB35E7FD6F7921C8EF24742FF /* Debug */, - 7EE7A78859F657F6BEFC651185B43192 /* Release */, + 5FF041F1D682874DAFBE63E833E2027D /* Debug */, + D69B8FE4189C74412A430D4F5D4B758A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B1FCEFFC2F994054F0764D8130DBF095 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Tests" */ = { + 3FC23B83981D5F0247AB6ADE3EEDBF11 /* Build configuration list for PBXNativeTarget "CachingPlayerItem" */ = { isa = XCConfigurationList; buildConfigurations = ( - D76E9D9C60CBD010A9A1FBF5C00D3CFB /* Debug */, - ABCDE6AD74E348556CCD044A4031DC08 /* Release */, + 866C12353E090EC14BAA88CDA4944348 /* Debug */, + D9AD0D3C346C2E150B8FE0F0E35BF076 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CAC7365AE9813401F0DFF3E19985CEC8 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Example" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 73E50CF7A77FF7976FC794DC38016D0E /* Debug */, - FCDD643F78A5C7DA2573E3765ED00F33 /* Release */, + D299434AB35E7FD6F7921C8EF24742FF /* Debug */, + 7EE7A78859F657F6BEFC651185B43192 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F2B4D510B50F2BA6EE84690A129A445C /* Build configuration list for PBXNativeTarget "Quick" */ = { + 84E3C08133057626870418A290649C7E /* Build configuration list for PBXNativeTarget "Nimble" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8F9BFCCD0B83865DEAE6CC830E6CD990 /* Debug */, - E908040A2E6E6A710B96E2884F842063 /* Release */, + 7C554CFBE2233E13A020638ABC37ABD7 /* Debug */, + 4DA5966C6835A80985E79F8D69CB451A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F6705D09AFC59B144E7015490019601A /* Build configuration list for PBXNativeTarget "Nimble" */ = { + A231F3427FDF274932CD996F07AB2897 /* Build configuration list for PBXNativeTarget "Pods-CachingPlayerItem_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - C0B1FC5AF8B3D04E58BEFA3EF6594B8D /* Debug */, - 7CB210BA3AAC51F7595E86EA6539CD62 /* Release */, + 2FF7BBFAD89A19030958347B2D7BE38C /* Debug */, + AAC714A630E11C170A81DF721044F0D9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist index 2660a93..6efd186 100644 --- a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist +++ b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem-Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + ${PODS_DEVELOPMENT_LANGUAGE} CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.4 + 2.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.debug.xcconfig b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.debug.xcconfig index 8d7050f..d343488 100644 --- a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.debug.xcconfig +++ b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.debug.xcconfig @@ -1,10 +1,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "Foundation" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.release.xcconfig b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.release.xcconfig index 8d7050f..d343488 100644 --- a/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.release.xcconfig +++ b/Example/Pods/Target Support Files/CachingPlayerItem/CachingPlayerItem.release.xcconfig @@ -1,10 +1,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "Foundation" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist index e77a2b9..704448c 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist +++ b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + ${PODS_DEVELOPMENT_LANGUAGE} CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig index 953370f..a32d438 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig @@ -6,11 +6,12 @@ ENABLE_BITCODE = NO ENABLE_TESTING_SEARCH_PATHS = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -weak-lXCTestSwiftSupport -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS $(inherited) -suppress-warnings PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig index 953370f..a32d438 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig @@ -6,11 +6,12 @@ ENABLE_BITCODE = NO ENABLE_TESTING_SEARCH_PATHS = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -weak-lXCTestSwiftSupport -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS $(inherited) -suppress-warnings PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist index 2243fe6..19cf209 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + ${PODS_DEVELOPMENT_LANGUAGE} CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-frameworks.sh index 7dc225e..10e7147 100755 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example-frameworks.sh @@ -18,7 +18,7 @@ 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}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" BCSYMBOLMAP_DIR="BCSymbolMaps" @@ -41,7 +41,7 @@ install_framework() if [ -L "${source}" ]; then echo "Symlinked..." - source="$(readlink "${source}")" + source="$(readlink -f "${source}")" fi if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then @@ -113,6 +113,7 @@ install_dsym() { 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 fi diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.debug.xcconfig index 8d54fa3..c399d7b 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.debug.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem/CachingPlayerItem.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "CachingPlayerItem" -framework "Foundation" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.release.xcconfig index 8d54fa3..c399d7b 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Example/Pods-CachingPlayerItem_Example.release.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem/CachingPlayerItem.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "CachingPlayerItem" -framework "Foundation" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist index 2243fe6..19cf209 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + ${PODS_DEVELOPMENT_LANGUAGE} CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-frameworks.sh index 8fbcd03..481644b 100755 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests-frameworks.sh @@ -18,7 +18,7 @@ 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}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" BCSYMBOLMAP_DIR="BCSymbolMaps" @@ -41,7 +41,7 @@ install_framework() if [ -L "${source}" ]; then echo "Symlinked..." - source="$(readlink "${source}")" + source="$(readlink -f "${source}")" fi if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then @@ -113,6 +113,7 @@ install_dsym() { 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 fi diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.debug.xcconfig index 9a1faf3..f0c4593 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.debug.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem/CachingPlayerItem.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "CachingPlayerItem" -framework "Foundation" -framework "Nimble" -framework "Quick" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.release.xcconfig index 9a1faf3..f0c4593 100644 --- a/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-CachingPlayerItem_Tests/Pods-CachingPlayerItem_Tests.release.xcconfig @@ -3,7 +3,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CachingPlayerItem/CachingPlayerItem.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "CachingPlayerItem" -framework "Foundation" -framework "Nimble" -framework "Quick" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Quick/Quick-Info.plist b/Example/Pods/Target Support Files/Quick/Quick-Info.plist index 3424ca6..fee5e01 100644 --- a/Example/Pods/Target Support Files/Quick/Quick-Info.plist +++ b/Example/Pods/Target Support Files/Quick/Quick-Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + ${PODS_DEVELOPMENT_LANGUAGE} CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig index 55d2f87..32a07c3 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig @@ -6,11 +6,12 @@ ENABLE_BITCODE = NO ENABLE_TESTING_SEARCH_PATHS = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig index 55d2f87..32a07c3 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig @@ -6,11 +6,12 @@ ENABLE_BITCODE = NO ENABLE_TESTING_SEARCH_PATHS = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates diff --git a/Source/CachingPlayerItem.swift b/Source/CachingPlayerItem.swift index 0a77ffb..d051cda 100644 --- a/Source/CachingPlayerItem.swift +++ b/Source/CachingPlayerItem.swift @@ -230,7 +230,7 @@ public final class CachingPlayerItem: AVPlayerItem { return } - resourceLoaderDelegate.startDataRequest(with: url) + resourceLoaderDelegate.startFileDownload(with: url) } /// Cancels the download of the media file and deletes the incomplete cached file. Works only with the initializers intended for play and cache. diff --git a/Source/PendingRequest.swift b/Source/PendingRequest.swift new file mode 100644 index 0000000..d74429d --- /dev/null +++ b/Source/PendingRequest.swift @@ -0,0 +1,159 @@ +// +// PendingRequest.swift +// CachingPlayerItem +// +// Created by Gorjan Shukov on 10/24/20. +// + +import Foundation +import AVFoundation + +/// Abstract class with properties required for processing `AVAssetResourceLoadingRequest`. +class PendingRequest { + /// URLSession task identifier. + private(set) var id = -1 + private let url: URL + private let customHeaders: [String: String]? + private var task: URLSessionTask? + private var didCancelTask = false + fileprivate unowned var session: URLSession + let loadingRequest: AVAssetResourceLoadingRequest + var isCancelled: Bool { loadingRequest.isCancelled || didCancelTask } + + init(url: URL, session: URLSession, loadingRequest: AVAssetResourceLoadingRequest, customHeaders: [String: String]?) { + self.url = url + self.session = session + self.loadingRequest = loadingRequest + self.customHeaders = customHeaders + } + + /// Creates an URLRequest with the required headers for bytes range and customHeaders set. + private func makeURLRequest() -> URLRequest { + var request = URLRequest(url: url) + + if let dataRequest = loadingRequest.dataRequest { + let lowerBound = Int(dataRequest.requestedOffset) + let upperBound = lowerBound + Int(dataRequest.requestedLength) - 1 + let rangeHeader = "bytes=\(lowerBound)-\(upperBound)" + request.setValue(rangeHeader, forHTTPHeaderField: "Range") + } + + if let headers = customHeaders { + for (key, value) in headers { + request.setValue(value, forHTTPHeaderField: key) + } + } + + return request + } + + fileprivate func makeSessionTask(with request: URLRequest) -> URLSessionTask { + fatalError("Subclasses need to implement the `makeSessionTask()` method.") + } + + /// Creates the session task with `makeSessionTask` from subclass. `id` gets assigned with the task id when invoking this method. + func startTask() { + let request = makeURLRequest() + let task = makeSessionTask(with: request) + id = task.taskIdentifier + self.task = task + task.resume() + } + + func cancelTask() { + task?.cancel() + + if !loadingRequest.isCancelled && !loadingRequest.isFinished { + finishLoading() + } + + didCancelTask = true + } + + func finishLoading(with error: Error? = nil) { + if let error { + loadingRequest.finishLoading(with: error) + } else { + loadingRequest.finishLoading() + } + } +} + +// MARK: PendingContentInfoRequest + +/// Wrapper for handling `AVAssetResourceLoadingContentInformationRequest`. +class PendingContentInfoRequest: PendingRequest { + private var contentInformationRequest: AVAssetResourceLoadingContentInformationRequest { + loadingRequest.contentInformationRequest! + } + + override func makeSessionTask(with request: URLRequest) -> URLSessionTask { + session.downloadTask(with: request) + } + + func fillInContentInformationRequest(with response: URLResponse) { + contentInformationRequest.contentType = response.processedInfoData.mimeType + contentInformationRequest.contentLength = response.processedInfoData.expectedContentLength + contentInformationRequest.isByteRangeAccessSupported = response.processedInfoData.isByteRangeAccessSupported + } +} + +// MARK: PendingDataRequest + +/// Cached data request delegate. +protocol PendingDataRequestDelegate: AnyObject { + /// Tells the `PendingDataRequest` if there is enough cached data. + func pendingDataRequest(_ request: PendingDataRequest, hasSufficientCachedDataFor offset: Int, with length: Int) -> Bool + /// Requests cached data. The returned `offset` and `length` are increased/reduced based on the data passed in `respond(withCachedData:)`. + func pendingDataRequest(_ request: PendingDataRequest, + requestCachedDataFor offset: Int, + with length: Int, + completion: @escaping ((_ continueRequesting: Bool) -> Void)) +} + +/// Wrapper for handling `AVAssetResourceLoadingDataRequest`. +class PendingDataRequest: PendingRequest { + private var dataRequest: AVAssetResourceLoadingDataRequest { loadingRequest.dataRequest! } + private lazy var requestedLength = dataRequest.requestedLength + private lazy var fileDataOffset = Int(dataRequest.requestedOffset) + weak var delegate: PendingDataRequestDelegate? + + override func makeSessionTask(with request: URLRequest) -> URLSessionTask { + session.dataTask(with: request) + } + + override func startTask() { + if delegate?.pendingDataRequest(self, hasSufficientCachedDataFor: fileDataOffset, with: requestedLength) == true { + // Cached data + requestCachedData() + } else { + // Remote data + super.startTask() + } + } + + func respond(withRemoteData data: Data) { + dataRequest.respond(with: data) + } + + func respond(withCachedData data: Data) { + dataRequest.respond(with: data) + fileDataOffset += data.count + requestedLength -= data.count + } + + /// Requests cached data recursively until `continueRequesting` is false. + private func requestCachedData() { + guard let delegate else { return } + + delegate.pendingDataRequest( + self, + requestCachedDataFor: fileDataOffset, + with: requestedLength, + completion: { [weak self] continueRequesting in + if continueRequesting { + self?.requestCachedData() + } + }) + } +} diff --git a/Source/ResourceLoaderDelegate.swift b/Source/ResourceLoaderDelegate.swift index edd9cc4..fd80bac 100644 --- a/Source/ResourceLoaderDelegate.swift +++ b/Source/ResourceLoaderDelegate.swift @@ -11,6 +11,8 @@ import UIKit /// Responsible for downloading media data and providing the requested data parts. final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URLSessionDelegate, URLSessionDataDelegate, URLSessionTaskDelegate { + typealias PendingRequestId = Int + private let lock = NSLock() private var bufferData = Data() @@ -20,13 +22,13 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL private lazy var fileHandle = MediaFileHandle(filePath: saveFilePath) private var session: URLSession? - private var response: URLResponse? - private let queue = DispatchQueue(label: "com.gcd.CachingPlayerItemQueue", qos: .userInitiated, attributes: .concurrent) - private var pendingRequests: Set { - get { queue.sync { return pendingRequestsValue } } - set { queue.async(flags: .barrier) { [weak self] in self?.pendingRequestsValue = newValue } } + private let queue = DispatchQueue(label: "com.gcd.CachingPlayerItemQueue", qos: .userInitiated) + private var pendingContentInfoRequest: PendingContentInfoRequest? { + didSet { oldValue?.cancelTask() } } - private var pendingRequestsValue = Set() + private var contentInfoResponse: URLResponse? + private var pendingDataRequests: [PendingRequestId: PendingDataRequest] = [:] + private var fullMediaFileDownloadTask: URLSessionDataTask? private var isDownloadComplete = false private let url: URL @@ -52,68 +54,116 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL func resourceLoader(_ resourceLoader: AVAssetResourceLoader, shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest) -> Bool { if session == nil { - // If we're playing from an url, we need to download the file. - // We start loading the file on first request only. - startDataRequest(with: url) + startFileDownload(with: url) } - pendingRequests.insert(loadingRequest) - processPendingRequests() - return true + assert(session != nil, "Session must be set before proceeding.") + guard let session else { return false } + + if let _ = loadingRequest.contentInformationRequest { + pendingContentInfoRequest = PendingContentInfoRequest(url: url, session: session, loadingRequest: loadingRequest, customHeaders: owner?.urlRequestHeaders) + pendingContentInfoRequest?.startTask() + return true + } else if let _ = loadingRequest.dataRequest { + let request = PendingDataRequest(url: url, session: session, loadingRequest: loadingRequest, customHeaders: owner?.urlRequestHeaders) + request.delegate = self + request.startTask() + pendingDataRequests[request.id] = request + return true + } else { + return false + } } func resourceLoader(_ resourceLoader: AVAssetResourceLoader, didCancel loadingRequest: AVAssetResourceLoadingRequest) { - pendingRequests.remove(loadingRequest) + queue.async { [weak self] in + guard let self else { return } + guard let key = pendingDataRequests.first(where: { $1.loadingRequest.request.url == loadingRequest.request.url })?.key else { return } + + pendingDataRequests[key]?.cancelTask() + pendingDataRequests.removeValue(forKey: key) + } } // MARK: URLSessionDelegate func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { - bufferData.append(data) - writeBufferDataToFileIfNeeded() - processPendingRequests() - DispatchQueue.main.async { - self.owner?.delegate?.playerItem?(self.owner!, didDownloadBytesSoFar: self.fileHandle.fileSize, outOf: Int(dataTask.countOfBytesExpectedToReceive)) - } - } + queue.async { [weak self] in + guard let self else { return } - func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) { - self.response = response - processPendingRequests() - completionHandler(.allow) - } - - func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { - if let error = error { - downloadFailed(with: error) - return + pendingDataRequests[dataTask.taskIdentifier]?.respond(withRemoteData: data) } - if bufferData.count > 0 { - fileHandle.append(data: bufferData) - } + if fullMediaFileDownloadTask?.taskIdentifier == dataTask.taskIdentifier { + bufferData.append(data) + writeBufferDataToFileIfNeeded() - let error = verifyResponse() + guard let response = contentInfoResponse else { return } - guard error == nil else { - downloadFailed(with: error!) - return + DispatchQueue.main.async { + self.owner?.delegate?.playerItem?(self.owner!, + didDownloadBytesSoFar: self.fileHandle.fileSize + self.bufferData.count, + outOf: Int(response.processedInfoData.expectedContentLength)) + } } + } - downloadComplete() + func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { + queue.async { [weak self] in + guard let self else { return } + + let taskId = task.taskIdentifier + + if let error = error { + if pendingContentInfoRequest?.id == taskId { + finishLoadingPendingRequest(withId: taskId, error: error) + downloadFailed(with: error) + } else if fullMediaFileDownloadTask?.taskIdentifier == taskId { + downloadFailed(with: error) + } else { + finishLoadingPendingRequest(withId: taskId, error: error) + } + + return + } + + if let response = task.response, pendingContentInfoRequest?.id == taskId { + pendingContentInfoRequest?.fillInContentInformationRequest(with: response) + finishLoadingPendingRequest(withId: taskId) + contentInfoResponse = response + } else { + finishLoadingPendingRequest(withId: taskId) + } + + guard fullMediaFileDownloadTask?.taskIdentifier == taskId else { return } + + if bufferData.count > 0 { + writeBufferDataToFileIfNeeded(forced: true) + } + + let error = verifyResponse() + + guard error == nil else { + downloadFailed(with: error!) + return + } + + downloadComplete() + } } // MARK: Internal methods - func startDataRequest(with url: URL) { + func startFileDownload(with url: URL) { guard session == nil else { return } - let configuration = URLSessionConfiguration.default - configuration.requestCachePolicy = .reloadIgnoringLocalAndRemoteCacheData + createURLSession() + var urlRequest = URLRequest(url: url) owner?.urlRequestHeaders?.forEach { urlRequest.setValue($0.value, forHTTPHeaderField: $0.key) } - session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil) - session?.dataTask(with: urlRequest).resume() + + fullMediaFileDownloadTask = session?.dataTask(with: urlRequest) + fullMediaFileDownloadTask?.resume() } func invalidateAndCancelSession(shouldResetData: Bool = true) { @@ -122,7 +172,13 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL if shouldResetData { bufferData = Data() - pendingRequests.removeAll() + queue.async { [weak self] in + guard let self else { return } + + pendingContentInfoRequest = nil + pendingDataRequests.removeAll() + } + } // We need to only remove the file if it hasn't been fully downloaded @@ -133,64 +189,38 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL // MARK: Private methods - private func processPendingRequests() { - lock.lock() - defer { lock.unlock() } - - // Filter out the unfullfilled requests - let requestsFulfilled: Set = pendingRequests.filter { - fillInContentInformationRequest($0.contentInformationRequest) - guard haveEnoughDataToFulfillRequest($0.dataRequest!) else { return false } - - $0.finishLoading() - return true + private func createURLSession() { + guard session == nil else { + assertionFailure("Session already created.") + return } - // Remove fulfilled requests from pending requests - requestsFulfilled.forEach { pendingRequests.remove($0) } - } - - private func fillInContentInformationRequest(_ contentInformationRequest: AVAssetResourceLoadingContentInformationRequest?) { - // Do we have response from the server? - guard let response = response else { return } - - contentInformationRequest?.contentType = response.mimeType - contentInformationRequest?.contentLength = response.expectedContentLength - contentInformationRequest?.isByteRangeAccessSupported = true + let configuration = URLSessionConfiguration.default + configuration.requestCachePolicy = .reloadIgnoringLocalAndRemoteCacheData + session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil) } - private func haveEnoughDataToFulfillRequest(_ dataRequest: AVAssetResourceLoadingDataRequest) -> Bool { - let requestedOffset = Int(dataRequest.requestedOffset) - let requestedLength = dataRequest.requestedLength - let currentOffset = Int(dataRequest.currentOffset) - let bytesCached = fileHandle.fileSize - - // Is there enough data cached to fulfill the request? - guard bytesCached > currentOffset else { return false } - - // Data length to be loaded into memory with maximum size of readDataLimit. - let bytesToRespond = min(bytesCached - currentOffset, requestedLength, readDataLimit) - - // Read data from disk and pass it to the dataRequest - guard let data = fileHandle.readData(withOffset: currentOffset, forLength: bytesToRespond) else { return false } - dataRequest.respond(with: data) - - return bytesCached >= requestedLength + requestedOffset + private func finishLoadingPendingRequest(withId id: PendingRequestId, error: Error? = nil) { + if pendingContentInfoRequest?.id == id { + pendingContentInfoRequest?.finishLoading(with: error) + pendingContentInfoRequest = nil + } else if pendingDataRequests[id] != nil { + pendingDataRequests[id]?.finishLoading(with: error) + pendingDataRequests.removeValue(forKey: id) + } } - private func writeBufferDataToFileIfNeeded() { + private func writeBufferDataToFileIfNeeded(forced: Bool = false) { lock.lock() defer { lock.unlock() } - guard bufferData.count >= downloadBufferLimit else { return } + guard bufferData.count >= downloadBufferLimit || forced else { return } fileHandle.append(data: bufferData) bufferData = Data() } private func downloadComplete() { - processPendingRequests() - isDownloadComplete = true DispatchQueue.main.async { @@ -199,7 +229,7 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL } private func verifyResponse() -> NSError? { - guard let response = response as? HTTPURLResponse else { return nil } + guard let response = contentInfoResponse as? HTTPURLResponse else { return nil } let shouldVerifyDownloadedFileSize = CachingPlayerItemConfiguration.shouldVerifyDownloadedFileSize let minimumExpectedFileSize = CachingPlayerItemConfiguration.minimumExpectedFileSize @@ -207,7 +237,7 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL if response.statusCode >= 400 { error = NSError(domain: "Failed downloading asset. Reason: response status code \(response.statusCode).", code: response.statusCode, userInfo: nil) - } else if shouldVerifyDownloadedFileSize && response.expectedContentLength != -1 && response.expectedContentLength != fileHandle.fileSize { + } else if shouldVerifyDownloadedFileSize && response.processedInfoData.expectedContentLength != -1 && response.processedInfoData.expectedContentLength != fileHandle.fileSize { error = NSError(domain: "Failed downloading asset. Reason: wrong file size, expected: \(response.expectedContentLength), actual: \(fileHandle.fileSize).", code: response.statusCode, userInfo: nil) } else if minimumExpectedFileSize > 0 && minimumExpectedFileSize > fileHandle.fileSize { error = NSError(domain: "Failed downloading asset. Reason: file size \(fileHandle.fileSize) is smaller than minimumExpectedFileSize", code: response.statusCode, userInfo: nil) @@ -228,3 +258,39 @@ final class ResourceLoaderDelegate: NSObject, AVAssetResourceLoaderDelegate, URL invalidateAndCancelSession(shouldResetData: false) } } + +// MARK: PendingDataRequestDelegate + +extension ResourceLoaderDelegate: PendingDataRequestDelegate { + func pendingDataRequest(_ request: PendingDataRequest, hasSufficientCachedDataFor offset: Int, with length: Int) -> Bool { + fileHandle.fileSize >= length + offset + } + + func pendingDataRequest(_ request: PendingDataRequest, + requestCachedDataFor offset: Int, + with length: Int, + completion: @escaping ((_ continueRequesting: Bool) -> Void)) { + queue.async { [weak self] in + guard let self else { return } + + let bytesCached = fileHandle.fileSize + // Data length to be loaded into memory with maximum size of readDataLimit. + let bytesToRespond = min(bytesCached - offset, length, readDataLimit) + // Read data from disk and pass it to the dataRequest + guard let data = fileHandle.readData(withOffset: offset, forLength: bytesToRespond) else { + finishLoadingPendingRequest(withId: request.id) + completion(false) + return + } + + request.respond(withCachedData: data) + + if data.count >= length { + finishLoadingPendingRequest(withId: request.id) + completion(false) + } else { + completion(true) + } + } + } +} diff --git a/Source/URLResponseExtension.swift b/Source/URLResponseExtension.swift new file mode 100644 index 0000000..84c5b1d --- /dev/null +++ b/Source/URLResponseExtension.swift @@ -0,0 +1,79 @@ +// +// URLResponseExtension.swift +// CachingPlayerItem +// +// Created by Gorjan Shukov on 10/24/20. +// + +import Foundation +import AVFoundation + +extension URLResponse { + struct ProcessedInfoData { + let response: URLResponse + + var mimeType: String { + if response.mimeType?.lowercased().contains("mp4") == true { + return AVFileType.mp4.rawValue + } else if response.mimeType?.lowercased().contains("mp3") == true { + return AVFileType.mp3.rawValue + } + + return AVFileType.mp4.rawValue + } + + var expectedContentLength: Int64 { + guard let response = response as? HTTPURLResponse else { + return response.expectedContentLength + } + + let contentRangeKeys: [String] = [ + "Content-Range", + "content-range", + "Content-range", + "content-Range", + ] + + var rangeString: String? + + for key in contentRangeKeys { + if let value = response.allHeaderFields[key] as? String { + rangeString = value + break + } + } + + if let rangeString = rangeString, + let bytesString = rangeString.split(separator: "/").map({String($0)}).last, + let bytes = Int64(bytesString) { + return bytes + } + + return response.expectedContentLength + } + + var isByteRangeAccessSupported: Bool { + guard let response = response as? HTTPURLResponse else { + return false + } + + let rangeAccessKeys: [String] = [ + "Accept-Ranges", + "accept-ranges", + "Accept-ranges", + "accept-Ranges", + ] + + for key in rangeAccessKeys { + if let value = response.allHeaderFields[key] as? String, + value == "bytes" { + return true + } + } + + return false + } + } + + var processedInfoData: ProcessedInfoData { .init(response: self) } +} diff --git a/docs/Classes.html b/docs/Classes.html index f7b95be..a12eb83 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -117,7 +117,8 @@

Classes

Declaration

Swift

-
public final class CachingPlayerItem : AVPlayerItem
+
@MainActor
+public final class CachingPlayerItem : AVPlayerItem
@@ -132,7 +133,7 @@

Declaration

diff --git a/docs/Classes/CachingPlayerItem.html b/docs/Classes/CachingPlayerItem.html index 7d6cf81..3f295df 100644 --- a/docs/Classes/CachingPlayerItem.html +++ b/docs/Classes/CachingPlayerItem.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -90,7 +90,8 @@

CachingPlayerItem

-
public final class CachingPlayerItem : AVPlayerItem
+
@MainActor
+public final class CachingPlayerItem : AVPlayerItem
@@ -123,7 +124,8 @@

CachingPlayerItem

Declaration

Swift

-
public var passOnObject: Any?
+
@MainActor
+public var passOnObject: Any?
@@ -150,7 +152,8 @@

Declaration

Declaration

Swift

-
public weak var delegate: CachingPlayerItemDelegate?
+
@MainActor
+public weak var delegate: CachingPlayerItemDelegate?
@@ -236,7 +239,8 @@

Parameters

Declaration

Swift

-
public convenience init(url: URL, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public convenience init(url: URL, avUrlAssetOptions: [String : Any]? = nil)
@@ -295,7 +299,8 @@

Parameters

Declaration

Swift

-
public convenience init(url: URL, customFileExtension: String, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public convenience init(url: URL, customFileExtension: String, avUrlAssetOptions: [String : Any]? = nil)
@@ -366,7 +371,8 @@

Parameters

Declaration

Swift

-
public init(url: URL, saveFilePath: String, customFileExtension: String?, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public init(url: URL, saveFilePath: String, customFileExtension: String?, avUrlAssetOptions: [String : Any]? = nil)
@@ -449,7 +455,8 @@

Parameters

Declaration

Swift

-
public init(nonCachingURL url: URL, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public init(nonCachingURL url: URL, avUrlAssetOptions: [String : Any]? = nil)
@@ -513,7 +520,8 @@

Parameters

Declaration

Swift

-
public convenience init(data: Data, customFileExtension: String) throws
+
@MainActor
+public convenience init(data: Data, customFileExtension: String) throws
@@ -571,7 +579,8 @@

Parameters

Declaration

Swift

-
public init(filePathURL: URL, fileExtension: String? = nil)
+
@MainActor
+public init(filePathURL: URL, fileExtension: String? = nil)
@@ -629,7 +638,8 @@

Parameters

Declaration

Swift

-
override public init(asset: AVAsset, automaticallyLoadedAssetKeys: [String]?)
+
@MainActor
+override public init(asset: AVAsset, automaticallyLoadedAssetKeys: [String]?)
@@ -700,7 +710,8 @@

Public methods

Declaration

Swift

-
public func download()
+
@MainActor
+public func download()
@@ -727,7 +738,8 @@

Declaration

Declaration

Swift

-
public func cancelDownload()
+
@MainActor
+public func cancelDownload()
@@ -767,7 +779,8 @@

KVO

Declaration

Swift

-
public override func observeValue(forKeyPath keyPath: String?,
+                          
@MainActor
+public override func observeValue(forKeyPath keyPath: String?,
                            of object: Any?,
                            change: [NSKeyValueChangeKey : Any]?,
                            context: UnsafeMutableRawPointer?)
@@ -785,7 +798,7 @@

Declaration

diff --git a/docs/Enums.html b/docs/Enums.html index 43b53ab..99929d1 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -132,7 +132,7 @@

Declaration

diff --git a/docs/Enums/CachingPlayerItemConfiguration.html b/docs/Enums/CachingPlayerItemConfiguration.html index 3578acf..3dfb732 100644 --- a/docs/Enums/CachingPlayerItemConfiguration.html +++ b/docs/Enums/CachingPlayerItemConfiguration.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -220,7 +220,7 @@

Declaration

diff --git a/docs/Protocols.html b/docs/Protocols.html index c5cbe26..ee6cff9 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -133,7 +133,7 @@

Declaration

diff --git a/docs/Protocols/CachingPlayerItemDelegate.html b/docs/Protocols/CachingPlayerItemDelegate.html index b17fad0..4a9c4c0 100644 --- a/docs/Protocols/CachingPlayerItemDelegate.html +++ b/docs/Protocols/CachingPlayerItemDelegate.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -302,7 +302,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html index f7b95be..a12eb83 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -117,7 +117,8 @@

Classes

Declaration

Swift

-
public final class CachingPlayerItem : AVPlayerItem
+
@MainActor
+public final class CachingPlayerItem : AVPlayerItem
@@ -132,7 +133,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html index 7d6cf81..3f295df 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Classes/CachingPlayerItem.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -90,7 +90,8 @@

CachingPlayerItem

-
public final class CachingPlayerItem : AVPlayerItem
+
@MainActor
+public final class CachingPlayerItem : AVPlayerItem
@@ -123,7 +124,8 @@

CachingPlayerItem

Declaration

Swift

-
public var passOnObject: Any?
+
@MainActor
+public var passOnObject: Any?
@@ -150,7 +152,8 @@

Declaration

Declaration

Swift

-
public weak var delegate: CachingPlayerItemDelegate?
+
@MainActor
+public weak var delegate: CachingPlayerItemDelegate?
@@ -236,7 +239,8 @@

Parameters

Declaration

Swift

-
public convenience init(url: URL, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public convenience init(url: URL, avUrlAssetOptions: [String : Any]? = nil)
@@ -295,7 +299,8 @@

Parameters

Declaration

Swift

-
public convenience init(url: URL, customFileExtension: String, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public convenience init(url: URL, customFileExtension: String, avUrlAssetOptions: [String : Any]? = nil)
@@ -366,7 +371,8 @@

Parameters

Declaration

Swift

-
public init(url: URL, saveFilePath: String, customFileExtension: String?, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public init(url: URL, saveFilePath: String, customFileExtension: String?, avUrlAssetOptions: [String : Any]? = nil)
@@ -449,7 +455,8 @@

Parameters

Declaration

Swift

-
public init(nonCachingURL url: URL, avUrlAssetOptions: [String : Any]? = nil)
+
@MainActor
+public init(nonCachingURL url: URL, avUrlAssetOptions: [String : Any]? = nil)
@@ -513,7 +520,8 @@

Parameters

Declaration

Swift

-
public convenience init(data: Data, customFileExtension: String) throws
+
@MainActor
+public convenience init(data: Data, customFileExtension: String) throws
@@ -571,7 +579,8 @@

Parameters

Declaration

Swift

-
public init(filePathURL: URL, fileExtension: String? = nil)
+
@MainActor
+public init(filePathURL: URL, fileExtension: String? = nil)
@@ -629,7 +638,8 @@

Parameters

Declaration

Swift

-
override public init(asset: AVAsset, automaticallyLoadedAssetKeys: [String]?)
+
@MainActor
+override public init(asset: AVAsset, automaticallyLoadedAssetKeys: [String]?)
@@ -700,7 +710,8 @@

Public methods

Declaration

Swift

-
public func download()
+
@MainActor
+public func download()
@@ -727,7 +738,8 @@

Declaration

Declaration

Swift

-
public func cancelDownload()
+
@MainActor
+public func cancelDownload()
@@ -767,7 +779,8 @@

KVO

Declaration

Swift

-
public override func observeValue(forKeyPath keyPath: String?,
+                          
@MainActor
+public override func observeValue(forKeyPath keyPath: String?,
                            of object: Any?,
                            change: [NSKeyValueChangeKey : Any]?,
                            context: UnsafeMutableRawPointer?)
@@ -785,7 +798,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html index 43b53ab..99929d1 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -132,7 +132,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html index 3578acf..3dfb732 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Enums/CachingPlayerItemConfiguration.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -220,7 +220,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html index c5cbe26..ee6cff9 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -133,7 +133,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html index b17fad0..4a9c4c0 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/Protocols/CachingPlayerItemDelegate.html @@ -21,7 +21,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -302,7 +302,7 @@

Declaration

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg index c8d6b74..685c5e1 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/badge.svg @@ -8,7 +8,7 @@ - + @@ -19,10 +19,10 @@ documentation - 84% + 92% - 84% + 92% diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html index 9296450..ef03540 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/index.html @@ -20,7 +20,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -224,7 +224,7 @@

Known limitations

diff --git a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json index 82c5047..74ff23d 100644 --- a/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docsets/CachingPlayerItem.docset/Contents/Resources/Documents/undocumented.json @@ -9,21 +9,7 @@ }, { "file": "/Users/shukov/Projects/CachingPlayerItem/Source/CachingPlayerItem.swift", - "line": 54, - "symbol": "CachingPlayerItem.init(url:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/shukov/Projects/CachingPlayerItem/Source/CachingPlayerItem.swift", - "line": 193, - "symbol": "CachingPlayerItem.init(asset:automaticallyLoadedAssetKeys:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/shukov/Projects/CachingPlayerItem/Source/CachingPlayerItem.swift", - "line": 240, + "line": 251, "symbol": "CachingPlayerItem.observeValue(forKeyPath:of:change:context:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" diff --git a/docs/docsets/CachingPlayerItem.tgz b/docs/docsets/CachingPlayerItem.tgz index 5f62010..fad07eb 100644 Binary files a/docs/docsets/CachingPlayerItem.tgz and b/docs/docsets/CachingPlayerItem.tgz differ diff --git a/docs/docsets/CachingPlayerItem.xml b/docs/docsets/CachingPlayerItem.xml index 421e94f..f5c2845 100644 --- a/docs/docsets/CachingPlayerItem.xml +++ b/docs/docsets/CachingPlayerItem.xml @@ -1 +1 @@ -1.1.3https://sukov.github.io/CachingPlayerItem/docsets/CachingPlayerItem.tgz +2.0.0https://sukov.github.io/CachingPlayerItem/docsets/CachingPlayerItem.tgz diff --git a/docs/index.html b/docs/index.html index 9296450..ef03540 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,7 +20,7 @@

- CachingPlayerItem 1.1.3 Docs + CachingPlayerItem 2.0.0 Docs (92% documented)

@@ -224,7 +224,7 @@

Known limitations