From d532ba612218a59905f9db7165144eb4446d688f Mon Sep 17 00:00:00 2001 From: Troy Stump Date: Tue, 30 Apr 2024 01:06:56 -0700 Subject: [PATCH] Update project and installation methods (CocoaPods, and Swift Package Manager) to support building and running with Xcode 15.2 --- .github/workflows/ci.yml | 23 +- .github/workflows/publish_release.yml | 8 +- CHANGELOG.md | 9 + .../project.pbxproj | 63 +- Example/Podfile | 2 +- Example/Podfile.lock | 8 +- Makefile | 11 +- PINOperation.podspec | 15 +- PINOperation.xcodeproj/project.pbxproj | 536 ++++++++++++++++-- .../xcschemes/PINOperation-macOS.xcscheme | 24 +- .../PINOperation-macOSTests.xcscheme | 53 ++ .../xcschemes/PINOperation-tvOS.xcscheme | 24 +- .../xcschemes/PINOperation-tvOSTests.xcscheme | 53 ++ .../xcschemes/PINOperation-visionOS.xcscheme | 78 +++ .../PINOperation-visionOSTests.xcscheme | 53 ++ .../xcschemes/PINOperation-watchOS.xcscheme | 2 +- .../PINOperation-watchOSTests.xcscheme | 53 ++ .../xcschemes/PINOperation.xcscheme | 24 +- .../xcschemes/PINOperationTests.xcscheme | 53 ++ Package.swift | 20 +- README.md | 2 +- Source/PINOperation.h | 8 +- Source/PINOperationGroup.h | 6 +- Source/PINOperationGroup.m | 4 +- Source/PINOperationQueue.h | 6 +- Source/PINOperationQueue.m | 2 +- Source/PrivacyInfo.xcprivacy | 14 + Source/include/PINOperation/PINOperation.h | 1 + .../include/PINOperation/PINOperationGroup.h | 1 + .../include/PINOperation/PINOperationMacros.h | 1 + .../include/PINOperation/PINOperationQueue.h | 1 + .../include/PINOperation/PINOperationTypes.h | 1 + Tests/PINOperationGroupTests.m | 2 +- Tests/PINOperationQueueTests.m | 2 +- build_tests.sh | 2 +- 35 files changed, 968 insertions(+), 197 deletions(-) create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOSTests.xcscheme create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOSTests.xcscheme create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOSTests.xcscheme create mode 100644 PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperationTests.xcscheme create mode 100644 Source/PrivacyInfo.xcprivacy create mode 120000 Source/include/PINOperation/PINOperation.h create mode 120000 Source/include/PINOperation/PINOperationGroup.h create mode 120000 Source/include/PINOperation/PINOperationMacros.h create mode 120000 Source/include/PINOperation/PINOperationQueue.h create mode 120000 Source/include/PINOperation/PINOperationTypes.h diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9bd0590..053ed70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,18 +10,19 @@ on: branches: - master +env: + # Use Xcode 15.2 or newer to support VisionOS + DEVELOPER_DIR: /Applications/Xcode_15.2.app + jobs: test: name: Test runs-on: macos-latest strategy: matrix: - platform: ['iOS Simulator,name=iPhone 13'] + platform: ['iOS Simulator,name=iPhone 15'] steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - name: Test run: make test analyze: @@ -29,9 +30,6 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - name: analyze run: make analyze cocoapods: @@ -39,9 +37,6 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - name: Cocoapods lint run: make cocoapods carthage: @@ -49,17 +44,11 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - name: carthage run: make carthage swift-package-manager: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - - name: Verify that PINCache can be build by SPM + - name: Verify that PINOperation can be built by SPM run: make spm diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 4e6cd14..c4262e6 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -5,15 +5,17 @@ on: release-type: description: 'The type of release. Must be major, minor or patch' required: true + +env: + # Use Xcode 15.2 or newer to support VisionOS + DEVELOPER_DIR: /Applications/Xcode_15.2.app + jobs: create_release: runs-on: macos-latest steps: - uses: actions/checkout@v2 # Make sure we can lint before creating the release. - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4.1' - name: Cocoapods lint run: make cocoapods - name: Create Release Commit diff --git a/CHANGELOG.md b/CHANGELOG.md index a817204..f11e974 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [1.2.3](https://github.com/Pinterest/PINOperation/tree/1.2.3) (TBD) + +[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.2.2...1.2.3) + + +- Update project to build and run using Xcode 15 +- Update CocoaPods Podspec to include Privacy Manifest file +- Bump minimum deployment targets to iOS 12, tvOS 12, watchOS 4, and macOS 10.13 + ## [1.2.2](https://github.com/Pinterest/PINOperation/tree/1.2.2) (2022-11-28) [Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.2.1...1.2.2) diff --git a/Example/PINOperationExample.xcodeproj/project.pbxproj b/Example/PINOperationExample.xcodeproj/project.pbxproj index 382c634..01324ee 100644 --- a/Example/PINOperationExample.xcodeproj/project.pbxproj +++ b/Example/PINOperationExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -11,7 +11,6 @@ 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13872757245D5BB800C1F56D /* Assets.xcassets */; }; 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */; }; 13872765245D5D8200C1F56D /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13872764245D5D8200C1F56D /* MainViewController.m */; }; - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -23,9 +22,6 @@ 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINOperationExample-Bridging-Header.h"; sourceTree = ""; }; 13872763245D5D8200C1F56D /* MainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; 13872764245D5D8200C1F56D /* MainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.release.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.release.xcconfig"; sourceTree = ""; }; - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.debug.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.debug.xcconfig"; sourceTree = ""; }; - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINOperationExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -33,7 +29,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -43,8 +38,6 @@ 110EBBE34DCD59092AC3306C /* Pods */ = { isa = PBXGroup; children = ( - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */, - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -55,7 +48,6 @@ 1387274D245D5BB500C1F56D /* PINOperationExample */, 1387274C245D5BB500C1F56D /* Products */, 110EBBE34DCD59092AC3306C /* Pods */, - 5C200BF654CB547E7117CE2B /* Frameworks */, ); sourceTree = ""; }; @@ -81,14 +73,6 @@ path = PINOperationExample; sourceTree = ""; }; - 5C200BF654CB547E7117CE2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -96,7 +80,6 @@ isa = PBXNativeTarget; buildConfigurationList = 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */; buildPhases = ( - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */, 13872747245D5BB500C1F56D /* Sources */, 13872748245D5BB500C1F56D /* Frameworks */, 13872749245D5BB500C1F56D /* Resources */, @@ -116,8 +99,9 @@ 13872743245D5BB500C1F56D /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1140; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = Pinterest; TargetAttributes = { 1387274A245D5BB500C1F56D = { @@ -127,7 +111,7 @@ }; }; buildConfigurationList = 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 15.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -156,31 +140,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-PINOperationExample-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 */ 13872747245D5BB500C1F56D /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -231,6 +190,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -255,7 +215,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -291,6 +251,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -309,7 +270,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; @@ -321,20 +282,20 @@ }; 13872760245D5BB800C1F56D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -344,20 +305,20 @@ }; 13872761245D5BB800C1F56D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Example/Podfile b/Example/Podfile index ae5fd62..62ba7b9 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,5 +1,5 @@ source 'https://cdn.cocoapods.org/' -platform :ios, '8.0' +platform :ios, '12.0' target 'PINOperationExample' do pod 'PINOperation', :path => '../' diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 266cc70..cbbd5f3 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - PINOperation (1.1.2) + - PINOperation (1.2.3) DEPENDENCIES: - PINOperation (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a + PINOperation: fb563bcc9c32c26d6c78aaff967d405aa2ee74a7 -PODFILE CHECKSUM: b83a75d584abe07185e7be951687702dadbabf84 +PODFILE CHECKSUM: 590bbecb30df161f3cdb5ab267c95244b0df928f -COCOAPODS: 1.9.1 +COCOAPODS: 1.15.2 diff --git a/Makefile b/Makefile index 3acfd42..4e24e34 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 13" +PLATFORM="platform=iOS Simulator,name=iPhone 15" SDK="iphonesimulator" SHELL=/bin/bash -o pipefail XCODE_MAJOR_VERSION=$(shell xcodebuild -version | HEAD -n 1 | sed -E 's/Xcode ([0-9]+).*/\1/') @@ -24,15 +24,14 @@ analyze: install_xcbeautify rm -rf $(shell pwd)/clang test: install_xcbeautify + # TODO: Fix data races and enable thread sanitizer with '-enableThreadSanitizer YES' xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ ONLY_ACTIVE_ARCH=NO \ CODE_SIGNING_REQUIRED=NO | xcbeautify spm: -# For now just check whether we can assemble it -# TODO: replace it with "swift test --enable-test-discovery --sanitize=thread" when swiftPM resource-related bug would be fixed. -# https://bugs.swift.org/browse/SR-13560 - swift build + # TODO: Fix data races and enable thread sanitizer with '--sanitize thread' + swift test release-major: @@ -41,4 +40,4 @@ release-minor: release-patch: -all: carthage cocoapods test analyze spm \ No newline at end of file +all: carthage cocoapods test analyze spm diff --git a/PINOperation.podspec b/PINOperation.podspec index 0de40ae..18d75d4 100644 --- a/PINOperation.podspec +++ b/PINOperation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'PINOperation' - s.version = '1.2.2' + s.version = '1.2.3' s.homepage = 'https://github.com/pinterest/PINOperation' s.summary = 'Fast, concurrency-limited task queue for iOS and OS X.' s.authors = { 'Garrett Moon' => 'garrett@pinterest.com' } @@ -8,15 +8,18 @@ Pod::Spec.new do |s| s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } s.requires_arc = true s.frameworks = 'Foundation' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' + s.cocoapods_version = '>= 1.13.0' + s.ios.deployment_target = '12.0' + s.osx.deployment_target = '10.13' + s.tvos.deployment_target = '12.0' + s.visionos.deployment_target = '1.0' + s.watchos.deployment_target = '4.0' pch_PIN = <<-EOS #ifndef TARGET_OS_WATCH #define TARGET_OS_WATCH 0 #endif EOS s.prefix_header_contents = pch_PIN - s.source_files = 'Source/**/*.{h,m,mm}' + s.source_files = 'Source/*.{h,m}' + s.resource_bundles = { 'PINOperation' => ['Source/PrivacyInfo.xcprivacy'] } end diff --git a/PINOperation.xcodeproj/project.pbxproj b/PINOperation.xcodeproj/project.pbxproj index ddcb88c..6e8f856 100644 --- a/PINOperation.xcodeproj/project.pbxproj +++ b/PINOperation.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -14,6 +14,24 @@ 3201179824444862004FD783 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3201179924444862004FD783 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; + 68133AEC2BE056A5007627EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */; }; + 6817A6442BE46E48007710C1 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; + 6817A6452BE46E48007710C1 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; + 6817A6482BE46E48007710C1 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6817A6492BE46E48007710C1 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6817A64A2BE46E48007710C1 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6817A64B2BE46E48007710C1 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6817A64C2BE46E48007710C1 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6817A64E2BE46E48007710C1 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */; }; + 6850F2E62BE471CB00A38144 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; + 6850F2E72BE471CB00A38144 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; + 686ECECD2BE4731900634D9F /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6817A6522BE46E48007710C1 /* PINOperation.framework */; }; + 686ECED62BE474F300634D9F /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; + 686ECED72BE474F300634D9F /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; + 68B3C3072BE475FF00C335B8 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3201178C24444859004FD783 /* PINOperation.framework */; }; + 68CEDB9F2BE0E1DF0045CBE7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */; }; + 68CEDBA02BE0E1E00045CBE7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */; }; + 68CEDBA12BE0E1E10045CBE7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */; }; CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01052D1E27110D00890935 /* PINOperation.framework */; }; CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01053D1E27113700890935 /* PINOperation.framework */; }; CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01054A1E27114300890935 /* PINOperation.framework */; }; @@ -47,6 +65,20 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 686ECECF2BE4731900634D9F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CC0105241E27110D00890935 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6817A6422BE46E48007710C1; + remoteInfo = "PINOperation-visionOS"; + }; + 68B3C3092BE475FF00C335B8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CC0105241E27110D00890935 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3201178B24444859004FD783; + remoteInfo = "PINOperation-watchOS"; + }; CC01055C1E27116600890935 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CC0105241E27110D00890935 /* Project object */; @@ -72,6 +104,10 @@ /* Begin PBXFileReference section */ 3201178C24444859004FD783 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 6817A6522BE46E48007710C1 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6850F2EE2BE471CB00A38144 /* PINOperation-visionOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-visionOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 686ECEDE2BE474F300634D9F /* PINOperation-watchOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-watchOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; CC01052D1E27110D00890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CC01053D1E27113700890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CC01054A1E27114300890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -99,6 +135,29 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6817A6462BE46E48007710C1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6850F2E82BE471CB00A38144 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 686ECECD2BE4731900634D9F /* PINOperation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 686ECED82BE474F300634D9F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68B3C3072BE475FF00C335B8 /* PINOperation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CC0105291E27110D00890935 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -147,12 +206,20 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 6850F2F02BE4724000A38144 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; CC0105231E27110D00890935 = { isa = PBXGroup; children = ( CC01057F1E2711B700890935 /* Source */, CC0105571E27116600890935 /* Tests */, CC01052E1E27110D00890935 /* Products */, + 6850F2F02BE4724000A38144 /* Frameworks */, ); indentWidth = 2; sourceTree = ""; @@ -169,6 +236,9 @@ CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */, CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */, 3201178C24444859004FD783 /* PINOperation.framework */, + 6817A6522BE46E48007710C1 /* PINOperation.framework */, + 6850F2EE2BE471CB00A38144 /* PINOperation-visionOSTests.xctest */, + 686ECEDE2BE474F300634D9F /* PINOperation-watchOSTests.xctest */, ); name = Products; sourceTree = ""; @@ -194,6 +264,7 @@ CC0105821E2711B700890935 /* PINOperationGroup.m */, CC0105851E2711B700890935 /* PINOperationQueue.m */, CC01059C1E27129E00890935 /* Info.plist */, + 68133AEB2BE056A5007627EC /* PrivacyInfo.xcprivacy */, ); path = Source; sourceTree = ""; @@ -213,6 +284,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6817A6472BE46E48007710C1 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 6817A6482BE46E48007710C1 /* PINOperationTypes.h in Headers */, + 6817A6492BE46E48007710C1 /* PINOperation.h in Headers */, + 6817A64A2BE46E48007710C1 /* PINOperationGroup.h in Headers */, + 6817A64B2BE46E48007710C1 /* PINOperationMacros.h in Headers */, + 6817A64C2BE46E48007710C1 /* PINOperationQueue.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CC01052A1E27110D00890935 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -256,9 +339,9 @@ isa = PBXNativeTarget; buildConfigurationList = 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */; buildPhases = ( - 3201178724444859004FD783 /* Headers */, 3201178824444859004FD783 /* Sources */, 3201178924444859004FD783 /* Frameworks */, + 3201178724444859004FD783 /* Headers */, 3201178A24444859004FD783 /* Resources */, ); buildRules = ( @@ -270,6 +353,60 @@ productReference = 3201178C24444859004FD783 /* PINOperation.framework */; productType = "com.apple.product-type.framework"; }; + 6817A6422BE46E48007710C1 /* PINOperation-visionOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6817A64F2BE46E48007710C1 /* Build configuration list for PBXNativeTarget "PINOperation-visionOS" */; + buildPhases = ( + 6817A6432BE46E48007710C1 /* Sources */, + 6817A6462BE46E48007710C1 /* Frameworks */, + 6817A6472BE46E48007710C1 /* Headers */, + 6817A64D2BE46E48007710C1 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PINOperation-visionOS"; + productName = PINOperation; + productReference = 6817A6522BE46E48007710C1 /* PINOperation.framework */; + productType = "com.apple.product-type.framework"; + }; + 6850F2E22BE471CB00A38144 /* PINOperation-visionOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6850F2EB2BE471CB00A38144 /* Build configuration list for PBXNativeTarget "PINOperation-visionOSTests" */; + buildPhases = ( + 6850F2E52BE471CB00A38144 /* Sources */, + 6850F2E82BE471CB00A38144 /* Frameworks */, + 6850F2EA2BE471CB00A38144 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 686ECED02BE4731900634D9F /* PBXTargetDependency */, + ); + name = "PINOperation-visionOSTests"; + productName = PINOperationTests; + productReference = 6850F2EE2BE471CB00A38144 /* PINOperation-visionOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 686ECED22BE474F300634D9F /* PINOperation-watchOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 686ECEDB2BE474F300634D9F /* Build configuration list for PBXNativeTarget "PINOperation-watchOSTests" */; + buildPhases = ( + 686ECED52BE474F300634D9F /* Sources */, + 686ECED82BE474F300634D9F /* Frameworks */, + 686ECEDA2BE474F300634D9F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 68B3C30A2BE475FF00C335B8 /* PBXTargetDependency */, + ); + name = "PINOperation-watchOSTests"; + productName = PINOperationTests; + productReference = 686ECEDE2BE474F300634D9F /* PINOperation-watchOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; CC01052C1E27110D00890935 /* PINOperation */ = { isa = PBXNativeTarget; buildConfigurationList = CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */; @@ -384,7 +521,9 @@ CC0105241E27110D00890935 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1010; + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1520; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = Pinterest; TargetAttributes = { 3201178B24444859004FD783 = { @@ -412,7 +551,7 @@ }; }; buildConfigurationList = CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 15.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -431,12 +570,38 @@ CC0105491E27114300890935 /* PINOperation-macOS */, CC0105731E27117F00890935 /* PINOperation-macOSTests */, 3201178B24444859004FD783 /* PINOperation-watchOS */, + 686ECED22BE474F300634D9F /* PINOperation-watchOSTests */, + 6817A6422BE46E48007710C1 /* PINOperation-visionOS */, + 6850F2E22BE471CB00A38144 /* PINOperation-visionOSTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 3201178A24444859004FD783 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68CEDBA12BE0E1E10045CBE7 /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6817A64D2BE46E48007710C1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6817A64E2BE46E48007710C1 /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6850F2EA2BE471CB00A38144 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 686ECEDA2BE474F300634D9F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -447,6 +612,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68133AEC2BE056A5007627EC /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -454,6 +620,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68CEDB9F2BE0E1DF0045CBE7 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -461,6 +628,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68CEDBA02BE0E1E00045CBE7 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -497,6 +665,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6817A6432BE46E48007710C1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6817A6442BE46E48007710C1 /* PINOperationGroup.m in Sources */, + 6817A6452BE46E48007710C1 /* PINOperationQueue.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6850F2E52BE471CB00A38144 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6850F2E62BE471CB00A38144 /* PINOperationQueueTests.m in Sources */, + 6850F2E72BE471CB00A38144 /* PINOperationGroupTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 686ECED52BE474F300634D9F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 686ECED62BE474F300634D9F /* PINOperationQueueTests.m in Sources */, + 686ECED72BE474F300634D9F /* PINOperationGroupTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CC0105281E27110D00890935 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -554,6 +749,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 686ECED02BE4731900634D9F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6817A6422BE46E48007710C1 /* PINOperation-visionOS */; + targetProxy = 686ECECF2BE4731900634D9F /* PBXContainerItemProxy */; + }; + 68B3C30A2BE475FF00C335B8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3201178B24444859004FD783 /* PINOperation-watchOS */; + targetProxy = 68B3C3092BE475FF00C335B8 /* PBXContainerItemProxy */; + }; CC01055D1E27116600890935 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = CC01052C1E27110D00890935 /* PINOperation */; @@ -580,23 +785,30 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; }; name = Debug; }; @@ -608,22 +820,157 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Release; + }; + 6817A6502BE46E48007710C1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; + PRODUCT_NAME = PINOperation; + RESOURCES_TARGETED_DEVICE_FAMILY = ""; + SDKROOT = xros; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Debug; + }; + 6817A6512BE46E48007710C1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; + PRODUCT_NAME = PINOperation; + RESOURCES_TARGETED_DEVICE_FAMILY = ""; + SDKROOT = xros; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Release; + }; + 6850F2EC2BE471CB00A38144 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = xros; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Debug; + }; + 6850F2ED2BE471CB00A38144 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = xros; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Release; + }; + 686ECEDC2BE474F300634D9F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + TARGETED_DEVICE_FAMILY = 4; + }; + name = Debug; + }; + 686ECEDD2BE474F300634D9F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + TARGETED_DEVICE_FAMILY = 4; }; name = Release; }; @@ -651,6 +998,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -661,6 +1009,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -675,14 +1024,17 @@ 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.8; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -710,6 +1062,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -720,6 +1073,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -728,14 +1082,17 @@ 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.8; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -743,16 +1100,25 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; }; name = Debug; }; @@ -760,16 +1126,25 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; }; name = Release; }; @@ -777,20 +1152,26 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; }; @@ -798,20 +1179,26 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Release; }; @@ -820,15 +1207,22 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_VERSION = A; 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.8; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = macosx; @@ -841,15 +1235,22 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_VERSION = A; 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.8; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; PRODUCT_NAME = PINOperation; SDKROOT = macosx; @@ -860,8 +1261,12 @@ CC01055F1E27116600890935 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -870,8 +1275,12 @@ CC0105601E27116600890935 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -880,24 +1289,32 @@ CC01056E1E27117300890935 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; + TARGETED_DEVICE_FAMILY = 3; }; name = Debug; }; CC01056F1E27117300890935 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; + TARGETED_DEVICE_FAMILY = 3; }; name = Release; }; @@ -906,9 +1323,13 @@ buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + DEAD_CODE_STRIPPING = YES; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; @@ -920,9 +1341,13 @@ buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + DEAD_CODE_STRIPPING = YES; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; @@ -941,6 +1366,33 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 6817A64F2BE46E48007710C1 /* Build configuration list for PBXNativeTarget "PINOperation-visionOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6817A6502BE46E48007710C1 /* Debug */, + 6817A6512BE46E48007710C1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6850F2EB2BE471CB00A38144 /* Build configuration list for PBXNativeTarget "PINOperation-visionOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6850F2EC2BE471CB00A38144 /* Debug */, + 6850F2ED2BE471CB00A38144 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 686ECEDB2BE474F300634D9F /* Build configuration list for PBXNativeTarget "PINOperation-watchOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 686ECEDC2BE474F300634D9F /* Debug */, + 686ECEDD2BE474F300634D9F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme index ebc5ab8..020b8ba 100644 --- a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme index 3198154..d4c1804 100644 --- a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme new file mode 100644 index 0000000..1fb9fbe --- /dev/null +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme new file mode 100644 index 0000000..152666b --- /dev/null +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme index 4187965..1d2f743 100644 --- a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme @@ -1,6 +1,6 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme index 8205666..9767c05 100644 --- a/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ b/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Package.swift b/Package.swift index 9b8164f..2be5b4e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.2 +// swift-tools-version:5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -7,22 +7,28 @@ let package = Package( name: "PINOperation", products: [ // Products define the executables and libraries produced by a package, and make them visible to other packages. - .library(name: "PINOperation", targets: ["PINOperation"]), + .library( + name: "PINOperation", + targets: ["PINOperation"]), ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages which this package depends on. .target( - name: "PINOperation", - path: "Source", - publicHeadersPath: ".", + name: "PINOperation", + path: "Source", + exclude: ["Info.plist"], + resources: [.process("PrivacyInfo.xcprivacy")], + // Path to public header symlinks (allows for angle bracket imports) + publicHeadersPath: "include", cSettings: [ + .headerSearchPath("."), .define("NS_BLOCK_ASSERTIONS", to: "1", .when(configuration: .release)), ]), - .testTarget( name: "PINOperationTests", dependencies: ["PINOperation"], - path: "Tests") + path: "Tests", + exclude: ["Info.plist"]), ] ) diff --git a/README.md b/README.md index c7ac84e..2e29c80 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Add the following line to your `Cartfile` and run `carthage update --platform io ## Requirements -__PINOperation__ requires iOS 8.0, tvOS 9.0, macOS 10.8 or watchOS 2.0 and greater. +__PINOperation__ requires iOS 12.0, tvOS 12.0, macOS 10.13 or watchOS 4.0 and greater. ## Contact diff --git a/Source/PINOperation.h b/Source/PINOperation.h index 68b074d..1f67472 100644 --- a/Source/PINOperation.h +++ b/Source/PINOperation.h @@ -6,7 +6,7 @@ // Copyright © 2017 Pinterest. All rights reserved. // -#import "PINOperationMacros.h" -#import "PINOperationTypes.h" -#import "PINOperationQueue.h" -#import "PINOperationGroup.h" +#import +#import +#import +#import diff --git a/Source/PINOperationGroup.h b/Source/PINOperationGroup.h index 0ae7dba..989061c 100644 --- a/Source/PINOperationGroup.h +++ b/Source/PINOperationGroup.h @@ -1,14 +1,14 @@ // // PINOperationGroup.h -// PINQueue +// PINOperation // // Created by Garrett Moon on 10/8/16. // Copyright © 2016 Pinterest. All rights reserved. // #import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" +#import +#import @class PINOperationQueue; diff --git a/Source/PINOperationGroup.m b/Source/PINOperationGroup.m index ddd2ed0..94d0917 100644 --- a/Source/PINOperationGroup.m +++ b/Source/PINOperationGroup.m @@ -1,13 +1,13 @@ // // PINOperationGroup.m -// PINQueue +// PINOperation // // Created by Garrett Moon on 10/8/16. // Copyright © 2016 Pinterest. All rights reserved. // #import "PINOperationGroup.h" -#import "PINOperation.h" +#import #import @interface NSNumber (PINGroupOperationQueue) diff --git a/Source/PINOperationQueue.h b/Source/PINOperationQueue.h index 07eacbe..48c3092 100644 --- a/Source/PINOperationQueue.h +++ b/Source/PINOperationQueue.h @@ -1,14 +1,14 @@ // // PINOperationQueue.h -// Pods +// PINOperation // // Created by Garrett Moon on 8/23/16. // // #import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Source/PINOperationQueue.m b/Source/PINOperationQueue.m index 5d0a38f..e05451b 100644 --- a/Source/PINOperationQueue.m +++ b/Source/PINOperationQueue.m @@ -1,6 +1,6 @@ // // PINOperationQueue.m -// Pods +// PINOperation // // Created by Garrett Moon on 8/23/16. // diff --git a/Source/PrivacyInfo.xcprivacy b/Source/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..e08a130 --- /dev/null +++ b/Source/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + diff --git a/Source/include/PINOperation/PINOperation.h b/Source/include/PINOperation/PINOperation.h new file mode 120000 index 0000000..0f8eb5e --- /dev/null +++ b/Source/include/PINOperation/PINOperation.h @@ -0,0 +1 @@ +../../PINOperation.h \ No newline at end of file diff --git a/Source/include/PINOperation/PINOperationGroup.h b/Source/include/PINOperation/PINOperationGroup.h new file mode 120000 index 0000000..2fd30a2 --- /dev/null +++ b/Source/include/PINOperation/PINOperationGroup.h @@ -0,0 +1 @@ +../../PINOperationGroup.h \ No newline at end of file diff --git a/Source/include/PINOperation/PINOperationMacros.h b/Source/include/PINOperation/PINOperationMacros.h new file mode 120000 index 0000000..b7be063 --- /dev/null +++ b/Source/include/PINOperation/PINOperationMacros.h @@ -0,0 +1 @@ +../../PINOperationMacros.h \ No newline at end of file diff --git a/Source/include/PINOperation/PINOperationQueue.h b/Source/include/PINOperation/PINOperationQueue.h new file mode 120000 index 0000000..db4dc22 --- /dev/null +++ b/Source/include/PINOperation/PINOperationQueue.h @@ -0,0 +1 @@ +../../PINOperationQueue.h \ No newline at end of file diff --git a/Source/include/PINOperation/PINOperationTypes.h b/Source/include/PINOperation/PINOperationTypes.h new file mode 120000 index 0000000..bf9c404 --- /dev/null +++ b/Source/include/PINOperation/PINOperationTypes.h @@ -0,0 +1 @@ +../../PINOperationTypes.h \ No newline at end of file diff --git a/Tests/PINOperationGroupTests.m b/Tests/PINOperationGroupTests.m index 3b9fc37..d42d2e8 100644 --- a/Tests/PINOperationGroupTests.m +++ b/Tests/PINOperationGroupTests.m @@ -1,6 +1,6 @@ // // PINOperationGroupTests.m -// PINOperationQueue +// PINOperation // // Created by Garrett Moon on 10/12/16. // Copyright © 2016 Pinterest. All rights reserved. diff --git a/Tests/PINOperationQueueTests.m b/Tests/PINOperationQueueTests.m index 82626f7..77f8627 100644 --- a/Tests/PINOperationQueueTests.m +++ b/Tests/PINOperationQueueTests.m @@ -1,6 +1,6 @@ // // PINOperationQueueTests.m -// PINOperationQueue +// PINOperation // // Created by Garrett Moon on 8/28/16. // Copyright © 2016 Pinterest. All rights reserved. diff --git a/build_tests.sh b/build_tests.sh index 93ccafe..79b6386 100755 --- a/build_tests.sh +++ b/build_tests.sh @@ -1,4 +1,4 @@ #!/usr/bin/env sh # Have to specify destination because http://www.openradar.me/23857648 -xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' clean build test +xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest' clean build test