From f9a71ffb8f1776e2e5ae14f0a6958bc6ad440c37 Mon Sep 17 00:00:00 2001 From: Troy Stump Date: Mon, 29 Apr 2024 12:52:09 -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.yaml | 21 +- .github/workflows/publish_release.yml | 5 + Cartfile | 2 +- Cartfile.resolved | 2 +- .../PINOperation/.github/workflows/ci.yml | 80 +-- .../.github/workflows/publish_release.yml | 44 ++ .../PINOperation/.github_changelog_generator | 4 +- Carthage/Checkouts/PINOperation/CHANGELOG.md | 32 + .../project.pbxproj | 63 +- .../Checkouts/PINOperation/Example/Podfile | 2 +- .../PINOperation/Example/Podfile.lock | 8 +- .../PINOperation/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 ++ Carthage/Checkouts/PINOperation/Package.swift | 24 +- Carthage/Checkouts/PINOperation/README.md | 2 +- Carthage/Checkouts/PINOperation/RELEASE.md | 12 +- .../Checkouts/PINOperation/Scripts/release.sh | 98 +++ .../Scripts/tag-release-branch.sh | 12 + .../PINOperation/Source/PINOperation.h | 8 +- .../PINOperation/Source/PINOperationGroup.h | 6 +- .../PINOperation/Source/PINOperationGroup.m | 4 +- .../PINOperation/Source/PINOperationQueue.h | 6 +- .../PINOperation/Source/PINOperationQueue.m | 2 +- .../PINOperation/Source/PrivacyInfo.xcprivacy | 14 + .../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 | 6 +- .../Tests/PINOperationQueueTests.m | 7 +- .../Checkouts/PINOperation/build_tests.sh | 2 +- Carthage/Checkouts/PINOperation/makefile | 34 +- .../project.pbxproj | 9 +- .../PINCache-SPM-Integration.xcscheme | 2 +- Makefile | 17 +- PINCache.podspec | 15 +- PINCache.xcodeproj/project.pbxproj | 660 +++++++++++++++--- .../xcschemes/PINCache-macOS.xcscheme | 24 +- .../xcschemes/PINCache-tvOS.xcscheme | 24 +- .../xcschemes/PINCache-visionOS.xcscheme | 100 +++ .../xcschemes/PINCache-watchOS.xcscheme | 2 +- .../xcshareddata/xcschemes/PINCache.xcscheme | 24 +- Package.swift | 21 +- README.md | 2 +- Source/PINCache.h | 8 +- Source/PINCache.m | 6 +- Source/PINCaching.h | 1 - Source/PINDiskCache.h | 6 +- Source/PINDiskCache.m | 69 +- Source/PINMemoryCache.h | 6 +- Source/PINMemoryCache.m | 4 - .../PrivacyInfo.xcprivacy | 0 Source/include/PINCache/PINCache.h | 1 + Source/include/PINCache/PINCacheMacros.h | 1 + .../PINCache/PINCacheObjectSubscripting.h | 1 + Source/include/PINCache/PINCaching.h | 1 + Source/include/PINCache/PINDiskCache.h | 1 + Source/include/PINCache/PINMemoryCache.h | 1 + Tests/PINCacheTests.m | 36 +- Tests/PINDiskCache+PINCacheTests.h | 2 +- carthage.sh | 22 - 72 files changed, 1972 insertions(+), 567 deletions(-) create mode 100644 Carthage/Checkouts/PINOperation/.github/workflows/publish_release.yml create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOSTests.xcscheme create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOSTests.xcscheme create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOSTests.xcscheme create mode 100644 Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperationTests.xcscheme create mode 100755 Carthage/Checkouts/PINOperation/Scripts/release.sh create mode 100755 Carthage/Checkouts/PINOperation/Scripts/tag-release-branch.sh create mode 100644 Carthage/Checkouts/PINOperation/Source/PrivacyInfo.xcprivacy create mode 120000 Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperation.h create mode 120000 Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationGroup.h create mode 120000 Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationMacros.h create mode 120000 Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationQueue.h create mode 120000 Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationTypes.h create mode 100644 PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-visionOS.xcscheme rename PrivacyInfo.xcprivacy => Source/PrivacyInfo.xcprivacy (100%) create mode 120000 Source/include/PINCache/PINCache.h create mode 120000 Source/include/PINCache/PINCacheMacros.h create mode 120000 Source/include/PINCache/PINCacheObjectSubscripting.h create mode 120000 Source/include/PINCache/PINCaching.h create mode 120000 Source/include/PINCache/PINDiskCache.h create mode 120000 Source/include/PINCache/PINMemoryCache.h delete mode 100755 carthage.sh diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f99d6b78..dea8df80 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,34 +10,39 @@ 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 + runs-on: macos-latest strategy: matrix: - platform: ['iOS Simulator,name=iPhone 8'] + platform: ['iOS Simulator,name=iPhone 15'] steps: - uses: actions/checkout@v2 - name: Test run: make test analyze: name: Analyze - runs-on: macOS-latest + runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: analyze run: make analyze cocoapods: name: CocoaPods - runs-on: macOS-latest + runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Lint run: make cocoapods carthage: name: Carthage - runs-on: macOS-latest + runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: carthage @@ -47,14 +52,14 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - name: Verify that PINCache can be build by SPM + - name: Verify that PINCache can be built by SPM run: make spm xcode-spm-integration: name: Build iOS example project - runs-on: macOS-latest + runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Check Xcode's spm integration - run: make example \ No newline at end of file + run: make example diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 9a2cf58b..339c8e18 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -5,6 +5,11 @@ 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 diff --git a/Cartfile b/Cartfile index 9265ddf2..89ffff3f 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "pinterest/PINOperation" ~> 1.2.1 \ No newline at end of file +github "pinterest/PINOperation" ~> 1.2.3 \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved index 841e9a7d..3489bcdc 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "pinterest/PINOperation" "1.2" +github "pinterest/PINOperation" "1.2.3" diff --git a/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml b/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml index cfe85acc..053ed706 100644 --- a/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml +++ b/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml @@ -10,71 +10,45 @@ on: branches: - master +env: + # Use Xcode 15.2 or newer to support VisionOS + DEVELOPER_DIR: /Applications/Xcode_15.2.app + jobs: - build: - name: Build - runs-on: macOS-latest + test: + name: Test + runs-on: macos-latest strategy: matrix: - platform: ['iOS Simulator,name=iPhone 8'] + platform: ['iOS Simulator,name=iPhone 15'] steps: - uses: actions/checkout@v2 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINOperation.xcodeproj \ - -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang + - name: Test + run: make test + analyze: + name: Analyze + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: analyze + run: make analyze cocoapods: name: CocoaPods - runs-on: macOS-latest + runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: Lint - run: pod lib lint + - name: Cocoapods lint + run: make cocoapods carthage: name: Carthage - runs-on: macOS-latest + runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: Build - run: carthage build --no-skip-current - spm: - name: Swift Package Manager tests - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Test - run: swift test - example: - name: Build Example project - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] + - name: carthage + run: make carthage + swift-package-manager: + runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: Install Pods - run: cd Example && pod install - - name: Build - run: | - cd Example && xcodebuild clean analyze \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -workspace PINOperationExample.xcworkspace \ - -scheme PINOperationExample \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang + - name: Verify that PINOperation can be built by SPM + run: make spm diff --git a/Carthage/Checkouts/PINOperation/.github/workflows/publish_release.yml b/Carthage/Checkouts/PINOperation/.github/workflows/publish_release.yml new file mode 100644 index 00000000..c4262e64 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/.github/workflows/publish_release.yml @@ -0,0 +1,44 @@ +name: Create Release +on: + workflow_dispatch: + inputs: + 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. + - name: Cocoapods lint + run: make cocoapods + - name: Create Release Commit + env: + GITHUB_CHANGELOG_API_KEY: ${{ secrets.GITHUB_TOKEN }} + OSS_PROJECT: PINOperation + run: | + gem install github_changelog_generator + Scripts/release.sh --${{ github.event.inputs.release-type }} + git push origin HEAD + - name: Tag Release + run: Scripts/tag-release-branch.sh + - name: Publish Release + uses: actions/create-release@v1 + env: + GITHUB_CHANGELOG_API_KEY: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.RELEASE_TAG }} + release_name: ${{ env.RELEASE_TAG }} + body_path: RELEASE_NOTES.md + draft: false + - name: Push to Cocoapods + env: + COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} + run: pod trunk push diff --git a/Carthage/Checkouts/PINOperation/.github_changelog_generator b/Carthage/Checkouts/PINOperation/.github_changelog_generator index 19665f65..3bd27222 100644 --- a/Carthage/Checkouts/PINOperation/.github_changelog_generator +++ b/Carthage/Checkouts/PINOperation/.github_changelog_generator @@ -1,3 +1,3 @@ issues=false -since-tag=1.1.1 -future-release=1.2 +since-tag=1.2.1 +future-release=1.2.2 diff --git a/Carthage/Checkouts/PINOperation/CHANGELOG.md b/Carthage/Checkouts/PINOperation/CHANGELOG.md index 221ad3cb..f11e9740 100644 --- a/Carthage/Checkouts/PINOperation/CHANGELOG.md +++ b/Carthage/Checkouts/PINOperation/CHANGELOG.md @@ -1,3 +1,35 @@ +# 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) + + +- Update CI to modern xcode and fix Carthage [\#47](https://github.com/pinterest/PINOperation/pull/47) ([garrettmoon](https://github.com/garrettmoon)) +- Disable asserts in release builds when using Swift Package Manager [\#44](https://github.com/pinterest/PINOperation/pull/44) ([rcancro](https://github.com/rcancro)) +- Carthage is busted on Xcode 12 [\#41](https://github.com/pinterest/PINOperation/pull/41) ([garrettmoon](https://github.com/garrettmoon)) +- Latest release script [\#40](https://github.com/pinterest/PINOperation/pull/40) ([garrettmoon](https://github.com/garrettmoon)) +- Fixes for automated release process [\#39](https://github.com/pinterest/PINOperation/pull/39) ([garrettmoon](https://github.com/garrettmoon)) + +## [1.2.1](https://github.com/Pinterest/PINOperation/tree/1.2.1) (2020-10-22) + +[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.2...1.2.1) + + +- Add release script [\#38](https://github.com/pinterest/PINOperation/pull/38) ([garrettmoon](https://github.com/garrettmoon)) +- Only use @import for SPM [\#36](https://github.com/pinterest/PINOperation/pull/36) ([garrettmoon](https://github.com/garrettmoon)) +- Add SPM Test [\#35](https://github.com/pinterest/PINOperation/pull/35) ([garrettmoon](https://github.com/garrettmoon)) +- Remove BUCK target [\#34](https://github.com/pinterest/PINOperation/pull/34) ([adlerj](https://github.com/adlerj)) + ## [1.2](https://github.com/Pinterest/PINOperation/tree/1.2) (2020-06-30) [Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.2...1.2) diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj index 382c6346..01324ee2 100644 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Example/Podfile b/Carthage/Checkouts/PINOperation/Example/Podfile index ae5fd622..62ba7b9b 100644 --- a/Carthage/Checkouts/PINOperation/Example/Podfile +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Example/Podfile.lock b/Carthage/Checkouts/PINOperation/Example/Podfile.lock index 266cc700..cbbd5f30 100644 --- a/Carthage/Checkouts/PINOperation/Example/Podfile.lock +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/PINOperation.podspec b/Carthage/Checkouts/PINOperation/PINOperation.podspec index 7e598595..18d75d46 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.podspec +++ b/Carthage/Checkouts/PINOperation/PINOperation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'PINOperation' - s.version = '1.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/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj index ddcb88c2..6e8f8563 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme index ebc5ab8b..020b8ba3 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme index 31981545..d4c1804c 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme new file mode 100644 index 00000000..1fb9fbe6 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOS.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme new file mode 100644 index 00000000..152666b7 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-visionOSTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme index 4187965f..1d2f7431 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme @@ -1,6 +1,6 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme index 82056667..9767c050 100644 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Carthage/Checkouts/PINOperation/Package.swift b/Carthage/Checkouts/PINOperation/Package.swift index 1e747dba..2be5b4e0 100644 --- a/Carthage/Checkouts/PINOperation/Package.swift +++ b/Carthage/Checkouts/PINOperation/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,12 +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: "."), - .testTarget(name: "PINOperationTests", dependencies: ["PINOperation"], path: "Tests") + .target( + 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", + exclude: ["Info.plist"]), ] ) diff --git a/Carthage/Checkouts/PINOperation/README.md b/Carthage/Checkouts/PINOperation/README.md index c7ac84ec..2e29c80f 100644 --- a/Carthage/Checkouts/PINOperation/README.md +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/RELEASE.md b/Carthage/Checkouts/PINOperation/RELEASE.md index e0fc7ee8..807cee6a 100644 --- a/Carthage/Checkouts/PINOperation/RELEASE.md +++ b/Carthage/Checkouts/PINOperation/RELEASE.md @@ -1,13 +1,7 @@ # Release Process This document describes the process for a public PINOperation release. -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - ### Process -- Run `github_changelog_generator` in PINOperation project directory: `github_changelog_generator --token --user Pinterest --project PINOperation`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINOperation.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINOperation.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINOperation/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` +- Ensure the latest master build is green. +- Run the github action 'Create Release'. +- Check that the release was successfully published to [Github](https://github.com/pinterest/PINOperation/releases) and [Cocoapods](https://cocoapods.org/pods/PINOperation). diff --git a/Carthage/Checkouts/PINOperation/Scripts/release.sh b/Carthage/Checkouts/PINOperation/Scripts/release.sh new file mode 100755 index 00000000..bd685725 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Scripts/release.sh @@ -0,0 +1,98 @@ +#!/bin/bash +set -e + +if [ -z "$OSS_PROJECT" ]; then + echo "Must set \$OSS_PROJECT envirnonment variable before running." +fi + +PROJECT="$OSS_PROJECT" + +if ! git diff-index --quiet HEAD --; then + echo "Please commit or stash any changes before running." + exit 1 +fi + +if [ -z "$GITHUB_CHANGELOG_API_KEY" ]; then + echo "Must set \$GITHUB_CHANGELOG_API_KEY environment variable" + exit 1 +fi + +case $1 in + "--major") + UPDATE_TYPE="major" + ;; + + "--minor") + UPDATE_TYPE="minor" + ;; + + "--patch") + UPDATE_TYPE="patch" + ;; + + *) + echo "Usage release.sh --patch / --minor / --major" + exit 1 + ;; +esac + +PODSPEC="$PROJECT.podspec" +CURRENT_VERSION=$(grep "version" -m 1 $PODSPEC | sed -E "s/^.*version[ \t]*=[ \t]*['\"]([0-9\.]+)['\"]/\1/") +DOT_COUNT=$(echo "$CURRENT_VERSION" | grep -o '\.' | wc -l) + +if [ "$DOT_COUNT" -eq "0" ]; then + major=$CURRENT_VERSION + minor="0" + patch="0" +elif [ "$DOT_COUNT" -eq "1" ]; then + major=$(echo "$CURRENT_VERSION" | sed -E "s/([0-9])+\.([0-9]+)/\1/") + minor=$(echo "$CURRENT_VERSION" | sed -E "s/([0-9])+\.([0-9]+)/\2/") + patch="0" +elif [ "$DOT_COUNT" -eq "2" ]; then + major=$(echo "$CURRENT_VERSION" | sed -E "s/([0-9])+\.([0-9]+)\.([0-9]+)/\1/") + minor=$(echo "$CURRENT_VERSION" | sed -E "s/([0-9])+\.([0-9]+)\.([0-9]+)/\2/") + patch=$(echo "$CURRENT_VERSION" | sed -E "s/([0-9])+\.([0-9]+)\.([0-9]+)/\3/") +fi + +echo "Current version: $major.$minor.$patch" + +if [ "$UPDATE_TYPE" == "major" ]; then + major=$((major + 1)) + minor=0 + patch=0 +elif [ "$UPDATE_TYPE" == "minor" ]; then + minor=$((minor + 1)) + patch=0 +elif [ "$UPDATE_TYPE" == "patch" ]; then + patch=$((patch + 1)) +fi + +NEW_VERSION="$major.$minor.$patch" +echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV +echo "New version: $NEW_VERSION" + +echo "Updating $PODSPEC" +sed -E "s/^(.*version[ \t]*=[ \t]*)['|\"]$CURRENT_VERSION['|\"]/\1'$NEW_VERSION'/" $PODSPEC > new.podspec +mv new.podspec $PODSPEC + +echo "Updating .github_changelog_generator" +cat << EOF > .github_changelog_generator +issues=false +since-tag=$CURRENT_VERSION +future-release=$NEW_VERSION +EOF + +github_changelog_generator --token $GITHUB_CHANGELOG_API_KEY --user Pinterest --project $PROJECT --output NEW_CHANGES.md + +# Delete # Changelog at the top of the old CHANGELOG +grep -v "# Changelog" CHANGELOG.md > CHANGELOG.tmp && mv CHANGELOG.tmp CHANGELOG.md + +# Delete the last line and first line then use a magic sed command the internet told me +# about to delete trailing newlines (except the last one) +# Then prepend to existing changelog +grep -v "\*" NEW_CHANGES.md | sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba' | cat - CHANGELOG.md > CHANGELOG.tmp +mv CHANGELOG.tmp CHANGELOG.md +rm NEW_CHANGES.md + +git add .github_changelog_generator CHANGELOG.md $PODSPEC +git commit --message "[AUTO] Update CHANGELOG.md and bump for $UPDATE_TYPE update." diff --git a/Carthage/Checkouts/PINOperation/Scripts/tag-release-branch.sh b/Carthage/Checkouts/PINOperation/Scripts/tag-release-branch.sh new file mode 100755 index 00000000..a66af230 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Scripts/tag-release-branch.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -ex + +echo "Tagging release branch" +TAG=$NEW_VERSION + +echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV +git tag $TAG +git push origin --tags + +echo "Setting Release Notes" +cat CHANGELOG.md | awk '/^#/{f=1} f; /^#/ && ++c==3{exit}' | sed '$ d' > RELEASE_NOTES.md diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperation.h b/Carthage/Checkouts/PINOperation/Source/PINOperation.h index 68b074d2..1f67472b 100644 --- a/Carthage/Checkouts/PINOperation/Source/PINOperation.h +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h b/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h index 0ae7dbac..989061c3 100644 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m b/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m index ddd2ed01..94d09178 100644 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h b/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h index 07eacbeb..48c30928 100644 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h +++ b/Carthage/Checkouts/PINOperation/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/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m b/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m index 5d0a38fe..e05451b5 100644 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m +++ b/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m @@ -1,6 +1,6 @@ // // PINOperationQueue.m -// Pods +// PINOperation // // Created by Garrett Moon on 8/23/16. // diff --git a/Carthage/Checkouts/PINOperation/Source/PrivacyInfo.xcprivacy b/Carthage/Checkouts/PINOperation/Source/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..e08a130b --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + diff --git a/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperation.h b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperation.h new file mode 120000 index 00000000..0f8eb5e6 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperation.h @@ -0,0 +1 @@ +../../PINOperation.h \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationGroup.h b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationGroup.h new file mode 120000 index 00000000..2fd30a28 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationGroup.h @@ -0,0 +1 @@ +../../PINOperationGroup.h \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationMacros.h b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationMacros.h new file mode 120000 index 00000000..b7be0637 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationMacros.h @@ -0,0 +1 @@ +../../PINOperationMacros.h \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationQueue.h b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationQueue.h new file mode 120000 index 00000000..db4dc22a --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationQueue.h @@ -0,0 +1 @@ +../../PINOperationQueue.h \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationTypes.h b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationTypes.h new file mode 120000 index 00000000..bf9c4040 --- /dev/null +++ b/Carthage/Checkouts/PINOperation/Source/include/PINOperation/PINOperationTypes.h @@ -0,0 +1 @@ +../../PINOperationTypes.h \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m b/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m index 7505d56f..d42d2e85 100644 --- a/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m +++ b/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m @@ -1,12 +1,16 @@ // // PINOperationGroupTests.m -// PINOperationQueue +// PINOperation // // Created by Garrett Moon on 10/12/16. // Copyright © 2016 Pinterest. All rights reserved. // +#if SWIFT_PACKAGE @import PINOperation; +#else +#import +#endif #import #import diff --git a/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m b/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m index 844968f2..77f8627d 100644 --- a/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m +++ b/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m @@ -1,12 +1,17 @@ // // PINOperationQueueTests.m -// PINOperationQueue +// PINOperation // // Created by Garrett Moon on 8/28/16. // Copyright © 2016 Pinterest. All rights reserved. // +#if SWIFT_PACKAGE @import PINOperation; +#else +#import +#endif + #import #import diff --git a/Carthage/Checkouts/PINOperation/build_tests.sh b/Carthage/Checkouts/PINOperation/build_tests.sh index 93ccafe2..79b6386a 100755 --- a/Carthage/Checkouts/PINOperation/build_tests.sh +++ b/Carthage/Checkouts/PINOperation/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 diff --git a/Carthage/Checkouts/PINOperation/makefile b/Carthage/Checkouts/PINOperation/makefile index 6cce01cc..4e24e342 100644 --- a/Carthage/Checkouts/PINOperation/makefile +++ b/Carthage/Checkouts/PINOperation/makefile @@ -1,27 +1,43 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 7" +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/') -.PHONY: all lint test analyze carthage +.PHONY: all cocoapods test analyze carthage spm install_xcbeautify carthage: - carthage build --no-skip-current + carthage build --no-skip-current --use-xcframeworks -lint: +cocoapods: pod lib lint -analyze: +install_xcbeautify: + if ! command -v xcbeautify &> /dev/null; then brew install xcbeautify; fi + +analyze: install_xcbeautify xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ ONLY_ACTIVE_ARCH=NO \ CODE_SIGNING_REQUIRED=NO \ CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty + CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcbeautify if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi rm -rf $(shell pwd)/clang -test: +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 | xcpretty + CODE_SIGNING_REQUIRED=NO | xcbeautify + +spm: + # TODO: Fix data races and enable thread sanitizer with '--sanitize thread' + swift test + +release-major: + +release-minor: + +release-patch: + -all: carthage lint test analyze \ No newline at end of file +all: carthage cocoapods test analyze spm diff --git a/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/project.pbxproj b/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/project.pbxproj index 778efd67..962314b7 100644 --- a/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/project.pbxproj +++ b/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -110,8 +110,9 @@ E03DEAB625671BA900ACCAFC /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1210; - LastUpgradeCheck = 1210; + LastUpgradeCheck = 1520; TargetAttributes = { E03DEABD25671BA900ACCAFC = { CreatedOnToolsVersion = 12.1; @@ -119,7 +120,7 @@ }; }; buildConfigurationList = E03DEAB925671BA900ACCAFC /* Build configuration list for PBXProject "PINCache-SPM-Integration" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 15.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -200,6 +201,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -261,6 +263,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 = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/xcshareddata/xcschemes/PINCache-SPM-Integration.xcscheme b/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/xcshareddata/xcschemes/PINCache-SPM-Integration.xcscheme index b808f14b..24ba2e3d 100644 --- a/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/xcshareddata/xcschemes/PINCache-SPM-Integration.xcscheme +++ b/IntegrationTests/PINCache-SPM-Integration/PINCache-SPM-Integration.xcodeproj/xcshareddata/xcschemes/PINCache-SPM-Integration.xcscheme @@ -1,6 +1,6 @@ 'garrett@pinterest.com', 'Justin Ouellette' => 'jstn@tumblr.com' } @@ -10,10 +10,12 @@ Pod::Spec.new do |s| s.frameworks = 'Foundation' s.ios.weak_frameworks = 'UIKit' s.osx.weak_frameworks = 'AppKit' - 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 @@ -22,11 +24,12 @@ EOS s.prefix_header_contents = pch_PIN s.subspec 'Core' do |sp| sp.source_files = 'Source/*.{h,m}' - sp.dependency 'PINOperation', '~> 1.2.1' + sp.dependency 'PINOperation', '~> 1.2.3' end s.subspec 'Arc-exception-safe' do |sp| sp.dependency 'PINCache/Core' sp.source_files = 'Source/PINDiskCache.m' sp.compiler_flags = '-fobjc-arc-exceptions' end + s.resource_bundles = { 'PINCache' => ['Source/PrivacyInfo.xcprivacy'] } end diff --git a/PINCache.xcodeproj/project.pbxproj b/PINCache.xcodeproj/project.pbxproj index 5b927448..aa7386c1 100644 --- a/PINCache.xcodeproj/project.pbxproj +++ b/PINCache.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -16,19 +16,54 @@ 320117CB24444E3D004FD783 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; 320117CC24444E3D004FD783 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; 320117CD24444E3D004FD783 /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68133AE32BE01D15007627EC /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; + 68133AE42BE01D16007627EC /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; + 68133AE52BE020DA007627EC /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; + 68133AE72BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */; }; + 68133AE82BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */; }; + 68133AE92BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */; }; + 68133AEA2BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */; }; 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105CE1E271A4900890935 /* PINCache.framework */; }; + 683188D82BE56C5C00031329 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; + 683188D92BE56C5C00031329 /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; + 683188DA2BE56C5C00031329 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; + 683188DF2BE56C5C00031329 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; + 683188E52BE56CFE00031329 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 320117A124444DF7004FD783 /* PINCache.framework */; }; + 683188EB2BE56D1000031329 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 683188EA2BE56D1000031329 /* PINOperation.framework */; }; + 683188EE2BE56D2200031329 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68F2102B2BE55BDE00CFE762 /* PINCache.framework */; }; + 683188F42BE56D2900031329 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 683188F32BE56D2900031329 /* PINOperation.framework */; }; + 683188F82BE56D4700031329 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 683188F72BE56D4700031329 /* PINOperation.framework */; }; 687BB0AA1E52706B005D70C6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; 68A0FC011E4D32C6000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; 68A0FC021E4D32C7000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68CEDBA32BE17B580045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBA22BE17B580045CBE7 /* PINOperation.framework */; }; + 68CEDBA72BE17B750045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBA62BE17B750045CBE7 /* PINOperation.framework */; }; + 68CEDBAA2BE17B8F0045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBA92BE17B8F0045CBE7 /* PINOperation.framework */; }; + 68CEDBAE2BE17BB30045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBAD2BE17BB30045CBE7 /* PINOperation.framework */; }; + 68CEDBB12BE17BC70045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBB02BE17BC70045CBE7 /* PINOperation.framework */; }; + 68CEDBB52BE17BD50045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBB42BE17BD50045CBE7 /* PINOperation.framework */; }; + 68CEDBB82BE17BE40045CBE7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68CEDBB72BE17BE40045CBE7 /* PINOperation.framework */; }; + 68F2101A2BE55BDE00CFE762 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; + 68F2101B2BE55BDE00CFE762 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; + 68F2101C2BE55BDE00CFE762 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; + 68F210202BE55BDE00CFE762 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210212BE55BDE00CFE762 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210222BE55BDE00CFE762 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210232BE55BDE00CFE762 /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210242BE55BDE00CFE762 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210252BE55BDE00CFE762 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F210272BE55BDE00CFE762 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */; }; + 68F210312BE55C6C00CFE762 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; + 68F210322BE55C6C00CFE762 /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; + 68F210332BE55C6C00CFE762 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; + 68F210382BE55C6C00CFE762 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; 6928EED31E4160EE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6928EED41E4160FE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6928EED51E41610700B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */ = {isa = PBXBuildFile; fileRef = C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */; }; - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105B11E271A1600890935 /* PINCache.framework */; }; CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105C11E271A4000890935 /* PINCache.framework */; }; CC01060E1E271A9500890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; @@ -57,16 +92,23 @@ CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; CC0106CD1E28249C00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; CC0106CE1E28249D00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; - DD275346250AF8BC003A77F9 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD275345250AF8BC003A77F9 /* PINOperation.framework */; }; - DD275348250AF8C9003A77F9 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD275347250AF8C9003A77F9 /* PINOperation.framework */; }; - DD27534A250AF8D0003A77F9 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD275349250AF8D0003A77F9 /* PINOperation.framework */; }; - DDF93F55252D585200C6A4DC /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF93F54252D585200C6A4DC /* PINOperation.framework */; }; - DDF93F59252D585C00C6A4DC /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF93F58252D585C00C6A4DC /* PINOperation.framework */; }; - DDF93F5D252D586100C6A4DC /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF93F5C252D586100C6A4DC /* PINOperation.framework */; }; - DDF93F61252D587100C6A4DC /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF93F60252D587100C6A4DC /* PINOperation.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 683188E72BE56CFE00031329 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CC0105A81E271A1600890935 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 320117A024444DF7004FD783; + remoteInfo = "PINCache-watchOS"; + }; + 683188F02BE56D2200031329 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CC0105A81E271A1600890935 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68F210182BE55BDE00CFE762; + remoteInfo = "PINCache-visionOS"; + }; CC0105E01E271A5C00890935 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CC0105A81E271A1600890935 /* Project object */; @@ -90,39 +132,23 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 687BB55C1E52818B005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB55E1E52819D005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB5601E52881A005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 320117A124444DF7004FD783 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 683188E32BE56C5C00031329 /* PINCache-watchOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-watchOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 683188EA2BE56D1000031329 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 683188F32BE56D2900031329 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 683188F72BE56D4700031329 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheMacros.h; sourceTree = ""; }; + 68CEDBA22BE17B580045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBA62BE17B750045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBA92BE17B8F0045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBAD2BE17BB30045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBB02BE17BC70045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBB42BE17BD50045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68CEDBB72BE17BE40045CBE7 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68F2102B2BE55BDE00CFE762 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 68F2103C2BE55C6C00CFE762 /* PINCache-visionOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-visionOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 6928EED21E4160EE00B5D975 /* PINCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINCaching.h; sourceTree = ""; }; C30EE1E9203717DE00D78CB9 /* NSDate+PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+PINCacheTests.h"; sourceTree = ""; }; C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDate+PINCacheTests.m"; sourceTree = ""; }; @@ -146,15 +172,6 @@ CC0106C51E281D6900890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; CC0106C91E28228300890935 /* PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheTests.h; sourceTree = ""; }; CC0106CA1E28248800890935 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - DD275345250AF8BC003A77F9 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DD275347250AF8C9003A77F9 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DD275349250AF8D0003A77F9 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F50252D582E00C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F52252D583B00C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F54252D585200C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F58252D585C00C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F5C252D586100C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DDF93F60252D587100C6A4DC /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -162,7 +179,33 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DDF93F61252D587100C6A4DC /* PINOperation.framework in Frameworks */, + 68CEDBB82BE17BE40045CBE7 /* PINOperation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 683188DB2BE56C5C00031329 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 683188EB2BE56D1000031329 /* PINOperation.framework in Frameworks */, + 683188E52BE56CFE00031329 /* PINCache.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F2101D2BE55BDE00CFE762 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 683188F82BE56D4700031329 /* PINOperation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F210342BE55C6C00CFE762 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 683188F42BE56D2900031329 /* PINOperation.framework in Frameworks */, + 683188EE2BE56D2200031329 /* PINCache.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -170,7 +213,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DDF93F55252D585200C6A4DC /* PINOperation.framework in Frameworks */, + 68CEDBA32BE17B580045CBE7 /* PINOperation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -178,7 +221,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DDF93F59252D585C00C6A4DC /* PINOperation.framework in Frameworks */, + 68CEDBAA2BE17B8F0045CBE7 /* PINOperation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -186,7 +229,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DDF93F5D252D586100C6A4DC /* PINOperation.framework in Frameworks */, + 68CEDBB12BE17BC70045CBE7 /* PINOperation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -194,7 +237,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DD275346250AF8BC003A77F9 /* PINOperation.framework in Frameworks */, + 68CEDBA72BE17B750045CBE7 /* PINOperation.framework in Frameworks */, CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -203,7 +246,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DD275348250AF8C9003A77F9 /* PINOperation.framework in Frameworks */, + 68CEDBAE2BE17BB30045CBE7 /* PINOperation.framework in Frameworks */, CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -212,7 +255,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DD27534A250AF8D0003A77F9 /* PINOperation.framework in Frameworks */, + 68CEDBB52BE17BD50045CBE7 /* PINOperation.framework in Frameworks */, 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -223,15 +266,16 @@ 6818C2861E55217D00875DB7 /* Frameworks */ = { isa = PBXGroup; children = ( - DDF93F60252D587100C6A4DC /* PINOperation.framework */, - DDF93F5C252D586100C6A4DC /* PINOperation.framework */, - DDF93F58252D585C00C6A4DC /* PINOperation.framework */, - DDF93F54252D585200C6A4DC /* PINOperation.framework */, - DDF93F52252D583B00C6A4DC /* PINOperation.framework */, - DDF93F50252D582E00C6A4DC /* PINOperation.framework */, - DD275349250AF8D0003A77F9 /* PINOperation.framework */, - DD275347250AF8C9003A77F9 /* PINOperation.framework */, - DD275345250AF8BC003A77F9 /* PINOperation.framework */, + 683188EA2BE56D1000031329 /* PINOperation.framework */, + 68CEDBB72BE17BE40045CBE7 /* PINOperation.framework */, + 683188F72BE56D4700031329 /* PINOperation.framework */, + 683188F32BE56D2900031329 /* PINOperation.framework */, + 68CEDBB42BE17BD50045CBE7 /* PINOperation.framework */, + 68CEDBB02BE17BC70045CBE7 /* PINOperation.framework */, + 68CEDBAD2BE17BB30045CBE7 /* PINOperation.framework */, + 68CEDBA92BE17B8F0045CBE7 /* PINOperation.framework */, + 68CEDBA62BE17B750045CBE7 /* PINOperation.framework */, + 68CEDBA22BE17B580045CBE7 /* PINOperation.framework */, ); name = Frameworks; sourceTree = ""; @@ -256,6 +300,9 @@ CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */, CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */, 320117A124444DF7004FD783 /* PINCache.framework */, + 68F2102B2BE55BDE00CFE762 /* PINCache.framework */, + 68F2103C2BE55C6C00CFE762 /* PINCache-visionOSTests.xctest */, + 683188E32BE56C5C00031329 /* PINCache-watchOSTests.xctest */, ); name = Products; sourceTree = ""; @@ -264,6 +311,7 @@ isa = PBXGroup; children = ( CC0106441E281B0E00890935 /* Info.plist */, + 68133AE62BE02E97007627EC /* PrivacyInfo.xcprivacy */, 6928EED21E4160EE00B5D975 /* PINCaching.h */, CC0106051E271A9000890935 /* PINCache.h */, CC0106061E271A9000890935 /* PINCache.m */, @@ -316,6 +364,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 68F2101F2BE55BDE00CFE762 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F210202BE55BDE00CFE762 /* PINMemoryCache.h in Headers */, + 68F210212BE55BDE00CFE762 /* PINCache.h in Headers */, + 68F210222BE55BDE00CFE762 /* PINCacheObjectSubscripting.h in Headers */, + 68F210232BE55BDE00CFE762 /* PINCacheMacros.h in Headers */, + 68F210242BE55BDE00CFE762 /* PINDiskCache.h in Headers */, + 68F210252BE55BDE00CFE762 /* PINCaching.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CC0105AE1E271A1600890935 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -325,7 +386,6 @@ 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */, CC0106181E271AAF00890935 /* PINCacheObjectSubscripting.h in Headers */, CC01061A1E271AAF00890935 /* PINMemoryCache.h in Headers */, - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */, CC0106191E271AAF00890935 /* PINDiskCache.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -377,6 +437,60 @@ productReference = 320117A124444DF7004FD783 /* PINCache.framework */; productType = "com.apple.product-type.framework"; }; + 683188D42BE56C5C00031329 /* PINCache-watchOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 683188E02BE56C5C00031329 /* Build configuration list for PBXNativeTarget "PINCache-watchOSTests" */; + buildPhases = ( + 683188D72BE56C5C00031329 /* Sources */, + 683188DB2BE56C5C00031329 /* Frameworks */, + 683188DE2BE56C5C00031329 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 683188E82BE56CFE00031329 /* PBXTargetDependency */, + ); + name = "PINCache-watchOSTests"; + productName = "PINCache-tvOSTests"; + productReference = 683188E32BE56C5C00031329 /* PINCache-watchOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 68F210182BE55BDE00CFE762 /* PINCache-visionOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 68F210282BE55BDE00CFE762 /* Build configuration list for PBXNativeTarget "PINCache-visionOS" */; + buildPhases = ( + 68F210192BE55BDE00CFE762 /* Sources */, + 68F2101D2BE55BDE00CFE762 /* Frameworks */, + 68F2101F2BE55BDE00CFE762 /* Headers */, + 68F210262BE55BDE00CFE762 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PINCache-visionOS"; + productName = "PINCache-watchOS"; + productReference = 68F2102B2BE55BDE00CFE762 /* PINCache.framework */; + productType = "com.apple.product-type.framework"; + }; + 68F2102D2BE55C6C00CFE762 /* PINCache-visionOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 68F210392BE55C6C00CFE762 /* Build configuration list for PBXNativeTarget "PINCache-visionOSTests" */; + buildPhases = ( + 68F210302BE55C6C00CFE762 /* Sources */, + 68F210342BE55C6C00CFE762 /* Frameworks */, + 68F210372BE55C6C00CFE762 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 683188F12BE56D2200031329 /* PBXTargetDependency */, + ); + name = "PINCache-visionOSTests"; + productName = "PINCache-tvOSTests"; + productReference = 68F2103C2BE55C6C00CFE762 /* PINCache-visionOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; CC0105B01E271A1600890935 /* PINCache */ = { isa = PBXNativeTarget; buildConfigurationList = CC0105B91E271A1600890935 /* Build configuration list for PBXNativeTarget "PINCache" */; @@ -438,7 +552,6 @@ CC0105D61E271A5C00890935 /* Sources */, CC0105D71E271A5C00890935 /* Frameworks */, CC0105D81E271A5C00890935 /* Resources */, - 687BB5601E52881A005D70C6 /* CopyFiles */, ); buildRules = ( ); @@ -457,7 +570,6 @@ CC0105E51E271A6400890935 /* Sources */, CC0105E61E271A6400890935 /* Frameworks */, CC0105E71E271A6400890935 /* Resources */, - 687BB55C1E52818B005D70C6 /* CopyFiles */, ); buildRules = ( ); @@ -476,7 +588,6 @@ CC0105F41E271A7300890935 /* Sources */, CC0105F51E271A7300890935 /* Frameworks */, CC0105F61E271A7300890935 /* Resources */, - 687BB55E1E52819D005D70C6 /* CopyFiles */, ); buildRules = ( ); @@ -494,7 +605,8 @@ CC0105A81E271A1600890935 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0930; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = Pinterest; TargetAttributes = { 320117A024444DF7004FD783 = { @@ -522,11 +634,12 @@ }; }; buildConfigurationList = CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + compatibilityVersion = "Xcode 15.0"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, + en, + Base, ); mainGroup = CC0105A71E271A1600890935; productRefGroup = CC0105B21E271A1600890935 /* Products */; @@ -539,7 +652,10 @@ CC0105E81E271A6400890935 /* PINCache-tvOSTests */, CC0105CD1E271A4900890935 /* PINCache-macOS */, CC0105F71E271A7300890935 /* PINCache-macOSTests */, + 68F210182BE55BDE00CFE762 /* PINCache-visionOS */, + 68F2102D2BE55C6C00CFE762 /* PINCache-visionOSTests */, 320117A024444DF7004FD783 /* PINCache-watchOS */, + 683188D42BE56C5C00031329 /* PINCache-watchOSTests */, ); }; /* End PBXProject section */ @@ -549,6 +665,31 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68133AEA2BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 683188DE2BE56C5C00031329 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 683188DF2BE56C5C00031329 /* Default-568h@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F210262BE55BDE00CFE762 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F210272BE55BDE00CFE762 /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F210372BE55C6C00CFE762 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F210382BE55C6C00CFE762 /* Default-568h@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -556,6 +697,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68133AE72BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -563,6 +705,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68133AE82BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -570,6 +713,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68133AE92BE02E98007627EC /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -610,13 +754,42 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 683188D72BE56C5C00031329 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 683188D82BE56C5C00031329 /* PINCacheTests.m in Sources */, + 683188D92BE56C5C00031329 /* PINDiskCache+PINCacheTests.m in Sources */, + 683188DA2BE56C5C00031329 /* NSDate+PINCacheTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F210192BE55BDE00CFE762 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F2101A2BE55BDE00CFE762 /* PINCache.m in Sources */, + 68F2101B2BE55BDE00CFE762 /* PINMemoryCache.m in Sources */, + 68F2101C2BE55BDE00CFE762 /* PINDiskCache.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68F210302BE55C6C00CFE762 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F210312BE55C6C00CFE762 /* PINCacheTests.m in Sources */, + 68F210322BE55C6C00CFE762 /* PINDiskCache+PINCacheTests.m in Sources */, + 68F210332BE55C6C00CFE762 /* NSDate+PINCacheTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CC0105AC1E271A1600890935 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( CC01060E1E271A9500890935 /* PINCache.m in Sources */, CC0106101E271A9500890935 /* PINMemoryCache.m in Sources */, - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */, CC01060F1E271A9500890935 /* PINDiskCache.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -646,6 +819,7 @@ buildActionMask = 2147483647; files = ( CC0106C61E28226900890935 /* PINCacheTests.m in Sources */, + 68133AE52BE020DA007627EC /* PINDiskCache+PINCacheTests.m in Sources */, C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -655,6 +829,7 @@ buildActionMask = 2147483647; files = ( CC0106C71E28226A00890935 /* PINCacheTests.m in Sources */, + 68133AE32BE01D15007627EC /* PINDiskCache+PINCacheTests.m in Sources */, C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -664,6 +839,7 @@ buildActionMask = 2147483647; files = ( CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */, + 68133AE42BE01D16007627EC /* PINDiskCache+PINCacheTests.m in Sources */, C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -671,6 +847,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 683188E82BE56CFE00031329 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 320117A024444DF7004FD783 /* PINCache-watchOS */; + targetProxy = 683188E72BE56CFE00031329 /* PBXContainerItemProxy */; + }; + 683188F12BE56D2200031329 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68F210182BE55BDE00CFE762 /* PINCache-visionOS */; + targetProxy = 683188F02BE56D2200031329 /* PBXContainerItemProxy */; + }; CC0105E11E271A5C00890935 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = CC0105B01E271A1600890935 /* PINCache */; @@ -697,16 +883,24 @@ 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; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/watchOS"; 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.PINCache; @@ -714,7 +908,6 @@ SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; }; name = Debug; }; @@ -726,23 +919,165 @@ 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; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/watchOS"; 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.PINCache; PRODUCT_NAME = PINCache; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Release; + }; + 683188E12BE56C5C00031329 /* 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.PINCache-watchOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + TARGETED_DEVICE_FAMILY = 4; + }; + name = Debug; + }; + 683188E22BE56C5C00031329 /* 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.PINCache-watchOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + TARGETED_DEVICE_FAMILY = 4; + }; + name = Release; + }; + 68F210292BE55BDE00CFE762 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + 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; + FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/visionOS"; + 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", + ); + 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.PINCache; + PRODUCT_NAME = PINCache; + SDKROOT = xros; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Debug; + }; + 68F2102A2BE55BDE00CFE762 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + 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; + FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/visionOS"; + 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", + ); + 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.PINCache; + PRODUCT_NAME = PINCache; + SDKROOT = xros; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Release; + }; + 68F2103A2BE55C6C00CFE762 /* 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.PINCache-visionOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = xros; + TARGETED_DEVICE_FAMILY = 7; + }; + name = Debug; + }; + 68F2103B2BE55C6C00CFE762 /* 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.PINCache-visionOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = xros; + TARGETED_DEVICE_FAMILY = 7; }; name = Release; }; @@ -770,6 +1105,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; @@ -781,6 +1117,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; @@ -795,14 +1132,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.7; + 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; }; @@ -830,6 +1170,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; @@ -841,6 +1182,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; @@ -849,14 +1191,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.7; + 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; }; @@ -864,18 +1209,25 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); 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.PINCache; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -887,18 +1239,25 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); 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.PINCache; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -910,24 +1269,30 @@ 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; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); 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.PINCache; PRODUCT_NAME = PINCache; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; }; @@ -935,24 +1300,30 @@ 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; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); 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.PINCache; PRODUCT_NAME = PINCache; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Release; }; @@ -962,10 +1333,12 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = "-"; 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_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", @@ -973,8 +1346,13 @@ 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.PINCache; PRODUCT_NAME = PINCache; SDKROOT = macosx; @@ -988,10 +1366,12 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = "-"; 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_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", @@ -999,8 +1379,13 @@ 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.PINCache; PRODUCT_NAME = PINCache; SDKROOT = macosx; @@ -1011,8 +1396,12 @@ CC0105E31E271A5C00890935 /* 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.PINCacheTests; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -1021,8 +1410,12 @@ CC0105E41E271A5C00890935 /* 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.PINCacheTests; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -1031,24 +1424,32 @@ CC0105F21E271A6400890935 /* 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.PINCache-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; + TARGETED_DEVICE_FAMILY = 3; }; name = Debug; }; CC0105F31E271A6400890935 /* 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.PINCache-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; + TARGETED_DEVICE_FAMILY = 3; }; name = Release; }; @@ -1057,13 +1458,13 @@ buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( + DEAD_CODE_STRIPPING = YES; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; @@ -1075,13 +1476,13 @@ buildSettings = { CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( + DEAD_CODE_STRIPPING = YES; + INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; @@ -1100,6 +1501,33 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 683188E02BE56C5C00031329 /* Build configuration list for PBXNativeTarget "PINCache-watchOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 683188E12BE56C5C00031329 /* Debug */, + 683188E22BE56C5C00031329 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 68F210282BE55BDE00CFE762 /* Build configuration list for PBXNativeTarget "PINCache-visionOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 68F210292BE55BDE00CFE762 /* Debug */, + 68F2102A2BE55BDE00CFE762 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 68F210392BE55C6C00CFE762 /* Build configuration list for PBXNativeTarget "PINCache-visionOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 68F2103A2BE55C6C00CFE762 /* Debug */, + 68F2103B2BE55C6C00CFE762 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme b/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme index 4dfc852e..ee6943bd 100644 --- a/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme +++ b/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme b/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme index 9b9c8426..f65c1629 100644 --- a/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme +++ b/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - -#import "PINCacheMacros.h" -#import "PINCaching.h" -#import "PINDiskCache.h" -#import "PINMemoryCache.h" +#import +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Source/PINCache.m b/Source/PINCache.m index 38cd3e28..c43d21c4 100644 --- a/Source/PINCache.m +++ b/Source/PINCache.m @@ -1,14 +1,10 @@ -// PINCache is a modified version of PINCache +// PINCache is a modified version of TMCache // Modifications by Garrett Moon // Copyright (c) 2015 Pinterest. All rights reserved. #import "PINCache.h" -#if !__has_include () -#import "PINOperation.h" -#else #import -#endif static NSString * const PINCachePrefix = @"com.pinterest.PINCache"; static NSString * const PINCacheSharedName = @"PINCacheShared"; diff --git a/Source/PINCaching.h b/Source/PINCaching.h index 326cd456..5e44886c 100644 --- a/Source/PINCaching.h +++ b/Source/PINCaching.h @@ -6,7 +6,6 @@ // Copyright © 2017 Pinterest. All rights reserved. // -#pragma once #import diff --git a/Source/PINDiskCache.h b/Source/PINDiskCache.h index 6cfa5079..ed986035 100644 --- a/Source/PINDiskCache.h +++ b/Source/PINDiskCache.h @@ -4,9 +4,9 @@ #import -#import "PINCacheMacros.h" -#import "PINCaching.h" -#import "PINCacheObjectSubscripting.h" +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Source/PINDiskCache.m b/Source/PINDiskCache.m index c9cf3af9..4e0037e0 100644 --- a/Source/PINDiskCache.m +++ b/Source/PINDiskCache.m @@ -11,11 +11,7 @@ #import #import -#if !__has_include () -#import "PINOperation.h" -#else #import -#endif #define PINDiskCacheError(error) if (error) { NSLog(@"%@ (%d) ERROR: %@", \ [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \ @@ -51,13 +47,7 @@ typedef NS_ENUM(NSUInteger, PINDiskCacheCondition) { const char * PINDiskCacheFileSystemRepresentation(NSURL *url) { -#ifdef __MAC_10_13 // Xcode >= 9 - // -fileSystemRepresentation is available on macOS >= 10.9 - if (@available(macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, *)) { - return url.fileSystemRepresentation; - } -#endif - return [url.path cStringUsingEncoding:NSUTF8StringEncoding]; + return url.fileSystemRepresentation; } @interface PINDiskCacheMetadata : NSObject @@ -350,29 +340,21 @@ - (NSString *)decodedString:(NSString *)string - (PINDiskCacheSerializerBlock)defaultSerializer { return ^NSData*(id object, NSString *key){ - if (@available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *)) { - NSError *error = nil; - NSData *data = [NSKeyedArchiver archivedDataWithRootObject:object requiringSecureCoding:NO error:&error]; - PINDiskCacheError(error); - return data; - } else { - return [NSKeyedArchiver archivedDataWithRootObject:object]; - } + NSError *error = nil; + NSData *data = [NSKeyedArchiver archivedDataWithRootObject:object requiringSecureCoding:NO error:&error]; + PINDiskCacheError(error); + return data; }; } - (PINDiskCacheDeserializerBlock)defaultDeserializer { return ^id(NSData * data, NSString *key){ - if (@available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *)) { - NSError *error = nil; - NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:data error:&error]; - NSAssert(!error, @"unarchiver init failed with error"); - unarchiver.requiresSecureCoding = NO; - return [unarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey]; - } else { - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; - } + NSError *error = nil; + NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:data error:&error]; + NSAssert(!error, @"unarchiver init failed with error"); + unarchiver.requiresSecureCoding = NO; + return [unarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey]; }; } @@ -383,22 +365,8 @@ - (PINDiskCacheKeyEncoderBlock)defaultKeyEncoder return @""; } - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - NSString *encodedString = [decodedKey stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@".:/%"] invertedSet]]; - return encodedString; - } else { - CFStringRef static const charsToEscape = CFSTR(".:/%"); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, - (__bridge CFStringRef)decodedKey, - NULL, - charsToEscape, - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - - return (__bridge_transfer NSString *)escapedString; - } + NSString *encodedString = [decodedKey stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@".:/%"] invertedSet]]; + return encodedString; }; } @@ -409,18 +377,7 @@ - (PINDiskCacheKeyEncoderBlock)defaultKeyDecoder return @""; } - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - return [encodedKey stringByRemovingPercentEncoding]; - } else { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef unescapedString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, - (__bridge CFStringRef)encodedKey, - CFSTR(""), - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - return (__bridge_transfer NSString *)unescapedString; - } + return [encodedKey stringByRemovingPercentEncoding]; }; } diff --git a/Source/PINMemoryCache.h b/Source/PINMemoryCache.h index 1cf9ff88..ef413ce4 100644 --- a/Source/PINMemoryCache.h +++ b/Source/PINMemoryCache.h @@ -4,9 +4,9 @@ #import -#import "PINCacheMacros.h" -#import "PINCaching.h" -#import "PINCacheObjectSubscripting.h" +#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Source/PINMemoryCache.m b/Source/PINMemoryCache.m index 93edd0c6..2b58e449 100644 --- a/Source/PINMemoryCache.m +++ b/Source/PINMemoryCache.m @@ -6,11 +6,7 @@ #import -#if !__has_include () -#import "PINOperation.h" -#else #import -#endif #if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 #import diff --git a/PrivacyInfo.xcprivacy b/Source/PrivacyInfo.xcprivacy similarity index 100% rename from PrivacyInfo.xcprivacy rename to Source/PrivacyInfo.xcprivacy diff --git a/Source/include/PINCache/PINCache.h b/Source/include/PINCache/PINCache.h new file mode 120000 index 00000000..76a60a50 --- /dev/null +++ b/Source/include/PINCache/PINCache.h @@ -0,0 +1 @@ +../../PINCache.h \ No newline at end of file diff --git a/Source/include/PINCache/PINCacheMacros.h b/Source/include/PINCache/PINCacheMacros.h new file mode 120000 index 00000000..80168b7b --- /dev/null +++ b/Source/include/PINCache/PINCacheMacros.h @@ -0,0 +1 @@ +../../PINCacheMacros.h \ No newline at end of file diff --git a/Source/include/PINCache/PINCacheObjectSubscripting.h b/Source/include/PINCache/PINCacheObjectSubscripting.h new file mode 120000 index 00000000..ceeb3108 --- /dev/null +++ b/Source/include/PINCache/PINCacheObjectSubscripting.h @@ -0,0 +1 @@ +../../PINCacheObjectSubscripting.h \ No newline at end of file diff --git a/Source/include/PINCache/PINCaching.h b/Source/include/PINCache/PINCaching.h new file mode 120000 index 00000000..7bdfe5c4 --- /dev/null +++ b/Source/include/PINCache/PINCaching.h @@ -0,0 +1 @@ +../../PINCaching.h \ No newline at end of file diff --git a/Source/include/PINCache/PINDiskCache.h b/Source/include/PINCache/PINDiskCache.h new file mode 120000 index 00000000..323ef6a2 --- /dev/null +++ b/Source/include/PINCache/PINDiskCache.h @@ -0,0 +1 @@ +../../PINDiskCache.h \ No newline at end of file diff --git a/Source/include/PINCache/PINMemoryCache.h b/Source/include/PINCache/PINMemoryCache.h new file mode 120000 index 00000000..68e77631 --- /dev/null +++ b/Source/include/PINCache/PINMemoryCache.h @@ -0,0 +1 @@ +../../PINMemoryCache.h \ No newline at end of file diff --git a/Tests/PINCacheTests.m b/Tests/PINCacheTests.m index 5459498e..559cbcaa 100644 --- a/Tests/PINCacheTests.m +++ b/Tests/PINCacheTests.m @@ -2,25 +2,15 @@ // Modifications by Garrett Moon // Copyright (c) 2015 Pinterest. All rights reserved. - -#if !__has_include () -#import "PINCache.h" -#else #import -#endif - -#if !__has_include () -#import "PINOperation.h" -#else #import -#endif #import "PINCacheTests.h" #import "NSDate+PINCacheTests.h" #import "PINDiskCache+PINCacheTests.h" -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR +#if TARGET_OS_IPHONE typedef UIImage PINImage; #else typedef NSImage PINImage; @@ -65,8 +55,7 @@ - (void)setUp XCTAssertNotNil(self.cache, @"test cache does not exist"); } -- (void)tearDown -{ +- (void)tearDownWithCompletionHandler:(void (^)(NSError * _Nullable))completion { dispatch_group_t group = dispatch_group_create(); dispatch_group_enter(group); @@ -82,7 +71,7 @@ - (void)tearDown XCTAssertNil(self.cache, @"test cache did not deallocate"); - [super tearDown]; + completion(nil); } #pragma mark - Private Methods @@ -542,7 +531,7 @@ - (void)testOneThousandAndOneWrites } } -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR +#if TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_VISION - (void)testMemoryWarningBlock { dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); @@ -573,22 +562,9 @@ - (void)testBackgroundBlock dispatch_semaphore_signal(semaphore); }; - BOOL isiOS8OrGreater = NO; - NSString *reqSysVer = @"8"; - NSString *currSysVer = [[UIDevice currentDevice] systemVersion]; - if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending) - isiOS8OrGreater = YES; + NSNotification *notification = [NSNotification notificationWithName:UIApplicationDidEnterBackgroundNotification object:nil]; - if (isiOS8OrGreater) { - //sending didEnterBackgroundNotification causes crash on iOS 8. - NSNotification *notification = [NSNotification notificationWithName:UIApplicationDidEnterBackgroundNotification object:nil]; - [self.cache.memoryCache performSelector:@selector(didReceiveEnterBackgroundNotification:) withObject:notification]; - - } else { - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidEnterBackgroundNotification - object:[UIApplication sharedApplication]]; - - } + [self.cache.memoryCache performSelector:@selector(didReceiveEnterBackgroundNotification:) withObject:notification]; dispatch_semaphore_wait(semaphore, [self timeout]); diff --git a/Tests/PINDiskCache+PINCacheTests.h b/Tests/PINDiskCache+PINCacheTests.h index fc778cf4..ce487335 100644 --- a/Tests/PINDiskCache+PINCacheTests.h +++ b/Tests/PINDiskCache+PINCacheTests.h @@ -1,4 +1,4 @@ -#import "PINCache.h" +#import @interface PINDiskCache (PINCacheTests) diff --git a/carthage.sh b/carthage.sh deleted file mode 100755 index 9262b04b..00000000 --- a/carthage.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -# ISSUE: https://github.com/Carthage/Carthage/issues/3019 -# CREDITS: https://github.com/Carthage/Carthage/issues/3019#issuecomment-734415287 -# carthage.sh -# Usage example: ./carthage.sh build --platform iOS - -set -euo pipefail - -xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX) -trap 'rm -f "$xcconfig"' INT TERM HUP EXIT - -# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise -# the build will fail on lipo due to duplicate architectures. -for simulator in iphonesimulator appletvsimulator; do - echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_${simulator}__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig -done -echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(PLATFORM_NAME)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig - -export XCODE_XCCONFIG_FILE="$xcconfig" -cat $XCODE_XCCONFIG_FILE -carthage "$@"