diff --git a/.gitignore b/.gitignore index fce5b90..4d6ffeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # xcode noise -build/* +.build/* *.pbxuser *.mode1v3 *.mode2v3 @@ -27,4 +27,4 @@ profile DerivedData .idea/ *.hmap -*.xccheckout \ No newline at end of file +*.xccheckout diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..d54abad --- /dev/null +++ b/.travis.yml @@ -0,0 +1,34 @@ +language: objective-c +osx_image: xcode11.1 + +env: + - "DESTINATION='platform=iOS Simulator,name=iPhone 11' ACTION=build" + - "DESTINATION='platform=watchOS Simulator,name=Apple Watch Series 5 - 44mm' ACTION=build" + - "DESTINATION='platform=tvOS Simulator,name=Apple TV' ACTION=build" + - "DESTINATION='platform=OS X' ACTION=build" + +script: + - set -o pipefail && xcodebuild -project Async.xcodeproj -scheme Async -destination "$DESTINATION" $ACTION | xcpretty + - ./Tests/BuildSettingsTests/main.sh "$DESTINATION" +# - set -o pipefail && xcodebuild -project AsyncTest/Async.xcodeproj -scheme Async -destination 'platform=OS X' test | xcpretty +# - set -o pipefail && xcodebuild -project AsyncTest/Async.xcodeproj -scheme Async -destination 'platform=watchOS Simulator,name=Apple Watch - 38mm' build | xcpretty +# - set -o pipefail && xcodebuild -project AsyncTest/Async.xcodeproj -scheme Async -destination 'platform=tvOS Simulator,name=Apple TV 1080p' test | xcpretty + +# Carthage +# - xcodebuild -project Async.xcodeproj -scheme "Async iOS" | xcpretty +# - xcodebuild -project Async.xcodeproj -scheme "Async OSX" | xcpretty +# - xcodebuild -project Async.xcodeproj -scheme "Async tvOS" | xcpretty +# - xcodebuild -project Async.xcodeproj -scheme "Async watchOS" | xcpretty + +# CocoaPods +# - xcodebuild clean -workspace AsyncPodsExample/AsyncPodsExample.xcworkspace -scheme "AsyncExample iOS" -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO | xcpretty +# - xcodebuild clean -workspace AsyncPodsExample/AsyncPodsExample.xcworkspace -scheme "AsyncExample OS X" -sdk macosx ONLY_ACTIVE_ARCH=NO | xcpretty +# tvOS target has issues with signing +# - xcodebuild clean build -workspace AsyncPodsExample/AsyncPodsExample.xcworkspace -scheme "AsyncExample tvOS" -sdk appletvos ONLY_ACTIVE_ARCH=NO + +# Tests (OS X only, since simulator doesn't play nice with GCD) +# - set -o pipefail && xcodebuild clean build test -project AsyncTest/Async.xcodeproj -scheme "AsyncOSX" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES ONLY_ACTIVE_ARCH=NO | xcpretty +# - set -o pipefail && xcodebuild test -project AsyncTest/Async.xcodeproj -scheme "AsyncOSX" | xcpretty + +after_success: +- bash <(curl -s https://codecov.io/bash) -J 'Async' diff --git a/Async.xcodeproj/AsyncTests_Info.plist b/Async.xcodeproj/AsyncTests_Info.plist new file mode 100644 index 0000000..7c23420 --- /dev/null +++ b/Async.xcodeproj/AsyncTests_Info.plist @@ -0,0 +1,25 @@ + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Async.xcodeproj/Async_Info.plist b/Async.xcodeproj/Async_Info.plist new file mode 100644 index 0000000..57ada9f --- /dev/null +++ b/Async.xcodeproj/Async_Info.plist @@ -0,0 +1,25 @@ + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Async.xcodeproj/project.pbxproj b/Async.xcodeproj/project.pbxproj index bdac7d6..cc5daf7 100644 --- a/Async.xcodeproj/project.pbxproj +++ b/Async.xcodeproj/project.pbxproj @@ -7,379 +7,310 @@ objects = { /* Begin PBXBuildFile section */ - BF41E4161AC5FB2400A1DDB2 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF70E5051ABF12BC00B4FDD4 /* Async.swift */; }; - BF41E4181AC5FB2400A1DDB2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF70E5141ABF135D00B4FDD4 /* Foundation.framework */; }; - BF70E5061ABF12BC00B4FDD4 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF70E5051ABF12BC00B4FDD4 /* Async.swift */; }; - BF70E5151ABF135D00B4FDD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF70E5141ABF135D00B4FDD4 /* Foundation.framework */; }; + OBJ_24 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* Async.swift */; }; + OBJ_31 /* AsyncGroupTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* AsyncGroupTests.swift */; }; + OBJ_32 /* AsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* AsyncTests.swift */; }; + OBJ_34 /* Async.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* Async.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 1F7018B61EA0FE7F00CD23AC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = OBJ_19; + remoteInfo = Async; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ - BF41E41E1AC5FB2400A1DDB2 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BF70E4E91ABF124A00B4FDD4 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BF70E5051ABF12BC00B4FDD4 /* Async.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Source/Async.swift; sourceTree = SOURCE_ROOT; }; - BF70E5071ABF131400B4FDD4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; sourceTree = SOURCE_ROOT; }; - BF70E5141ABF135D00B4FDD4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1F9952281EA0FF2F0095B0F1 /* Async-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Async-Debug.xcconfig"; sourceTree = ""; }; + 1F9952291EA0FF2F0095B0F1 /* Async-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Async-Release.xcconfig"; sourceTree = ""; }; + 1F99522A1EA0FF2F0095B0F1 /* AsyncTests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AsyncTests-Debug.xcconfig"; sourceTree = ""; }; + 1F99522B1EA0FF2F0095B0F1 /* AsyncTests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AsyncTests-Release.xcconfig"; sourceTree = ""; }; + 1F99522C1EA0FF2F0095B0F1 /* Base-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Base-Debug.xcconfig"; sourceTree = ""; }; + 1F99522D1EA0FF2F0095B0F1 /* Base-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Base-Release.xcconfig"; sourceTree = ""; }; + 1FC6D32E1EA10026004DAA25 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = ""; }; + OBJ_12 /* AsyncGroupTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncGroupTests.swift; sourceTree = ""; }; + OBJ_13 /* AsyncTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncTests.swift; sourceTree = ""; }; + OBJ_14 /* AsyncPodsExample */ = {isa = PBXFileReference; lastKnownFileType = folder; path = AsyncPodsExample; sourceTree = SOURCE_ROOT; }; + OBJ_15 /* Configs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Configs; sourceTree = SOURCE_ROOT; }; + OBJ_17 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + OBJ_18 /* AsyncTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = AsyncTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; + OBJ_9 /* Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Async.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - BF41E4171AC5FB2400A1DDB2 /* Frameworks */ = { + OBJ_25 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 0; files = ( - BF41E4181AC5FB2400A1DDB2 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BF70E4E51ABF124A00B4FDD4 /* Frameworks */ = { + OBJ_33 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 0; files = ( - BF70E5151ABF135D00B4FDD4 /* Foundation.framework in Frameworks */, + OBJ_34 /* Async.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - BF70E4DF1ABF124A00B4FDD4 = { + 1F9952271EA0FF2F0095B0F1 /* Configs */ = { isa = PBXGroup; children = ( - BF70E5141ABF135D00B4FDD4 /* Foundation.framework */, - BF70E4EB1ABF124A00B4FDD4 /* Async */, - BF70E4EA1ABF124A00B4FDD4 /* Products */, + 1FC6D32E1EA10026004DAA25 /* Base.xcconfig */, + 1F9952281EA0FF2F0095B0F1 /* Async-Debug.xcconfig */, + 1F9952291EA0FF2F0095B0F1 /* Async-Release.xcconfig */, + 1F99522A1EA0FF2F0095B0F1 /* AsyncTests-Debug.xcconfig */, + 1F99522B1EA0FF2F0095B0F1 /* AsyncTests-Release.xcconfig */, + 1F99522C1EA0FF2F0095B0F1 /* Base-Debug.xcconfig */, + 1F99522D1EA0FF2F0095B0F1 /* Base-Release.xcconfig */, ); + path = Configs; sourceTree = ""; }; - BF70E4EA1ABF124A00B4FDD4 /* Products */ = { + OBJ_10 /* Tests */ = { isa = PBXGroup; children = ( - BF70E4E91ABF124A00B4FDD4 /* Async.framework */, - BF41E41E1AC5FB2400A1DDB2 /* Async.framework */, + OBJ_11 /* AsyncTests */, ); - name = Products; - sourceTree = ""; + name = Tests; + sourceTree = SOURCE_ROOT; }; - BF70E4EB1ABF124A00B4FDD4 /* Async */ = { + OBJ_11 /* AsyncTests */ = { isa = PBXGroup; children = ( - BF70E5051ABF12BC00B4FDD4 /* Async.swift */, - BF70E4EC1ABF124A00B4FDD4 /* Supporting Files */, + OBJ_12 /* AsyncGroupTests.swift */, + OBJ_13 /* AsyncTests.swift */, ); - path = Async; - sourceTree = ""; + name = AsyncTests; + path = Tests/AsyncTests; + sourceTree = SOURCE_ROOT; + }; + OBJ_16 /* Products */ = { + isa = PBXGroup; + children = ( + OBJ_17 /* Async.framework */, + OBJ_18 /* AsyncTests.xctest */, + ); + name = Products; + sourceTree = BUILT_PRODUCTS_DIR; }; - BF70E4EC1ABF124A00B4FDD4 /* Supporting Files */ = { + OBJ_5 = { isa = PBXGroup; children = ( - BF70E5071ABF131400B4FDD4 /* Info.plist */, + 1F9952271EA0FF2F0095B0F1 /* Configs */, + OBJ_6 /* Package.swift */, + OBJ_7 /* Sources */, + OBJ_10 /* Tests */, + OBJ_14 /* AsyncPodsExample */, + OBJ_15 /* Configs */, + OBJ_16 /* Products */, ); - name = "Supporting Files"; sourceTree = ""; }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - BF41E4191AC5FB2400A1DDB2 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( + OBJ_7 /* Sources */ = { + isa = PBXGroup; + children = ( + OBJ_8 /* Async */, ); - runOnlyForDeploymentPostprocessing = 0; + name = Sources; + sourceTree = SOURCE_ROOT; }; - BF70E4E61ABF124A00B4FDD4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( + OBJ_8 /* Async */ = { + isa = PBXGroup; + children = ( + OBJ_9 /* Async.swift */, ); - runOnlyForDeploymentPostprocessing = 0; + name = Async; + path = Sources/Async; + sourceTree = SOURCE_ROOT; }; -/* End PBXHeadersBuildPhase section */ +/* End PBXGroup section */ /* Begin PBXNativeTarget section */ - BF41E4141AC5FB2400A1DDB2 /* Async OSX */ = { + OBJ_19 /* Async */ = { isa = PBXNativeTarget; - buildConfigurationList = BF41E41B1AC5FB2400A1DDB2 /* Build configuration list for PBXNativeTarget "Async OSX" */; + buildConfigurationList = OBJ_20 /* Build configuration list for PBXNativeTarget "Async" */; buildPhases = ( - BF41E4151AC5FB2400A1DDB2 /* Sources */, - BF41E4171AC5FB2400A1DDB2 /* Frameworks */, - BF41E4191AC5FB2400A1DDB2 /* Headers */, - BF41E41A1AC5FB2400A1DDB2 /* Resources */, + OBJ_23 /* Sources */, + OBJ_25 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = "Async OSX"; + name = Async; productName = Async; - productReference = BF41E41E1AC5FB2400A1DDB2 /* Async.framework */; + productReference = OBJ_17 /* Async.framework */; productType = "com.apple.product-type.framework"; }; - BF70E4E81ABF124A00B4FDD4 /* Async iOS */ = { + OBJ_26 /* AsyncTests */ = { isa = PBXNativeTarget; - buildConfigurationList = BF70E4FF1ABF124A00B4FDD4 /* Build configuration list for PBXNativeTarget "Async iOS" */; + buildConfigurationList = OBJ_27 /* Build configuration list for PBXNativeTarget "AsyncTests" */; buildPhases = ( - BF70E4E41ABF124A00B4FDD4 /* Sources */, - BF70E4E51ABF124A00B4FDD4 /* Frameworks */, - BF70E4E61ABF124A00B4FDD4 /* Headers */, - BF70E4E71ABF124A00B4FDD4 /* Resources */, + OBJ_30 /* Sources */, + OBJ_33 /* Frameworks */, ); buildRules = ( ); dependencies = ( + OBJ_35 /* PBXTargetDependency */, ); - name = "Async iOS"; - productName = Async; - productReference = BF70E4E91ABF124A00B4FDD4 /* Async.framework */; - productType = "com.apple.product-type.framework"; + name = AsyncTests; + productName = AsyncTests; + productReference = OBJ_18 /* AsyncTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - BF70E4E01ABF124A00B4FDD4 /* Project object */ = { + OBJ_1 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0620; + LastUpgradeCheck = 9999; TargetAttributes = { - BF70E4E81ABF124A00B4FDD4 = { - CreatedOnToolsVersion = 6.2; + OBJ_19 = { + LastSwiftMigration = 0900; + }; + OBJ_26 = { + LastSwiftMigration = 0900; }; }; }; - buildConfigurationList = BF70E4E31ABF124A00B4FDD4 /* Build configuration list for PBXProject "Async" */; + buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "Async" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = BF70E4DF1ABF124A00B4FDD4; - productRefGroup = BF70E4EA1ABF124A00B4FDD4 /* Products */; + mainGroup = OBJ_5; + productRefGroup = OBJ_16 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - BF70E4E81ABF124A00B4FDD4 /* Async iOS */, - BF41E4141AC5FB2400A1DDB2 /* Async OSX */, + OBJ_19 /* Async */, + OBJ_26 /* AsyncTests */, ); }; /* End PBXProject section */ -/* Begin PBXResourcesBuildPhase section */ - BF41E41A1AC5FB2400A1DDB2 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BF70E4E71ABF124A00B4FDD4 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ - BF41E4151AC5FB2400A1DDB2 /* Sources */ = { + OBJ_23 /* Sources */ = { isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 0; files = ( - BF41E4161AC5FB2400A1DDB2 /* Async.swift in Sources */, + OBJ_24 /* Async.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BF70E4E41ABF124A00B4FDD4 /* Sources */ = { + OBJ_30 /* Sources */ = { isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 0; files = ( - BF70E5061ABF12BC00B4FDD4 /* Async.swift in Sources */, + OBJ_31 /* AsyncGroupTests.swift in Sources */, + OBJ_32 /* AsyncTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + OBJ_35 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = OBJ_19 /* Async */; + targetProxy = 1F7018B61EA0FE7F00CD23AC /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ - BF41E41C1AC5FB2400A1DDB2 /* Debug */ = { + OBJ_21 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F9952281EA0FF2F0095B0F1 /* Async-Debug.xcconfig */; buildSettings = { - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; }; - BF41E41D1AC5FB2400A1DDB2 /* Release */ = { + OBJ_22 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F9952291EA0FF2F0095B0F1 /* Async-Release.xcconfig */; buildSettings = { - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Release; }; - BF70E4FD1ABF124A00B4FDD4 /* Debug */ = { + OBJ_28 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F99522A1EA0FF2F0095B0F1 /* AsyncTests-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = Debug; }; - BF70E4FE1ABF124A00B4FDD4 /* Release */ = { + OBJ_29 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F99522B1EA0FF2F0095B0F1 /* AsyncTests-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = Release; }; - BF70E5001ABF124A00B4FDD4 /* Debug */ = { + OBJ_3 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F99522C1EA0FF2F0095B0F1 /* Base-Debug.xcconfig */; buildSettings = { - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = Async; - SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; }; name = Debug; }; - BF70E5011ABF124A00B4FDD4 /* Release */ = { + OBJ_4 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1F99522D1EA0FF2F0095B0F1 /* Base-Release.xcconfig */; buildSettings = { - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = Async; - SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - BF41E41B1AC5FB2400A1DDB2 /* Build configuration list for PBXNativeTarget "Async OSX" */ = { + OBJ_2 /* Build configuration list for PBXProject "Async" */ = { isa = XCConfigurationList; buildConfigurations = ( - BF41E41C1AC5FB2400A1DDB2 /* Debug */, - BF41E41D1AC5FB2400A1DDB2 /* Release */, + OBJ_3 /* Debug */, + OBJ_4 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = Debug; }; - BF70E4E31ABF124A00B4FDD4 /* Build configuration list for PBXProject "Async" */ = { + OBJ_20 /* Build configuration list for PBXNativeTarget "Async" */ = { isa = XCConfigurationList; buildConfigurations = ( - BF70E4FD1ABF124A00B4FDD4 /* Debug */, - BF70E4FE1ABF124A00B4FDD4 /* Release */, + OBJ_21 /* Debug */, + OBJ_22 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = Debug; }; - BF70E4FF1ABF124A00B4FDD4 /* Build configuration list for PBXNativeTarget "Async iOS" */ = { + OBJ_27 /* Build configuration list for PBXNativeTarget "AsyncTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - BF70E5001ABF124A00B4FDD4 /* Debug */, - BF70E5011ABF124A00B4FDD4 /* Release */, + OBJ_28 /* Debug */, + OBJ_29 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = Debug; }; /* End XCConfigurationList section */ }; - rootObject = BF70E4E01ABF124A00B4FDD4 /* Project object */; + rootObject = OBJ_1 /* Project object */; } diff --git a/Async.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Async.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 6a06fb3..919434a 100644 --- a/Async.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Async.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/Async.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Async.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Async.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Async.xcodeproj/xcshareddata/xcschemes/Async OSX.xcscheme b/Async.xcodeproj/xcshareddata/xcschemes/Async.xcscheme similarity index 72% rename from Async.xcodeproj/xcshareddata/xcschemes/Async OSX.xcscheme rename to Async.xcodeproj/xcshareddata/xcschemes/Async.xcscheme index b6da586..f900279 100644 --- a/Async.xcodeproj/xcshareddata/xcschemes/Async OSX.xcscheme +++ b/Async.xcodeproj/xcshareddata/xcschemes/Async.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + @@ -52,20 +65,11 @@ - - - - diff --git a/Async.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist b/Async.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..7ac9ee3 --- /dev/null +++ b/Async.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist @@ -0,0 +1,12 @@ + + + + SchemeUserState + + Async.xcscheme + + + SuppressBuildableAutocreation + + + diff --git a/AsyncExample/AsyncExample OS X/AppDelegate.swift b/AsyncExample/AsyncExample OS X/AppDelegate.swift deleted file mode 100644 index fd16e50..0000000 --- a/AsyncExample/AsyncExample OS X/AppDelegate.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// AppDelegate.swift -// AsyncExample OS X -// -// Created by Tobias DM on 15/07/14. -// Copyright (c) 2014 Tobias Due Munk. All rights reserved. -// - -import Cocoa - -class AppDelegate: NSObject, NSApplicationDelegate { - - - - func applicationDidFinishLaunching(aNotification: NSNotification) { - // Insert code here to initialize your application - } - - func applicationWillTerminate(aNotification: NSNotification) { - // Insert code here to tear down your application - } - - -} - diff --git a/AsyncExample/AsyncExample OS XTests/AsyncExample_OS_XTests.swift b/AsyncExample/AsyncExample OS XTests/AsyncExample_OS_XTests.swift deleted file mode 100644 index 172aaca..0000000 --- a/AsyncExample/AsyncExample OS XTests/AsyncExample_OS_XTests.swift +++ /dev/null @@ -1,598 +0,0 @@ -// -// AsyncExample_OS_XTests.swift -// AsyncExample OS XTests -// -// Created by Tobias DM on 15/07/14. -// Copyright (c) 2014 Tobias DM. All rights reserved. -// - -import Cocoa -import XCTest -import Async - -class AsyncExample_OS_XTests: XCTestCase { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - - /* GCD */ - - func testGCD() { - - let expectation = expectationWithDescription("Expected after time") - - let qos = QOS_CLASS_BACKGROUND - let queue = dispatch_get_global_queue(qos, 0) - dispatch_async(queue) { - let currentQos = qos_class_self() - XCTAssertEqual(currentQos, qos, "On \(currentQos.description) (expected \(qos.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* dispatch_async() */ - - func testAsyncMain() { - let expectation = expectationWithDescription("Expected on main queue") - var calledStuffAfterSinceAsync = false - Async.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expexted \(qos_class_main().description))") - XCTAssert(calledStuffAfterSinceAsync, "Should be async") - expectation.fulfill() - } - calledStuffAfterSinceAsync = true - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUserInteractive() { - let expectation = expectationWithDescription("Expected on user interactive queue") - Async.userInteractive { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUserInitiated() { - let expectation = expectationWithDescription("Expected on user initiated queue") - Async.userInitiated { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUtility() { - let expectation = expectationWithDescription("Expected on utility queue") - Async.utility { - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncBackground() { - let expectation = expectationWithDescription("Expected on background queue") - Async.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueConcurrent() { - let expectation = expectationWithDescription("Expected custom queue") - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - Async.customQueue(customQueue) { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueSerial() { - let expectation = expectationWithDescription("Expected custom queue") - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_SERIAL) - Async.customQueue(customQueue) { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* Chaining */ - - func testAsyncBackgroundToMain() { - let expectation = expectationWithDescription("Expected on background to main queue") - var wasInBackground = false - Async.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - wasInBackground = true - }.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expected \(qos_class_main().description))") - XCTAssert(wasInBackground, "Was in background first") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testChaining() { - let expectation = expectationWithDescription("Expected On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - var id = 0 - Async.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expexted \(qos_class_main().description))") - XCTAssertEqual(++id, 1, "Count main queue") - }.userInteractive { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - XCTAssertEqual(++id, 2, "Count user interactive queue") - }.userInitiated { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - XCTAssertEqual(++id, 3, "Count user initiated queue") - }.utility { - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - XCTAssertEqual(++id, 4, "Count utility queue") - }.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - XCTAssertEqual(++id, 5, "Count background queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueChaining() { - let expectation = expectationWithDescription("Expected custom queues") - var id = 0 - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_SERIAL) - Async.customQueue(customQueue) { - XCTAssertEqual(++id, 1, "Count custom queue") - }.customQueue(otherCustomQueue) { - XCTAssertEqual(++id, 2, "Count other custom queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* dispatch_after() */ - - func testAfterGCD() { - - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeDelay * Double(NSEC_PER_SEC))) - let queue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) - dispatch_after(time, queue, { - let timePassed = NSDate().timeIntervalSinceDate(date) - print("\(timePassed)") - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - }) - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterMain() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.main(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), qos_class_main(), "On main queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUserInteractive() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.userInteractive(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On user interactive queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUserInitated() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.userInitiated(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On user initiated queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUtility() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.utility(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On utility queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterBackground() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.background(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On background queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterCustomQueue() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - Async.customQueue(customQueue, after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterChainedMix() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInteractive(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - - date2 = NSDate() // Update - }.utility(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUserInteractive() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInteractive(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - - date2 = NSDate() // Update - }.userInteractive(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUserInitiated() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInitiated(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - - date2 = NSDate() // Update - }.userInitiated(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUtility() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.utility(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - - date2 = NSDate() // Update - }.utility(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedBackground() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.background(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - - date2 = NSDate() // Update - }.background(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - - /* dispatch_block_cancel() */ - - func testCancel() { - let expectation = expectationWithDescription("Block1 should run") - - let block1 = Async.background { - // Heavy work - for i in 0...1000 { - print("A \(i)") - } - expectation.fulfill() - } - let block2 = block1.background { - print("B – shouldn't be reached, since cancelled") - XCTFail("Shouldn't be reached, since cancelled") - } - - Async.main(after: 0.01) { - block1.cancel() // First block is _not_ cancelled - block2.cancel() // Second block _is_ cancelled - } - - waitForExpectationsWithTimeout(20, handler: nil) - } - - - /* dispatch_wait() */ - - func testWait() { - var id = 0 - let block = Async.background { - // Heavy work - for i in 0...100 { - print("A \(i)") - } - XCTAssertEqual(++id, 1, "") - } - XCTAssertEqual(id, 0, "") - - block.wait() - XCTAssertEqual(++id, 2, "") - } - - func testWaitMax() { - var id = 0 - let block = Async.background { - XCTAssertEqual(++id, 1, "") // A - // Heavy work - for i in 0...100000 { - print("A \(i)") - } - XCTAssertEqual(++id, 3, "") // C - } - XCTAssertEqual(id, 0, "") - - let date = NSDate() - let timeDelay = 0.3 - let upperTimeDelay = timeDelay + 0.2 - - block.wait(seconds: timeDelay) - - XCTAssertEqual(++id, 2, "") // B - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(upperTimeDelay) seconds before firing") - } - - - /* dispatch_apply() */ - - func testApplyUserInteractive() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.userInteractive(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyUserInitiated() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.userInitiated(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyUtility() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.utility(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyBackground() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.background(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyCustomQueueConcurrent() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - let customQueue = dispatch_queue_create("CustomQueueConcurrentLabel", DISPATCH_QUEUE_CONCURRENT) - Apply.customQueue(3, queue: customQueue) { i in - println(i) - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyCustomQueueSerial() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - let customQueue = dispatch_queue_create("CustomQueueSerialLabel", DISPATCH_QUEUE_SERIAL) - Apply.customQueue(3, queue: customQueue) { i in - println(i) - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } -} diff --git a/AsyncExample/AsyncExample iOS/AppDelegate.swift b/AsyncExample/AsyncExample iOS/AppDelegate.swift deleted file mode 100644 index ac914aa..0000000 --- a/AsyncExample/AsyncExample iOS/AppDelegate.swift +++ /dev/null @@ -1,45 +0,0 @@ -// -// AppDelegate.swift -// AsyncExample iOS -// -// Created by Tobias DM on 15/07/14. -// Copyright (c) 2014 Tobias DM. All rights reserved. -// - -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { - // Override point for customization after application launch. - return true - } - - func applicationWillResignActive(application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(application: UIApplication) { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - -} - diff --git a/AsyncExample/AsyncExample iOSTests/AsyncExample_iOSTests.swift b/AsyncExample/AsyncExample iOSTests/AsyncExample_iOSTests.swift deleted file mode 100644 index 30351e7..0000000 --- a/AsyncExample/AsyncExample iOSTests/AsyncExample_iOSTests.swift +++ /dev/null @@ -1,598 +0,0 @@ -// -// AsyncExample_iOSTests.swift -// AsyncExample iOSTests -// -// Created by Tobias DM on 15/07/14. -// Copyright (c) 2014 Tobias Due Munk. All rights reserved. -// - -import UIKit -import XCTest -import Async - -class AsyncExample_iOSTests: XCTestCase { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - - /* GCD */ - - func testGCD() { - - let expectation = expectationWithDescription("Expected after time") - - let qos = QOS_CLASS_BACKGROUND - let queue = dispatch_get_global_queue(qos, 0) - dispatch_async(queue) { - let currentQos = qos_class_self() - XCTAssertEqual(currentQos, qos, "On \(currentQos.description) (expected \(qos.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* dispatch_async() */ - - func testAsyncMain() { - let expectation = expectationWithDescription("Expected on main queue") - var calledStuffAfterSinceAsync = false - Async.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expexted \(qos_class_main().description))") - XCTAssert(calledStuffAfterSinceAsync, "Should be async") - expectation.fulfill() - } - calledStuffAfterSinceAsync = true - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUserInteractive() { - let expectation = expectationWithDescription("Expected on user interactive queue") - Async.userInteractive { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUserInitiated() { - let expectation = expectationWithDescription("Expected on user initiated queue") - Async.userInitiated { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncUtility() { - let expectation = expectationWithDescription("Expected on utility queue") - Async.utility { - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncBackground() { - let expectation = expectationWithDescription("Expected on background queue") - Async.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueConcurrent() { - let expectation = expectationWithDescription("Expected custom queue") - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - Async.customQueue(customQueue) { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueSerial() { - let expectation = expectationWithDescription("Expected custom queue") - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_SERIAL) - Async.customQueue(customQueue) { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* Chaining */ - - func testAsyncBackgroundToMain() { - let expectation = expectationWithDescription("Expected on background to main queue") - var wasInBackground = false - Async.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - wasInBackground = true - }.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expected \(qos_class_main().description))") - XCTAssert(wasInBackground, "Was in background first") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testChaining() { - let expectation = expectationWithDescription("Expected On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - var id = 0 - Async.main { - XCTAssertEqual(qos_class_self(), qos_class_main(), "On \(qos_class_self().description) (expexted \(qos_class_main().description))") - XCTAssertEqual(++id, 1, "Count main queue") - }.userInteractive { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - XCTAssertEqual(++id, 2, "Count user interactive queue") - }.userInitiated { - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - XCTAssertEqual(++id, 3, "Count user initiated queue") - }.utility { - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - XCTAssertEqual(++id, 4, "Count utility queue") - }.background { - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - XCTAssertEqual(++id, 5, "Count background queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testAsyncCustomQueueChaining() { - let expectation = expectationWithDescription("Expected custom queues") - var id = 0 - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_SERIAL) - Async.customQueue(customQueue) { - XCTAssertEqual(++id, 1, "Count custom queue") - }.customQueue(otherCustomQueue) { - XCTAssertEqual(++id, 2, "Count other custom queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(1, handler: nil) - } - - - /* dispatch_after() */ - - func testAfterGCD() { - - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeDelay * Double(NSEC_PER_SEC))) - let queue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) - dispatch_after(time, queue, { - let timePassed = NSDate().timeIntervalSinceDate(date) - print("\(timePassed)") - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - }) - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterMain() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.main(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), qos_class_main(), "On main queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUserInteractive() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.userInteractive(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On user interactive queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUserInitated() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.userInitiated(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On user initiated queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterUtility() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.utility(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On utility queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterBackground() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - Async.background(after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On background queue") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterCustomQueue() { - let expectation = expectationWithDescription("Expected after time") - let date = NSDate() - let timeDelay = 1.0 - let upperTimeDelay = timeDelay + 0.2 - let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) - Async.customQueue(customQueue, after: timeDelay) { - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed >= timeDelay, "Should wait \(timeDelay) seconds before firing") - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(timePassed), but <\(upperTimeDelay) seconds before firing") - expectation.fulfill() - } - waitForExpectationsWithTimeout(timeDelay*2, handler: nil) - } - - func testAfterChainedMix() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInteractive(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - - date2 = NSDate() // Update - }.utility(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUserInteractive() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInteractive(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - - date2 = NSDate() // Update - }.userInteractive(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INTERACTIVE, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUserInitiated() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.userInitiated(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - - date2 = NSDate() // Update - }.userInitiated(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_USER_INITIATED, "On \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedUtility() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.utility(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - - date2 = NSDate() // Update - }.utility(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_UTILITY, "On \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - func testAfterChainedBackground() { - let expectation = expectationWithDescription("Expected after time") - let date1 = NSDate() - var date2 = NSDate() - let timeDelay1 = 1.1 - let upperTimeDelay1 = timeDelay1 + 0.2 - let timeDelay2 = 1.2 - let upperTimeDelay2 = timeDelay2 + 0.2 - var id = 0 - Async.background(after: timeDelay1) { - XCTAssertEqual(++id, 1, "First after") - - let timePassed = NSDate().timeIntervalSinceDate(date1) - XCTAssert(timePassed >= timeDelay1, "Should wait \(timeDelay1) seconds before firing") - XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - - date2 = NSDate() // Update - }.background(after: timeDelay2) { - XCTAssertEqual(++id, 2, "Second after") - - let timePassed = NSDate().timeIntervalSinceDate(date2) - XCTAssert(timePassed >= timeDelay2, "Should wait \(timeDelay2) seconds before firing") - XCTAssert(timePassed < upperTimeDelay2, "Shouldn't wait \(timePassed), but <\(upperTimeDelay2) seconds before firing") - XCTAssertEqual(qos_class_self(), QOS_CLASS_BACKGROUND, "On \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") - expectation.fulfill() - } - waitForExpectationsWithTimeout((timeDelay1 + timeDelay2) * 2, handler: nil) - } - - - /* dispatch_block_cancel() */ - - func testCancel() { - let expectation = expectationWithDescription("Block1 should run") - - let block1 = Async.background { - // Heavy work - for i in 0...1000 { - print("A \(i)") - } - expectation.fulfill() - } - let block2 = block1.background { - print("B – shouldn't be reached, since cancelled") - XCTFail("Shouldn't be reached, since cancelled") - } - - Async.main(after: 0.01) { - block1.cancel() // First block is _not_ cancelled - block2.cancel() // Second block _is_ cancelled - } - - waitForExpectationsWithTimeout(20, handler: nil) - } - - - /* dispatch_wait() */ - - func testWait() { - var id = 0 - let block = Async.background { - // Heavy work - for i in 0...100 { - print("A \(i)") - } - XCTAssertEqual(++id, 1, "") - } - XCTAssertEqual(id, 0, "") - - block.wait() - XCTAssertEqual(++id, 2, "") - } - - func testWaitMax() { - var id = 0 - let block = Async.background { - XCTAssertEqual(++id, 1, "") // A - // Heavy work - for i in 0...100000 { - print("A \(i)") - } - XCTAssertEqual(++id, 3, "") // C - } - XCTAssertEqual(id, 0, "") - - let date = NSDate() - let timeDelay = 0.3 - let upperTimeDelay = timeDelay + 0.2 - - block.wait(seconds: timeDelay) - - XCTAssertEqual(++id, 2, "") // B - let timePassed = NSDate().timeIntervalSinceDate(date) - XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(upperTimeDelay) seconds before firing") - } - - - /* dispatch_apply() */ - - func testApplyUserInteractive() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.userInteractive(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyUserInitiated() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.userInitiated(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyUtility() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.utility(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyBackground() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - Apply.background(3) { i in - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyCustomQueueConcurrent() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - let customQueue = dispatch_queue_create("CustomQueueConcurrentLabel", DISPATCH_QUEUE_CONCURRENT) - Apply.customQueue(3, queue: customQueue) { i in - println(i) - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } - - func testApplyCustomQueueSerial() { - let expectation1 = expectationWithDescription("1") - let expectation2 = expectationWithDescription("2") - let expectation3 = expectationWithDescription("3") - let expectations = [expectation1, expectation2, expectation3] - var count = 0 - let customQueue = dispatch_queue_create("CustomQueueSerialLabel", DISPATCH_QUEUE_SERIAL) - Apply.customQueue(3, queue: customQueue) { i in - println(i) - if let expectation = expectations[Int(i)] { - expectation.fulfill() - } - count++ - } - assert(count == 3, "Wrong count") - waitForExpectationsWithTimeout(1, handler: nil) - } -} diff --git a/AsyncExample/AsyncExample.xcodeproj/project.pbxproj b/AsyncExample/AsyncExample.xcodeproj/project.pbxproj deleted file mode 100644 index 08a6a9c..0000000 --- a/AsyncExample/AsyncExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1005 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 4EF830A01975952B00C5F0EE /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF8309F1975952B00C5F0EE /* main.swift */; }; - 4EF830A21975952B00C5F0EE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830A11975952B00C5F0EE /* ViewController.swift */; }; - 4EF830A41975952B00C5F0EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830A31975952B00C5F0EE /* AppDelegate.swift */; }; - 4EF830A61975952B00C5F0EE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830A51975952B00C5F0EE /* Images.xcassets */; }; - 4EF830A91975952B00C5F0EE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830A71975952B00C5F0EE /* Main.storyboard */; }; - 4EF830B51975952B00C5F0EE /* AsyncExample_OS_XTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830B41975952B00C5F0EE /* AsyncExample_OS_XTests.swift */; }; - 4EF830CB1975954B00C5F0EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */; }; - 4EF830CD1975954B00C5F0EE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830CC1975954B00C5F0EE /* ViewController.swift */; }; - 4EF830D01975954B00C5F0EE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830CE1975954B00C5F0EE /* Main.storyboard */; }; - 4EF830D21975954B00C5F0EE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830D11975954B00C5F0EE /* Images.xcassets */; }; - 4EF830DE1975954B00C5F0EE /* AsyncExample_iOSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830DD1975954B00C5F0EE /* AsyncExample_iOSTests.swift */; }; - 72282301BFD7E2BB4AA1309F /* Pods_AsyncExample_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76DDD79EAA8680CE401A386D /* Pods_AsyncExample_iOSTests.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - C90C15849889382761E3FD5A /* Pods_AsyncExample_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A13081942C4D8FB570C25DDF /* Pods_AsyncExample_iOS.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - D8E24989018415549D167C6A /* Pods_AsyncExample_OS_XTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 056E375A6123F9ACCB521884 /* Pods_AsyncExample_OS_XTests.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - E772C2A2DF4D105B41721E82 /* Pods_AsyncExample_OS_X.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8133477C03A5390A01BB8F00 /* Pods_AsyncExample_OS_X.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 4E1563A01982A1E500CB1DC6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF830C51975954B00C5F0EE; - remoteInfo = "AsyncExample iOS"; - }; - 4E1563A21982A1E600CB1DC6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF830C51975954B00C5F0EE; - remoteInfo = "AsyncExample iOS"; - }; - 4E320F331982935C0087A3B7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF830C51975954B00C5F0EE; - remoteInfo = "AsyncExample iOS"; - }; - 4EF830AF1975952B00C5F0EE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF8309A1975952B00C5F0EE; - remoteInfo = "GCD–QOS OS X"; - }; - 4EF830BC1975952C00C5F0EE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF8309A1975952B00C5F0EE; - remoteInfo = "GCD–QOS OS X"; - }; - 4EF830BE1975952C00C5F0EE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF8309A1975952B00C5F0EE; - remoteInfo = "GCD–QOS OS X"; - }; - 4EF830D81975954B00C5F0EE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4EF8306D1975950F00C5F0EE /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4EF830C51975954B00C5F0EE; - remoteInfo = "GCD–QOS iOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 056E375A6123F9ACCB521884 /* Pods_AsyncExample_OS_XTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_OS_XTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 06081D26E4219D8DA3959D94 /* Pods-AsyncExample OS XTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS XTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.release.xcconfig"; sourceTree = ""; }; - 1C1D91CC9E1C8360A9B14FA1 /* Pods-AsyncExample iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig"; sourceTree = ""; }; - 4CF64E3D73ED5516F23C846A /* Pods-AsyncExample iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig"; sourceTree = ""; }; - 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsyncExample OS X.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4EF8309E1975952B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4EF8309F1975952B00C5F0EE /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - 4EF830A11975952B00C5F0EE /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 4EF830A31975952B00C5F0EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 4EF830A51975952B00C5F0EE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 4EF830A81975952B00C5F0EE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 4EF830AE1975952B00C5F0EE /* AsyncExample OS XTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "AsyncExample OS XTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4EF830B31975952B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4EF830B41975952B00C5F0EE /* AsyncExample_OS_XTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncExample_OS_XTests.swift; sourceTree = ""; }; - 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsyncExample iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4EF830C91975954B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 4EF830CC1975954B00C5F0EE /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 4EF830CF1975954B00C5F0EE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 4EF830D11975954B00C5F0EE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 4EF830D71975954B00C5F0EE /* AsyncExample iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "AsyncExample iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4EF830DC1975954B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4EF830DD1975954B00C5F0EE /* AsyncExample_iOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncExample_iOSTests.swift; sourceTree = ""; }; - 50AD0999B03855FBD1403BFE /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5592385DE54375D1A4E57222 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; - 5BAEAC237CB79D3564D48963 /* Pods-AsyncExample OS X.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS X.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig"; sourceTree = ""; }; - 76DDD79EAA8680CE401A386D /* Pods_AsyncExample_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7DFB4CD62F59F76AD8BDC430 /* Pods-AsyncExample iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.debug.xcconfig"; sourceTree = ""; }; - 8133477C03A5390A01BB8F00 /* Pods_AsyncExample_OS_X.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_OS_X.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 89DEF10B2694ED31D76FFF1F /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; - A13081942C4D8FB570C25DDF /* Pods_AsyncExample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BCFF122340448FD1CF10656C /* Pods-AsyncExample OS X.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS X.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig"; sourceTree = ""; }; - D8CF66DB4D65067D9046D222 /* Pods-AsyncExample iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.release.xcconfig"; sourceTree = ""; }; - F3C631264D15168BF17DA9E9 /* Pods-AsyncExample OS XTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS XTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 4EF830981975952B00C5F0EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E772C2A2DF4D105B41721E82 /* Pods_AsyncExample_OS_X.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830AB1975952B00C5F0EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D8E24989018415549D167C6A /* Pods_AsyncExample_OS_XTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830C31975954B00C5F0EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C90C15849889382761E3FD5A /* Pods_AsyncExample_iOS.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830D41975954B00C5F0EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 72282301BFD7E2BB4AA1309F /* Pods_AsyncExample_iOSTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0F689CD21CD145428E92A5A3 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 50AD0999B03855FBD1403BFE /* Pods.framework */, - A13081942C4D8FB570C25DDF /* Pods_AsyncExample_iOS.framework */, - 76DDD79EAA8680CE401A386D /* Pods_AsyncExample_iOSTests.framework */, - 8133477C03A5390A01BB8F00 /* Pods_AsyncExample_OS_X.framework */, - 056E375A6123F9ACCB521884 /* Pods_AsyncExample_OS_XTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 4BAD0FA8F266A621C0337E68 /* Pods */ = { - isa = PBXGroup; - children = ( - 89DEF10B2694ED31D76FFF1F /* Pods.debug.xcconfig */, - 5592385DE54375D1A4E57222 /* Pods.release.xcconfig */, - 1C1D91CC9E1C8360A9B14FA1 /* Pods-AsyncExample iOS.debug.xcconfig */, - 4CF64E3D73ED5516F23C846A /* Pods-AsyncExample iOS.release.xcconfig */, - 7DFB4CD62F59F76AD8BDC430 /* Pods-AsyncExample iOSTests.debug.xcconfig */, - D8CF66DB4D65067D9046D222 /* Pods-AsyncExample iOSTests.release.xcconfig */, - 5BAEAC237CB79D3564D48963 /* Pods-AsyncExample OS X.debug.xcconfig */, - BCFF122340448FD1CF10656C /* Pods-AsyncExample OS X.release.xcconfig */, - F3C631264D15168BF17DA9E9 /* Pods-AsyncExample OS XTests.debug.xcconfig */, - 06081D26E4219D8DA3959D94 /* Pods-AsyncExample OS XTests.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 4EF8306C1975950F00C5F0EE = { - isa = PBXGroup; - children = ( - 4EF830C71975954B00C5F0EE /* AsyncExample iOS */, - 4EF830DA1975954B00C5F0EE /* AsyncExample iOSTests */, - 4EF8309C1975952B00C5F0EE /* AsyncExample OS X */, - 4EF830B11975952B00C5F0EE /* AsyncExample OS XTests */, - 4EF830761975950F00C5F0EE /* Products */, - 4BAD0FA8F266A621C0337E68 /* Pods */, - 0F689CD21CD145428E92A5A3 /* Frameworks */, - ); - sourceTree = ""; - }; - 4EF830761975950F00C5F0EE /* Products */ = { - isa = PBXGroup; - children = ( - 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */, - 4EF830AE1975952B00C5F0EE /* AsyncExample OS XTests.xctest */, - 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */, - 4EF830D71975954B00C5F0EE /* AsyncExample iOSTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 4EF8309C1975952B00C5F0EE /* AsyncExample OS X */ = { - isa = PBXGroup; - children = ( - 4EF830A31975952B00C5F0EE /* AppDelegate.swift */, - 4EF830A11975952B00C5F0EE /* ViewController.swift */, - 4EF830A51975952B00C5F0EE /* Images.xcassets */, - 4EF830A71975952B00C5F0EE /* Main.storyboard */, - 4EF8309D1975952B00C5F0EE /* Supporting Files */, - ); - path = "AsyncExample OS X"; - sourceTree = ""; - }; - 4EF8309D1975952B00C5F0EE /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 4EF8309E1975952B00C5F0EE /* Info.plist */, - 4EF8309F1975952B00C5F0EE /* main.swift */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 4EF830B11975952B00C5F0EE /* AsyncExample OS XTests */ = { - isa = PBXGroup; - children = ( - 4EF830B41975952B00C5F0EE /* AsyncExample_OS_XTests.swift */, - 4EF830B21975952B00C5F0EE /* Supporting Files */, - ); - path = "AsyncExample OS XTests"; - sourceTree = ""; - }; - 4EF830B21975952B00C5F0EE /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 4EF830B31975952B00C5F0EE /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 4EF830C71975954B00C5F0EE /* AsyncExample iOS */ = { - isa = PBXGroup; - children = ( - 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */, - 4EF830CC1975954B00C5F0EE /* ViewController.swift */, - 4EF830CE1975954B00C5F0EE /* Main.storyboard */, - 4EF830D11975954B00C5F0EE /* Images.xcassets */, - 4EF830C81975954B00C5F0EE /* Supporting Files */, - ); - path = "AsyncExample iOS"; - sourceTree = ""; - }; - 4EF830C81975954B00C5F0EE /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 4EF830C91975954B00C5F0EE /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 4EF830DA1975954B00C5F0EE /* AsyncExample iOSTests */ = { - isa = PBXGroup; - children = ( - 4EF830DD1975954B00C5F0EE /* AsyncExample_iOSTests.swift */, - 4EF830DB1975954B00C5F0EE /* Supporting Files */, - ); - path = "AsyncExample iOSTests"; - sourceTree = ""; - }; - 4EF830DB1975954B00C5F0EE /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 4EF830DC1975954B00C5F0EE /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4EF830B61975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS X" */; - buildPhases = ( - 36A3F1D706CB88753354DB32 /* Check Pods Manifest.lock */, - 4EF830971975952B00C5F0EE /* Sources */, - 4EF830981975952B00C5F0EE /* Frameworks */, - 4EF830991975952B00C5F0EE /* Resources */, - 4974B825A8A4D074326CEC10 /* Embed Pods Frameworks */, - 29A5B8671C769DDFF689A57E /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "AsyncExample OS X"; - productName = "GCD–QOS OS X"; - productReference = 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */; - productType = "com.apple.product-type.application"; - }; - 4EF830AD1975952B00C5F0EE /* AsyncExample OS XTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4EF830B91975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS XTests" */; - buildPhases = ( - 633D6B2CE98A35C064E14CE1 /* Check Pods Manifest.lock */, - 4EF830AA1975952B00C5F0EE /* Sources */, - 4EF830AB1975952B00C5F0EE /* Frameworks */, - 4EF830AC1975952B00C5F0EE /* Resources */, - 68FD933740F39E20DA4DE53C /* Embed Pods Frameworks */, - EA34D355B3895BB16F9C483D /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 4EF830B01975952B00C5F0EE /* PBXTargetDependency */, - 4EF830BD1975952C00C5F0EE /* PBXTargetDependency */, - 4EF830BF1975952C00C5F0EE /* PBXTargetDependency */, - ); - name = "AsyncExample OS XTests"; - productName = "GCD–QOS OS XTests"; - productReference = 4EF830AE1975952B00C5F0EE /* AsyncExample OS XTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 4EF830C51975954B00C5F0EE /* AsyncExample iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4EF830DF1975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOS" */; - buildPhases = ( - 665C9EFFE200CA1F3B89B086 /* Check Pods Manifest.lock */, - 4EF830C21975954B00C5F0EE /* Sources */, - 4EF830C31975954B00C5F0EE /* Frameworks */, - 4EF830C41975954B00C5F0EE /* Resources */, - 6E8FB6CFDE8E04A3BDADBC16 /* Embed Pods Frameworks */, - 6B9FEBC4390E3EE7346E94D7 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "AsyncExample iOS"; - productName = "GCD–QOS iOS"; - productReference = 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */; - productType = "com.apple.product-type.application"; - }; - 4EF830D61975954B00C5F0EE /* AsyncExample iOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4EF830E21975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOSTests" */; - buildPhases = ( - 34F9F7B816FEDBDBD6637AD6 /* Check Pods Manifest.lock */, - 4EF830D31975954B00C5F0EE /* Sources */, - 4EF830D41975954B00C5F0EE /* Frameworks */, - 4EF830D51975954B00C5F0EE /* Resources */, - 0C2E65AF9E312B0B8A459B30 /* Embed Pods Frameworks */, - BFEF8FBF5D61BAC378460283 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 4EF830D91975954B00C5F0EE /* PBXTargetDependency */, - 4E320F341982935C0087A3B7 /* PBXTargetDependency */, - 4E1563A11982A1E500CB1DC6 /* PBXTargetDependency */, - 4E1563A31982A1E600CB1DC6 /* PBXTargetDependency */, - ); - name = "AsyncExample iOSTests"; - productName = "GCD–QOS iOSTests"; - productReference = 4EF830D71975954B00C5F0EE /* AsyncExample iOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 4EF8306D1975950F00C5F0EE /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0600; - ORGANIZATIONNAME = developmunk; - TargetAttributes = { - 4EF8309A1975952B00C5F0EE = { - CreatedOnToolsVersion = 6.0; - DevelopmentTeam = PFQ4698325; - }; - 4EF830AD1975952B00C5F0EE = { - CreatedOnToolsVersion = 6.0; - TestTargetID = 4EF8309A1975952B00C5F0EE; - }; - 4EF830C51975954B00C5F0EE = { - CreatedOnToolsVersion = 6.0; - }; - 4EF830D61975954B00C5F0EE = { - CreatedOnToolsVersion = 6.0; - TestTargetID = 4EF830C51975954B00C5F0EE; - }; - }; - }; - buildConfigurationList = 4EF830701975950F00C5F0EE /* Build configuration list for PBXProject "AsyncExample" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 4EF8306C1975950F00C5F0EE; - productRefGroup = 4EF830761975950F00C5F0EE /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 4EF830C51975954B00C5F0EE /* AsyncExample iOS */, - 4EF830D61975954B00C5F0EE /* AsyncExample iOSTests */, - 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */, - 4EF830AD1975952B00C5F0EE /* AsyncExample OS XTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 4EF830991975952B00C5F0EE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830A61975952B00C5F0EE /* Images.xcassets in Resources */, - 4EF830A91975952B00C5F0EE /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830AC1975952B00C5F0EE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830C41975954B00C5F0EE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830D01975954B00C5F0EE /* Main.storyboard in Resources */, - 4EF830D21975954B00C5F0EE /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830D51975954B00C5F0EE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 0C2E65AF9E312B0B8A459B30 /* Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 29A5B8671C769DDFF689A57E /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 34F9F7B816FEDBDBD6637AD6 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - 36A3F1D706CB88753354DB32 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - 4974B825A8A4D074326CEC10 /* Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 633D6B2CE98A35C064E14CE1 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - 665C9EFFE200CA1F3B89B086 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - 68FD933740F39E20DA4DE53C /* Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 6B9FEBC4390E3EE7346E94D7 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 6E8FB6CFDE8E04A3BDADBC16 /* Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - BFEF8FBF5D61BAC378460283 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - EA34D355B3895BB16F9C483D /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 4EF830971975952B00C5F0EE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830A41975952B00C5F0EE /* AppDelegate.swift in Sources */, - 4EF830A21975952B00C5F0EE /* ViewController.swift in Sources */, - 4EF830A01975952B00C5F0EE /* main.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830AA1975952B00C5F0EE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830B51975952B00C5F0EE /* AsyncExample_OS_XTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830C21975954B00C5F0EE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830CD1975954B00C5F0EE /* ViewController.swift in Sources */, - 4EF830CB1975954B00C5F0EE /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4EF830D31975954B00C5F0EE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF830DE1975954B00C5F0EE /* AsyncExample_iOSTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 4E1563A11982A1E500CB1DC6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF830C51975954B00C5F0EE /* AsyncExample iOS */; - targetProxy = 4E1563A01982A1E500CB1DC6 /* PBXContainerItemProxy */; - }; - 4E1563A31982A1E600CB1DC6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF830C51975954B00C5F0EE /* AsyncExample iOS */; - targetProxy = 4E1563A21982A1E600CB1DC6 /* PBXContainerItemProxy */; - }; - 4E320F341982935C0087A3B7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF830C51975954B00C5F0EE /* AsyncExample iOS */; - targetProxy = 4E320F331982935C0087A3B7 /* PBXContainerItemProxy */; - }; - 4EF830B01975952B00C5F0EE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */; - targetProxy = 4EF830AF1975952B00C5F0EE /* PBXContainerItemProxy */; - }; - 4EF830BD1975952C00C5F0EE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */; - targetProxy = 4EF830BC1975952C00C5F0EE /* PBXContainerItemProxy */; - }; - 4EF830BF1975952C00C5F0EE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */; - targetProxy = 4EF830BE1975952C00C5F0EE /* PBXContainerItemProxy */; - }; - 4EF830D91975954B00C5F0EE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4EF830C51975954B00C5F0EE /* AsyncExample iOS */; - targetProxy = 4EF830D81975954B00C5F0EE /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 4EF830A71975952B00C5F0EE /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 4EF830A81975952B00C5F0EE /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 4EF830CE1975954B00C5F0EE /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 4EF830CF1975954B00C5F0EE /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 4EF8308F1975950F00C5F0EE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4EF830901975950F00C5F0EE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 4EF830B71975952B00C5F0EE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5BAEAC237CB79D3564D48963 /* Pods-AsyncExample OS X.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample OS X/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - OTHER_CODE_SIGN_FLAGS = "-deep"; - PRODUCT_NAME = "AsyncExample OS X"; - PROVISIONING_PROFILE = ""; - SDKROOT = macosx; - }; - name = Debug; - }; - 4EF830B81975952B00C5F0EE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BCFF122340448FD1CF10656C /* Pods-AsyncExample OS X.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - INFOPLIST_FILE = "AsyncExample OS X/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - OTHER_CODE_SIGN_FLAGS = "-deep"; - PRODUCT_NAME = "AsyncExample OS X"; - PROVISIONING_PROFILE = ""; - SDKROOT = macosx; - }; - name = Release; - }; - 4EF830BA1975952B00C5F0EE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F3C631264D15168BF17DA9E9 /* Pods-AsyncExample OS XTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AsyncExample OS X.app/Contents/MacOS/AsyncExample OS X"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample OS XTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - PRODUCT_NAME = "AsyncExample OS XTests"; - SDKROOT = macosx; - TEST_HOST = "$(BUNDLE_LOADER)"; - }; - name = Debug; - }; - 4EF830BB1975952B00C5F0EE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 06081D26E4219D8DA3959D94 /* Pods-AsyncExample OS XTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AsyncExample OS X.app/Contents/MacOS/AsyncExample OS X"; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample OS XTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - PRODUCT_NAME = "AsyncExample OS XTests"; - SDKROOT = macosx; - TEST_HOST = "$(BUNDLE_LOADER)"; - }; - name = Release; - }; - 4EF830E01975954B00C5F0EE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1C1D91CC9E1C8360A9B14FA1 /* Pods-AsyncExample iOS.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample iOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_NAME = "AsyncExample iOS"; - }; - name = Debug; - }; - 4EF830E11975954B00C5F0EE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4CF64E3D73ED5516F23C846A /* Pods-AsyncExample iOS.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = "AsyncExample iOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_NAME = "AsyncExample iOS"; - }; - name = Release; - }; - 4EF830E31975954B00C5F0EE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7DFB4CD62F59F76AD8BDC430 /* Pods-AsyncExample iOSTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AsyncExample iOS.app/AsyncExample iOS"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample iOSTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "AsyncExample iOSTests"; - TEST_HOST = "$(BUNDLE_LOADER)"; - }; - name = Debug; - }; - 4EF830E41975954B00C5F0EE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8CF66DB4D65067D9046D222 /* Pods-AsyncExample iOSTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/AsyncExample iOS.app/AsyncExample iOS"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - INFOPLIST_FILE = "AsyncExample iOSTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "AsyncExample iOSTests"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AsyncExample iOS.app/AsyncExample iOS"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 4EF830701975950F00C5F0EE /* Build configuration list for PBXProject "AsyncExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EF8308F1975950F00C5F0EE /* Debug */, - 4EF830901975950F00C5F0EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4EF830B61975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS X" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EF830B71975952B00C5F0EE /* Debug */, - 4EF830B81975952B00C5F0EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4EF830B91975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS XTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EF830BA1975952B00C5F0EE /* Debug */, - 4EF830BB1975952B00C5F0EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4EF830DF1975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EF830E01975954B00C5F0EE /* Debug */, - 4EF830E11975954B00C5F0EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4EF830E21975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EF830E31975954B00C5F0EE /* Debug */, - 4EF830E41975954B00C5F0EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 4EF8306D1975950F00C5F0EE /* Project object */; -} diff --git a/AsyncExample/Podfile b/AsyncExample/Podfile deleted file mode 100644 index 316e0bc..0000000 --- a/AsyncExample/Podfile +++ /dev/null @@ -1,25 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' - -target 'AsyncExample iOS' do - platform :ios, '8.0' - use_frameworks! - pod 'Async', :path => '../' -end -target 'AsyncExample iOSTests' do - platform :ios, '8.0' - use_frameworks! - pod 'Async', :path => '../' -end -target 'AsyncExample OS X' do - platform :osx, '10.10' - use_frameworks! - pod 'Async', :path => '../' -end -target 'AsyncExample OS XTests' do - platform :osx, '10.10' - use_frameworks! - pod 'Async', :path => '../' -end - - - diff --git a/AsyncExample/Podfile.lock b/AsyncExample/Podfile.lock deleted file mode 100644 index 7b6de5a..0000000 --- a/AsyncExample/Podfile.lock +++ /dev/null @@ -1,14 +0,0 @@ -PODS: - - Async (1.1.1) - -DEPENDENCIES: - - Async (from `../`) - -EXTERNAL SOURCES: - Async: - :path: ../ - -SPEC CHECKSUMS: - Async: 4ba79915d3f43324db9e1e296db324cb896fa266 - -COCOAPODS: 0.36.0 diff --git a/AsyncExample/Pods/Manifest.lock b/AsyncExample/Pods/Manifest.lock deleted file mode 100644 index 7b6de5a..0000000 --- a/AsyncExample/Pods/Manifest.lock +++ /dev/null @@ -1,14 +0,0 @@ -PODS: - - Async (1.1.1) - -DEPENDENCIES: - - Async (from `../`) - -EXTERNAL SOURCES: - Async: - :path: ../ - -SPEC CHECKSUMS: - Async: 4ba79915d3f43324db9e1e296db324cb896fa266 - -COCOAPODS: 0.36.0 diff --git a/AsyncExample/Pods/Pods.xcodeproj/project.pbxproj b/AsyncExample/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index fd57b30..0000000 --- a/AsyncExample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1381 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 001691192AEF780735195DFD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C56628BDEBBB57BA688F6B77 /* Cocoa.framework */; }; - 046C156A53785359E6A12FE3 /* Pods-AsyncExample iOS-Async-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F1E48F6F54F9D32842F9E03D /* Pods-AsyncExample iOS-Async-dummy.m */; }; - 088E32CD806E6AF0FFFCF978 /* Pods-AsyncExample iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 04DCD3AC41D941C04BA9E9DB /* Pods-AsyncExample iOS-dummy.m */; }; - 0A7ECC5F783627FA0B9ECB35 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D237D421613FB460429D4485 /* Foundation.framework */; }; - 17EA71943FF0603B97F74FF5 /* Pods-AsyncExample OS XTests-Async-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 925D86E7A03D2E0EBDA4E69E /* Pods-AsyncExample OS XTests-Async-dummy.m */; }; - 20DDEA79B4D65BE77EBF086D /* Pods-AsyncExample OS XTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D19749676249C97A900A26E3 /* Pods-AsyncExample OS XTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 434CE2C7F05526E088585BF8 /* Pods-AsyncExample iOSTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F5E34CECE34D6EAE482AD4C1 /* Pods-AsyncExample iOSTests-dummy.m */; }; - 4C84A7201F6831E867570945 /* Pods-AsyncExample iOS-Async-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35D95983094D55A743624E /* Pods-AsyncExample iOS-Async-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D199F5E60A9C397B40CF88B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C56628BDEBBB57BA688F6B77 /* Cocoa.framework */; }; - 5020D0B5EEDDA133BB73B064 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C56628BDEBBB57BA688F6B77 /* Cocoa.framework */; }; - 5524BD6E3CBBE42A626C7E65 /* Pods-AsyncExample iOSTests-Async-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6F723287705FB9CA79154A /* Pods-AsyncExample iOSTests-Async-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 552995A9D201E6E6C0139E58 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D237D421613FB460429D4485 /* Foundation.framework */; }; - 5DFCB4734D361A35F2880EFF /* Pods-AsyncExample iOSTests-Async-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BED619F8766F0B55970403EC /* Pods-AsyncExample iOSTests-Async-dummy.m */; }; - 5EDEDE5B6E734CBD256B8598 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1BFC5102D36AF5E6B06E88 /* Async.swift */; }; - 64A6DB494E519FC3D8756260 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1BFC5102D36AF5E6B06E88 /* Async.swift */; }; - 686516C937668A6E904A4D7B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C56628BDEBBB57BA688F6B77 /* Cocoa.framework */; }; - 73BC2FC8CC6A2CFF4CDAA466 /* Pods-AsyncExample OS X-Async-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 229044B38FF0788935781BC0 /* Pods-AsyncExample OS X-Async-dummy.m */; }; - 742BB96F6685B2F326B4E7E5 /* Pods-AsyncExample OS XTests-Async-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 51396CDBE07AB2BA45C90BFE /* Pods-AsyncExample OS XTests-Async-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76554CF3C21E42F4557A64A1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D237D421613FB460429D4485 /* Foundation.framework */; }; - 876C27E2E0BB758F0AFBDA77 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D237D421613FB460429D4485 /* Foundation.framework */; }; - 88FF9CD2A7F6935242D8B616 /* Pods-AsyncExample OS X-Async-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 31295005424CDD2A8B289B72 /* Pods-AsyncExample OS X-Async-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F798568F5614F9A8002DC4E /* Pods-AsyncExample OS X-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F89230E5C7F57125217F1A60 /* Pods-AsyncExample OS X-dummy.m */; }; - A6B6E6700BFB31EECCE25119 /* Pods-AsyncExample OS XTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DDC1521845958F493310CE1 /* Pods-AsyncExample OS XTests-dummy.m */; }; - D6A814FAB79D349D1E088F9D /* Pods-AsyncExample OS X-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3D77A1A29AFABD59D65A90 /* Pods-AsyncExample OS X-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9F387C1E67A340B475A9C10 /* Pods-AsyncExample iOSTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E786C23BCE00987E8F5BC82 /* Pods-AsyncExample iOSTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1F74F44EBCA420F970A13CE /* Pods-AsyncExample iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EBCA2C779D7FEF2D96A5728 /* Pods-AsyncExample iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3E6B1CE4968E01FFFB82273 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1BFC5102D36AF5E6B06E88 /* Async.swift */; }; - E7EEDE269A06EEEBD1F35A5F /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1BFC5102D36AF5E6B06E88 /* Async.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 21753599A8EF76BBEEE3D79F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F8A050B8937052EE75DDA332 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 52762E20F4E5621B3B078EAE; - remoteInfo = "Pods-AsyncExample OS XTests-Async"; - }; - 9F4AEE4F7901C113917685FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F8A050B8937052EE75DDA332 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC2306BFEF0A1C43ECED8D88; - remoteInfo = "Pods-AsyncExample iOSTests-Async"; - }; - AD2FC324F64D22922337119A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F8A050B8937052EE75DDA332 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4B404BA9CF03FFA7E3D3E6D0; - remoteInfo = "Pods-AsyncExample OS X-Async"; - }; - B30C9BDF8AF817CC71763667 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F8A050B8937052EE75DDA332 /* Project object */; - proxyType = 1; - remoteGlobalIDString = AFB6BB6C6BF25E5D4F285E78; - remoteInfo = "Pods-AsyncExample iOS-Async"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 04DCD3AC41D941C04BA9E9DB /* Pods-AsyncExample iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample iOS-dummy.m"; sourceTree = ""; }; - 06ADFB1D4B92EA80F4BE8033 /* Pods-AsyncExample OS XTests-Async-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS XTests-Async-Private.xcconfig"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-Private.xcconfig"; sourceTree = ""; }; - 06EEC199C49A159C7B53BDCE /* Pods-AsyncExample OS X-Async.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-AsyncExample OS X-Async.modulemap"; sourceTree = ""; }; - 080E284CB7CEFB009BC3A5C3 /* Pods-AsyncExample OS XTests-Async.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS XTests-Async.xcconfig"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.xcconfig"; sourceTree = ""; }; - 0DB6B9C51AD6F8DDF6ED5467 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-AsyncExample iOS-Async/Info.plist"; sourceTree = ""; }; - 153B1363E35AEA59FFC68FB8 /* Pods-AsyncExample iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-AsyncExample iOS.modulemap"; sourceTree = ""; }; - 15D58A22152A2D0A8462DFE3 /* Pods-AsyncExample iOSTests-Async.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOSTests-Async.xcconfig"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.xcconfig"; sourceTree = ""; }; - 1E46E8F418BD04BE556237DE /* Pods-AsyncExample OS XTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample OS XTests-acknowledgements.plist"; sourceTree = ""; }; - 1FA4E1C73CC33BC3CDD69CC6 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 229044B38FF0788935781BC0 /* Pods-AsyncExample OS X-Async-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample OS X-Async-dummy.m"; sourceTree = ""; }; - 2544FA02058B21C4B2AE212F /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 306AD4A2EC0840131AED2179 /* Pods-AsyncExample OS XTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS XTests.debug.xcconfig"; sourceTree = ""; }; - 31295005424CDD2A8B289B72 /* Pods-AsyncExample OS X-Async-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS X-Async-umbrella.h"; sourceTree = ""; }; - 36CCFBFBD8DF36D3AD0122D4 /* Pods-AsyncExample iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOS.debug.xcconfig"; sourceTree = ""; }; - 394C98F2D4557955913FAAFE /* Pods-AsyncExample iOSTests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample iOSTests-environment.h"; sourceTree = ""; }; - 3D75A280A94E961FBE8BE0EA /* Pods-AsyncExample iOSTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample iOSTests-acknowledgements.markdown"; sourceTree = ""; }; - 3DDC1521845958F493310CE1 /* Pods-AsyncExample OS XTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample OS XTests-dummy.m"; sourceTree = ""; }; - 3E83D2DBCAD2FF0751B0BEB4 /* Pods-AsyncExample iOSTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample iOSTests-acknowledgements.plist"; sourceTree = ""; }; - 3F1D7D1A7824A672E583FCBD /* Pods-AsyncExample iOSTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOSTests-resources.sh"; sourceTree = ""; }; - 426CB27D2D04343EB6E6E015 /* Pods-AsyncExample iOSTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOSTests-frameworks.sh"; sourceTree = ""; }; - 4B3CB78F8CDC83DB9C2C7849 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 51396CDBE07AB2BA45C90BFE /* Pods-AsyncExample OS XTests-Async-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample OS XTests-Async-umbrella.h"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-umbrella.h"; sourceTree = ""; }; - 5264E795ED74BFC543CE4C56 /* Pods-AsyncExample iOSTests-Async.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-AsyncExample iOSTests-Async.modulemap"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap"; sourceTree = ""; }; - 5ABACAA6F91C1AB183CD4C74 /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 6633C1D8AAB5FFE84330E365 /* Pods_AsyncExample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6E786C23BCE00987E8F5BC82 /* Pods-AsyncExample iOSTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample iOSTests-umbrella.h"; sourceTree = ""; }; - 6F5BA363E5D41443CC7D0C7A /* Pods-AsyncExample OS X-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample OS X-acknowledgements.markdown"; sourceTree = ""; }; - 6FF9D683CE53F9B8C78A13EB /* Pods-AsyncExample OS X.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X.debug.xcconfig"; sourceTree = ""; }; - 7BD8BBC1E65A6368B5BAD78E /* Pods-AsyncExample OS X-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS X-frameworks.sh"; sourceTree = ""; }; - 7C0EF145598F5CA48BAB9E7A /* Pods_AsyncExample_OS_X.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_OS_X.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7C5F797C805B900F5C5A9EFC /* Pods-AsyncExample OS X.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-AsyncExample OS X.modulemap"; sourceTree = ""; }; - 8144E6CA5EDB2A823998FA71 /* Pods-AsyncExample iOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOS-frameworks.sh"; sourceTree = ""; }; - 8278592ACD0381C5F437C9DE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-AsyncExample OS XTests-Async/Info.plist"; sourceTree = ""; }; - 87269BBC9A69A8649320C0BC /* Pods-AsyncExample iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOSTests.release.xcconfig"; sourceTree = ""; }; - 8A89C16F79DED06A964D7971 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8B5F92A31F98FFC30B129355 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8BBCF4FBDCF187F5898213B4 /* Pods-AsyncExample iOS-Async.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-AsyncExample iOS-Async.modulemap"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap"; sourceTree = ""; }; - 8DCA5847C2674575A2ABD35D /* Pods-AsyncExample OS XTests-Async.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-AsyncExample OS XTests-Async.modulemap"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap"; sourceTree = ""; }; - 8EBCA2C779D7FEF2D96A5728 /* Pods-AsyncExample iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample iOS-umbrella.h"; sourceTree = ""; }; - 91C693740D17AED4865EB241 /* Pods-AsyncExample OS XTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS XTests-frameworks.sh"; sourceTree = ""; }; - 9258AACCBC0B02E21C863F46 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 925D86E7A03D2E0EBDA4E69E /* Pods-AsyncExample OS XTests-Async-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-AsyncExample OS XTests-Async-dummy.m"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-dummy.m"; sourceTree = ""; }; - 9CDABC93168664FF87D75E77 /* Pods-AsyncExample iOSTests-Async-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample iOSTests-Async-prefix.pch"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch"; sourceTree = ""; }; - 9CF32C7C31205E12ACBFD3B5 /* Pods-AsyncExample iOS-Async-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS-Async-Private.xcconfig"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-Private.xcconfig"; sourceTree = ""; }; - A49E7436C9512187DD651196 /* Pods-AsyncExample iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOS.release.xcconfig"; sourceTree = ""; }; - A74F7B250D44F72AEBC01E09 /* Pods_AsyncExample_OS_XTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_OS_XTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ABF7B61CE2F1E6AF65705A47 /* Pods-AsyncExample iOS-Async.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS-Async.xcconfig"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.xcconfig"; sourceTree = ""; }; - AE49276B3E2B1CDD037D1676 /* Pods-AsyncExample iOS-Async-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample iOS-Async-prefix.pch"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch"; sourceTree = ""; }; - AF08EDA4CAA518DD114C4595 /* Pods-AsyncExample OS X.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X.release.xcconfig"; sourceTree = ""; }; - B4EF3EA5925DB6181C3648C2 /* Pods-AsyncExample OS XTests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS XTests-environment.h"; sourceTree = ""; }; - B57378D651DF17AC0FEF4707 /* Pods-AsyncExample OS XTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-AsyncExample OS XTests.modulemap"; sourceTree = ""; }; - B6DEE6D99F791310350C643A /* Pods-AsyncExample OS X-Async-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X-Async-Private.xcconfig"; sourceTree = ""; }; - BED619F8766F0B55970403EC /* Pods-AsyncExample iOSTests-Async-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-AsyncExample iOSTests-Async-dummy.m"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-dummy.m"; sourceTree = ""; }; - C0857B2900ABF7486E82C6EC /* Pods-AsyncExample OS X-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS X-environment.h"; sourceTree = ""; }; - C2D7F60B98DA6032E0B25559 /* Pods-AsyncExample OS XTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS XTests.release.xcconfig"; sourceTree = ""; }; - C56628BDEBBB57BA688F6B77 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - CA3D77A1A29AFABD59D65A90 /* Pods-AsyncExample OS X-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS X-umbrella.h"; sourceTree = ""; }; - CA68AFE2D2936DC583ACA3E8 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB2C4E2F64B18A42940F4D05 /* Pods-AsyncExample OS XTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS XTests-resources.sh"; sourceTree = ""; }; - D1517CBD9DDF4DF36E315729 /* Pods-AsyncExample OS X-Async.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X-Async.xcconfig"; sourceTree = ""; }; - D173E128C9B5A56CC15E9E29 /* Pods_AsyncExample_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D19749676249C97A900A26E3 /* Pods-AsyncExample OS XTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS XTests-umbrella.h"; sourceTree = ""; }; - D235703D7B49374CBA6FBD69 /* Pods-AsyncExample OS X-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample OS X-acknowledgements.plist"; sourceTree = ""; }; - D237D421613FB460429D4485 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D252F06985C9B7ADC1F2AE36 /* Pods-AsyncExample iOSTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-AsyncExample iOSTests.modulemap"; sourceTree = ""; }; - D463F233AD5DFBD1EB3034C8 /* Pods-AsyncExample iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample iOS-acknowledgements.plist"; sourceTree = ""; }; - DA35D95983094D55A743624E /* Pods-AsyncExample iOS-Async-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample iOS-Async-umbrella.h"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-umbrella.h"; sourceTree = ""; }; - DCFCC13ED6A2A3B716678811 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-AsyncExample iOSTests-Async/Info.plist"; sourceTree = ""; }; - DD1BFC5102D36AF5E6B06E88 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Async.swift; sourceTree = ""; }; - E094562B90FBF21346FD400E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E3C65D80844917BB2D052783 /* Pods-AsyncExample OS X-Async-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS X-Async-prefix.pch"; sourceTree = ""; }; - E4D9C757555A6BF9F249FB93 /* Pods-AsyncExample OS X-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS X-resources.sh"; sourceTree = ""; }; - E7997DF6C97D3E0FEDF45156 /* Pods-AsyncExample iOSTests-Async-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOSTests-Async-Private.xcconfig"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-Private.xcconfig"; sourceTree = ""; }; - E7CD82CE70EBB76F6D66EE77 /* Pods-AsyncExample OS XTests-Async-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample OS XTests-Async-prefix.pch"; path = "../Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch"; sourceTree = ""; }; - EB6F723287705FB9CA79154A /* Pods-AsyncExample iOSTests-Async-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-AsyncExample iOSTests-Async-umbrella.h"; path = "../Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-umbrella.h"; sourceTree = ""; }; - EE756EE225C1CBEC7657568D /* Pods-AsyncExample iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample iOS-acknowledgements.markdown"; sourceTree = ""; }; - EF4DF77D26F8BB67FED225D9 /* Pods-AsyncExample OS XTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample OS XTests-acknowledgements.markdown"; sourceTree = ""; }; - F1E48F6F54F9D32842F9E03D /* Pods-AsyncExample iOS-Async-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-AsyncExample iOS-Async-dummy.m"; path = "../Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-dummy.m"; sourceTree = ""; }; - F4870AF95D610D96547A9A9C /* Pods-AsyncExample iOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOS-resources.sh"; sourceTree = ""; }; - F5E34CECE34D6EAE482AD4C1 /* Pods-AsyncExample iOSTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample iOSTests-dummy.m"; sourceTree = ""; }; - F62E50E81793E92DA88A78A6 /* Pods-AsyncExample iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOSTests.debug.xcconfig"; sourceTree = ""; }; - F89230E5C7F57125217F1A60 /* Pods-AsyncExample OS X-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample OS X-dummy.m"; sourceTree = ""; }; - F8D3806CB726E1FD86B01292 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Async.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FDCDDB2B382CD79B3809C6D7 /* Pods-AsyncExample iOS-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample iOS-environment.h"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 03E69026085FB935256AD545 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 76554CF3C21E42F4557A64A1 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 055F57542CECB0F7818A5D67 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 876C27E2E0BB758F0AFBDA77 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 28F7D5EF2B3F2752FC3E0AA7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 001691192AEF780735195DFD /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3ADB1715F07D36917120E3DB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 552995A9D201E6E6C0139E58 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 68939219A481092C7967FEB4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0A7ECC5F783627FA0B9ECB35 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6C66B6A55197D7F37CD31F67 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4D199F5E60A9C397B40CF88B /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B38DA1EB6612050C728D294F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 686516C937668A6E904A4D7B /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F08E8501EBA9A4F5C5D17F4E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5020D0B5EEDDA133BB73B064 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1B4A0C8F3CB6515C3A4DD2C5 /* Pods-AsyncExample iOSTests */ = { - isa = PBXGroup; - children = ( - 1FA4E1C73CC33BC3CDD69CC6 /* Info.plist */, - D252F06985C9B7ADC1F2AE36 /* Pods-AsyncExample iOSTests.modulemap */, - 3D75A280A94E961FBE8BE0EA /* Pods-AsyncExample iOSTests-acknowledgements.markdown */, - 3E83D2DBCAD2FF0751B0BEB4 /* Pods-AsyncExample iOSTests-acknowledgements.plist */, - F5E34CECE34D6EAE482AD4C1 /* Pods-AsyncExample iOSTests-dummy.m */, - 394C98F2D4557955913FAAFE /* Pods-AsyncExample iOSTests-environment.h */, - 426CB27D2D04343EB6E6E015 /* Pods-AsyncExample iOSTests-frameworks.sh */, - 3F1D7D1A7824A672E583FCBD /* Pods-AsyncExample iOSTests-resources.sh */, - 6E786C23BCE00987E8F5BC82 /* Pods-AsyncExample iOSTests-umbrella.h */, - F62E50E81793E92DA88A78A6 /* Pods-AsyncExample iOSTests.debug.xcconfig */, - 87269BBC9A69A8649320C0BC /* Pods-AsyncExample iOSTests.release.xcconfig */, - ); - name = "Pods-AsyncExample iOSTests"; - path = "Target Support Files/Pods-AsyncExample iOSTests"; - sourceTree = ""; - }; - 2318DED46506BDCD88BFFAF6 /* Pods-AsyncExample OS X */ = { - isa = PBXGroup; - children = ( - E094562B90FBF21346FD400E /* Info.plist */, - 7C5F797C805B900F5C5A9EFC /* Pods-AsyncExample OS X.modulemap */, - 6F5BA363E5D41443CC7D0C7A /* Pods-AsyncExample OS X-acknowledgements.markdown */, - D235703D7B49374CBA6FBD69 /* Pods-AsyncExample OS X-acknowledgements.plist */, - F89230E5C7F57125217F1A60 /* Pods-AsyncExample OS X-dummy.m */, - C0857B2900ABF7486E82C6EC /* Pods-AsyncExample OS X-environment.h */, - 7BD8BBC1E65A6368B5BAD78E /* Pods-AsyncExample OS X-frameworks.sh */, - E4D9C757555A6BF9F249FB93 /* Pods-AsyncExample OS X-resources.sh */, - CA3D77A1A29AFABD59D65A90 /* Pods-AsyncExample OS X-umbrella.h */, - 6FF9D683CE53F9B8C78A13EB /* Pods-AsyncExample OS X.debug.xcconfig */, - AF08EDA4CAA518DD114C4595 /* Pods-AsyncExample OS X.release.xcconfig */, - ); - name = "Pods-AsyncExample OS X"; - path = "Target Support Files/Pods-AsyncExample OS X"; - sourceTree = ""; - }; - 3DCC72CA2EE364A8A6E17015 /* Frameworks */ = { - isa = PBXGroup; - children = ( - FE824179FBEE23F8E9F4FAC5 /* OS X */, - 46AC46B8AB500F1A414EA112 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 46AC46B8AB500F1A414EA112 /* iOS */ = { - isa = PBXGroup; - children = ( - D237D421613FB460429D4485 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 4712FB941031F5025E9DE88E /* Pods-AsyncExample OS XTests */ = { - isa = PBXGroup; - children = ( - 4B3CB78F8CDC83DB9C2C7849 /* Info.plist */, - B57378D651DF17AC0FEF4707 /* Pods-AsyncExample OS XTests.modulemap */, - EF4DF77D26F8BB67FED225D9 /* Pods-AsyncExample OS XTests-acknowledgements.markdown */, - 1E46E8F418BD04BE556237DE /* Pods-AsyncExample OS XTests-acknowledgements.plist */, - 3DDC1521845958F493310CE1 /* Pods-AsyncExample OS XTests-dummy.m */, - B4EF3EA5925DB6181C3648C2 /* Pods-AsyncExample OS XTests-environment.h */, - 91C693740D17AED4865EB241 /* Pods-AsyncExample OS XTests-frameworks.sh */, - CB2C4E2F64B18A42940F4D05 /* Pods-AsyncExample OS XTests-resources.sh */, - D19749676249C97A900A26E3 /* Pods-AsyncExample OS XTests-umbrella.h */, - 306AD4A2EC0840131AED2179 /* Pods-AsyncExample OS XTests.debug.xcconfig */, - C2D7F60B98DA6032E0B25559 /* Pods-AsyncExample OS XTests.release.xcconfig */, - ); - name = "Pods-AsyncExample OS XTests"; - path = "Target Support Files/Pods-AsyncExample OS XTests"; - sourceTree = ""; - }; - 48F8A8B20732F6556DFEE6B2 /* Products */ = { - isa = PBXGroup; - children = ( - 9258AACCBC0B02E21C863F46 /* Async.framework */, - CA68AFE2D2936DC583ACA3E8 /* Async.framework */, - 2544FA02058B21C4B2AE212F /* Async.framework */, - F8D3806CB726E1FD86B01292 /* Async.framework */, - 7C0EF145598F5CA48BAB9E7A /* Pods_AsyncExample_OS_X.framework */, - A74F7B250D44F72AEBC01E09 /* Pods_AsyncExample_OS_XTests.framework */, - 6633C1D8AAB5FFE84330E365 /* Pods_AsyncExample_iOS.framework */, - D173E128C9B5A56CC15E9E29 /* Pods_AsyncExample_iOSTests.framework */, - ); - name = Products; - sourceTree = ""; - }; - 4AE3F27D0FCF0BFED67DAFCD /* Pods-AsyncExample iOS */ = { - isa = PBXGroup; - children = ( - 8A89C16F79DED06A964D7971 /* Info.plist */, - 153B1363E35AEA59FFC68FB8 /* Pods-AsyncExample iOS.modulemap */, - EE756EE225C1CBEC7657568D /* Pods-AsyncExample iOS-acknowledgements.markdown */, - D463F233AD5DFBD1EB3034C8 /* Pods-AsyncExample iOS-acknowledgements.plist */, - 04DCD3AC41D941C04BA9E9DB /* Pods-AsyncExample iOS-dummy.m */, - FDCDDB2B382CD79B3809C6D7 /* Pods-AsyncExample iOS-environment.h */, - 8144E6CA5EDB2A823998FA71 /* Pods-AsyncExample iOS-frameworks.sh */, - F4870AF95D610D96547A9A9C /* Pods-AsyncExample iOS-resources.sh */, - 8EBCA2C779D7FEF2D96A5728 /* Pods-AsyncExample iOS-umbrella.h */, - 36CCFBFBD8DF36D3AD0122D4 /* Pods-AsyncExample iOS.debug.xcconfig */, - A49E7436C9512187DD651196 /* Pods-AsyncExample iOS.release.xcconfig */, - ); - name = "Pods-AsyncExample iOS"; - path = "Target Support Files/Pods-AsyncExample iOS"; - sourceTree = ""; - }; - 588CC63EB88412F1F983C1FE /* Development Pods */ = { - isa = PBXGroup; - children = ( - 78A1B2DA8DF9EC007DD819E8 /* Async */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 78A1B2DA8DF9EC007DD819E8 /* Async */ = { - isa = PBXGroup; - children = ( - DD1BFC5102D36AF5E6B06E88 /* Async.swift */, - D7FD44690C9F5854A3BFA4D7 /* Support Files */, - ); - name = Async; - path = ../..; - sourceTree = ""; - }; - D7FD44690C9F5854A3BFA4D7 /* Support Files */ = { - isa = PBXGroup; - children = ( - 0DB6B9C51AD6F8DDF6ED5467 /* Info.plist */, - DCFCC13ED6A2A3B716678811 /* Info.plist */, - 8278592ACD0381C5F437C9DE /* Info.plist */, - 8B5F92A31F98FFC30B129355 /* Info.plist */, - 06EEC199C49A159C7B53BDCE /* Pods-AsyncExample OS X-Async.modulemap */, - D1517CBD9DDF4DF36E315729 /* Pods-AsyncExample OS X-Async.xcconfig */, - B6DEE6D99F791310350C643A /* Pods-AsyncExample OS X-Async-Private.xcconfig */, - 229044B38FF0788935781BC0 /* Pods-AsyncExample OS X-Async-dummy.m */, - E3C65D80844917BB2D052783 /* Pods-AsyncExample OS X-Async-prefix.pch */, - 31295005424CDD2A8B289B72 /* Pods-AsyncExample OS X-Async-umbrella.h */, - 8DCA5847C2674575A2ABD35D /* Pods-AsyncExample OS XTests-Async.modulemap */, - 080E284CB7CEFB009BC3A5C3 /* Pods-AsyncExample OS XTests-Async.xcconfig */, - 06ADFB1D4B92EA80F4BE8033 /* Pods-AsyncExample OS XTests-Async-Private.xcconfig */, - 925D86E7A03D2E0EBDA4E69E /* Pods-AsyncExample OS XTests-Async-dummy.m */, - E7CD82CE70EBB76F6D66EE77 /* Pods-AsyncExample OS XTests-Async-prefix.pch */, - 51396CDBE07AB2BA45C90BFE /* Pods-AsyncExample OS XTests-Async-umbrella.h */, - 8BBCF4FBDCF187F5898213B4 /* Pods-AsyncExample iOS-Async.modulemap */, - ABF7B61CE2F1E6AF65705A47 /* Pods-AsyncExample iOS-Async.xcconfig */, - 9CF32C7C31205E12ACBFD3B5 /* Pods-AsyncExample iOS-Async-Private.xcconfig */, - F1E48F6F54F9D32842F9E03D /* Pods-AsyncExample iOS-Async-dummy.m */, - AE49276B3E2B1CDD037D1676 /* Pods-AsyncExample iOS-Async-prefix.pch */, - DA35D95983094D55A743624E /* Pods-AsyncExample iOS-Async-umbrella.h */, - 5264E795ED74BFC543CE4C56 /* Pods-AsyncExample iOSTests-Async.modulemap */, - 15D58A22152A2D0A8462DFE3 /* Pods-AsyncExample iOSTests-Async.xcconfig */, - E7997DF6C97D3E0FEDF45156 /* Pods-AsyncExample iOSTests-Async-Private.xcconfig */, - BED619F8766F0B55970403EC /* Pods-AsyncExample iOSTests-Async-dummy.m */, - 9CDABC93168664FF87D75E77 /* Pods-AsyncExample iOSTests-Async-prefix.pch */, - EB6F723287705FB9CA79154A /* Pods-AsyncExample iOSTests-Async-umbrella.h */, - ); - name = "Support Files"; - path = "AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async"; - sourceTree = ""; - }; - F63B40A939AD89D9DEC8B8D6 = { - isa = PBXGroup; - children = ( - 5ABACAA6F91C1AB183CD4C74 /* Podfile */, - 588CC63EB88412F1F983C1FE /* Development Pods */, - 3DCC72CA2EE364A8A6E17015 /* Frameworks */, - 48F8A8B20732F6556DFEE6B2 /* Products */, - FD66741AE2DE837E4C11063C /* Targets Support Files */, - ); - sourceTree = ""; - }; - FD66741AE2DE837E4C11063C /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 2318DED46506BDCD88BFFAF6 /* Pods-AsyncExample OS X */, - 4712FB941031F5025E9DE88E /* Pods-AsyncExample OS XTests */, - 4AE3F27D0FCF0BFED67DAFCD /* Pods-AsyncExample iOS */, - 1B4A0C8F3CB6515C3A4DD2C5 /* Pods-AsyncExample iOSTests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - FE824179FBEE23F8E9F4FAC5 /* OS X */ = { - isa = PBXGroup; - children = ( - C56628BDEBBB57BA688F6B77 /* Cocoa.framework */, - ); - name = "OS X"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 200D104FDDFB2DB280C1020D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 20DDEA79B4D65BE77EBF086D /* Pods-AsyncExample OS XTests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 21BCFEA6E3337CCB2A6FF600 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5524BD6E3CBBE42A626C7E65 /* Pods-AsyncExample iOSTests-Async-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2851321B9B2EEB77FBA523B1 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 4C84A7201F6831E867570945 /* Pods-AsyncExample iOS-Async-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2A6CEF41E9A170B06C3466D3 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D6A814FAB79D349D1E088F9D /* Pods-AsyncExample OS X-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 335BB85BA9B70A8886683486 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 88FF9CD2A7F6935242D8B616 /* Pods-AsyncExample OS X-Async-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 45D09DD7667C11244E39FEED /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 742BB96F6685B2F326B4E7E5 /* Pods-AsyncExample OS XTests-Async-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4B5E79AEAA7E1E2F76D96358 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D9F387C1E67A340B475A9C10 /* Pods-AsyncExample iOSTests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 541DE8D7762434F05B96AE96 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E1F74F44EBCA420F970A13CE /* Pods-AsyncExample iOS-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 06971FDDA851899D6A7ED378 /* Pods-AsyncExample OS XTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 54AB3138277E04708CDC7ADF /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS XTests" */; - buildPhases = ( - D46EFC7E4AD5E043876821F7 /* Sources */, - B38DA1EB6612050C728D294F /* Frameworks */, - 200D104FDDFB2DB280C1020D /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - A50A31D7431FCD9A27B71C5A /* PBXTargetDependency */, - ); - name = "Pods-AsyncExample OS XTests"; - productName = "Pods-AsyncExample OS XTests"; - productReference = A74F7B250D44F72AEBC01E09 /* Pods_AsyncExample_OS_XTests.framework */; - productType = "com.apple.product-type.framework"; - }; - 17DC80BDD6D4FF02B76E3042 /* Pods-AsyncExample iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = DCB2F0226AAEF7881E17B4B7 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS" */; - buildPhases = ( - 5DA830039CEBA83754DC5ABB /* Sources */, - 055F57542CECB0F7818A5D67 /* Frameworks */, - 541DE8D7762434F05B96AE96 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - AE13A3FBEE64CB719996FFC8 /* PBXTargetDependency */, - ); - name = "Pods-AsyncExample iOS"; - productName = "Pods-AsyncExample iOS"; - productReference = 6633C1D8AAB5FFE84330E365 /* Pods_AsyncExample_iOS.framework */; - productType = "com.apple.product-type.framework"; - }; - 4B404BA9CF03FFA7E3D3E6D0 /* Pods-AsyncExample OS X-Async */ = { - isa = PBXNativeTarget; - buildConfigurationList = 559342A957BA442FADE34B59 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X-Async" */; - buildPhases = ( - AA210DF549C6575BE3D092F4 /* Sources */, - F08E8501EBA9A4F5C5D17F4E /* Frameworks */, - 335BB85BA9B70A8886683486 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-AsyncExample OS X-Async"; - productName = "Pods-AsyncExample OS X-Async"; - productReference = 9258AACCBC0B02E21C863F46 /* Async.framework */; - productType = "com.apple.product-type.framework"; - }; - 52762E20F4E5621B3B078EAE /* Pods-AsyncExample OS XTests-Async */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8A46E5832174009158FD1CD0 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS XTests-Async" */; - buildPhases = ( - 58A22514C8F43DF136C49FE7 /* Sources */, - 6C66B6A55197D7F37CD31F67 /* Frameworks */, - 45D09DD7667C11244E39FEED /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-AsyncExample OS XTests-Async"; - productName = "Pods-AsyncExample OS XTests-Async"; - productReference = CA68AFE2D2936DC583ACA3E8 /* Async.framework */; - productType = "com.apple.product-type.framework"; - }; - 7421EF2522B8DBA76EBFF834 /* Pods-AsyncExample iOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 455EEFA71515B4FF87757EDE /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOSTests" */; - buildPhases = ( - 6E004451760B8914B0DB42A4 /* Sources */, - 68939219A481092C7967FEB4 /* Frameworks */, - 4B5E79AEAA7E1E2F76D96358 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 8E1EEB46BA1A7672D2BA6003 /* PBXTargetDependency */, - ); - name = "Pods-AsyncExample iOSTests"; - productName = "Pods-AsyncExample iOSTests"; - productReference = D173E128C9B5A56CC15E9E29 /* Pods_AsyncExample_iOSTests.framework */; - productType = "com.apple.product-type.framework"; - }; - AFB6BB6C6BF25E5D4F285E78 /* Pods-AsyncExample iOS-Async */ = { - isa = PBXNativeTarget; - buildConfigurationList = 893AEF19A603BD93729F2CFD /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS-Async" */; - buildPhases = ( - 9D83E1F5753C6DE04BDF42E6 /* Sources */, - 3ADB1715F07D36917120E3DB /* Frameworks */, - 2851321B9B2EEB77FBA523B1 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-AsyncExample iOS-Async"; - productName = "Pods-AsyncExample iOS-Async"; - productReference = 2544FA02058B21C4B2AE212F /* Async.framework */; - productType = "com.apple.product-type.framework"; - }; - CC2306BFEF0A1C43ECED8D88 /* Pods-AsyncExample iOSTests-Async */ = { - isa = PBXNativeTarget; - buildConfigurationList = AF2C17858314FE42CC405EDE /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOSTests-Async" */; - buildPhases = ( - A2217947FFA49925AC9678FD /* Sources */, - 03E69026085FB935256AD545 /* Frameworks */, - 21BCFEA6E3337CCB2A6FF600 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-AsyncExample iOSTests-Async"; - productName = "Pods-AsyncExample iOSTests-Async"; - productReference = F8D3806CB726E1FD86B01292 /* Async.framework */; - productType = "com.apple.product-type.framework"; - }; - FF92722B634415365FF6E475 /* Pods-AsyncExample OS X */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6D070907EF4EB52B459A46F9 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X" */; - buildPhases = ( - DAD00C8DA6C7AF23324043E8 /* Sources */, - 28F7D5EF2B3F2752FC3E0AA7 /* Frameworks */, - 2A6CEF41E9A170B06C3466D3 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ACDD886FB93FA9EF8E4F87B0 /* PBXTargetDependency */, - ); - name = "Pods-AsyncExample OS X"; - productName = "Pods-AsyncExample OS X"; - productReference = 7C0EF145598F5CA48BAB9E7A /* Pods_AsyncExample_OS_X.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - F8A050B8937052EE75DDA332 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0510; - }; - buildConfigurationList = 5EF29B4A687C8388C350A455 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = F63B40A939AD89D9DEC8B8D6; - productRefGroup = 48F8A8B20732F6556DFEE6B2 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - FF92722B634415365FF6E475 /* Pods-AsyncExample OS X */, - 4B404BA9CF03FFA7E3D3E6D0 /* Pods-AsyncExample OS X-Async */, - 06971FDDA851899D6A7ED378 /* Pods-AsyncExample OS XTests */, - 52762E20F4E5621B3B078EAE /* Pods-AsyncExample OS XTests-Async */, - 17DC80BDD6D4FF02B76E3042 /* Pods-AsyncExample iOS */, - AFB6BB6C6BF25E5D4F285E78 /* Pods-AsyncExample iOS-Async */, - 7421EF2522B8DBA76EBFF834 /* Pods-AsyncExample iOSTests */, - CC2306BFEF0A1C43ECED8D88 /* Pods-AsyncExample iOSTests-Async */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 58A22514C8F43DF136C49FE7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 64A6DB494E519FC3D8756260 /* Async.swift in Sources */, - 17EA71943FF0603B97F74FF5 /* Pods-AsyncExample OS XTests-Async-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 5DA830039CEBA83754DC5ABB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 088E32CD806E6AF0FFFCF978 /* Pods-AsyncExample iOS-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6E004451760B8914B0DB42A4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 434CE2C7F05526E088585BF8 /* Pods-AsyncExample iOSTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9D83E1F5753C6DE04BDF42E6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E7EEDE269A06EEEBD1F35A5F /* Async.swift in Sources */, - 046C156A53785359E6A12FE3 /* Pods-AsyncExample iOS-Async-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A2217947FFA49925AC9678FD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5EDEDE5B6E734CBD256B8598 /* Async.swift in Sources */, - 5DFCB4734D361A35F2880EFF /* Pods-AsyncExample iOSTests-Async-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AA210DF549C6575BE3D092F4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E3E6B1CE4968E01FFFB82273 /* Async.swift in Sources */, - 73BC2FC8CC6A2CFF4CDAA466 /* Pods-AsyncExample OS X-Async-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D46EFC7E4AD5E043876821F7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A6B6E6700BFB31EECCE25119 /* Pods-AsyncExample OS XTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DAD00C8DA6C7AF23324043E8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F798568F5614F9A8002DC4E /* Pods-AsyncExample OS X-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8E1EEB46BA1A7672D2BA6003 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-AsyncExample iOSTests-Async"; - target = CC2306BFEF0A1C43ECED8D88 /* Pods-AsyncExample iOSTests-Async */; - targetProxy = 9F4AEE4F7901C113917685FD /* PBXContainerItemProxy */; - }; - A50A31D7431FCD9A27B71C5A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-AsyncExample OS XTests-Async"; - target = 52762E20F4E5621B3B078EAE /* Pods-AsyncExample OS XTests-Async */; - targetProxy = 21753599A8EF76BBEEE3D79F /* PBXContainerItemProxy */; - }; - ACDD886FB93FA9EF8E4F87B0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-AsyncExample OS X-Async"; - target = 4B404BA9CF03FFA7E3D3E6D0 /* Pods-AsyncExample OS X-Async */; - targetProxy = AD2FC324F64D22922337119A /* PBXContainerItemProxy */; - }; - AE13A3FBEE64CB719996FFC8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-AsyncExample iOS-Async"; - target = AFB6BB6C6BF25E5D4F285E78 /* Pods-AsyncExample iOS-Async */; - targetProxy = B30C9BDF8AF817CC71763667 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1111F50F438BC1FF45450844 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F62E50E81793E92DA88A78A6 /* Pods-AsyncExample iOSTests.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOSTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_iOSTests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 2807A628016A4E95410B88D1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C2D7F60B98DA6032E0B25559 /* Pods-AsyncExample OS XTests.release.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS XTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_OS_XTests; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 31047828590680CC6DC0F04A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FF9D683CE53F9B8C78A13EB /* Pods-AsyncExample OS X.debug.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_OS_X; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 413E6DB2C12634EBA40DEAC7 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A49E7436C9512187DD651196 /* Pods-AsyncExample iOS.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_iOS; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 49A9409C713413B53840020C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.10; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 61EA8F805E90288D7A04BA33 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E7997DF6C97D3E0FEDF45156 /* Pods-AsyncExample iOSTests-Async-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOSTests-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Async; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 69FFA8F18D87AA871E305BDA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 06ADFB1D4B92EA80F4BE8033 /* Pods-AsyncExample OS XTests-Async-Private.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS XTests-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 7B28872FBD76CC2F5DA54764 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9CF32C7C31205E12ACBFD3B5 /* Pods-AsyncExample iOS-Async-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Async; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 98C462ADD8224AE3BBB3F261 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.10; - ONLY_ACTIVE_ARCH = YES; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 9C6C0B794EA8F14711935779 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E7997DF6C97D3E0FEDF45156 /* Pods-AsyncExample iOSTests-Async-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOSTests-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Async; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A011AF17C0BC4849F6764C78 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B6DEE6D99F791310350C643A /* Pods-AsyncExample OS X-Async-Private.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - A020C8C37A316D2481C8F14E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B6DEE6D99F791310350C643A /* Pods-AsyncExample OS X-Async-Private.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A432BD615C2FB5AB995C6FD1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 36CCFBFBD8DF36D3AD0122D4 /* Pods-AsyncExample iOS.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_iOS; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - BB66A92C4D0288BA79E03641 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 06ADFB1D4B92EA80F4BE8033 /* Pods-AsyncExample OS XTests-Async-Private.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS XTests-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Async; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - C80CD54AE927D785CA452155 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AF08EDA4CAA518DD114C4595 /* Pods-AsyncExample OS X.release.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_OS_X; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - DDE7C94894550D647E282B36 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9CF32C7C31205E12ACBFD3B5 /* Pods-AsyncExample iOS-Async-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS-Async/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Async; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - F83259F3C4F005E4B721187B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 306AD4A2EC0840131AED2179 /* Pods-AsyncExample OS XTests.debug.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS XTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_OS_XTests; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - FBC59F3D7194268C29A8E4FB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 87269BBC9A69A8649320C0BC /* Pods-AsyncExample iOSTests.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOSTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_AsyncExample_iOSTests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 455EEFA71515B4FF87757EDE /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1111F50F438BC1FF45450844 /* Debug */, - FBC59F3D7194268C29A8E4FB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 54AB3138277E04708CDC7ADF /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS XTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F83259F3C4F005E4B721187B /* Debug */, - 2807A628016A4E95410B88D1 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 559342A957BA442FADE34B59 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X-Async" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A020C8C37A316D2481C8F14E /* Debug */, - A011AF17C0BC4849F6764C78 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 5EF29B4A687C8388C350A455 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 98C462ADD8224AE3BBB3F261 /* Debug */, - 49A9409C713413B53840020C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6D070907EF4EB52B459A46F9 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 31047828590680CC6DC0F04A /* Debug */, - C80CD54AE927D785CA452155 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 893AEF19A603BD93729F2CFD /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS-Async" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DDE7C94894550D647E282B36 /* Debug */, - 7B28872FBD76CC2F5DA54764 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8A46E5832174009158FD1CD0 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS XTests-Async" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BB66A92C4D0288BA79E03641 /* Debug */, - 69FFA8F18D87AA871E305BDA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AF2C17858314FE42CC405EDE /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOSTests-Async" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9C6C0B794EA8F14711935779 /* Debug */, - 61EA8F805E90288D7A04BA33 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DCB2F0226AAEF7881E17B4B7 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A432BD615C2FB5AB995C6FD1 /* Debug */, - 413E6DB2C12634EBA40DEAC7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = F8A050B8937052EE75DDA332 /* Project object */; -} diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-Private.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-Private.xcconfig deleted file mode 100644 index 708c23e..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-Private.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -#include "Pods-AsyncExample OS X-Async.xcconfig" -CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Async" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Async" -OTHER_LDFLAGS = -ObjC -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS X -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-dummy.m deleted file mode 100644 index cd3f722..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_OS_X_Async : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_OS_X_Async -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-prefix.pch b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-prefix.pch deleted file mode 100644 index 2e9c88f..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-AsyncExample OS X-environment.h" diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-umbrella.h deleted file mode 100644 index bc789c7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double AsyncVersionNumber; -FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-environment.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-environment.h deleted file mode 100644 index e8a2ec7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// Async -#define COCOAPODS_POD_AVAILABLE_Async -#define COCOAPODS_VERSION_MAJOR_Async 1 -#define COCOAPODS_VERSION_MINOR_Async 1 -#define COCOAPODS_VERSION_PATCH_Async 1 - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh deleted file mode 100755 index 369fc2a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - local source="${BUILT_PRODUCTS_DIR}/Pods-AsyncExample OS X/$1" - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source=$(readlink "${source}") - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" "${source}" "${destination}" - # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi - - # Embed linked Swift runtime libraries - local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi - done -} - -# Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Async.framework' -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Async.framework' -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh deleted file mode 100755 index 64c6f7a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES="" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" - ;; - *.xcassets) - XCASSET_FILES="$XCASSET_FILES '$1'" - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n $XCASSET_FILES ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - echo $XCASSET_FILES | xargs actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h deleted file mode 100644 index 9db1aef..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double Pods_AsyncExample_OS_XVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_OS_XVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig deleted file mode 100644 index bc478ec..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS X -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig deleted file mode 100644 index bc478ec..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS X -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-Private.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-Private.xcconfig deleted file mode 100644 index b7c9eee..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-Private.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -#include "Pods-AsyncExample OS XTests-Async.xcconfig" -CODE_SIGN_IDENTITY = -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Async" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Async" -OTHER_LDFLAGS = -ObjC -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS XTests -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-dummy.m deleted file mode 100644 index 901a5cf..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_OS_XTests_Async : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_OS_XTests_Async -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch deleted file mode 100644 index 5de4ab3..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-AsyncExample OS XTests-environment.h" diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-umbrella.h deleted file mode 100644 index bc789c7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double AsyncVersionNumber; -FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap deleted file mode 100644 index 9f0abb1..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Async { - umbrella header "Pods-AsyncExample OS XTests-Async-umbrella.h" - - export * - module * { export * } -} diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Pods-AsyncExample OS XTests-Async.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.markdown b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.markdown deleted file mode 100644 index 0cbb65f..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.markdown +++ /dev/null @@ -1,27 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## Async - -The MIT License (MIT) - -Copyright (c) 2014 Tobias Due Munk - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Generated by CocoaPods - http://cocoapods.org diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.plist b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.plist deleted file mode 100644 index ffe2637..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-acknowledgements.plist +++ /dev/null @@ -1,57 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Tobias Due Munk - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Title - Async - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - http://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-dummy.m deleted file mode 100644 index a833ab5..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_OS_XTests : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_OS_XTests -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-environment.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-environment.h deleted file mode 100644 index e8a2ec7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// Async -#define COCOAPODS_POD_AVAILABLE_Async -#define COCOAPODS_VERSION_MAJOR_Async 1 -#define COCOAPODS_VERSION_MINOR_Async 1 -#define COCOAPODS_VERSION_PATCH_Async 1 - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-frameworks.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-frameworks.sh deleted file mode 100755 index 61a08b1..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-frameworks.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - local source="${BUILT_PRODUCTS_DIR}/Pods-AsyncExample OS XTests/$1" - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source=$(readlink "${source}") - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" "${source}" "${destination}" - # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi - - # Embed linked Swift runtime libraries - local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi - done -} - -# Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Async.framework' -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Async.framework' -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-resources.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-resources.sh deleted file mode 100755 index 64c6f7a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-resources.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES="" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" - ;; - *.xcassets) - XCASSET_FILES="$XCASSET_FILES '$1'" - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n $XCASSET_FILES ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - echo $XCASSET_FILES | xargs actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-umbrella.h deleted file mode 100644 index 7910628..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double Pods_AsyncExample_OS_XTestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_OS_XTestsVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.debug.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.debug.xcconfig deleted file mode 100644 index ed57f1a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS XTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.modulemap b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.modulemap deleted file mode 100644 index 17f4b0d..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_AsyncExample_OS_XTests { - umbrella header "Pods-AsyncExample OS XTests-umbrella.h" - - export * - module * { export * } -} diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.release.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.release.xcconfig deleted file mode 100644 index ed57f1a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Pods-AsyncExample OS XTests.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CODE_SIGN_IDENTITY = -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample OS XTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Info.plist b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Info.plist deleted file mode 100644 index 9f5393b..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.1.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-Private.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-Private.xcconfig deleted file mode 100644 index 8da68a4..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-Private.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -#include "Pods-AsyncExample iOS-Async.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Async" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Async" -OTHER_LDFLAGS = -ObjC -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOS -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-dummy.m deleted file mode 100644 index 4a377b9..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_iOS_Async : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_iOS_Async -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch deleted file mode 100644 index 090f17e..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-AsyncExample iOS-environment.h" diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-umbrella.h deleted file mode 100644 index 209b3aa..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double AsyncVersionNumber; -FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-environment.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-environment.h deleted file mode 100644 index e8a2ec7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// Async -#define COCOAPODS_POD_AVAILABLE_Async -#define COCOAPODS_VERSION_MAJOR_Async 1 -#define COCOAPODS_VERSION_MINOR_Async 1 -#define COCOAPODS_VERSION_PATCH_Async 1 - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh deleted file mode 100755 index 723c823..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - local source="${BUILT_PRODUCTS_DIR}/Pods-AsyncExample iOS/$1" - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source=$(readlink "${source}") - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" "${source}" "${destination}" - # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi - - # Embed linked Swift runtime libraries - local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi - done -} - -# Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Async.framework' -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Async.framework' -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh deleted file mode 100755 index 64c6f7a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES="" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" - ;; - *.xcassets) - XCASSET_FILES="$XCASSET_FILES '$1'" - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n $XCASSET_FILES ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - echo $XCASSET_FILES | xargs actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h deleted file mode 100644 index efb1a45..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double Pods_AsyncExample_iOSVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_iOSVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig deleted file mode 100644 index 5908e57..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOS -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig deleted file mode 100644 index 5908e57..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOS -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Info.plist b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Info.plist deleted file mode 100644 index 9f5393b..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.1.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-Private.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-Private.xcconfig deleted file mode 100644 index 9239ade..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-Private.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -#include "Pods-AsyncExample iOSTests-Async.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Async" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Async" -OTHER_LDFLAGS = -ObjC -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOSTests -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-dummy.m deleted file mode 100644 index 8acb16f..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_iOSTests_Async : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_iOSTests_Async -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch deleted file mode 100644 index 0f22d80..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-AsyncExample iOSTests-environment.h" diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-umbrella.h deleted file mode 100644 index 209b3aa..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double AsyncVersionNumber; -FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap deleted file mode 100644 index 2ad727d..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Async { - umbrella header "Pods-AsyncExample iOSTests-Async-umbrella.h" - - export * - module * { export * } -} diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests-Async/Pods-AsyncExample iOSTests-Async.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-dummy.m b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-dummy.m deleted file mode 100644 index c703cc6..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AsyncExample_iOSTests : NSObject -@end -@implementation PodsDummy_Pods_AsyncExample_iOSTests -@end diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-environment.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-environment.h deleted file mode 100644 index e8a2ec7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// Async -#define COCOAPODS_POD_AVAILABLE_Async -#define COCOAPODS_VERSION_MAJOR_Async 1 -#define COCOAPODS_VERSION_MINOR_Async 1 -#define COCOAPODS_VERSION_PATCH_Async 1 - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-frameworks.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-frameworks.sh deleted file mode 100755 index f2a9645..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-frameworks.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - local source="${BUILT_PRODUCTS_DIR}/Pods-AsyncExample iOSTests/$1" - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source=$(readlink "${source}") - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" "${source}" "${destination}" - # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi - - # Embed linked Swift runtime libraries - local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi - done -} - -# Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Async.framework' -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Async.framework' -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-resources.sh b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-resources.sh deleted file mode 100755 index 64c6f7a..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-resources.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES="" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" - ;; - *.xcassets) - XCASSET_FILES="$XCASSET_FILES '$1'" - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n $XCASSET_FILES ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - echo $XCASSET_FILES | xargs actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-umbrella.h b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-umbrella.h deleted file mode 100644 index 77a3f27..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double Pods_AsyncExample_iOSTestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_iOSTestsVersionString[]; - diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.debug.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.debug.xcconfig deleted file mode 100644 index 7b2d7b7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.debug.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOSTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.modulemap b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.modulemap deleted file mode 100644 index b42a1e9..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_AsyncExample_iOSTests { - umbrella header "Pods-AsyncExample iOSTests-umbrella.h" - - export * - module * { export * } -} diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.release.xcconfig b/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.release.xcconfig deleted file mode 100644 index 7b2d7b7..0000000 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests.release.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/Async.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "Async" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-AsyncExample iOSTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/AsyncExample/AsyncExample OS X/main.swift b/AsyncPodsExample/AsyncExample OS X/AppDelegate.swift similarity index 60% rename from AsyncExample/AsyncExample OS X/main.swift rename to AsyncPodsExample/AsyncExample OS X/AppDelegate.swift index 38557f8..a0e14cf 100644 --- a/AsyncExample/AsyncExample OS X/main.swift +++ b/AsyncPodsExample/AsyncExample OS X/AppDelegate.swift @@ -1,5 +1,5 @@ // -// main.swift +// AppDelegate.swift // AsyncExample OS X // // Created by Tobias DM on 15/07/14. @@ -8,4 +8,5 @@ import Cocoa -NSApplicationMain(Process.argc, Process.unsafeArgv) +@NSApplicationMain +class AppDelegate: NSObject, NSApplicationDelegate { } diff --git a/AsyncExample/AsyncExample OS X/Base.lproj/Main.storyboard b/AsyncPodsExample/AsyncExample OS X/Base.lproj/Main.storyboard similarity index 100% rename from AsyncExample/AsyncExample OS X/Base.lproj/Main.storyboard rename to AsyncPodsExample/AsyncExample OS X/Base.lproj/Main.storyboard diff --git a/AsyncExample/AsyncExample OS X/Images.xcassets/AppIcon.appiconset/Contents.json b/AsyncPodsExample/AsyncExample OS X/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from AsyncExample/AsyncExample OS X/Images.xcassets/AppIcon.appiconset/Contents.json rename to AsyncPodsExample/AsyncExample OS X/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/AsyncExample/AsyncExample OS X/Info.plist b/AsyncPodsExample/AsyncExample OS X/Info.plist similarity index 93% rename from AsyncExample/AsyncExample OS X/Info.plist rename to AsyncPodsExample/AsyncExample OS X/Info.plist index d7e4ab2..9a2297a 100644 --- a/AsyncExample/AsyncExample OS X/Info.plist +++ b/AsyncPodsExample/AsyncExample OS X/Info.plist @@ -9,7 +9,7 @@ CFBundleIconFile CFBundleIdentifier - dk.developmunk.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AsyncExample/AsyncExample OS X/ViewController.swift b/AsyncPodsExample/AsyncExample OS X/ViewController.swift similarity index 55% rename from AsyncExample/AsyncExample OS X/ViewController.swift rename to AsyncPodsExample/AsyncExample OS X/ViewController.swift index 94d8091..ca7f76e 100644 --- a/AsyncExample/AsyncExample OS X/ViewController.swift +++ b/AsyncPodsExample/AsyncExample OS X/ViewController.swift @@ -16,18 +16,18 @@ class ViewController: NSViewController { // Async syntactic sugar Async.background { - println("A: This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") + print("A: This is run on the \(qos_class_self().description) (expected \(DispatchQoS.QoSClass.background.description))") }.main { - println("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + print("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") } // Regular GCD /* dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), { - println("REGULAR GCD: This is run on the background queue") + print("REGULAR GCD: This is run on the background queue") dispatch_async(dispatch_get_main_queue(), 0), { - println("REGULAR GCD: This is run on the main queue") + print("REGULAR GCD: This is run on the main queue") }) }) */ @@ -36,19 +36,19 @@ class ViewController: NSViewController { // Chaining with Async var id = 0 Async.main { - println("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)) count: \(++id) (expected 1) ") + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)) count: \(++id) (expected 1) ") // Prints: "This is run on the Main (expected Main) count: 1 (expected 1)" }.userInteractive { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description)) count: \(++id) (expected 2) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description)) count: \(++id) (expected 2) ") // Prints: "This is run on the Main (expected Main) count: 2 (expected 2)" }.userInitiated { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description)) count: \(++id) (expected 3) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description)) count: \(++id) (expected 3) ") // Prints: "This is run on the User Initiated (expected User Initiated) count: 3 (expected 3)" }.utility { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description)) count: \(++id) (expected 4) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description)) count: \(++id) (expected 4) ") // Prints: "This is run on the Utility (expected Utility) count: 4 (expected 4)" }.background { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description)) count: \(++id) (expected 5) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description)) count: \(++id) (expected 5) ") // Prints: "This is run on the User Interactive (expected User Interactive) count: 5 (expected 5)" } */ @@ -56,11 +56,11 @@ class ViewController: NSViewController { /* // Keep reference for block for later chaining let backgroundBlock = Async.background { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") } // Run other code here... backgroundBlock.main { - println("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") } */ @@ -69,9 +69,9 @@ class ViewController: NSViewController { let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) Async.customQueue(customQueue) { - println("Custom queue") + print("Custom queue") }.customQueue(otherCustomQueue) { - println("Other custom queue") + print("Other custom queue") } */ @@ -79,9 +79,9 @@ class ViewController: NSViewController { // After let seconds = 0.5 Async.main(after: seconds) { - println("Is called after 0.5 seconds") + print("Is called after 0.5 seconds") }.background(after: 0.4) { - println("At least 0.4 seconds after previous block, and 0.9 after Async code is called") + print("At least 0.4 seconds after previous block, and 0.9 after Async code is called") } */ @@ -90,11 +90,11 @@ class ViewController: NSViewController { let block1 = Async.background { // Heavy work for i in 0...1000 { - println("A \(i)") + print("A \(i)") } } let block2 = block1.background { - println("B – shouldn't be reached, since cancelled") + print("B – shouldn't be reached, since cancelled") } Async.main { block1.cancel() // First block is _not_ cancelled diff --git a/AsyncPodsExample/AsyncExample iOS/AppDelegate.swift b/AsyncPodsExample/AsyncExample iOS/AppDelegate.swift new file mode 100644 index 0000000..990a9b5 --- /dev/null +++ b/AsyncPodsExample/AsyncExample iOS/AppDelegate.swift @@ -0,0 +1,21 @@ +// +// AppDelegate.swift +// AsyncExample iOS +// +// Created by Tobias DM on 15/07/14. +// Copyright (c) 2014 Tobias DM. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + // Override point for customization after application launch. + return true + } +} + diff --git a/AsyncExample/AsyncExample iOS/Base.lproj/Main.storyboard b/AsyncPodsExample/AsyncExample iOS/Base.lproj/Main.storyboard similarity index 75% rename from AsyncExample/AsyncExample iOS/Base.lproj/Main.storyboard rename to AsyncPodsExample/AsyncExample iOS/Base.lproj/Main.storyboard index 5ee93c5..523589f 100644 --- a/AsyncExample/AsyncExample iOS/Base.lproj/Main.storyboard +++ b/AsyncPodsExample/AsyncExample iOS/Base.lproj/Main.storyboard @@ -1,19 +1,20 @@ - + - + + - + - + diff --git a/AsyncExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json b/AsyncPodsExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 76% rename from AsyncExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json rename to AsyncPodsExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json index 91bf9c1..36d2c80 100644 --- a/AsyncExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/AsyncPodsExample/AsyncExample iOS/Images.xcassets/AppIcon.appiconset/Contents.json @@ -5,16 +5,31 @@ "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, { "idiom" : "ipad", "size" : "29x29", diff --git a/AsyncExample/AsyncExample iOS/Images.xcassets/LaunchImage.launchimage/Contents.json b/AsyncPodsExample/AsyncExample iOS/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from AsyncExample/AsyncExample iOS/Images.xcassets/LaunchImage.launchimage/Contents.json rename to AsyncPodsExample/AsyncExample iOS/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/AsyncExample/AsyncExample iOS/Info.plist b/AsyncPodsExample/AsyncExample iOS/Info.plist similarity index 92% rename from AsyncExample/AsyncExample iOS/Info.plist rename to AsyncPodsExample/AsyncExample iOS/Info.plist index 8e6e2b0..af40bba 100644 --- a/AsyncExample/AsyncExample iOS/Info.plist +++ b/AsyncPodsExample/AsyncExample iOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - dk.developmunk.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AsyncExample/AsyncExample iOS/ViewController.swift b/AsyncPodsExample/AsyncExample iOS/ViewController.swift similarity index 55% rename from AsyncExample/AsyncExample iOS/ViewController.swift rename to AsyncPodsExample/AsyncExample iOS/ViewController.swift index 225a83b..2b3f1c1 100644 --- a/AsyncExample/AsyncExample iOS/ViewController.swift +++ b/AsyncPodsExample/AsyncExample iOS/ViewController.swift @@ -16,18 +16,18 @@ class ViewController: UIViewController { // Async syntactic sugar Async.background { - println("A: This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") + print("A: This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") }.main { - println("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + print("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") } // Regular GCD /* dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), { - println("REGULAR GCD: This is run on the background queue") + print("REGULAR GCD: This is run on the background queue") dispatch_async(dispatch_get_main_queue(), 0), { - println("REGULAR GCD: This is run on the main queue") + print("REGULAR GCD: This is run on the main queue") }) }) */ @@ -36,19 +36,19 @@ class ViewController: UIViewController { // Chaining with Async var id = 0 Async.main { - println("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)) count: \(++id) (expected 1) ") + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)) count: \(++id) (expected 1) ") // Prints: "This is run on the Main (expected Main) count: 1 (expected 1)" }.userInteractive { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description)) count: \(++id) (expected 2) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description)) count: \(++id) (expected 2) ") // Prints: "This is run on the Main (expected Main) count: 2 (expected 2)" }.userInitiated { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description)) count: \(++id) (expected 3) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description)) count: \(++id) (expected 3) ") // Prints: "This is run on the User Initiated (expected User Initiated) count: 3 (expected 3)" }.utility { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description)) count: \(++id) (expected 4) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description)) count: \(++id) (expected 4) ") // Prints: "This is run on the Utility (expected Utility) count: 4 (expected 4)" }.background { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description)) count: \(++id) (expected 5) ") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description)) count: \(++id) (expected 5) ") // Prints: "This is run on the User Interactive (expected User Interactive) count: 5 (expected 5)" } */ @@ -56,11 +56,11 @@ class ViewController: UIViewController { /* // Keep reference for block for later chaining let backgroundBlock = Async.background { - println("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") } // Run other code here... backgroundBlock.main { - println("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") } */ @@ -69,9 +69,9 @@ class ViewController: UIViewController { let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) Async.customQueue(customQueue) { - println("Custom queue") + print("Custom queue") }.customQueue(otherCustomQueue) { - println("Other custom queue") + print("Other custom queue") } */ @@ -79,9 +79,9 @@ class ViewController: UIViewController { // After let seconds = 0.5 Async.main(after: seconds) { - println("Is called after 0.5 seconds") + print("Is called after 0.5 seconds") }.background(after: 0.4) { - println("At least 0.4 seconds after previous block, and 0.9 after Async code is called") + print("At least 0.4 seconds after previous block, and 0.9 after Async code is called") } */ @@ -90,11 +90,11 @@ class ViewController: UIViewController { let block1 = Async.background { // Heavy work for i in 0...1000 { - println("A \(i)") + print("A \(i)") } } let block2 = block1.background { - println("B – shouldn't be reached, since cancelled") + print("B – shouldn't be reached, since cancelled") } Async.main { block1.cancel() // First block is _not_ cancelled diff --git a/AsyncPodsExample/AsyncExample tvOS/AppDelegate.swift b/AsyncPodsExample/AsyncExample tvOS/AppDelegate.swift new file mode 100644 index 0000000..4a026aa --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/AppDelegate.swift @@ -0,0 +1,20 @@ +// +// AppDelegate.swift +// AsyncExample tvOS +// +// Created by Tommy Baggett on 10/26/15. +// Copyright © 2015 developmunk. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + // Override point for customization after application launch. + return true + } +} diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json new file mode 100644 index 0000000..8bf75d9 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json new file mode 100644 index 0000000..8bf75d9 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 0000000..6a3dcfa --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,26 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - Large.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon - Small.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000..29d94c7 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AsyncPodsExample/AsyncExample tvOS/Base.lproj/Main.storyboard b/AsyncPodsExample/AsyncExample tvOS/Base.lproj/Main.storyboard new file mode 100644 index 0000000..148a0dd --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AsyncExample/AsyncExample iOSTests/Info.plist b/AsyncPodsExample/AsyncExample tvOS/Info.plist similarity index 64% rename from AsyncExample/AsyncExample iOSTests/Info.plist rename to AsyncPodsExample/AsyncExample tvOS/Info.plist index b80d47f..4f33860 100644 --- a/AsyncExample/AsyncExample iOSTests/Info.plist +++ b/AsyncPodsExample/AsyncExample tvOS/Info.plist @@ -5,20 +5,28 @@ CFBundleDevelopmentRegion en CFBundleExecutable - ${EXECUTABLE_NAME} + $(EXECUTABLE_NAME) CFBundleIdentifier - dk.developmunk.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName - ${PRODUCT_NAME} + $(PRODUCT_NAME) CFBundlePackageType - BNDL + APPL CFBundleShortVersionString 1.0 CFBundleSignature ???? CFBundleVersion 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + diff --git a/AsyncPodsExample/AsyncExample tvOS/ViewController.swift b/AsyncPodsExample/AsyncExample tvOS/ViewController.swift new file mode 100644 index 0000000..8edaa25 --- /dev/null +++ b/AsyncPodsExample/AsyncExample tvOS/ViewController.swift @@ -0,0 +1,106 @@ +// +// ViewController.swift +// AsyncExample tvOS +// +// Created by Tobias DM on 26/10/14. +// Copyright (c) 2015 Tobias Due Munk. All rights reserved. +// + +import UIKit +import Async + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Async syntactic sugar + Async.background { + print("A: This is run on the \(qos_class_self().description) (expected \(DispatchQoS.QoSClass.background.description))") + }.main { + print("B: This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + } + + // Regular GCD + /* + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), { + print("REGULAR GCD: This is run on the background queue") + + dispatch_async(dispatch_get_main_queue(), 0), { + print("REGULAR GCD: This is run on the main queue") + }) + }) + */ + + /* + // Chaining with Async + var id = 0 + Async.main { + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)) count: \(++id) (expected 1) ") + // Prints: "This is run on the Main (expected Main) count: 1 (expected 1)" + }.userInteractive { + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INTERACTIVE.description)) count: \(++id) (expected 2) ") + // Prints: "This is run on the Main (expected Main) count: 2 (expected 2)" + }.userInitiated { + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_USER_INITIATED.description)) count: \(++id) (expected 3) ") + // Prints: "This is run on the User Initiated (expected User Initiated) count: 3 (expected 3)" + }.utility { + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_UTILITY.description)) count: \(++id) (expected 4) ") + // Prints: "This is run on the Utility (expected Utility) count: 4 (expected 4)" + }.background { + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description)) count: \(++id) (expected 5) ") + // Prints: "This is run on the User Interactive (expected User Interactive) count: 5 (expected 5)" + } + */ + + /* + // Keep reference for block for later chaining + let backgroundBlock = Async.background { + print("This is run on the \(qos_class_self().description) (expected \(QOS_CLASS_BACKGROUND.description))") + } + // Run other code here... + backgroundBlock.main { + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + } + */ + + /* + // Custom queues + let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) + let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) + Async.customQueue(customQueue) { + print("Custom queue") + }.customQueue(otherCustomQueue) { + print("Other custom queue") + } + */ + + /* + // After + let seconds = 0.5 + Async.main(after: seconds) { + print("Is called after 0.5 seconds") + }.background(after: 0.4) { + print("At least 0.4 seconds after previous block, and 0.9 after Async code is called") + } + */ + + /* + // Cancel blocks not yet dispatched + let block1 = Async.background { + // Heavy work + for i in 0...1000 { + print("A \(i)") + } + } + let block2 = block1.background { + print("B – shouldn't be reached, since cancelled") + } + Async.main { + block1.cancel() // First block is _not_ cancelled + block2.cancel() // Second block _is_ cancelled + } + */ + } +} + diff --git a/AsyncPodsExample/AsyncPodsExample.xcodeproj/project.pbxproj b/AsyncPodsExample/AsyncPodsExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d06a374 --- /dev/null +++ b/AsyncPodsExample/AsyncPodsExample.xcodeproj/project.pbxproj @@ -0,0 +1,755 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0D35C54DBBADE3C023EC2733 /* Pods_AsyncExample_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B9C4CF5D871112ED5238064 /* Pods_AsyncExample_tvOS.framework */; }; + 276620F495048E712E9FC4C0 /* Pods_AsyncExample_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36559202A3C20011B2D1D749 /* Pods_AsyncExample_iOS.framework */; }; + 4EC98A3F1BE0293000A2EB40 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4EC98A3E1BE0293000A2EB40 /* Assets.xcassets */; }; + 4EC98A411BE02B1B00A2EB40 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 146ED8EA1BDF312F00347390 /* Main.storyboard */; }; + 4EC98A421BE02B1F00A2EB40 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 146ED8EE1BDF312F00347390 /* ViewController.swift */; }; + 4EC98A431BE02B2200A2EB40 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 146ED8E91BDF312F00347390 /* AppDelegate.swift */; }; + 4EF830A21975952B00C5F0EE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830A11975952B00C5F0EE /* ViewController.swift */; }; + 4EF830A41975952B00C5F0EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830A31975952B00C5F0EE /* AppDelegate.swift */; }; + 4EF830A61975952B00C5F0EE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830A51975952B00C5F0EE /* Images.xcassets */; }; + 4EF830A91975952B00C5F0EE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830A71975952B00C5F0EE /* Main.storyboard */; }; + 4EF830CB1975954B00C5F0EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */; }; + 4EF830CD1975954B00C5F0EE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EF830CC1975954B00C5F0EE /* ViewController.swift */; }; + 4EF830D01975954B00C5F0EE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830CE1975954B00C5F0EE /* Main.storyboard */; }; + 4EF830D21975954B00C5F0EE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4EF830D11975954B00C5F0EE /* Images.xcassets */; }; + AC3D0D3F5EA16EB6390BFE10 /* Pods_AsyncExample_OS_X.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2D9B23A2F4664E00651E1E3 /* Pods_AsyncExample_OS_X.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 0B9C4CF5D871112ED5238064 /* Pods_AsyncExample_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 146ED8E91BDF312F00347390 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 146ED8EB1BDF312F00347390 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 146ED8ED1BDF312F00347390 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 146ED8EE1BDF312F00347390 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 146ED8F31BDF321000347390 /* AsyncExample tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsyncExample tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 28B13B03A9F70C56980CDFC4 /* Pods-AsyncExample tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.debug.xcconfig"; sourceTree = ""; }; + 36559202A3C20011B2D1D749 /* Pods_AsyncExample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EC98A3E1BE0293000A2EB40 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsyncExample OS X.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EF8309E1975952B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4EF830A11975952B00C5F0EE /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 4EF830A31975952B00C5F0EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 4EF830A51975952B00C5F0EE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 4EF830A81975952B00C5F0EE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsyncExample iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EF830C91975954B00C5F0EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 4EF830CC1975954B00C5F0EE /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 4EF830CF1975954B00C5F0EE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 4EF830D11975954B00C5F0EE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 50AD0999B03855FBD1403BFE /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 814059C2443E7390BB7151F2 /* Pods-AsyncExample OS X.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS X.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig"; sourceTree = ""; }; + 96F898A47080C7E249C01A72 /* Pods-AsyncExample iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig"; sourceTree = ""; }; + A2D9B23A2F4664E00651E1E3 /* Pods_AsyncExample_OS_X.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AsyncExample_OS_X.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8CE59AC46E47FA5EA55E8C4 /* Pods-AsyncExample tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.release.xcconfig"; sourceTree = ""; }; + DFD1AB7AE290FEB64261BD7F /* Pods-AsyncExample iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig"; sourceTree = ""; }; + E245DB3718AE9E052D4F00BE /* Pods-AsyncExample OS X.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AsyncExample OS X.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 146ED8F01BDF321000347390 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0D35C54DBBADE3C023EC2733 /* Pods_AsyncExample_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830981975952B00C5F0EE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AC3D0D3F5EA16EB6390BFE10 /* Pods_AsyncExample_OS_X.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830C31975954B00C5F0EE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 276620F495048E712E9FC4C0 /* Pods_AsyncExample_iOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0F689CD21CD145428E92A5A3 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 50AD0999B03855FBD1403BFE /* Pods.framework */, + A2D9B23A2F4664E00651E1E3 /* Pods_AsyncExample_OS_X.framework */, + 36559202A3C20011B2D1D749 /* Pods_AsyncExample_iOS.framework */, + 0B9C4CF5D871112ED5238064 /* Pods_AsyncExample_tvOS.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 1451803B1BDF331900FD2B1F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 146ED8ED1BDF312F00347390 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 146ED8E81BDF312F00347390 /* AsyncExample tvOS */ = { + isa = PBXGroup; + children = ( + 146ED8E91BDF312F00347390 /* AppDelegate.swift */, + 146ED8EE1BDF312F00347390 /* ViewController.swift */, + 146ED8EA1BDF312F00347390 /* Main.storyboard */, + 4EC98A3E1BE0293000A2EB40 /* Assets.xcassets */, + 1451803B1BDF331900FD2B1F /* Supporting Files */, + ); + path = "AsyncExample tvOS"; + sourceTree = ""; + }; + 28BCC16578C677D18B791C26 /* Pods */ = { + isa = PBXGroup; + children = ( + E245DB3718AE9E052D4F00BE /* Pods-AsyncExample OS X.debug.xcconfig */, + 814059C2443E7390BB7151F2 /* Pods-AsyncExample OS X.release.xcconfig */, + DFD1AB7AE290FEB64261BD7F /* Pods-AsyncExample iOS.debug.xcconfig */, + 96F898A47080C7E249C01A72 /* Pods-AsyncExample iOS.release.xcconfig */, + 28B13B03A9F70C56980CDFC4 /* Pods-AsyncExample tvOS.debug.xcconfig */, + D8CE59AC46E47FA5EA55E8C4 /* Pods-AsyncExample tvOS.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 4EF8306C1975950F00C5F0EE = { + isa = PBXGroup; + children = ( + 146ED8E81BDF312F00347390 /* AsyncExample tvOS */, + 4EF830C71975954B00C5F0EE /* AsyncExample iOS */, + 4EF8309C1975952B00C5F0EE /* AsyncExample OS X */, + 4EF830761975950F00C5F0EE /* Products */, + 0F689CD21CD145428E92A5A3 /* Frameworks */, + 28BCC16578C677D18B791C26 /* Pods */, + ); + sourceTree = ""; + }; + 4EF830761975950F00C5F0EE /* Products */ = { + isa = PBXGroup; + children = ( + 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */, + 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */, + 146ED8F31BDF321000347390 /* AsyncExample tvOS.app */, + ); + name = Products; + sourceTree = ""; + }; + 4EF8309C1975952B00C5F0EE /* AsyncExample OS X */ = { + isa = PBXGroup; + children = ( + 4EF830A31975952B00C5F0EE /* AppDelegate.swift */, + 4EF830A11975952B00C5F0EE /* ViewController.swift */, + 4EF830A51975952B00C5F0EE /* Images.xcassets */, + 4EF830A71975952B00C5F0EE /* Main.storyboard */, + 4EF8309D1975952B00C5F0EE /* Supporting Files */, + ); + path = "AsyncExample OS X"; + sourceTree = ""; + }; + 4EF8309D1975952B00C5F0EE /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 4EF8309E1975952B00C5F0EE /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 4EF830C71975954B00C5F0EE /* AsyncExample iOS */ = { + isa = PBXGroup; + children = ( + 4EF830CA1975954B00C5F0EE /* AppDelegate.swift */, + 4EF830CC1975954B00C5F0EE /* ViewController.swift */, + 4EF830CE1975954B00C5F0EE /* Main.storyboard */, + 4EF830D11975954B00C5F0EE /* Images.xcassets */, + 4EF830C81975954B00C5F0EE /* Supporting Files */, + ); + path = "AsyncExample iOS"; + sourceTree = ""; + }; + 4EF830C81975954B00C5F0EE /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 4EF830C91975954B00C5F0EE /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 146ED8F21BDF321000347390 /* AsyncExample tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 146ED8FF1BDF321000347390 /* Build configuration list for PBXNativeTarget "AsyncExample tvOS" */; + buildPhases = ( + C426006F401E380D30D556C5 /* [CP] Check Pods Manifest.lock */, + 146ED8EF1BDF321000347390 /* Sources */, + 146ED8F01BDF321000347390 /* Frameworks */, + 146ED8F11BDF321000347390 /* Resources */, + 99A81AC27D5BE42C36B7837C /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncExample tvOS"; + productName = "AsyncExample tvOS"; + productReference = 146ED8F31BDF321000347390 /* AsyncExample tvOS.app */; + productType = "com.apple.product-type.application"; + }; + 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4EF830B61975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS X" */; + buildPhases = ( + 9531257EF9C8DF38CE9AC3F3 /* [CP] Check Pods Manifest.lock */, + 4EF830971975952B00C5F0EE /* Sources */, + 4EF830981975952B00C5F0EE /* Frameworks */, + 4EF830991975952B00C5F0EE /* Resources */, + 3F2E04BB3F3FA0A5192F6F95 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncExample OS X"; + productName = "GCD–QOS OS X"; + productReference = 4EF8309B1975952B00C5F0EE /* AsyncExample OS X.app */; + productType = "com.apple.product-type.application"; + }; + 4EF830C51975954B00C5F0EE /* AsyncExample iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4EF830DF1975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOS" */; + buildPhases = ( + 11165746B3CD72CE2C4CE631 /* [CP] Check Pods Manifest.lock */, + 4EF830C21975954B00C5F0EE /* Sources */, + 4EF830C31975954B00C5F0EE /* Frameworks */, + 4EF830C41975954B00C5F0EE /* Resources */, + B6B49BC3A33431F9B87A9108 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncExample iOS"; + productName = "GCD–QOS iOS"; + productReference = 4EF830C61975954B00C5F0EE /* AsyncExample iOS.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 4EF8306D1975950F00C5F0EE /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0810; + LastUpgradeCheck = 1000; + ORGANIZATIONNAME = developmunk; + TargetAttributes = { + 146ED8F21BDF321000347390 = { + CreatedOnToolsVersion = 7.1; + LastSwiftMigration = 0800; + }; + 4EF8309A1975952B00C5F0EE = { + CreatedOnToolsVersion = 6.0; + DevelopmentTeam = PFQ4698325; + LastSwiftMigration = 0800; + }; + 4EF830C51975954B00C5F0EE = { + CreatedOnToolsVersion = 6.0; + LastSwiftMigration = 0900; + }; + }; + }; + buildConfigurationList = 4EF830701975950F00C5F0EE /* Build configuration list for PBXProject "AsyncPodsExample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 4EF8306C1975950F00C5F0EE; + productRefGroup = 4EF830761975950F00C5F0EE /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 4EF830C51975954B00C5F0EE /* AsyncExample iOS */, + 4EF8309A1975952B00C5F0EE /* AsyncExample OS X */, + 146ED8F21BDF321000347390 /* AsyncExample tvOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 146ED8F11BDF321000347390 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EC98A411BE02B1B00A2EB40 /* Main.storyboard in Resources */, + 4EC98A3F1BE0293000A2EB40 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830991975952B00C5F0EE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EF830A61975952B00C5F0EE /* Images.xcassets in Resources */, + 4EF830A91975952B00C5F0EE /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830C41975954B00C5F0EE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EF830D01975954B00C5F0EE /* Main.storyboard in Resources */, + 4EF830D21975954B00C5F0EE /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 11165746B3CD72CE2C4CE631 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-AsyncExample iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3F2E04BB3F3FA0A5192F6F95 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AsyncSwift-macOS/Async.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Async.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9531257EF9C8DF38CE9AC3F3 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-AsyncExample OS X-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 99A81AC27D5BE42C36B7837C /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AsyncSwift-tvOS/Async.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Async.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B6B49BC3A33431F9B87A9108 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AsyncSwift-iOS/Async.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Async.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + C426006F401E380D30D556C5 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-AsyncExample tvOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 146ED8EF1BDF321000347390 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EC98A431BE02B2200A2EB40 /* AppDelegate.swift in Sources */, + 4EC98A421BE02B1F00A2EB40 /* ViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830971975952B00C5F0EE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EF830A41975952B00C5F0EE /* AppDelegate.swift in Sources */, + 4EF830A21975952B00C5F0EE /* ViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4EF830C21975954B00C5F0EE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4EF830CD1975954B00C5F0EE /* ViewController.swift in Sources */, + 4EF830CB1975954B00C5F0EE /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 146ED8EA1BDF312F00347390 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 146ED8EB1BDF312F00347390 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 4EF830A71975952B00C5F0EE /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 4EF830A81975952B00C5F0EE /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 4EF830CE1975954B00C5F0EE /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 4EF830CF1975954B00C5F0EE /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 146ED9001BDF321000347390 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 28B13B03A9F70C56980CDFC4 /* Pods-AsyncExample tvOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "AsyncExample tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.AsyncExample-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + 146ED9011BDF321000347390 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D8CE59AC46E47FA5EA55E8C4 /* Pods-AsyncExample tvOS.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "AsyncExample tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.AsyncExample-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Release; + }; + 4EF8308F1975950F00C5F0EE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 4EF830901975950F00C5F0EE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 4EF830B71975952B00C5F0EE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E245DB3718AE9E052D4F00BE /* Pods-AsyncExample OS X.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "AsyncExample OS X/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + OTHER_CODE_SIGN_FLAGS = "-deep"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "AsyncExample OS X"; + PROVISIONING_PROFILE = ""; + SDKROOT = macosx; + }; + name = Debug; + }; + 4EF830B81975952B00C5F0EE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 814059C2443E7390BB7151F2 /* Pods-AsyncExample OS X.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + INFOPLIST_FILE = "AsyncExample OS X/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + OTHER_CODE_SIGN_FLAGS = "-deep"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "AsyncExample OS X"; + PROVISIONING_PROFILE = ""; + SDKROOT = macosx; + }; + name = Release; + }; + 4EF830E01975954B00C5F0EE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DFD1AB7AE290FEB64261BD7F /* Pods-AsyncExample iOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "AsyncExample iOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "AsyncExample iOS"; + }; + name = Debug; + }; + 4EF830E11975954B00C5F0EE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 96F898A47080C7E249C01A72 /* Pods-AsyncExample iOS.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = "AsyncExample iOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.developmunk.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "AsyncExample iOS"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 146ED8FF1BDF321000347390 /* Build configuration list for PBXNativeTarget "AsyncExample tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 146ED9001BDF321000347390 /* Debug */, + 146ED9011BDF321000347390 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4EF830701975950F00C5F0EE /* Build configuration list for PBXProject "AsyncPodsExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4EF8308F1975950F00C5F0EE /* Debug */, + 4EF830901975950F00C5F0EE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4EF830B61975952B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample OS X" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4EF830B71975952B00C5F0EE /* Debug */, + 4EF830B81975952B00C5F0EE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4EF830DF1975954B00C5F0EE /* Build configuration list for PBXNativeTarget "AsyncExample iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4EF830E01975954B00C5F0EE /* Debug */, + 4EF830E11975954B00C5F0EE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 4EF8306D1975950F00C5F0EE /* Project object */; +} diff --git a/AsyncExample/AsyncExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AsyncPodsExample/AsyncPodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from AsyncExample/AsyncExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to AsyncPodsExample/AsyncPodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme similarity index 85% rename from AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme rename to AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme index 9e9bfb7..49c597f 100644 --- a/AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme +++ b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample OS X.xcscheme @@ -1,6 +1,6 @@ + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -49,7 +49,7 @@ BlueprintIdentifier = "4EF830AD1975952B00C5F0EE" BuildableName = "AsyncExample OS XTests.xctest" BlueprintName = "AsyncExample OS XTests" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> @@ -59,18 +59,21 @@ BlueprintIdentifier = "4EF8309A1975952B00C5F0EE" BuildableName = "AsyncExample OS X.app" BlueprintName = "AsyncExample OS X" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + + @@ -79,17 +82,17 @@ BlueprintIdentifier = "4EF8309A1975952B00C5F0EE" BuildableName = "AsyncExample OS X.app" BlueprintName = "AsyncExample OS X" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> @@ -98,7 +101,7 @@ BlueprintIdentifier = "4EF8309A1975952B00C5F0EE" BuildableName = "AsyncExample OS X.app" BlueprintName = "AsyncExample OS X" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> diff --git a/AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme similarity index 85% rename from AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme rename to AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme index dab64c8..1848b2f 100644 --- a/AsyncExample/AsyncExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme +++ b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample iOS.xcscheme @@ -1,6 +1,6 @@ + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -49,7 +49,7 @@ BlueprintIdentifier = "4EF830D61975954B00C5F0EE" BuildableName = "AsyncExample iOSTests.xctest" BlueprintName = "AsyncExample iOSTests" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> @@ -59,18 +59,21 @@ BlueprintIdentifier = "4EF830C51975954B00C5F0EE" BuildableName = "AsyncExample iOS.app" BlueprintName = "AsyncExample iOS" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + + @@ -79,17 +82,17 @@ BlueprintIdentifier = "4EF830C51975954B00C5F0EE" BuildableName = "AsyncExample iOS.app" BlueprintName = "AsyncExample iOS" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> @@ -98,7 +101,7 @@ BlueprintIdentifier = "4EF830C51975954B00C5F0EE" BuildableName = "AsyncExample iOS.app" BlueprintName = "AsyncExample iOS" - ReferencedContainer = "container:AsyncExample.xcodeproj"> + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> diff --git a/Async.xcodeproj/xcshareddata/xcschemes/Async iOS.xcscheme b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample tvOS.xcscheme similarity index 57% rename from Async.xcodeproj/xcshareddata/xcschemes/Async iOS.xcscheme rename to AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample tvOS.xcscheme index 5c1f262..5f577ac 100644 --- a/Async.xcodeproj/xcshareddata/xcschemes/Async iOS.xcscheme +++ b/AsyncPodsExample/AsyncPodsExample.xcodeproj/xcshareddata/xcschemes/AsyncExample tvOS.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "146ED8F21BDF321000347390" + BuildableName = "AsyncExample tvOS.app" + BlueprintName = "AsyncExample tvOS" + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + - + + BlueprintIdentifier = "146ED8F21BDF321000347390" + BuildableName = "AsyncExample tvOS.app" + BlueprintName = "AsyncExample tvOS" + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> - + - + + BlueprintIdentifier = "146ED8F21BDF321000347390" + BuildableName = "AsyncExample tvOS.app" + BlueprintName = "AsyncExample tvOS" + ReferencedContainer = "container:AsyncPodsExample.xcodeproj"> - + diff --git a/AsyncExample/AsyncExample.xcworkspace/contents.xcworkspacedata b/AsyncPodsExample/AsyncPodsExample.xcworkspace/contents.xcworkspacedata similarity index 77% rename from AsyncExample/AsyncExample.xcworkspace/contents.xcworkspacedata rename to AsyncPodsExample/AsyncPodsExample.xcworkspace/contents.xcworkspacedata index dee0954..7a62399 100644 --- a/AsyncExample/AsyncExample.xcworkspace/contents.xcworkspacedata +++ b/AsyncPodsExample/AsyncPodsExample.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:AsyncPodsExample.xcodeproj"> diff --git a/AsyncPodsExample/AsyncPodsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AsyncPodsExample/AsyncPodsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/AsyncPodsExample/AsyncPodsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/AsyncPodsExample/Podfile b/AsyncPodsExample/Podfile new file mode 100644 index 0000000..84ba667 --- /dev/null +++ b/AsyncPodsExample/Podfile @@ -0,0 +1,17 @@ +source 'https://github.com/CocoaPods/Specs.git' + +target 'AsyncExample iOS' do + platform :ios, '8.0' + use_frameworks! + pod 'AsyncSwift', :path => '../' +end +target 'AsyncExample tvOS' do + platform :tvos, '9.0' + use_frameworks! + pod 'AsyncSwift', :path => '../' +end +target 'AsyncExample OS X' do + platform :osx, '10.10' + use_frameworks! + pod 'AsyncSwift', :path => '../' +end diff --git a/AsyncPodsExample/Podfile.lock b/AsyncPodsExample/Podfile.lock new file mode 100644 index 0000000..45367ac --- /dev/null +++ b/AsyncPodsExample/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - AsyncSwift (2.0.5) + +DEPENDENCIES: + - AsyncSwift (from `../`) + +EXTERNAL SOURCES: + AsyncSwift: + :path: "../" + +SPEC CHECKSUMS: + AsyncSwift: 62ddcdafa3120c8780610af93152de4fcc8a5618 + +PODFILE CHECKSUM: c3ad687081866de096cfcd637a5439ffa36aff6f + +COCOAPODS: 1.5.3 diff --git a/AsyncExample/Pods/Local Podspecs/Async.podspec.json b/AsyncPodsExample/Pods/Local Podspecs/AsyncSwift.podspec.json similarity index 63% rename from AsyncExample/Pods/Local Podspecs/Async.podspec.json rename to AsyncPodsExample/Pods/Local Podspecs/AsyncSwift.podspec.json index 62aac9b..dd41623 100644 --- a/AsyncExample/Pods/Local Podspecs/Async.podspec.json +++ b/AsyncPodsExample/Pods/Local Podspecs/AsyncSwift.podspec.json @@ -1,6 +1,6 @@ { - "name": "Async", - "version": "1.1.1", + "name": "AsyncSwift", + "version": "2.0.5", "summary": "Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch", "homepage": "https://github.com/duemunk/Async", "license": { @@ -11,12 +11,15 @@ }, "platforms": { "osx": "10.10", - "ios": "8.0" + "ios": "8.0", + "tvos": "9.0", + "watchos": "3.0" }, "source": { "git": "https://github.com/duemunk/Async.git", - "tag": "1.1.1" + "tag": "2.0.5" }, - "source_files": "Async.{h,swift}", - "requires_arc": true + "source_files": "Sources/**/*.swift", + "requires_arc": true, + "module_name": "Async" } diff --git a/AsyncPodsExample/Pods/Manifest.lock b/AsyncPodsExample/Pods/Manifest.lock new file mode 100644 index 0000000..45367ac --- /dev/null +++ b/AsyncPodsExample/Pods/Manifest.lock @@ -0,0 +1,16 @@ +PODS: + - AsyncSwift (2.0.5) + +DEPENDENCIES: + - AsyncSwift (from `../`) + +EXTERNAL SOURCES: + AsyncSwift: + :path: "../" + +SPEC CHECKSUMS: + AsyncSwift: 62ddcdafa3120c8780610af93152de4fcc8a5618 + +PODFILE CHECKSUM: c3ad687081866de096cfcd637a5439ffa36aff6f + +COCOAPODS: 1.5.3 diff --git a/AsyncPodsExample/Pods/Pods.xcodeproj/project.pbxproj b/AsyncPodsExample/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ee73156 --- /dev/null +++ b/AsyncPodsExample/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,1222 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 17E4FE0D27892DCBA2EDF4B96F4AF9B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7461AAFB7A771BCEC6E4E09204991FB5 /* Foundation.framework */; }; + 1E9A6B80B40E7EC430A704D30A16F0D4 /* AsyncSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FF3047B70FAE9D729BDAD3E91FE2DF /* AsyncSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3748B759BECDBA33D917BB1D2FAB8585 /* AsyncSwift-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DBBE655DB2779B234BD59A7D373F88A /* AsyncSwift-tvOS-dummy.m */; }; + 3F4E73D339192158D9C0C58862662E7B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B38A88E0776EAF5001831CAEFF93C9A0 /* Foundation.framework */; }; + 41CA0FE0AF1EBB592B8D1EAC1BF014C0 /* Pods-AsyncExample tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BD0F759E407568ADDA272A52D20E332 /* Pods-AsyncExample tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4ECDC9E3CB976DD6508FA86B682DF26E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7461AAFB7A771BCEC6E4E09204991FB5 /* Foundation.framework */; }; + 638C005160979CA8A3E857C7CD799027 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7DAD24FB1D7D94FE4E0901A65AF23 /* Async.swift */; }; + 673FEAFA4E389D0CFC81472BD2B49F18 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48233FC070FA1CADC1C3A92C3D3948A1 /* Cocoa.framework */; }; + 6FEC2A4A08510953628D869F70EE2CDF /* Pods-AsyncExample tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 41D1E54D0A91B12446AC77F4002DB8EF /* Pods-AsyncExample tvOS-dummy.m */; }; + 84E47AC3108203D8DFE3ACA9A80C1507 /* Pods-AsyncExample OS X-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C3E20042CF0BA6DBACCD5CFAA3C0F3 /* Pods-AsyncExample OS X-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 89310B64E0109A81E11A222DDE9A1A54 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7DAD24FB1D7D94FE4E0901A65AF23 /* Async.swift */; }; + 93E41F7CE92660A97D3768DA84E5EC7C /* Pods-AsyncExample iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AC2E19A09F8B1A9599ED33BA2F2FFDF2 /* Pods-AsyncExample iOS-dummy.m */; }; + A6A34A3057267366027BE2CBA1B0DC1F /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7DAD24FB1D7D94FE4E0901A65AF23 /* Async.swift */; }; + A8E706BEE498414EAD61FC0D276264B7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B38A88E0776EAF5001831CAEFF93C9A0 /* Foundation.framework */; }; + AA4C07B86BA62028C2A68B40F0DA54BF /* AsyncSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C0A20F0CA0F9F458CF018360E59DF96D /* AsyncSwift-iOS-dummy.m */; }; + D11DD5551B3624D266A68D35C789DE1C /* AsyncSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2C4A8E83FC6417A3B8CB3F87134BD9 /* AsyncSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D361FFBC6E6FE4CECDE506E2BD51599F /* Pods-AsyncExample iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 986578DBFD692B84B3BA913DCC9EDF00 /* Pods-AsyncExample iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA60C00D2BE0F06CEBAD7E2672CF60BF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48233FC070FA1CADC1C3A92C3D3948A1 /* Cocoa.framework */; }; + EB8B7293DE01EBA98CA0D4CF4EDC35A6 /* Pods-AsyncExample OS X-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2210501DA1ED839DD8CF7E8F1FAD981C /* Pods-AsyncExample OS X-dummy.m */; }; + F37BAE03D1992584444752F6705B8C06 /* AsyncSwift-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C8A0DB810EBD478F87BB1E32065D9EA /* AsyncSwift-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF69A59B3EAED484BE5E6B3A9EFA37D2 /* AsyncSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A72B87DE1512DD86FEDE2EC8673839C7 /* AsyncSwift-macOS-dummy.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 1055A37489F994D70322DFD6D13F3EBF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = EB04570B01EC242B47C785A3DEB47263; + remoteInfo = "AsyncSwift-macOS"; + }; + 53DF74877DB264625051B72D11699B82 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A7905614542B9D08D78F0A55BD264965; + remoteInfo = "AsyncSwift-tvOS"; + }; + 7E1B41F0E63BAC68858C21667517D00B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 27F5197A3A74BD220E7C084E6CD5B7A8; + remoteInfo = "AsyncSwift-iOS"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0DF583B78901912082DB61C784946457 /* AsyncSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AsyncSwift-macOS-prefix.pch"; path = "../AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch"; sourceTree = ""; }; + 0F2C4A8E83FC6417A3B8CB3F87134BD9 /* AsyncSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AsyncSwift-iOS-umbrella.h"; sourceTree = ""; }; + 13745602F063AB43E9E130B56DC9F90F /* AsyncSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = AsyncSwift.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 1E69A63F3935CE85EAB38443DC9E73C9 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Async.framework; path = "AsyncSwift-macOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2210501DA1ED839DD8CF7E8F1FAD981C /* Pods-AsyncExample OS X-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample OS X-dummy.m"; sourceTree = ""; }; + 23244BFB8766FAB66A09C794A31D9F5B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../AsyncSwift-macOS/Info.plist"; sourceTree = ""; }; + 2BD0F759E407568ADDA272A52D20E332 /* Pods-AsyncExample tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample tvOS-umbrella.h"; sourceTree = ""; }; + 2C8564782BFC3F4CDFDF4DF46B556B71 /* Pods-AsyncExample OS X-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS X-resources.sh"; sourceTree = ""; }; + 2C8A0DB810EBD478F87BB1E32065D9EA /* AsyncSwift-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AsyncSwift-tvOS-umbrella.h"; path = "../AsyncSwift-tvOS/AsyncSwift-tvOS-umbrella.h"; sourceTree = ""; }; + 31C3E20042CF0BA6DBACCD5CFAA3C0F3 /* Pods-AsyncExample OS X-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample OS X-umbrella.h"; sourceTree = ""; }; + 31D770C15C4DECAD5425E505ABBAE56F /* Pods-AsyncExample OS X-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample OS X-acknowledgements.plist"; sourceTree = ""; }; + 3262F77E11302970445FAF27907DB2AB /* Pods-AsyncExample iOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOS-frameworks.sh"; sourceTree = ""; }; + 3333E0D5655593D74FE412D1C3720076 /* Pods-AsyncExample iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOS.release.xcconfig"; sourceTree = ""; }; + 35330485226A1998EAFCA926D445FECF /* AsyncSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "AsyncSwift-macOS.xcconfig"; path = "../AsyncSwift-macOS/AsyncSwift-macOS.xcconfig"; sourceTree = ""; }; + 37C64DC8C177B9BC619138E40D632A6F /* AsyncSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "AsyncSwift-macOS.modulemap"; path = "../AsyncSwift-macOS/AsyncSwift-macOS.modulemap"; sourceTree = ""; }; + 3F17ED70A1E6AB2C39CB1B0475ABADDC /* AsyncSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "AsyncSwift-iOS.modulemap"; sourceTree = ""; }; + 41D1E54D0A91B12446AC77F4002DB8EF /* Pods-AsyncExample tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample tvOS-dummy.m"; sourceTree = ""; }; + 48233FC070FA1CADC1C3A92C3D3948A1 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + 490E4DB637A362FB70DE3259FC2B79F7 /* Pods-AsyncExample tvOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample tvOS-resources.sh"; sourceTree = ""; }; + 49E7FF45B369BC2D8BBAAE4FC384819B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4E19C5F1811156144A86F19E7B8E4DC3 /* Pods-AsyncExample tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AsyncExample tvOS.modulemap"; sourceTree = ""; }; + 50507D4CA456A4AEB760255BE0416051 /* Pods_AsyncExample_OS_X.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AsyncExample_OS_X.framework; path = "Pods-AsyncExample OS X.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 52D71A36674F4C1EA47874AC13A789F7 /* Pods-AsyncExample OS X.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X.release.xcconfig"; sourceTree = ""; }; + 5651982FF9E170D6315AE65FD13BE92B /* Pods-AsyncExample OS X.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample OS X.debug.xcconfig"; sourceTree = ""; }; + 5DBBE655DB2779B234BD59A7D373F88A /* AsyncSwift-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AsyncSwift-tvOS-dummy.m"; path = "../AsyncSwift-tvOS/AsyncSwift-tvOS-dummy.m"; sourceTree = ""; }; + 5DF0B918273006F02D900A2E34D4F269 /* Pods-AsyncExample iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AsyncExample iOS.modulemap"; sourceTree = ""; }; + 67F34C769C59290B468999C420EBEF2B /* AsyncSwift-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "AsyncSwift-tvOS.modulemap"; path = "../AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap"; sourceTree = ""; }; + 6AC7DAD24FB1D7D94FE4E0901A65AF23 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Async/Async.swift; sourceTree = ""; }; + 7100D126DCFB2664CAA2F20798A45F56 /* Pods-AsyncExample iOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample iOS-resources.sh"; sourceTree = ""; }; + 7244D1A906C3693BF38A4140995D5F53 /* LICENSE.txt */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE.txt; sourceTree = ""; }; + 7461AAFB7A771BCEC6E4E09204991FB5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 7AC7B94D447588AF86462DD0F01E705D /* Pods-AsyncExample tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample tvOS.release.xcconfig"; sourceTree = ""; }; + 816D3C45C4C2148D25EABF599E8F20AB /* Pods-AsyncExample iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample iOS-acknowledgements.markdown"; sourceTree = ""; }; + 8F5E408A029F8195E467F14C1CD94AE9 /* Pods_AsyncExample_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AsyncExample_tvOS.framework; path = "Pods-AsyncExample tvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8F8222959E0AB88B7875AAC8EB5416D9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 92334FADA605710300E3BEEFF62813AB /* AsyncSwift-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "AsyncSwift-tvOS.xcconfig"; path = "../AsyncSwift-tvOS/AsyncSwift-tvOS.xcconfig"; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 96EBFAC735AFF2B38C28B95DC9ED905A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 986578DBFD692B84B3BA913DCC9EDF00 /* Pods-AsyncExample iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AsyncExample iOS-umbrella.h"; sourceTree = ""; }; + 9976D26D176F19D9FFAA3D9ACB0D3E09 /* Pods-AsyncExample iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample iOS.debug.xcconfig"; sourceTree = ""; }; + 9B65179E968B42E22C97E3BB48884545 /* Pods_AsyncExample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AsyncExample_iOS.framework; path = "Pods-AsyncExample iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 9BC5155CB35B6B6E4ADA24B130BE3638 /* Pods-AsyncExample OS X-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample OS X-frameworks.sh"; sourceTree = ""; }; + A0312CD0ADA7FE68C4E6F2F5820A404C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A2F33CB33D30E235108E139053D57721 /* AsyncSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AsyncSwift-iOS.xcconfig"; sourceTree = ""; }; + A2FF3047B70FAE9D729BDAD3E91FE2DF /* AsyncSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AsyncSwift-macOS-umbrella.h"; path = "../AsyncSwift-macOS/AsyncSwift-macOS-umbrella.h"; sourceTree = ""; }; + A40F02F7A99719E9A8687C2F29815CD1 /* Pods-AsyncExample tvOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample tvOS-acknowledgements.markdown"; sourceTree = ""; }; + A72B87DE1512DD86FEDE2EC8673839C7 /* AsyncSwift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AsyncSwift-macOS-dummy.m"; path = "../AsyncSwift-macOS/AsyncSwift-macOS-dummy.m"; sourceTree = ""; }; + AC2E19A09F8B1A9599ED33BA2F2FFDF2 /* Pods-AsyncExample iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AsyncExample iOS-dummy.m"; sourceTree = ""; }; + B38A88E0776EAF5001831CAEFF93C9A0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + BC703D1616BCC8DD0B8C9B26D6141711 /* Pods-AsyncExample OS X-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AsyncExample OS X-acknowledgements.markdown"; sourceTree = ""; }; + C0A20F0CA0F9F458CF018360E59DF96D /* AsyncSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AsyncSwift-iOS-dummy.m"; sourceTree = ""; }; + C8B6FBC090CC9C79D4C289632B0D9191 /* AsyncSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AsyncSwift-iOS-prefix.pch"; sourceTree = ""; }; + CCEE060D6541C5EFC64E7D6A4238868D /* Pods-AsyncExample iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample iOS-acknowledgements.plist"; sourceTree = ""; }; + DC40CCC59C6211C07F4E0D2A06CB35E5 /* Pods-AsyncExample OS X.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AsyncExample OS X.modulemap"; sourceTree = ""; }; + DDD786DF7F42387E34E7C0B0B5F428C3 /* Pods-AsyncExample tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AsyncExample tvOS.debug.xcconfig"; sourceTree = ""; }; + E2373A91A5D4F003817879FB5365F0C4 /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Async.framework; path = "AsyncSwift-tvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + E35B99B4F6E80395BCF5FB7F31EB14CE /* Pods-AsyncExample tvOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AsyncExample tvOS-frameworks.sh"; sourceTree = ""; }; + E6145BEF5FE5C3D6D72ECE783B18EEE4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../AsyncSwift-tvOS/Info.plist"; sourceTree = ""; }; + F373E675444D505F0FFABD82C0EC310A /* Pods-AsyncExample tvOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AsyncExample tvOS-acknowledgements.plist"; sourceTree = ""; }; + F5DBDEB9CC985FA33EC9D14A7A2B7AFB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F63574DF2A1165253D30AEED8C5207AA /* Async.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Async.framework; path = "AsyncSwift-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + F9055B00B32436812249DCC3E37DA4A3 /* AsyncSwift-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AsyncSwift-tvOS-prefix.pch"; path = "../AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 4D9F12AAA6C446D58ACB660A3B139A71 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 17E4FE0D27892DCBA2EDF4B96F4AF9B1 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 52C173893FAC2E75CF6108C6E086EAB6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F4E73D339192158D9C0C58862662E7B /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 704899BB703F4E18C3B3BA1FEBF8913E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4ECDC9E3CB976DD6508FA86B682DF26E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A2F81234FB35BC3E01EE27A6B515C75D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EA60C00D2BE0F06CEBAD7E2672CF60BF /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E4A9F17B0725F525D2CF428452E905DB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A8E706BEE498414EAD61FC0D276264B7 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F99B9814C359D0D8C5692459CD8D2D17 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 673FEAFA4E389D0CFC81472BD2B49F18 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 10E63E270D2E73B8CC0B79EE04C05573 /* Pods-AsyncExample tvOS */ = { + isa = PBXGroup; + children = ( + A0312CD0ADA7FE68C4E6F2F5820A404C /* Info.plist */, + 4E19C5F1811156144A86F19E7B8E4DC3 /* Pods-AsyncExample tvOS.modulemap */, + A40F02F7A99719E9A8687C2F29815CD1 /* Pods-AsyncExample tvOS-acknowledgements.markdown */, + F373E675444D505F0FFABD82C0EC310A /* Pods-AsyncExample tvOS-acknowledgements.plist */, + 41D1E54D0A91B12446AC77F4002DB8EF /* Pods-AsyncExample tvOS-dummy.m */, + E35B99B4F6E80395BCF5FB7F31EB14CE /* Pods-AsyncExample tvOS-frameworks.sh */, + 490E4DB637A362FB70DE3259FC2B79F7 /* Pods-AsyncExample tvOS-resources.sh */, + 2BD0F759E407568ADDA272A52D20E332 /* Pods-AsyncExample tvOS-umbrella.h */, + DDD786DF7F42387E34E7C0B0B5F428C3 /* Pods-AsyncExample tvOS.debug.xcconfig */, + 7AC7B94D447588AF86462DD0F01E705D /* Pods-AsyncExample tvOS.release.xcconfig */, + ); + name = "Pods-AsyncExample tvOS"; + path = "Target Support Files/Pods-AsyncExample tvOS"; + sourceTree = ""; + }; + 161ED5CDDAF9B5FA41F5E55803361CBA /* Pods-AsyncExample OS X */ = { + isa = PBXGroup; + children = ( + F5DBDEB9CC985FA33EC9D14A7A2B7AFB /* Info.plist */, + DC40CCC59C6211C07F4E0D2A06CB35E5 /* Pods-AsyncExample OS X.modulemap */, + BC703D1616BCC8DD0B8C9B26D6141711 /* Pods-AsyncExample OS X-acknowledgements.markdown */, + 31D770C15C4DECAD5425E505ABBAE56F /* Pods-AsyncExample OS X-acknowledgements.plist */, + 2210501DA1ED839DD8CF7E8F1FAD981C /* Pods-AsyncExample OS X-dummy.m */, + 9BC5155CB35B6B6E4ADA24B130BE3638 /* Pods-AsyncExample OS X-frameworks.sh */, + 2C8564782BFC3F4CDFDF4DF46B556B71 /* Pods-AsyncExample OS X-resources.sh */, + 31C3E20042CF0BA6DBACCD5CFAA3C0F3 /* Pods-AsyncExample OS X-umbrella.h */, + 5651982FF9E170D6315AE65FD13BE92B /* Pods-AsyncExample OS X.debug.xcconfig */, + 52D71A36674F4C1EA47874AC13A789F7 /* Pods-AsyncExample OS X.release.xcconfig */, + ); + name = "Pods-AsyncExample OS X"; + path = "Target Support Files/Pods-AsyncExample OS X"; + sourceTree = ""; + }; + 2D06CBB91257A409AC1E456EFED98FC5 /* AsyncSwift */ = { + isa = PBXGroup; + children = ( + 6AC7DAD24FB1D7D94FE4E0901A65AF23 /* Async.swift */, + 8FFEEB96648247AAA049AE9906B6854A /* Pod */, + A311376E742004D763180D25C76C1834 /* Support Files */, + ); + name = AsyncSwift; + path = ../..; + sourceTree = ""; + }; + 3AAC1FEB4814B7953F44D66E44431873 /* Development Pods */ = { + isa = PBXGroup; + children = ( + 2D06CBB91257A409AC1E456EFED98FC5 /* AsyncSwift */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 55D5BB0B413244251723A5493F45EE4B /* tvOS */ = { + isa = PBXGroup; + children = ( + B38A88E0776EAF5001831CAEFF93C9A0 /* Foundation.framework */, + ); + name = tvOS; + sourceTree = ""; + }; + 7DB346D0F39D3F0E887471402A8071AB = { + isa = PBXGroup; + children = ( + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 3AAC1FEB4814B7953F44D66E44431873 /* Development Pods */, + E9474CE87C6AA9A851AEC24006206CAA /* Frameworks */, + D1963B7426C0877A10B211DF12AF3FEE /* Products */, + E4D8251396D3D71ADAC9A2E642CEE574 /* Targets Support Files */, + ); + sourceTree = ""; + }; + 8FFEEB96648247AAA049AE9906B6854A /* Pod */ = { + isa = PBXGroup; + children = ( + 13745602F063AB43E9E130B56DC9F90F /* AsyncSwift.podspec */, + 7244D1A906C3693BF38A4140995D5F53 /* LICENSE.txt */, + 8F8222959E0AB88B7875AAC8EB5416D9 /* README.md */, + ); + name = Pod; + sourceTree = ""; + }; + A311376E742004D763180D25C76C1834 /* Support Files */ = { + isa = PBXGroup; + children = ( + 3F17ED70A1E6AB2C39CB1B0475ABADDC /* AsyncSwift-iOS.modulemap */, + A2F33CB33D30E235108E139053D57721 /* AsyncSwift-iOS.xcconfig */, + C0A20F0CA0F9F458CF018360E59DF96D /* AsyncSwift-iOS-dummy.m */, + C8B6FBC090CC9C79D4C289632B0D9191 /* AsyncSwift-iOS-prefix.pch */, + 0F2C4A8E83FC6417A3B8CB3F87134BD9 /* AsyncSwift-iOS-umbrella.h */, + 37C64DC8C177B9BC619138E40D632A6F /* AsyncSwift-macOS.modulemap */, + 35330485226A1998EAFCA926D445FECF /* AsyncSwift-macOS.xcconfig */, + A72B87DE1512DD86FEDE2EC8673839C7 /* AsyncSwift-macOS-dummy.m */, + 0DF583B78901912082DB61C784946457 /* AsyncSwift-macOS-prefix.pch */, + A2FF3047B70FAE9D729BDAD3E91FE2DF /* AsyncSwift-macOS-umbrella.h */, + 67F34C769C59290B468999C420EBEF2B /* AsyncSwift-tvOS.modulemap */, + 92334FADA605710300E3BEEFF62813AB /* AsyncSwift-tvOS.xcconfig */, + 5DBBE655DB2779B234BD59A7D373F88A /* AsyncSwift-tvOS-dummy.m */, + F9055B00B32436812249DCC3E37DA4A3 /* AsyncSwift-tvOS-prefix.pch */, + 2C8A0DB810EBD478F87BB1E32065D9EA /* AsyncSwift-tvOS-umbrella.h */, + 23244BFB8766FAB66A09C794A31D9F5B /* Info.plist */, + E6145BEF5FE5C3D6D72ECE783B18EEE4 /* Info.plist */, + 49E7FF45B369BC2D8BBAAE4FC384819B /* Info.plist */, + ); + name = "Support Files"; + path = "AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS"; + sourceTree = ""; + }; + A92424381BD60E468F098B2B23A5EECB /* OS X */ = { + isa = PBXGroup; + children = ( + 48233FC070FA1CADC1C3A92C3D3948A1 /* Cocoa.framework */, + ); + name = "OS X"; + sourceTree = ""; + }; + BE6E3DF8A75A815BF454038A6D21B5B7 /* Pods-AsyncExample iOS */ = { + isa = PBXGroup; + children = ( + 96EBFAC735AFF2B38C28B95DC9ED905A /* Info.plist */, + 5DF0B918273006F02D900A2E34D4F269 /* Pods-AsyncExample iOS.modulemap */, + 816D3C45C4C2148D25EABF599E8F20AB /* Pods-AsyncExample iOS-acknowledgements.markdown */, + CCEE060D6541C5EFC64E7D6A4238868D /* Pods-AsyncExample iOS-acknowledgements.plist */, + AC2E19A09F8B1A9599ED33BA2F2FFDF2 /* Pods-AsyncExample iOS-dummy.m */, + 3262F77E11302970445FAF27907DB2AB /* Pods-AsyncExample iOS-frameworks.sh */, + 7100D126DCFB2664CAA2F20798A45F56 /* Pods-AsyncExample iOS-resources.sh */, + 986578DBFD692B84B3BA913DCC9EDF00 /* Pods-AsyncExample iOS-umbrella.h */, + 9976D26D176F19D9FFAA3D9ACB0D3E09 /* Pods-AsyncExample iOS.debug.xcconfig */, + 3333E0D5655593D74FE412D1C3720076 /* Pods-AsyncExample iOS.release.xcconfig */, + ); + name = "Pods-AsyncExample iOS"; + path = "Target Support Files/Pods-AsyncExample iOS"; + sourceTree = ""; + }; + D1963B7426C0877A10B211DF12AF3FEE /* Products */ = { + isa = PBXGroup; + children = ( + F63574DF2A1165253D30AEED8C5207AA /* Async.framework */, + 1E69A63F3935CE85EAB38443DC9E73C9 /* Async.framework */, + E2373A91A5D4F003817879FB5365F0C4 /* Async.framework */, + 9B65179E968B42E22C97E3BB48884545 /* Pods_AsyncExample_iOS.framework */, + 50507D4CA456A4AEB760255BE0416051 /* Pods_AsyncExample_OS_X.framework */, + 8F5E408A029F8195E467F14C1CD94AE9 /* Pods_AsyncExample_tvOS.framework */, + ); + name = Products; + sourceTree = ""; + }; + E4D8251396D3D71ADAC9A2E642CEE574 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + BE6E3DF8A75A815BF454038A6D21B5B7 /* Pods-AsyncExample iOS */, + 161ED5CDDAF9B5FA41F5E55803361CBA /* Pods-AsyncExample OS X */, + 10E63E270D2E73B8CC0B79EE04C05573 /* Pods-AsyncExample tvOS */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + E9474CE87C6AA9A851AEC24006206CAA /* Frameworks */ = { + isa = PBXGroup; + children = ( + F436BBC45CEF494D3C1224DC7D294486 /* iOS */, + A92424381BD60E468F098B2B23A5EECB /* OS X */, + 55D5BB0B413244251723A5493F45EE4B /* tvOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + F436BBC45CEF494D3C1224DC7D294486 /* iOS */ = { + isa = PBXGroup; + children = ( + 7461AAFB7A771BCEC6E4E09204991FB5 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 1A5A4CC24354F53FADAF6EA1D62C9017 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 41CA0FE0AF1EBB592B8D1EAC1BF014C0 /* Pods-AsyncExample tvOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 40FE9B654DBE7F67252F1952B26795CF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D361FFBC6E6FE4CECDE506E2BD51599F /* Pods-AsyncExample iOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 986B155E1DED3E09E8A8F9C590897A28 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D11DD5551B3624D266A68D35C789DE1C /* AsyncSwift-iOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9A5E3E6B14D1320D32BA21D0CFCFB874 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 84E47AC3108203D8DFE3ACA9A80C1507 /* Pods-AsyncExample OS X-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B9B091A6B72AF5633612EEF19DB4E7F3 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F37BAE03D1992584444752F6705B8C06 /* AsyncSwift-tvOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2485742D127A31311584B60563FFA89 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1E9A6B80B40E7EC430A704D30A16F0D4 /* AsyncSwift-macOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 10B2A87AF987648DB324EC5D12B2C857 /* Pods-AsyncExample OS X */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2C220E8806CB3D310F8A82769DE1FBD6 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X" */; + buildPhases = ( + 5EF4B2EC1D8DE7AA9A9E4609709577C7 /* Sources */, + F99B9814C359D0D8C5692459CD8D2D17 /* Frameworks */, + 9A5E3E6B14D1320D32BA21D0CFCFB874 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 4EF77FA3B5A72A90B034E566C654CFF5 /* PBXTargetDependency */, + ); + name = "Pods-AsyncExample OS X"; + productName = "Pods-AsyncExample OS X"; + productReference = 50507D4CA456A4AEB760255BE0416051 /* Pods_AsyncExample_OS_X.framework */; + productType = "com.apple.product-type.framework"; + }; + 1B0D9781B22E8C99B50CC0F5EEDAD8D5 /* Pods-AsyncExample tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = A8320D34F2BDEBB2C5E8AF3FDF15B3B0 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample tvOS" */; + buildPhases = ( + 3420790BCF402C358795CF8137883CA4 /* Sources */, + 52C173893FAC2E75CF6108C6E086EAB6 /* Frameworks */, + 1A5A4CC24354F53FADAF6EA1D62C9017 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 86DAD76334F2683C74DF3D3D08D41192 /* PBXTargetDependency */, + ); + name = "Pods-AsyncExample tvOS"; + productName = "Pods-AsyncExample tvOS"; + productReference = 8F5E408A029F8195E467F14C1CD94AE9 /* Pods_AsyncExample_tvOS.framework */; + productType = "com.apple.product-type.framework"; + }; + 27F5197A3A74BD220E7C084E6CD5B7A8 /* AsyncSwift-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7B379D20C619754F1F6B4585CA1F711E /* Build configuration list for PBXNativeTarget "AsyncSwift-iOS" */; + buildPhases = ( + 48E8F0DF62CA391EC157EC3ECAC07307 /* Sources */, + 704899BB703F4E18C3B3BA1FEBF8913E /* Frameworks */, + 986B155E1DED3E09E8A8F9C590897A28 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncSwift-iOS"; + productName = "AsyncSwift-iOS"; + productReference = F63574DF2A1165253D30AEED8C5207AA /* Async.framework */; + productType = "com.apple.product-type.framework"; + }; + A17E58A9543FC3E6D5CFDCB952633679 /* Pods-AsyncExample iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B926B008526427EDE1C69AE31DF1F893 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS" */; + buildPhases = ( + D8ED70A8322D8CA1C3CEE389C2E13256 /* Sources */, + 4D9F12AAA6C446D58ACB660A3B139A71 /* Frameworks */, + 40FE9B654DBE7F67252F1952B26795CF /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 3D191E27782C7550CE1A2937023ABD48 /* PBXTargetDependency */, + ); + name = "Pods-AsyncExample iOS"; + productName = "Pods-AsyncExample iOS"; + productReference = 9B65179E968B42E22C97E3BB48884545 /* Pods_AsyncExample_iOS.framework */; + productType = "com.apple.product-type.framework"; + }; + A7905614542B9D08D78F0A55BD264965 /* AsyncSwift-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = C32BE877378CFCA5A9BFC930E4559450 /* Build configuration list for PBXNativeTarget "AsyncSwift-tvOS" */; + buildPhases = ( + 95007D2DFEA719DC15D26455CEBD14CB /* Sources */, + E4A9F17B0725F525D2CF428452E905DB /* Frameworks */, + B9B091A6B72AF5633612EEF19DB4E7F3 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncSwift-tvOS"; + productName = "AsyncSwift-tvOS"; + productReference = E2373A91A5D4F003817879FB5365F0C4 /* Async.framework */; + productType = "com.apple.product-type.framework"; + }; + EB04570B01EC242B47C785A3DEB47263 /* AsyncSwift-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 11A43483735347A23541A217B87FEE73 /* Build configuration list for PBXNativeTarget "AsyncSwift-macOS" */; + buildPhases = ( + 40CB427E2ED673186F8B64AEC8DBD95C /* Sources */, + A2F81234FB35BC3E01EE27A6B515C75D /* Frameworks */, + E2485742D127A31311584B60563FFA89 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "AsyncSwift-macOS"; + productName = "AsyncSwift-macOS"; + productReference = 1E69A63F3935CE85EAB38443DC9E73C9 /* Async.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; + }; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = D1963B7426C0877A10B211DF12AF3FEE /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 27F5197A3A74BD220E7C084E6CD5B7A8 /* AsyncSwift-iOS */, + EB04570B01EC242B47C785A3DEB47263 /* AsyncSwift-macOS */, + A7905614542B9D08D78F0A55BD264965 /* AsyncSwift-tvOS */, + A17E58A9543FC3E6D5CFDCB952633679 /* Pods-AsyncExample iOS */, + 10B2A87AF987648DB324EC5D12B2C857 /* Pods-AsyncExample OS X */, + 1B0D9781B22E8C99B50CC0F5EEDAD8D5 /* Pods-AsyncExample tvOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 3420790BCF402C358795CF8137883CA4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6FEC2A4A08510953628D869F70EE2CDF /* Pods-AsyncExample tvOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 40CB427E2ED673186F8B64AEC8DBD95C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 638C005160979CA8A3E857C7CD799027 /* Async.swift in Sources */, + FF69A59B3EAED484BE5E6B3A9EFA37D2 /* AsyncSwift-macOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 48E8F0DF62CA391EC157EC3ECAC07307 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 89310B64E0109A81E11A222DDE9A1A54 /* Async.swift in Sources */, + AA4C07B86BA62028C2A68B40F0DA54BF /* AsyncSwift-iOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5EF4B2EC1D8DE7AA9A9E4609709577C7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EB8B7293DE01EBA98CA0D4CF4EDC35A6 /* Pods-AsyncExample OS X-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 95007D2DFEA719DC15D26455CEBD14CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A6A34A3057267366027BE2CBA1B0DC1F /* Async.swift in Sources */, + 3748B759BECDBA33D917BB1D2FAB8585 /* AsyncSwift-tvOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8ED70A8322D8CA1C3CEE389C2E13256 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 93E41F7CE92660A97D3768DA84E5EC7C /* Pods-AsyncExample iOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3D191E27782C7550CE1A2937023ABD48 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AsyncSwift-iOS"; + target = 27F5197A3A74BD220E7C084E6CD5B7A8 /* AsyncSwift-iOS */; + targetProxy = 7E1B41F0E63BAC68858C21667517D00B /* PBXContainerItemProxy */; + }; + 4EF77FA3B5A72A90B034E566C654CFF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AsyncSwift-macOS"; + target = EB04570B01EC242B47C785A3DEB47263 /* AsyncSwift-macOS */; + targetProxy = 1055A37489F994D70322DFD6D13F3EBF /* PBXContainerItemProxy */; + }; + 86DAD76334F2683C74DF3D3D08D41192 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "AsyncSwift-tvOS"; + target = A7905614542B9D08D78F0A55BD264965 /* AsyncSwift-tvOS */; + targetProxy = 53DF74877DB264625051B72D11699B82 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 104E8851A09CE9C93A0D779F51F846D7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + 1D961D8BE7735BF413A947DC50EAF765 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Release; + }; + 2A2D092AFD5D3676B41EB8380CA0C1AB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A2F33CB33D30E235108E139053D57721 /* AsyncSwift-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 4EB13EA483371F543BF42411436F3C26 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 92334FADA605710300E3BEEFF62813AB /* AsyncSwift-tvOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 667336790BD485701B41EB055F658ED0 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3333E0D5655593D74FE412D1C3720076 /* Pods-AsyncExample iOS.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.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_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 679F1440DE4A78F8B8DF5257290E7825 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DDD786DF7F42387E34E7C0B0B5F428C3 /* Pods-AsyncExample tvOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7952C08ABB1552813E257A2FAB1D9138 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 52D71A36674F4C1EA47874AC13A789F7 /* Pods-AsyncExample OS X.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 998813669D276B6928E740DE67E36C53 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5651982FF9E170D6315AE65FD13BE92B /* Pods-AsyncExample OS X.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample OS X/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + A6F7F05A76E5710630D22A8520A6893B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AC7B94D447588AF86462DD0F01E705D /* Pods-AsyncExample tvOS.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + AD8C0BB62FA7F29FC726907F6C1C661F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9976D26D176F19D9FFAA3D9ACB0D3E09 /* Pods-AsyncExample iOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AsyncExample iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.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 = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + BBB6C740ACB8275BF47CFD3D6C8FB0F4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A2F33CB33D30E235108E139053D57721 /* AsyncSwift-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C2ED5DC9577A6366455EF2935B8C8F83 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 92334FADA605710300E3BEEFF62813AB /* AsyncSwift-tvOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + FB533F22F29F42AD9463923BB8AD5B0B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 35330485226A1998EAFCA926D445FECF /* AsyncSwift-macOS.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-macOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + FD7A4F858440F25F9F03BEE1CAAEE651 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 35330485226A1998EAFCA926D445FECF /* AsyncSwift-macOS.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREFIX_HEADER = "Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AsyncSwift-macOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.modulemap"; + PRODUCT_MODULE_NAME = Async; + PRODUCT_NAME = Async; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 11A43483735347A23541A217B87FEE73 /* Build configuration list for PBXNativeTarget "AsyncSwift-macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FD7A4F858440F25F9F03BEE1CAAEE651 /* Debug */, + FB533F22F29F42AD9463923BB8AD5B0B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2C220E8806CB3D310F8A82769DE1FBD6 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample OS X" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 998813669D276B6928E740DE67E36C53 /* Debug */, + 7952C08ABB1552813E257A2FAB1D9138 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 104E8851A09CE9C93A0D779F51F846D7 /* Debug */, + 1D961D8BE7735BF413A947DC50EAF765 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7B379D20C619754F1F6B4585CA1F711E /* Build configuration list for PBXNativeTarget "AsyncSwift-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2A2D092AFD5D3676B41EB8380CA0C1AB /* Debug */, + BBB6C740ACB8275BF47CFD3D6C8FB0F4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A8320D34F2BDEBB2C5E8AF3FDF15B3B0 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 679F1440DE4A78F8B8DF5257290E7825 /* Debug */, + A6F7F05A76E5710630D22A8520A6893B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B926B008526427EDE1C69AE31DF1F893 /* Build configuration list for PBXNativeTarget "Pods-AsyncExample iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD8C0BB62FA7F29FC726907F6C1C661F /* Debug */, + 667336790BD485701B41EB055F658ED0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C32BE877378CFCA5A9BFC930E4559450 /* Build configuration list for PBXNativeTarget "AsyncSwift-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C2ED5DC9577A6366455EF2935B8C8F83 /* Debug */, + 4EB13EA483371F543BF42411436F3C26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; +} diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-dummy.m b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-dummy.m new file mode 100644 index 0000000..604d0cd --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_AsyncSwift_iOS : NSObject +@end +@implementation PodsDummy_AsyncSwift_iOS +@end diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-prefix.pch b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-umbrella.h new file mode 100644 index 0000000..b2f2057 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double AsyncVersionNumber; +FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; + diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.modulemap similarity index 51% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap rename to AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.modulemap index 2eef124..13e4bf7 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS-Async/Pods-AsyncExample iOS-Async.modulemap +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.modulemap @@ -1,5 +1,5 @@ framework module Async { - umbrella header "Pods-AsyncExample iOS-Async-umbrella.h" + umbrella header "AsyncSwift-iOS-umbrella.h" export * module * { export * } diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.xcconfig b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.xcconfig new file mode 100644 index 0000000..f767a49 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/AsyncSwift-iOS.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-iOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Info.plist b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/Info.plist similarity index 89% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/Info.plist index 9f5393b..fe3e1fa 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-iOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.1.1 + 2.0.5 CFBundleSignature ???? CFBundleVersion diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-dummy.m b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-dummy.m new file mode 100644 index 0000000..125694a --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_AsyncSwift_macOS : NSObject +@end +@implementation PodsDummy_AsyncSwift_macOS +@end diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch new file mode 100644 index 0000000..082f8af --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-umbrella.h new file mode 100644 index 0000000..1ecb10d --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double AsyncVersionNumber; +FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; + diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.modulemap b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.modulemap similarity index 51% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.modulemap rename to AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.modulemap index dc8f060..0d82202 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X-Async/Pods-AsyncExample OS X-Async.modulemap +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.modulemap @@ -1,5 +1,5 @@ framework module Async { - umbrella header "Pods-AsyncExample OS X-Async-umbrella.h" + umbrella header "AsyncSwift-macOS-umbrella.h" export * module * { export * } diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.xcconfig b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.xcconfig new file mode 100644 index 0000000..2c3b0ba --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/AsyncSwift-macOS.xcconfig @@ -0,0 +1,10 @@ +CODE_SIGN_IDENTITY = +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-macOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Info.plist b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/Info.plist similarity index 89% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/Info.plist index 9f5393b..fe3e1fa 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests-Async/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-macOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.1.1 + 2.0.5 CFBundleSignature ???? CFBundleVersion diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-dummy.m b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-dummy.m new file mode 100644 index 0000000..90af628 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_AsyncSwift_tvOS : NSObject +@end +@implementation PodsDummy_AsyncSwift_tvOS +@end diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-umbrella.h new file mode 100644 index 0000000..b2f2057 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double AsyncVersionNumber; +FOUNDATION_EXPORT const unsigned char AsyncVersionString[]; + diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap new file mode 100644 index 0000000..ac279f8 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.modulemap @@ -0,0 +1,6 @@ +framework module Async { + umbrella header "AsyncSwift-tvOS-umbrella.h" + + export * + module * { export * } +} diff --git a/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.xcconfig b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.xcconfig new file mode 100644 index 0000000..a7f8d7b --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/AsyncSwift-tvOS.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-tvOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Info.plist b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/Info.plist similarity index 89% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/Info.plist index 6974542..fe3e1fa 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS XTests/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/AsyncSwift-tvOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 2.0.5 CFBundleSignature ???? CFBundleVersion diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist similarity index 92% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist index 6974542..2243fe6 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown similarity index 95% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown index 0cbb65f..21195e3 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.markdown @@ -1,7 +1,7 @@ # Acknowledgements This application makes use of the following third party libraries: -## Async +## AsyncSwift The MIT License (MIT) @@ -24,4 +24,4 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Generated by CocoaPods - http://cocoapods.org +Generated by CocoaPods - https://cocoapods.org diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist similarity index 93% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist index ffe2637..a0f8f43 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-acknowledgements.plist @@ -35,14 +35,16 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + License + MIT Title - Async + AsyncSwift Type PSGroupSpecifier FooterText - Generated by CocoaPods - http://cocoapods.org + Generated by CocoaPods - https://cocoapods.org Title Type diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-dummy.m b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-dummy.m similarity index 100% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-dummy.m rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-dummy.m diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh new file mode 100755 index 0000000..755a342 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-frameworks.sh @@ -0,0 +1,153 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + 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. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-macOS/Async.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-macOS/Async.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh new file mode 100755 index 0000000..345301f --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-resources.sh @@ -0,0 +1,118 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h new file mode 100644 index 0000000..804d5bf --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_AsyncExample_OS_XVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_OS_XVersionString[]; + diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig new file mode 100644 index 0000000..28223d1 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.debug.xcconfig @@ -0,0 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CODE_SIGN_IDENTITY = +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-macOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-macOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap similarity index 100% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.modulemap diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig new file mode 100644 index 0000000..28223d1 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample OS X/Pods-AsyncExample OS X.release.xcconfig @@ -0,0 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CODE_SIGN_IDENTITY = +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-macOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-macOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Info.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist similarity index 92% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist index 6974542..2243fe6 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown similarity index 95% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown index 0cbb65f..21195e3 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.markdown @@ -1,7 +1,7 @@ # Acknowledgements This application makes use of the following third party libraries: -## Async +## AsyncSwift The MIT License (MIT) @@ -24,4 +24,4 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Generated by CocoaPods - http://cocoapods.org +Generated by CocoaPods - https://cocoapods.org diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist similarity index 93% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist index ffe2637..a0f8f43 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-acknowledgements.plist @@ -35,14 +35,16 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + License + MIT Title - Async + AsyncSwift Type PSGroupSpecifier FooterText - Generated by CocoaPods - http://cocoapods.org + Generated by CocoaPods - https://cocoapods.org Title Type diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-dummy.m b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-dummy.m similarity index 100% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-dummy.m rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-dummy.m diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh new file mode 100755 index 0000000..69f1e2b --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-frameworks.sh @@ -0,0 +1,153 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + 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. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-iOS/Async.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-iOS/Async.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh new file mode 100755 index 0000000..345301f --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-resources.sh @@ -0,0 +1,118 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h new file mode 100644 index 0000000..d4fb151 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_AsyncExample_iOSVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_iOSVersionString[]; + diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig new file mode 100644 index 0000000..fc100d8 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.debug.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-iOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-iOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap similarity index 100% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.modulemap diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig new file mode 100644 index 0000000..fc100d8 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample iOS/Pods-AsyncExample iOS.release.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-iOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-iOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Info.plist similarity index 92% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Info.plist index 6974542..2243fe6 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample OS X/Info.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.markdown b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.markdown similarity index 95% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.markdown rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.markdown index 0cbb65f..21195e3 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.markdown +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.markdown @@ -1,7 +1,7 @@ # Acknowledgements This application makes use of the following third party libraries: -## Async +## AsyncSwift The MIT License (MIT) @@ -24,4 +24,4 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Generated by CocoaPods - http://cocoapods.org +Generated by CocoaPods - https://cocoapods.org diff --git a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.plist b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.plist similarity index 93% rename from AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.plist rename to AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.plist index ffe2637..a0f8f43 100644 --- a/AsyncExample/Pods/Target Support Files/Pods-AsyncExample iOSTests/Pods-AsyncExample iOSTests-acknowledgements.plist +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-acknowledgements.plist @@ -35,14 +35,16 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + License + MIT Title - Async + AsyncSwift Type PSGroupSpecifier FooterText - Generated by CocoaPods - http://cocoapods.org + Generated by CocoaPods - https://cocoapods.org Title Type diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-dummy.m b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-dummy.m new file mode 100644 index 0000000..39c3e3d --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_AsyncExample_tvOS : NSObject +@end +@implementation PodsDummy_Pods_AsyncExample_tvOS +@end diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-frameworks.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-frameworks.sh new file mode 100755 index 0000000..38f3d84 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-frameworks.sh @@ -0,0 +1,153 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + 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. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-tvOS/Async.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/AsyncSwift-tvOS/Async.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-resources.sh b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-resources.sh new file mode 100755 index 0000000..345301f --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-resources.sh @@ -0,0 +1,118 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-umbrella.h b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-umbrella.h new file mode 100644 index 0000000..81ca8c6 --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_AsyncExample_tvOSVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_AsyncExample_tvOSVersionString[]; + diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.debug.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.debug.xcconfig new file mode 100644 index 0000000..e1565ca --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.debug.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-tvOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-tvOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.modulemap b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.modulemap new file mode 100644 index 0000000..0a5197e --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.modulemap @@ -0,0 +1,6 @@ +framework module Pods_AsyncExample_tvOS { + umbrella header "Pods-AsyncExample tvOS-umbrella.h" + + export * + module * { export * } +} diff --git a/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.release.xcconfig b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.release.xcconfig new file mode 100644 index 0000000..e1565ca --- /dev/null +++ b/AsyncPodsExample/Pods/Target Support Files/Pods-AsyncExample tvOS/Pods-AsyncExample tvOS.release.xcconfig @@ -0,0 +1,11 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-tvOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AsyncSwift-tvOS/Async.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Async" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Async.podspec b/AsyncSwift.podspec similarity index 61% rename from Async.podspec rename to AsyncSwift.podspec index 3b0da9c..d433ed0 100644 --- a/Async.podspec +++ b/AsyncSwift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| - s.name = "Async" - s.version = "1.3.1" + s.name = "AsyncSwift" + s.version = "2.1.0" s.summary = "Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch" s.homepage = "https://github.com/duemunk/Async" s.license = { :type => "MIT" } @@ -8,7 +8,11 @@ Pod::Spec.new do |s| s.osx.deployment_target = "10.10" s.ios.deployment_target = "8.0" - s.source = { :git => "https://github.com/duemunk/Async.git", :tag => "1.3.1"} - s.source_files = "Source/*.swift" + s.tvos.deployment_target = "9.0" + s.watchos.deployment_target = "3.0" + s.source = { :git => "https://github.com/duemunk/Async.git", :tag => "2.0.5"} + s.source_files = "Sources/**/*.swift" s.requires_arc = true -end \ No newline at end of file + s.module_name = 'Async' + s.swift_versions = ['4.0', '4.2', '5.0', '5.1'] +end diff --git a/Configs/Async-Debug.xcconfig b/Configs/Async-Debug.xcconfig new file mode 100644 index 0000000..fce1140 --- /dev/null +++ b/Configs/Async-Debug.xcconfig @@ -0,0 +1,13 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +ENABLE_TESTABILITY = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks +HEADER_SEARCH_PATHS = $(inherited) +INFOPLIST_FILE = Async.xcodeproj/Async_Info.plist +LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks @loader_path/Frameworks +OTHER_LDFLAGS = $(inherited) +OTHER_SWIFT_FLAGS = $(inherited) +PRODUCT_BUNDLE_IDENTIFIER = dk.developmunk.Async +PRODUCT_MODULE_NAME = $(TARGET_NAME:c99extidentifier) +PRODUCT_NAME = $(TARGET_NAME:c99extidentifier) +SKIP_INSTALL = YES +TARGET_NAME = Async diff --git a/Configs/Async-Release.xcconfig b/Configs/Async-Release.xcconfig new file mode 100644 index 0000000..fce1140 --- /dev/null +++ b/Configs/Async-Release.xcconfig @@ -0,0 +1,13 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +ENABLE_TESTABILITY = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks +HEADER_SEARCH_PATHS = $(inherited) +INFOPLIST_FILE = Async.xcodeproj/Async_Info.plist +LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks @loader_path/Frameworks +OTHER_LDFLAGS = $(inherited) +OTHER_SWIFT_FLAGS = $(inherited) +PRODUCT_BUNDLE_IDENTIFIER = dk.developmunk.Async +PRODUCT_MODULE_NAME = $(TARGET_NAME:c99extidentifier) +PRODUCT_NAME = $(TARGET_NAME:c99extidentifier) +SKIP_INSTALL = YES +TARGET_NAME = Async diff --git a/Configs/AsyncTests-Debug.xcconfig b/Configs/AsyncTests-Debug.xcconfig new file mode 100644 index 0000000..5eb1188 --- /dev/null +++ b/Configs/AsyncTests-Debug.xcconfig @@ -0,0 +1,9 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks +HEADER_SEARCH_PATHS = $(inherited) +INFOPLIST_FILE = Async.xcodeproj/AsyncTests_Info.plist +LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks @loader_path/Frameworks +OTHER_LDFLAGS = $(inherited) +OTHER_SWIFT_FLAGS = $(inherited) +TARGET_NAME = AsyncTests diff --git a/Configs/AsyncTests-Release.xcconfig b/Configs/AsyncTests-Release.xcconfig new file mode 100644 index 0000000..5eb1188 --- /dev/null +++ b/Configs/AsyncTests-Release.xcconfig @@ -0,0 +1,9 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks +HEADER_SEARCH_PATHS = $(inherited) +INFOPLIST_FILE = Async.xcodeproj/AsyncTests_Info.plist +LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks @loader_path/Frameworks +OTHER_LDFLAGS = $(inherited) +OTHER_SWIFT_FLAGS = $(inherited) +TARGET_NAME = AsyncTests diff --git a/Configs/Base-Debug.xcconfig b/Configs/Base-Debug.xcconfig new file mode 100644 index 0000000..2c71a63 --- /dev/null +++ b/Configs/Base-Debug.xcconfig @@ -0,0 +1,19 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +#include "Base.xcconfig" +CLANG_ENABLE_OBJC_ARC = YES +COMBINE_HIDPI_IMAGES = YES +COPY_PHASE_STRIP = NO +DEBUG_INFORMATION_FORMAT = dwarf +DYLIB_INSTALL_NAME_BASE = @rpath +ENABLE_NS_ASSERTIONS = YES +GCC_OPTIMIZATION_LEVEL = 0 +MACOSX_DEPLOYMENT_TARGET = 10.10 +ONLY_ACTIVE_ARCH = YES +OTHER_SWIFT_FLAGS = -DXcode +PRODUCT_NAME = $(TARGET_NAME) +SDKROOT = macosx +SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator +SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE +SWIFT_OPTIMIZATION_LEVEL = -Onone +SWIFT_VERSION = 4.2 +USE_HEADERMAP = NO diff --git a/Configs/Base-Release.xcconfig b/Configs/Base-Release.xcconfig new file mode 100644 index 0000000..269d83d --- /dev/null +++ b/Configs/Base-Release.xcconfig @@ -0,0 +1,17 @@ +// Generated using xcconfig-extractor by Toshihiro Suzuki - https://github.com/toshi0383/xcconfig-extractor +#include "Base.xcconfig" +CLANG_ENABLE_OBJC_ARC = YES +COMBINE_HIDPI_IMAGES = YES +COPY_PHASE_STRIP = YES +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym +DYLIB_INSTALL_NAME_BASE = @rpath +GCC_OPTIMIZATION_LEVEL = s +MACOSX_DEPLOYMENT_TARGET = 10.10 +OTHER_SWIFT_FLAGS = -DXcode +PRODUCT_NAME = $(TARGET_NAME) +SDKROOT = macosx +SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator +SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule +SWIFT_VERSION = 4.2 +USE_HEADERMAP = NO diff --git a/Configs/Base.xcconfig b/Configs/Base.xcconfig new file mode 100644 index 0000000..76f7dcd --- /dev/null +++ b/Configs/Base.xcconfig @@ -0,0 +1,3 @@ +APPLICATION_EXTENSION_API_ONLY=YES +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=YES +CURRENT_PROJECT_VERSION=1 diff --git a/Source/Info.plist b/Info.plist similarity index 83% rename from Source/Info.plist rename to Info.plist index 79074b9..951f17e 100644 --- a/Source/Info.plist +++ b/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - dk.developmunk.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.1.1 + 2.0.5 CFBundleSignature ???? CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 1.0 NSPrincipalClass diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0f17fcd --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +XCODEBUILD=xcodebuild +OPTIONS=\ + -project Async.xcodeproj\ + -scheme Async\ + -destination "$(DESTINATION)" +SHOW_BUILD_SETTINGS=$(XCODEBUILD) $(OPTIONS) -showBuildSettings +BUILD=$(XCODEBUILD) $(OPTIONS) build +CLEAN=$(XCODEBUILD) $(OPTIONS) clean + +.PHONY: settings build clean + +settings: + $(SHOW_BUILD_SETTINGS) + +build: clean + $(BUILD) + +clean: + $(CLEAN) diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..686b2b7 --- /dev/null +++ b/Package.swift @@ -0,0 +1,44 @@ +// swift-tools-version:5.1 +// +// Async.swift +// +// Created by Tobias DM on 18/02/16. +// +// The MIT License (MIT) +// Copyright (c) 2014 Tobias Due Munk +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// the Software, and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +import PackageDescription + +let package = Package( + name: "Async", + platforms: [ + .macOS(.v10_10), + .iOS(.v8), + .watchOS(.v3), + .tvOS(.v9), + ], + products: [ + .library(name: "Async", targets: ["Async"]), + ], + targets: [ + .target(name: "Async"), + .testTarget(name: "AsyncTests", dependencies: ["Async"]) + ] +) diff --git a/README.md b/README.md index 4c759c5..d70d5a9 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,72 @@ -# Async -[![](http://img.shields.io/badge/OS%20X-10.10%2B-blue.svg)]() [![](http://img.shields.io/badge/iOS-8.0%2B-blue.svg)]() [![](http://img.shields.io/badge/Swift-1.2-blue.svg)]() [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg)](https://github.com/Carthage/Carthage) [![CocoaPods compatible](https://img.shields.io/badge/CocoaPods-compatible-4BC51D.svg)](https://github.com/CocoaPods/CocoaPods) [![](http://img.shields.io/badge/operator_overload-guilty-red.svg)](https://gist.github.com/duemunk/61e45932dbb1a2ca0954) +This project is no longer maintained. -Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch ([GCD](https://developer.apple.com/library/prerelease/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html)) +# Async +[![](http://img.shields.io/badge/OS%20X-10.10%2B-blue.svg)]() [![](http://img.shields.io/badge/iOS-8.0%2B-blue.svg)]() [![](http://img.shields.io/badge/tvOS-9.0%2B-blue.svg)]() [![](http://img.shields.io/badge/watchOS-2.0%2B-blue.svg)]() [![](http://img.shields.io/badge/Swift-5.1-blue.svg)]() [![](https://travis-ci.org/duemunk/Async.svg)](https://travis-ci.org/duemunk/Async) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg)](https://github.com/Carthage/Carthage) [![CocoaPods compatible](https://img.shields.io/badge/CocoaPods-compatible-4BC51D.svg)](https://github.com/CocoaPods/CocoaPods) [![](http://img.shields.io/badge/operator_overload-nope-green.svg)](https://gist.github.com/duemunk/61e45932dbb1a2ca0954) + + + +Now more than syntactic sugar for asynchronous dispatches in Grand Central Dispatch ([GCD](https://developer.apple.com/library/prerelease/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html)) in Swift **Async** sugar looks like this: ```swift -Async.background { - println("This is run on the background queue") +Async.userInitiated { + 10 +}.background { + "Score: \($0)" }.main { - println("This is run on the main queue, after the previous block") + label.text = $0 } ``` -Instead of the familiar syntax for GCD: +So even though GCD has nice-ish syntax as of Swift 3.0, compare the above with: ```swift -dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), { - println("This is run on the background queue") - - dispatch_async(dispatch_get_main_queue(), { - println("This is run on the main queue, after the previous block") - }) -}) +DispatchQueue.global(qos: .userInitiated).async { + let value = 10 + DispatchQueue.global(qos: .background).async { + let text = "Score: \(value)" + DispatchQueue.main.async { + label.text = text + } + } +} +``` + +**AsyncGroup** sugar looks like this: +```swift +let group = AsyncGroup() +group.background { + print("This is run on the background queue") +} +group.background { + print("This is also run on the background queue in parallel") +} +group.wait() +print("Both asynchronous blocks are complete") ``` ### Install +#### Swift Package Manager +##### Add To Your Project In Xcode 11: +File > Swift Packages > Add Package Dependency +##### Add As A Dependency In Package.swift: +```swift +dependencies: [ + .package(url: "https://github.com/duemunk/Async", from: "2.1.0"), +], +``` #### CocoaPods ```ruby -pod 'Async', :git => 'https://github.com/duemunk/Async.git' +use_frameworks! +pod "AsyncSwift" +``` +#### Carthage +```ruby +github "duemunk/Async" ``` ### Benefits -1. Less verbose code -2. Less code indentation +1. Avoid code indentation by chaining +2. Arguments and return types reduce polluted scopes ### Things you can do Supports the modern queue classes: @@ -59,25 +94,25 @@ Async.userInitiated { Store reference for later chaining: ```swift let backgroundBlock = Async.background { - println("This is run on the background queue") + print("This is run on the background queue") } // Run other code here... // Chain to reference backgroundBlock.main { - println("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") + print("This is run on the \(qos_class_self().description) (expected \(qos_class_main().description)), after the previous block") } ``` Custom queues: ```swift -let customQueue = dispatch_queue_create("CustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) -let otherCustomQueue = dispatch_queue_create("OtherCustomQueueLabel", DISPATCH_QUEUE_CONCURRENT) -Async.customQueue(customQueue) { - println("Custom queue") -}.customQueue(otherCustomQueue) { - println("Other custom queue") +let customQueue = DispatchQueue(label: "CustomQueueLabel", attributes: [.concurrent]) +let otherCustomQueue = DispatchQueue(label: "OtherCustomQueueLabel") +Async.custom(queue: customQueue) { + print("Custom queue") +}.custom(queue: otherCustomQueue) { + print("Other custom queue") } ``` @@ -85,9 +120,9 @@ Dispatch block after delay: ```swift let seconds = 0.5 Async.main(after: seconds) { - println("Is called after 0.5 seconds") + print("Is called after 0.5 seconds") }.background(after: 0.4) { - println("At least 0.4 seconds after previous block, and 0.9 after Async code is called") + print("At least 0.4 seconds after previous block, and 0.9 after Async code is called") } ``` @@ -97,13 +132,13 @@ Cancel blocks that aren't already dispatched: let block1 = Async.background { // Heavy work for i in 0...1000 { - println("A \(i)") + print("A \(i)") } } let block2 = block1.background { - println("B – shouldn't be reached, since cancelled") + print("B – shouldn't be reached, since cancelled") } -Async.main { +Async.main { // Cancel async to allow block1 to begin block1.cancel() // First block is _not_ cancelled block2.cancel() // Second block _is_ cancelled @@ -139,27 +174,82 @@ dispatch_block_notify(_previousBlock, dispatchQueueForChainingBlock, _chainingBl The syntax part of the chaining works by having class methods on the `Async` object e.g. `Async.main {}` which returns a struct. The struct has matching methods e.g. `theStruct.main {}`. ### Known bugs -The moderne GCD queues doesn't work as expected on iOS Simulator. See issues [13](https://github.com/duemunk/Async/issues/13), [22](https://github.com/duemunk/Async/issues/22). +Modern GCD queues don't work as expected in the iOS Simulator. See issues [13](https://github.com/duemunk/Async/issues/13), [22](https://github.com/duemunk/Async/issues/22). ### Known improvements The ```dispatch_block_t``` can't be extended. Workaround used: Wrap ```dispatch_block_t``` in a struct that takes the block as a property. -### Bonus stuff -There is also a wrapper for [`dispatch_apply()`](https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html#//apple_ref/c/func/dispatch_apply) for quick parallelisation of a `for` loop. +### Apply +There is also a wrapper for [`dispatch_apply()`](https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html#//apple_ref/c/func/dispatch_apply) for quick parallelisation of a `for` loop. ```swift Apply.background(100) { i in - // Do stuff e.g. println(i) + // Do stuff e.g. print(i) } ``` -Note that this function returns after the block has been run all 100 times i.e. it is not asynchronous. For asynchronous behaviour, wrap it in a an `Async` block like `Async.main{ Apply.background(100) { ... } }`. +Note that this function returns after the block has been run all 100 times i.e. it is not asynchronous. For asynchronous behaviour, wrap it in a an `Async` block like `Async.background { Apply.background(100) { ... } }`. + +### AsyncGroup +**AsyncGroup** facilitates working with groups of asynchronous blocks. -### Legacy support -For support of iOS 7 and OS X 10.9 check out [Async.legacy](https://github.com/josephlord/Async.legacy). [Joseph Lord](https://github.com/josephlord) works hard to have as high feature parity with **Async** as possible. +Multiple dispatch blocks with GCD: +```swift +let group = AsyncGroup() +group.background { + // Run on background queue +} +group.utility { + // Run on utility queue, in parallel to the previous block +} +group.wait() +``` +All modern queue classes: +```swift +group.main {} +group.userInteractive {} +group.userInitiated {} +group.utility {} +group.background {} +``` +Custom queues: +```swift +let customQueue = dispatch_queue_create("Label", DISPATCH_QUEUE_CONCURRENT) +group.custom(queue: customQueue) {} +``` +Wait for group to finish: +```swift +let group = AsyncGroup() +group.background { + // Do stuff +} +group.background { + // Do other stuff in parallel +} +// Wait for both to finish +group.wait() +// Do rest of stuff +``` +Custom asynchronous operations: +```swift +let group = AsyncGroup() +group.enter() +dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { + // Do stuff + group.leave() +} +group.enter() +dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { + // Do other stuff in parallel + group.leave() +} +// Wait for both to finish +group.wait() +// Do rest of stuff +``` ### License The MIT License (MIT) -Copyright (c) 2014 Tobias Due Munk +Copyright (c) 2016 Tobias Due Munk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/Source/Async.swift b/Source/Async.swift deleted file mode 100644 index 176abdc..0000000 --- a/Source/Async.swift +++ /dev/null @@ -1,298 +0,0 @@ -// -// Async.swift -// -// Created by Tobias DM on 15/07/14. -// -// OS X 10.10+ and iOS 8.0+ -// Only use with ARC -// -// The MIT License (MIT) -// Copyright (c) 2014 Tobias Due Munk -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of -// this software and associated documentation files (the "Software"), to deal in -// the Software without restriction, including without limitation the rights to -// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software is furnished to do so, -// subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -import Foundation - - -// MARK: - DSL for GCD queues - -private class GCD { - - /* dispatch_get_queue() */ - class func mainQueue() -> dispatch_queue_t { - return dispatch_get_main_queue() - // Don't ever use dispatch_get_global_queue(qos_class_main(), 0) re https://gist.github.com/duemunk/34babc7ca8150ff81844 - } - class func userInteractiveQueue() -> dispatch_queue_t { - return dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0) - } - class func userInitiatedQueue() -> dispatch_queue_t { - return dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0) - } - class func utilityQueue() -> dispatch_queue_t { - return dispatch_get_global_queue(QOS_CLASS_UTILITY, 0) - } - class func backgroundQueue() -> dispatch_queue_t { - return dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) - } -} - - -// MARK: - Async – Struct - -public struct Async { - - private let block: dispatch_block_t - - private init(_ block: dispatch_block_t) { - self.block = block - } -} - - -// MARK: - Async – Static methods - -public extension Async { // Static methods - - - /* dispatch_async() */ - - private static func async(block: dispatch_block_t, inQueue queue: dispatch_queue_t) -> Async { - // Create a new block (Qos Class) from block to allow adding a notification to it later (see matching regular Async methods) - // Create block with the "inherit" type - let _block = dispatch_block_create(DISPATCH_BLOCK_INHERIT_QOS_CLASS, block) - // Add block to queue - dispatch_async(queue, _block) - // Wrap block in a struct since dispatch_block_t can't be extended - return Async(_block) - } - static func main(block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: GCD.mainQueue()) - } - static func userInteractive(block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: GCD.userInteractiveQueue()) - } - static func userInitiated(block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: GCD.userInitiatedQueue()) - } - static func utility(block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: GCD.utilityQueue()) - } - static func background(block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: GCD.backgroundQueue()) - } - static func customQueue(queue: dispatch_queue_t, block: dispatch_block_t) -> Async { - return Async.async(block, inQueue: queue) - } - - - /* dispatch_after() */ - - private static func after(seconds: Double, block: dispatch_block_t, inQueue queue: dispatch_queue_t) -> Async { - let nanoSeconds = Int64(seconds * Double(NSEC_PER_SEC)) - let time = dispatch_time(DISPATCH_TIME_NOW, nanoSeconds) - return at(time, block: block, inQueue: queue) - } - private static func at(time: dispatch_time_t, block: dispatch_block_t, inQueue queue: dispatch_queue_t) -> Async { - // See Async.async() for comments - let _block = dispatch_block_create(DISPATCH_BLOCK_INHERIT_QOS_CLASS, block) - dispatch_after(time, queue, _block) - return Async(_block) - } - static func main(#after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: GCD.mainQueue()) - } - static func userInteractive(#after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: GCD.userInteractiveQueue()) - } - static func userInitiated(#after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: GCD.userInitiatedQueue()) - } - static func utility(#after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: GCD.utilityQueue()) - } - static func background(#after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: GCD.backgroundQueue()) - } - static func customQueue(queue: dispatch_queue_t, after: Double, block: dispatch_block_t) -> Async { - return Async.after(after, block: block, inQueue: queue) - } -} - - -// MARK: - Async – Regualar methods matching static ones - -public extension Async { - - - /* dispatch_async() */ - - private func chain(block chainingBlock: dispatch_block_t, runInQueue queue: dispatch_queue_t) -> Async { - // See Async.async() for comments - let _chainingBlock = dispatch_block_create(DISPATCH_BLOCK_INHERIT_QOS_CLASS, chainingBlock) - dispatch_block_notify(self.block, queue, _chainingBlock) - return Async(_chainingBlock) - } - - func main(chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: GCD.mainQueue()) - } - func userInteractive(chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: GCD.userInteractiveQueue()) - } - func userInitiated(chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: GCD.userInitiatedQueue()) - } - func utility(chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: GCD.utilityQueue()) - } - func background(chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: GCD.backgroundQueue()) - } - func customQueue(queue: dispatch_queue_t, chainingBlock: dispatch_block_t) -> Async { - return chain(block: chainingBlock, runInQueue: queue) - } - - - /* dispatch_after() */ - - private func after(seconds: Double, block chainingBlock: dispatch_block_t, runInQueue queue: dispatch_queue_t) -> Async { - - // Create a new block (Qos Class) from block to allow adding a notification to it later (see Async) - // Create block with the "inherit" type - let _chainingBlock = dispatch_block_create(DISPATCH_BLOCK_INHERIT_QOS_CLASS, chainingBlock) - - // Wrap block to be called when previous block is finished - let chainingWrapperBlock: dispatch_block_t = { - // Calculate time from now - let nanoSeconds = Int64(seconds * Double(NSEC_PER_SEC)) - let time = dispatch_time(DISPATCH_TIME_NOW, nanoSeconds) - dispatch_after(time, queue, _chainingBlock) - } - // Create a new block (Qos Class) from block to allow adding a notification to it later (see Async) - // Create block with the "inherit" type - let _chainingWrapperBlock = dispatch_block_create(DISPATCH_BLOCK_INHERIT_QOS_CLASS, chainingWrapperBlock) - // Add block to queue *after* previous block is finished - dispatch_block_notify(self.block, queue, _chainingWrapperBlock) - // Wrap block in a struct since dispatch_block_t can't be extended - return Async(_chainingBlock) - } - func main(#after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: GCD.mainQueue()) - } - func userInteractive(#after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: GCD.userInteractiveQueue()) - } - func userInitiated(#after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: GCD.userInitiatedQueue()) - } - func utility(#after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: GCD.utilityQueue()) - } - func background(#after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: GCD.backgroundQueue()) - } - func customQueue(queue: dispatch_queue_t, after: Double, block: dispatch_block_t) -> Async { - return self.after(after, block: block, runInQueue: queue) - } - - - /* cancel */ - - public func cancel() { - dispatch_block_cancel(block) - } - - - /* wait */ - - /// If optional parameter forSeconds is not provided, use DISPATCH_TIME_FOREVER - public func wait(seconds: Double = 0.0) { - if seconds != 0.0 { - let nanoSeconds = Int64(seconds * Double(NSEC_PER_SEC)) - let time = dispatch_time(DISPATCH_TIME_NOW, nanoSeconds) - dispatch_block_wait(block, time) - } else { - dispatch_block_wait(block, DISPATCH_TIME_FOREVER) - } - } -} - - -// MARK: - Apply - -public struct Apply { - - // DSL for GCD dispatch_apply() - // - // Apply runs a block multiple times, before returning. - // If you want run the block asynchronously from the current thread, - // wrap it in an Async block, - // e.g. Async.main { Apply.background(3) { ... } } - - public static func userInteractive(iterations: Int, block: Int -> ()) { - dispatch_apply(iterations, GCD.userInteractiveQueue(), block) - } - public static func userInitiated(iterations: Int, block: Int -> ()) { - dispatch_apply(iterations, GCD.userInitiatedQueue(), block) - } - public static func utility(iterations: Int, block: Int -> ()) { - dispatch_apply(iterations, GCD.utilityQueue(), block) - } - public static func background(iterations: Int, block: Int -> ()) { - dispatch_apply(iterations, GCD.backgroundQueue(), block) - } - public static func customQueue(iterations: Int, queue: dispatch_queue_t, block: Int -> ()) { - dispatch_apply(iterations, queue, block) - } -} - - -// MARK: - qos_class_t - -public extension qos_class_t { - - // Convenience description of qos_class_t - // Calculated property - var description: String { - get { - switch self { - case qos_class_main(): return "Main" - case QOS_CLASS_USER_INTERACTIVE: return "User Interactive" - case QOS_CLASS_USER_INITIATED: return "User Initiated" - case QOS_CLASS_DEFAULT: return "Default" - case QOS_CLASS_UTILITY: return "Utility" - case QOS_CLASS_BACKGROUND: return "Background" - case QOS_CLASS_UNSPECIFIED: return "Unspecified" - default: return "Unknown" - } - } - } -} - -// Binary operator for qos_class_t allows for comparison in switch-statements -func ~=(lhs: qos_class_t, rhs: qos_class_t) -> Bool { - return lhs.value ~= rhs.value -} - -// Make qos_class_t equatable -extension qos_class_t: Equatable {} -public func ==(lhs: qos_class_t, rhs: qos_class_t) -> Bool { - return lhs.value == rhs.value -} diff --git a/Sources/Async/Async.swift b/Sources/Async/Async.swift new file mode 100644 index 0000000..fdf4f16 --- /dev/null +++ b/Sources/Async/Async.swift @@ -0,0 +1,778 @@ +// +// Async.swift +// +// Created by Tobias DM on 15/07/14. +// +// OS X 10.10+ and iOS 8.0+ +// Only use with ARC +// +// The MIT License (MIT) +// Copyright (c) 2014 Tobias Due Munk +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// the Software, and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +import Foundation + +// MARK: - DSL for GCD queues + +/** + `GCD` is a convenience enum with cases to get `DispatchQueue` of different quality of service classes, as provided by `DispatchQueue.global` or `DispatchQueue` for main thread or a specific custom queue. + + let mainQueue = GCD.main + let utilityQueue = GCD.utility + let customQueue = GCD.custom(queue: aDispatchQueue) + + - SeeAlso: Grand Central Dispatch + */ +private enum GCD { + case main, userInteractive, userInitiated, utility, background, custom(queue: DispatchQueue) + + var queue: DispatchQueue { + switch self { + case .main: return .main + case .userInteractive: return .global(qos: .userInteractive) + case .userInitiated: return .global(qos: .userInitiated) + case .utility: return .global(qos: .utility) + case .background: return .global(qos: .background) + case .custom(let queue): return queue + } + } +} + + + +// MARK: - Async – Struct + +/** +The **Async** struct is the main part of the Async.framework. Handles an internally `@convention(block) () -> Swift.Void`. + +Chainable dispatch blocks with GCD: + + Async.background { + // Run on background queue + }.main { + // Run on main queue, after the previous block + } + +All moderns queue classes: + + Async.main {} + Async.userInteractive {} + Async.userInitiated {} + Async.utility {} + Async.background {} + +Custom queues: + + let customQueue = dispatch_queue_create("Label", DISPATCH_QUEUE_CONCURRENT) + Async.customQueue(customQueue) {} + +Dispatch block after delay: + + let seconds = 0.5 + Async.main(after: seconds) {} + +Cancel blocks not yet dispatched + + let block1 = Async.background { + // Some work + } + let block2 = block1.background { + // Some other work + } + Async.main { + // Cancel async to allow block1 to begin + block1.cancel() // First block is NOT cancelled + block2.cancel() // Second block IS cancelled + } + +Wait for block to finish: + + let block = Async.background { + // Do stuff + } + // Do other stuff + // Wait for "Do stuff" to finish + block.wait() + // Do rest of stuff + +- SeeAlso: Grand Central Dispatch +*/ + +private class Reference { + var value: T? +} + +public typealias Async = AsyncBlock + +public struct AsyncBlock { + + + // MARK: - Private properties and init + + /** + Private property to hold internally on to a `@convention(block) () -> Swift.Void` + */ + private let block: DispatchWorkItem + + private let input: Reference? + private let output_: Reference + + public var output: Out? { output_.value } + + /** + Private init that takes a `@convention(block) () -> Swift.Void` + */ + private init(_ block: DispatchWorkItem, input: Reference? = nil, output: Reference = Reference()) { + self.block = block + self.input = input + self.output_ = output + } + + + // MARK: - Static methods + + /** + Sends the a block to be run asynchronously on the main thread. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the main queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func main(after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + AsyncBlock.async(after: seconds, block: block, queue: .main) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INTERACTIVE. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func userInteractive(after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + AsyncBlock.async(after: seconds, block: block, queue: .userInteractive) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INITIATED. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func userInitiated(after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + Async.async(after: seconds, block: block, queue: .userInitiated) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_UTILITY. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func utility(after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + Async.async(after: seconds, block: block, queue: .utility) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_BACKGROUND. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func background(after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + Async.async(after: seconds, block: block, queue: .background) + } + + /** + Sends the a block to be run asynchronously on a custom queue. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with non-static method + */ + @discardableResult + public static func custom(queue: DispatchQueue, after seconds: Double? = nil, _ block: @escaping () -> O) -> AsyncBlock { + Async.async(after: seconds, block: block, queue: .custom(queue: queue)) + } + + + // MARK: - Private static methods + + /** + Convenience for dispatch_async(). Encapsulates the block in a "true" GCD block using DISPATCH_BLOCK_INHERIT_QOS_CLASS. + + - parameters: + - block: The block that is to be passed to be run on the `queue` + - queue: The queue on which the `block` is run. + + - returns: An `Async` struct which encapsulates the `@convention(block) () -> Swift.Void` + */ + + private static func async(after seconds: Double? = nil, block: @escaping () -> O, queue: GCD) -> AsyncBlock { + let reference = Reference() + let block = DispatchWorkItem(block: { + reference.value = block() + }) + + if let seconds = seconds { + let time = DispatchTime.now() + seconds + queue.queue.asyncAfter(deadline: time, execute: block) + } else { + queue.queue.async(execute: block) + } + + // Wrap block in a struct since @convention(block) () -> Swift.Void can't be extended + return AsyncBlock(block, output: reference) + } + + + // MARK: - Instance methods (matches static ones) + + /** + Sends the a block to be run asynchronously on the main thread, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the main queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func main(after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .main) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INTERACTIVE, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func userInteractive(after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .userInteractive) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INITIATED, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func userInitiated(after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .userInitiated) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_UTILITY, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func utility(after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .utility) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_BACKGROUND, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func background(after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .background) + } + + /** + Sends the a block to be run asynchronously on a custom queue, after the current block has finished. + + - parameters: + - after: After how many seconds the block should be run. + - block: The block that is to be passed to be run on the queue + + - returns: An `Async` struct + + - SeeAlso: Has parity with static method + */ + @discardableResult + public func custom(queue: DispatchQueue, after seconds: Double? = nil, _ chainingBlock: @escaping (Out) -> O) -> AsyncBlock { + chain(after: seconds, block: chainingBlock, queue: .custom(queue: queue)) + } + + // MARK: - Instance methods + + /** + Convenience function to call `dispatch_block_cancel()` on the encapsulated block. + Cancels the current block, if it hasn't already begun running to GCD. + + Usage: + + let block1 = Async.background { + // Some work + } + let block2 = block1.background { + // Some other work + } + Async.main { + // Cancel async to allow block1 to begin + block1.cancel() // First block is NOT cancelled + block2.cancel() // Second block IS cancelled + } + + */ + public func cancel() { + block.cancel() + } + + + /** + Convenience function to call `dispatch_block_wait()` on the encapsulated block. + Waits for the current block to finish, on any given thread. + + - parameters: + - seconds: Max seconds to wait for block to finish. If value is 0.0, it uses DISPATCH_TIME_FOREVER. Default value is 0. + + - SeeAlso: dispatch_block_wait, DISPATCH_TIME_FOREVER + */ + @discardableResult + public func wait(seconds: Double? = nil) -> DispatchTimeoutResult { + let timeout = seconds + .flatMap { DispatchTime.now() + $0 } + ?? .distantFuture + return block.wait(timeout: timeout) + } + + + // MARK: Private instance methods + + /** + Convenience for `dispatch_block_notify()` to + + - parameters: + - block: The block that is to be passed to be run on the `queue` + - queue: The queue on which the `block` is run. + + - returns: An `Async` struct which encapsulates the `@convention(block) () -> Swift.Void`, which is called when the current block has finished. + + - SeeAlso: dispatch_block_notify, dispatch_block_create + */ + + private func chain(after seconds: Double? = nil, block chainingBlock: @escaping (Out) -> O, queue: GCD) -> AsyncBlock { + let reference = Reference() + let dispatchWorkItem = DispatchWorkItem(block: { + reference.value = chainingBlock(self.output_.value!) + }) + + let queue = queue.queue + if let seconds = seconds { + block.notify(queue: queue) { + let time = DispatchTime.now() + seconds + queue.asyncAfter(deadline: time, execute: dispatchWorkItem) + } + } else { + block.notify(queue: queue, execute: dispatchWorkItem) + } + + // See Async.async() for comments + return AsyncBlock(dispatchWorkItem, input: self.output_, output: reference) + } +} + + +// MARK: - Apply - DSL for `dispatch_apply` + +/** +`Apply` is an empty struct with convenience static functions to parallelize a for-loop, as provided by `dispatch_apply`. + + Apply.background(100) { i in + // Calls blocks in parallel + } + +`Apply` runs a block multiple times, before returning. If you want run the block asynchronously from the current thread, wrap it in an `Async` block: + + Async.background { + Apply.background(100) { i in + // Calls blocks in parallel asynchronously + } + } + +- SeeAlso: Grand Central Dispatch, dispatch_apply +*/ +public struct Apply { + + /** + Block is run any given amount of times on a queue with a quality of service of QOS_CLASS_USER_INTERACTIVE. The block is being passed an index parameter. + + - parameters: + - iterations: How many times the block should be run. Index provided to block goes from `0.. ()) { + GCD.userInteractive.queue.async { + DispatchQueue.concurrentPerform(iterations: iterations, execute: block) + } + } + + /** + Block is run any given amount of times on a queue with a quality of service of QOS_CLASS_USER_INITIATED. The block is being passed an index parameter. + + - parameters: + - iterations: How many times the block should be run. Index provided to block goes from `0.. ()) { + GCD.userInitiated.queue.async { + DispatchQueue.concurrentPerform(iterations: iterations, execute: block) + } + } + + /** + Block is run any given amount of times on a queue with a quality of service of QOS_CLASS_UTILITY. The block is being passed an index parameter. + + - parameters: + - iterations: How many times the block should be run. Index provided to block goes from `0.. ()) { + GCD.utility.queue.async { + DispatchQueue.concurrentPerform(iterations: iterations, execute: block) + } + } + + /** + Block is run any given amount of times on a queue with a quality of service of QOS_CLASS_BACKGROUND. The block is being passed an index parameter. + + - parameters: + - iterations: How many times the block should be run. Index provided to block goes from `0.. ()) { + GCD.background.queue.async { + DispatchQueue.concurrentPerform(iterations: iterations, execute: block) + } + } + + /** + Block is run any given amount of times on a custom queue. The block is being passed an index parameter. + + - parameters: + - iterations: How many times the block should be run. Index provided to block goes from `0.. ()) { + queue.async { + DispatchQueue.concurrentPerform(iterations: iterations, execute: block) + } + } +} + + +// MARK: - AsyncGroup – Struct + +/** +The **AsyncGroup** struct facilitates working with groups of asynchronous blocks. Handles a internally `dispatch_group_t`. + +Multiple dispatch blocks with GCD: + + let group = AsyncGroup() + group.background { + // Run on background queue + } + group.utility { + // Run on untility queue, after the previous block + } + group.wait() + +All moderns queue classes: + + group.main {} + group.userInteractive {} + group.userInitiated {} + group.utility {} + group.background {} + +Custom queues: + + let customQueue = dispatch_queue_create("Label", DISPATCH_QUEUE_CONCURRENT) + group.customQueue(customQueue) {} + +Wait for group to finish: + + let group = AsyncGroup() + group.background { + // Do stuff + } + group.background { + // Do other stuff in parallel + } + // Wait for both to finish + group.wait() + // Do rest of stuff + +- SeeAlso: Grand Central Dispatch +*/ +public struct AsyncGroup { + + // MARK: - Private properties and init + + /** + Private property to internally on to a `dispatch_group_t` + */ + private let group = DispatchGroup() + + /** + Private init that takes a `dispatch_group_t` + */ + public init() {} + + /** + Convenience for `dispatch_group_async()` + + - parameters: + - block: The block that is to be passed to be run on the `queue` + - queue: The queue on which the `block` is run. + + - SeeAlso: dispatch_group_async, dispatch_group_create + */ + private func async(block: @escaping @convention(block) () -> Swift.Void, queue: GCD) { + queue.queue.async(group: group, execute: block) + } + + /** + Convenience for `dispatch_group_enter()`. Used to add custom blocks to the current group. + + - SeeAlso: dispatch_group_enter, dispatch_group_leave + */ + public func enter() { + group.enter() + } + + /** + Convenience for `dispatch_group_leave()`. Used to flag a custom added block is complete. + + - SeeAlso: dispatch_group_enter, dispatch_group_leave + */ + public func leave() { + group.leave() + } + + + // MARK: - Instance methods + + /** + Sends the a block to be run asynchronously on the main thread, in the current group. + + - parameters: + - block: The block that is to be passed to be run on the main queue + */ + public func main(_ block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .main) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INTERACTIVE, in the current group. + + - parameters: + - block: The block that is to be passed to be run on the queue + */ + public func userInteractive(_ block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .userInteractive) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_USER_INITIATED, in the current group. + + - parameters: + - block: The block that is to be passed to be run on the queue + */ + public func userInitiated(_ block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .userInitiated) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of + QOS_CLASS_UTILITY, in the current block. + + - parameters: + - block: The block that is to be passed to be run on the queue + */ + public func utility(_ block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .utility) + } + + /** + Sends the a block to be run asynchronously on a queue with a quality of service of QOS_CLASS_BACKGROUND, in the current block. + + - parameters: + - block: The block that is to be passed to be run on the queue + */ + public func background(_ block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .background) + } + + /** + Sends the a block to be run asynchronously on a custom queue, in the current group. + + - parameters: + - queue: Custom queue where the block will be run. + - block: The block that is to be passed to be run on the queue + */ + public func custom(queue: DispatchQueue, block: @escaping @convention(block) () -> Swift.Void) { + async(block: block, queue: .custom(queue: queue)) + } + + /** + Convenience function to call `dispatch_group_wait()` on the encapsulated block. + Waits for the current group to finish, on any given thread. + + - parameters: + - seconds: Max seconds to wait for block to finish. If value is nil, it uses DISPATCH_TIME_FOREVER. Default value is nil. + + - SeeAlso: dispatch_group_wait, DISPATCH_TIME_FOREVER + */ + @discardableResult + public func wait(seconds: Double? = nil) -> DispatchTimeoutResult { + let timeout = seconds + .flatMap { DispatchTime.now() + $0 } + ?? .distantFuture + return group.wait(timeout: timeout) + } +} + +/** +Each QoSClassDescription's case contains a description for qos_class_t or DispatchQoS.QoSClass cases + */ +private enum QoSClassDescription: String { + case main = "Main" + case userInteractive = "User Interactive" + case userInitiated = "User Initiated" + case `default` = "Default" + case utility = "Utility" + case background = "Background" + case unspecified = "Unspecified" + case unknown = "Unknown" +} + +// MARK: - Extension for `qos_class_t` + +/** +Extension to add description string for each quality of service class. +*/ +public extension qos_class_t { + + /** + Description of the `qos_class_t`. E.g. "Main", "User Interactive", etc. for the given Quality of Service class. + */ + var description: String { + let result: QoSClassDescription + switch self { + case qos_class_main(): result = .main + case DispatchQoS.QoSClass.userInteractive.rawValue: result = .userInteractive + case DispatchQoS.QoSClass.userInitiated.rawValue: result = .userInitiated + case DispatchQoS.QoSClass.default.rawValue: result = .default + case DispatchQoS.QoSClass.utility.rawValue: result = .utility + case DispatchQoS.QoSClass.background.rawValue: result = .background + case DispatchQoS.QoSClass.unspecified.rawValue: result = .unspecified + default: result = .unknown + } + return result.rawValue + } +} + + +// MARK: - Extension for `DispatchQueue.GlobalAttributes` + +/** + Extension to add description string for each quality of service class. + */ +public extension DispatchQoS.QoSClass { + + var description: String { + let result: QoSClassDescription + switch self { + case DispatchQoS.QoSClass(rawValue: qos_class_main())!: result = .main + case .userInteractive: result = .userInteractive + case .userInitiated: result = .userInitiated + case .default: result = .default + case .utility: result = .utility + case .background: result = .background + case .unspecified: result = .unspecified + @unknown default: result = .unknown + } + return result.rawValue + } +} diff --git a/Tests/AsyncTests/AsyncGroupTests.swift b/Tests/AsyncTests/AsyncGroupTests.swift new file mode 100644 index 0000000..82a0958 --- /dev/null +++ b/Tests/AsyncTests/AsyncGroupTests.swift @@ -0,0 +1,201 @@ +// +// AsyncGroupTests.swift +// Async +// +// Created by Eneko Alonso on 2/2/16. +// Copyright © 2016 developmunk. All rights reserved. +// + +import Foundation +import XCTest +import Async + +class AsyncGroupTests: XCTestCase { + + // Typical testing time delay. Must be bigger than `timeMargin` + let timeDelay = 0.3 + // Allowed error for timeDelay + let timeMargin = 0.2 + + func testMainGroup() { + let expectation = self.expectation(description: "Expected on main queue") + let group = AsyncGroup() + group.main { + #if targetEnvironment(simulator) + XCTAssert(Thread.isMainThread, "Should be on main thread (simulator)") + #else + XCTAssertEqual(qos_class_self(), qos_class_main()) + #endif + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testUserInteractiveGroup() { + let expectation = self.expectation(description: "Expected on user interactive queue") + let group = AsyncGroup() + group.userInteractive { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testUserInitiatedGroup() { + let expectation = self.expectation(description: "Expected on user initiated queue") + let group = AsyncGroup() + group.userInitiated { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInitiated.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testUtilityGroup() { + let expectation = self.expectation(description: "Expected on utility queue") + let group = AsyncGroup() + group.utility { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testBackgroundGroup() { + let expectation = self.expectation(description: "Expected on background queue") + let group = AsyncGroup() + group.background { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testGroupCustomQueueConcurrent() { + let expectation = self.expectation(description: "Expected custom queue") + let label = "CustomQueueLabel" + let customQueue = DispatchQueue(label: label, attributes: [.concurrent]) + let key = DispatchSpecificKey() + customQueue.setSpecific(key: key, value: label) + let group = AsyncGroup() + group.custom(queue: customQueue) { + XCTAssertEqual(DispatchQueue.getSpecific(key: key), label) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testGroupCustomQueueSerial() { + let expectation = self.expectation(description: "Expected custom queue") + let label = "CustomQueueLabel" + let customQueue = DispatchQueue(label: label, attributes: []) + let key = DispatchSpecificKey() + customQueue.setSpecific(key: key, value: label) + let group = AsyncGroup() + group.custom(queue: customQueue) { + XCTAssertEqual(DispatchQueue.getSpecific(key: key), label) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testGroupWait() { + var id = 0 + let group = AsyncGroup() + group.background { + // Some work + Thread.sleep(forTimeInterval: 0.1) + id += 1 + XCTAssertEqual(id, 1, "") + } + XCTAssertEqual(id, 0, "") + + group.wait() + id += 1 + XCTAssertEqual(id, 2, "") + } + + func testGroupWaitMax() { + var id = 0 + let date = Date() + let upperTimeDelay = timeDelay + timeMargin + let group = AsyncGroup() + group.background { + id += 1 + XCTAssertEqual(id, 1, "The id should be 1") // A + // Some work that takes longer than we want to wait for + Thread.sleep(forTimeInterval: self.timeDelay + self.timeMargin) + id += 1 // C + } + XCTAssertEqual(id, 0, "The id should be 0, since block is send to background") + // Wait + group.wait(seconds: timeDelay) + id += 1 + XCTAssertEqual(id, 2, "The id should be 2, since the block has begun running") // B + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(upperTimeDelay) seconds before firing") + } + + func testMultipleGroups() { + let count = 3 + let iterations = 0..() + customQueue.setSpecific(key: key, value: label) + Async.custom(queue: customQueue) { + XCTAssertEqual(DispatchQueue.getSpecific(key: key), label) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testAsyncCustomQueueSerial() { + let expectation = self.expectation(description: "Expected custom queue") + let label = "CustomQueueLabel" + let customQueue = DispatchQueue(label: label, attributes: []) + let key = DispatchSpecificKey() + customQueue.setSpecific(key: key, value: label) + Async.custom(queue: customQueue) { + XCTAssertEqual(DispatchQueue.getSpecific(key: key), label) + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + + /* Chaining */ + + func testAsyncBackgroundToMain() { + let expectation = self.expectation(description: "Expected on background to main queue") + var wasInBackground = false + Async.background { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + wasInBackground = true + }.main { + #if targetEnvironment(simulator) + XCTAssert(Thread.isMainThread, "Should be on main thread (simulator)") + #else + XCTAssertEqual(qos_class_self(), qos_class_main()) + #endif + XCTAssert(wasInBackground, "Was in background first") + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin*2, handler: nil) + } + + func testChaining() { + let expectation = self.expectation(description: "Expected On \(qos_class_self()) (expected \(DispatchQoS.QoSClass.userInitiated.rawValue))") + var id = 0 + Async.main { + #if targetEnvironment(simulator) + XCTAssert(Thread.isMainThread, "Should be on main thread (simulator)") + #else + XCTAssertEqual(qos_class_self(), qos_class_main()) + #endif + id += 1 + XCTAssertEqual(id, 1, "Count main queue") + }.userInteractive { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + id += 1 + XCTAssertEqual(id, 2, "Count user interactive queue") + }.userInitiated { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInitiated.rawValue) + id += 1 + XCTAssertEqual(id, 3, "Count user initiated queue") + }.utility { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + id += 1 + XCTAssertEqual(id, 4, "Count utility queue") + }.background { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + id += 1 + XCTAssertEqual(id, 5, "Count background queue") + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin*5, handler: nil) + } + + func testAsyncCustomQueueChaining() { + let expectation = self.expectation(description: "Expected custom queues") + var id = 0 + let customQueue = DispatchQueue(label: "CustomQueueLabel", attributes: [.concurrent]) + let otherCustomQueue = DispatchQueue(label: "OtherCustomQueueLabel", attributes: []) + Async.custom(queue: customQueue) { + id += 1 + XCTAssertEqual(id, 1, "Count custom queue") + }.custom(queue: otherCustomQueue) { + id += 1 + XCTAssertEqual(id, 2, "Count other custom queue") + expectation.fulfill() + } + waitForExpectations(timeout: timeMargin*2, handler: nil) + } + + + /* dispatch_after() */ + + func testAfterGCD() { + + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + let time = DispatchTime.now() + timeDelay + let qos = DispatchQoS.QoSClass.background + let queue = DispatchQueue.global(qos: qos) + let block = DispatchWorkItem { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(qos_class_self(), qos.rawValue) + expectation.fulfill() + } + queue.asyncAfter(deadline: time, execute: block) + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterMain() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + Async.main(after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + #if targetEnvironment(simulator) + XCTAssert(Thread.isMainThread, "Should be on main thread (simulator)") + #else + XCTAssertEqual(qos_class_self(), qos_class_main()) + #endif + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterUserInteractive() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + Async.userInteractive(after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterUserInitated() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + Async.userInitiated(after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInitiated.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterUtility() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + Async.utility(after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterBackground() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let lowerTimeDelay = timeDelay - timeMargin + Async.background(after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterCustomQueue() { + let expectation = self.expectation(description: "Expected after time") + let date = Date() + let timeDelay = 1.0 + let lowerTimeDelay = timeDelay - timeMargin + let label = "CustomQueueLabel" + let customQueue = DispatchQueue(label: label, attributes: [.concurrent]) + let key = DispatchSpecificKey() + customQueue.setSpecific(key: key, value: label) + Async.custom(queue: customQueue, after: timeDelay) { + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed >= lowerTimeDelay, "Should wait \(timePassed) >= \(lowerTimeDelay) seconds before firing") + XCTAssertEqual(DispatchQueue.getSpecific(key: key), label) + expectation.fulfill() + } + waitForExpectations(timeout: timeDelay + timeMargin, handler: nil) + } + + func testAfterChainedMix() { + let expectation = self.expectation(description: "Expected after time") + let date1 = Date() + var date2 = Date() + let timeDelay1 = timeDelay + let lowerTimeDelay1 = timeDelay1 - timeMargin + let upperTimeDelay1 = timeDelay1 + timeMargin + let timeDelay2 = timeDelay + let lowerTimeDelay2 = timeDelay2 - timeMargin + var id = 0 + Async.userInteractive(after: timeDelay1) { + id += 1 + XCTAssertEqual(id, 1, "First after") + + let timePassed = Date().timeIntervalSince(date1) + XCTAssert(timePassed >= lowerTimeDelay1, "Should wait \(timePassed) >= \(lowerTimeDelay1) seconds before firing") + XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + + date2 = Date() // Update + }.utility(after: timeDelay2) { + id += 1 + XCTAssertEqual(id, 2, "Second after") + + let timePassed = Date().timeIntervalSince(date2) + XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: (timeDelay1 + timeDelay2) + timeMargin*2, handler: nil) + } + + func testAfterChainedUserInteractive() { + let expectation = self.expectation(description: "Expected after time") + let date1 = Date() + var date2 = Date() + let timeDelay1 = timeDelay + let lowerTimeDelay1 = timeDelay1 - timeMargin + let upperTimeDelay1 = timeDelay1 + timeMargin + let timeDelay2 = timeDelay + let lowerTimeDelay2 = timeDelay2 - timeMargin + var id = 0 + Async.userInteractive(after: timeDelay1) { + id += 1 + XCTAssertEqual(id, 1, "First after") + + let timePassed = Date().timeIntervalSince(date1) + XCTAssert(timePassed >= lowerTimeDelay1, "Should wait \(timePassed) >= \(lowerTimeDelay1) seconds before firing") + XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + + date2 = Date() // Update + }.userInteractive(after: timeDelay2) { + id += 1 + XCTAssertEqual(id, 2, "Second after") + + let timePassed = Date().timeIntervalSince(date2) + XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInteractive.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: (timeDelay1 + timeDelay2) + timeMargin*2, handler: nil) + } + + func testAfterChainedUserInitiated() { + let expectation = self.expectation(description: "Expected after time") + let date1 = Date() + var date2 = Date() + let timeDelay1 = timeDelay + let lowerTimeDelay1 = timeDelay1 - timeMargin + let upperTimeDelay1 = timeDelay1 + timeMargin + let timeDelay2 = timeDelay + let lowerTimeDelay2 = timeDelay2 - timeMargin + var id = 0 + Async.userInitiated(after: timeDelay1) { + id += 1 + XCTAssertEqual(id, 1, "First after") + + let timePassed = Date().timeIntervalSince(date1) + XCTAssert(timePassed >= lowerTimeDelay1, "Should wait \(timePassed) >= \(lowerTimeDelay1) seconds before firing") + XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInitiated.rawValue) + + date2 = Date() // Update + }.userInitiated(after: timeDelay2) { + id += 1 + XCTAssertEqual(id, 2, "Second after") + + let timePassed = Date().timeIntervalSince(date2) + XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.userInitiated.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: (timeDelay1 + timeDelay2) + timeMargin*2, handler: nil) + } + + func testAfterChainedUtility() { + let expectation = self.expectation(description: "Expected after time") + let date1 = Date() + var date2 = Date() + let timeDelay1 = timeDelay + let lowerTimeDelay1 = timeDelay1 - timeMargin + let upperTimeDelay1 = timeDelay1 + timeMargin + let timeDelay2 = timeDelay + let lowerTimeDelay2 = timeDelay2 - timeMargin + var id = 0 + Async.utility(after: timeDelay1) { + id += 1 + XCTAssertEqual(id, 1, "First after") + + let timePassed = Date().timeIntervalSince(date1) + XCTAssert(timePassed >= lowerTimeDelay1, "Should wait \(timePassed)>=\(lowerTimeDelay1) seconds before firing") + XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + + date2 = Date() // Update + }.utility(after: timeDelay2) { + id += 1 + XCTAssertEqual(id, 2, "Second after") + + let timePassed = Date().timeIntervalSince(date2) + XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.utility.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: (timeDelay1 + timeDelay2) * 2, handler: nil) + } + + func testAfterChainedBackground() { + let expectation = self.expectation(description: "Expected after time") + let date1 = Date() + var date2 = Date() + let timeDelay1 = timeDelay + let lowerTimeDelay1 = timeDelay1 - timeMargin + let upperTimeDelay1 = timeDelay1 + timeMargin + let timeDelay2 = timeDelay + let lowerTimeDelay2 = timeDelay2 - timeMargin + var id = 0 + Async.background(after: timeDelay1) { + id += 1 + XCTAssertEqual(id, 1, "First after") + + let timePassed = Date().timeIntervalSince(date1) + XCTAssert(timePassed >= lowerTimeDelay1, "Should wait \(timePassed) >= \(lowerTimeDelay1) seconds before firing") + XCTAssert(timePassed < upperTimeDelay1, "Shouldn't wait \(timePassed), but <\(upperTimeDelay1) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + + date2 = Date() // Update + }.background(after: timeDelay2) { + id += 1 + XCTAssertEqual(id, 2, "Second after") + + let timePassed = Date().timeIntervalSince(date2) + XCTAssert(timePassed >= lowerTimeDelay2, "Should wait \(timePassed) >= \(lowerTimeDelay2) seconds before firing") + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + expectation.fulfill() + } + waitForExpectations(timeout: (timeDelay1 + timeDelay2) + timeMargin*2, handler: nil) + } + + + /* dispatch_block_cancel() */ + + func testCancel() { + let expectation = self.expectation(description: "Block1 should run") + + let block1 = Async.background { + // Some work + Thread.sleep(forTimeInterval: 0.2) + expectation.fulfill() + } + let block2 = block1.background { + XCTFail("Shouldn't be reached, since cancelled") + } + + Async.main(after: 0.1) { + block1.cancel() // First block is _not_ cancelled + block2.cancel() // Second block _is_ cancelled + } + + waitForExpectations(timeout: 0.2 + 0.1 + timeMargin*3, handler: nil) + } + + + /* dispatch_wait() */ + + func testWait() { + var id = 0 + let block = Async.background { + // Some work + Thread.sleep(forTimeInterval: 0.1) + id += 1 + XCTAssertEqual(id, 1, "") + } + XCTAssertEqual(id, 0, "") + + block.wait() + id += 1 + XCTAssertEqual(id, 2, "") + } + + func testWaitMax() { + var id = 0 + let date = Date() + let upperTimeDelay = timeDelay + timeMargin + let block = Async.background { + id += 1 + XCTAssertEqual(id, 1, "The id should be 1") // A + // Some work that takes longer than we want to wait for + Thread.sleep(forTimeInterval: self.timeDelay + self.timeMargin) + id += 1 // C + } + let idCheck = id // XCTAssertEqual is experienced to behave as a wait + XCTAssertEqual(idCheck, 0, "The id should be 0, since block is send to background") + // Wait + block.wait(seconds: timeDelay) + id += 1 + XCTAssertEqual(id, 2, "The id should be 2, since the block has begun running") // B + let timePassed = Date().timeIntervalSince(date) + XCTAssert(timePassed < upperTimeDelay, "Shouldn't wait \(upperTimeDelay) seconds before firing") + } + + + /* Generics */ + + func testGenericsChain() { + let expectationBackground = self.expectation(description: "Expected on background queue") + let expectationMain = self.expectation(description: "Expected on main queue") + let testValue = 10 + + Async.background { + XCTAssertEqual(qos_class_self(), DispatchQoS.QoSClass.background.rawValue) + expectationBackground.fulfill() + return testValue + }.main { (value: Int) in + #if targetEnvironment(simulator) + XCTAssert(Thread.isMainThread, "Should be on main thread (simulator)") + #else + XCTAssertEqual(qos_class_self(), qos_class_main()) + #endif + expectationMain.fulfill() + XCTAssertEqual(value, testValue) + return + } + waitForExpectations(timeout: timeMargin, handler: nil) + } + + func testGenericsWait() { + let asyncBlock = Async.background { + return 10 + }.utility { + return "T\($0)" + } + asyncBlock.wait() + XCTAssertEqual(asyncBlock.output, Optional("T10")) + } + + func testGenericsWaitMax() { + var complete1 = false + var complete2 = false + let asyncBlock = Async.background { + complete1 = true + // Some work that takes longer than we want to wait for + Thread.sleep(forTimeInterval: self.timeDelay + self.timeMargin) + complete2 = true + return 10 + }.utility { (_: Int) -> Void in } + asyncBlock.wait(seconds: timeMargin) + XCTAssertNil(asyncBlock.output) + XCTAssert(complete1, "Should have been set in background block") + XCTAssertFalse(complete2, "Should not have been set/reached in background block") + } + + + /* dispatch_apply() */ + + func testApplyUserInteractive() { + let count = 3 + let iterations = 0..CFBundleDevelopmentRegion en CFBundleExecutable - ${EXECUTABLE_NAME} + $(EXECUTABLE_NAME) CFBundleIdentifier - dk.developmunk.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName - ${PRODUCT_NAME} + $(PRODUCT_NAME) CFBundlePackageType BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1