diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cfd69d28a..0991a0963 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: - test:parseui:all - test:parse_live_query:all - build:starters - fail-fast: false + fail-fast: true runs-on: macos-12 steps: - uses: actions/checkout@v3 @@ -76,10 +76,12 @@ jobs: run: | ARTIFACT_NAME=${{ env.ARTIFACT_NAME }} TEST_RESULTS=$(find ~/Library/Developer/Xcode/DerivedData -name "*.xcresult") + BUILD_RESULTS=$(find ~/Library/Developer/Xcode/DerivedData -name "*.xcactivitylog") echo ARTIFACT_NAME=${ARTIFACT_NAME//:/-} >> $GITHUB_ENV # replace colon with dashes echo TEST_RESULTS=${TEST_RESULTS} >> $GITHUB_ENV echo "Artifact Name: $ARTIFACT_NAME" echo "Test Result Location: $TEST_RESULTS" + echo "Build Result Location: $BUILD_RESULTS" - name: Upload Artifact Logs if: ${{ failure() }} uses: actions/upload-artifact@v3 @@ -87,6 +89,7 @@ jobs: name: ${{ env.ARTIFACT_NAME }} path: | ~/Library/Developer/Xcode/DerivedData/Parse-*/Logs/Test + ~/Library/Developer/Xcode/DerivedData/**/Logs/Build - name: Upload Coverage uses: codecov/codecov-action@v3.1.1 with: diff --git a/Parse/Parse/Internal/Installation/Controller/PFInstallationController.m b/Parse/Parse/Internal/Installation/Controller/PFInstallationController.m index c28907fdf..593525730 100644 --- a/Parse/Parse/Internal/Installation/Controller/PFInstallationController.m +++ b/Parse/Parse/Internal/Installation/Controller/PFInstallationController.m @@ -9,6 +9,8 @@ #import "PFInstallationController.h" +#if !TARGET_OS_WATCH + #import "BFTask+Private.h" #import "PFAssert.h" #import "PFCurrentInstallationController.h" @@ -105,3 +107,5 @@ - (PFCurrentInstallationController *)currentInstallationController { } @end + +#endif diff --git a/Parse/Parse/Internal/Installation/CurrentInstallationController/PFCurrentInstallationController.m b/Parse/Parse/Internal/Installation/CurrentInstallationController/PFCurrentInstallationController.m index 785664ce3..20729a22c 100644 --- a/Parse/Parse/Internal/Installation/CurrentInstallationController/PFCurrentInstallationController.m +++ b/Parse/Parse/Internal/Installation/CurrentInstallationController/PFCurrentInstallationController.m @@ -9,6 +9,8 @@ #import "PFCurrentInstallationController.h" +#if !TARGET_OS_WATCH + #import "BFTask+Private.h" #import "PFAsyncTaskQueue.h" #import "PFInstallationIdentifierStore.h" @@ -280,3 +282,5 @@ - (void)setCurrentInstallationMatchesDisk:(BOOL)currentInstallationMatchesDisk { } @end + +#endif diff --git a/Parse/Parse/Internal/PFReachability.m b/Parse/Parse/Internal/PFReachability.m index f2faebbb8..147f662b0 100644 --- a/Parse/Parse/Internal/PFReachability.m +++ b/Parse/Parse/Internal/PFReachability.m @@ -9,6 +9,7 @@ #import "PFReachability.h" +#if !TARGET_OS_WATCH #import #import "PFAssert.h" @@ -209,3 +210,5 @@ - (void)_startMonitoringReachabilityWithURL:(NSURL *)url { } @end + +#endif diff --git a/Parse/Parse/Internal/Push/Utilites/PFPushUtilities.m b/Parse/Parse/Internal/Push/Utilites/PFPushUtilities.m index e73fb2d1c..1e178c061 100644 --- a/Parse/Parse/Internal/Push/Utilites/PFPushUtilities.m +++ b/Parse/Parse/Internal/Push/Utilites/PFPushUtilities.m @@ -17,7 +17,10 @@ #import "PFAlertView.h" #endif +#if !TARGET_OS_WATCH #import "PFInstallationPrivate.h" +#endif + #import "PFKeychainStore.h" #import "PFLogging.h" #import "PFMacros.h" @@ -49,11 +52,13 @@ + (NSString *)getDeviceTokenFromKeychain { return store[@"ParsePush"]; } +#if !TARGET_OS_WATCH + (void)clearDeviceToken { // Used in test case setup. [[PFInstallation currentInstallation] _clearDeviceToken]; [[[PFKeychainStore alloc] initWithService:@"ParsePush"] removeObjectForKey:@"ParsePush"]; } +#endif #if TARGET_OS_IOS diff --git a/ParseStarterProject/.gitignore b/ParseStarterProject/.gitignore index 469a4ac17..b319240b3 100644 --- a/ParseStarterProject/.gitignore +++ b/ParseStarterProject/.gitignore @@ -1 +1,2 @@ *.framework +Package.resolved diff --git a/ParseStarterProject/OSX/ParseOSXStarterProject-Swift/ParseOSXStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ParseStarterProject/OSX/ParseOSXStarterProject-Swift/ParseOSXStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 9466f0275..000000000 --- a/ParseStarterProject/OSX/ParseOSXStarterProject-Swift/ParseOSXStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,43 +0,0 @@ -{ - "object": { - "pins": [ - { - "package": "Bolts", - "repositoryURL": "https://github.com/parse-community/Bolts-ObjC.git", - "state": { - "branch": null, - "revision": "1eee96ad3bcfc8964c0a5815ce94f491eb6ac8c2", - "version": "1.10.0" - } - }, - { - "package": "BoltsSwift", - "repositoryURL": "https://github.com/BoltsFramework/Bolts-Swift.git", - "state": { - "branch": null, - "revision": "d8c07eee2045a13f34330c0a4664053b5176e3f0", - "version": "1.5.0" - } - }, - { - "package": "Facebook", - "repositoryURL": "https://github.com/facebook/facebook-ios-sdk.git", - "state": { - "branch": null, - "revision": "7fd8a930a5b2c940a22efafe0e214ed0df671312", - "version": "15.1.0" - } - }, - { - "package": "Starscream", - "repositoryURL": "https://github.com/daltoniam/Starscream.git", - "state": { - "branch": null, - "revision": "ac6c0fc9da221873e01bd1a0d4818498a71eef33", - "version": "4.0.6" - } - } - ] - }, - "version": 1 -} diff --git a/ParseStarterProject/OSX/ParseOSXStarterProject/ParseOSXStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ParseStarterProject/OSX/ParseOSXStarterProject/ParseOSXStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 9466f0275..000000000 --- a/ParseStarterProject/OSX/ParseOSXStarterProject/ParseOSXStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,43 +0,0 @@ -{ - "object": { - "pins": [ - { - "package": "Bolts", - "repositoryURL": "https://github.com/parse-community/Bolts-ObjC.git", - "state": { - "branch": null, - "revision": "1eee96ad3bcfc8964c0a5815ce94f491eb6ac8c2", - "version": "1.10.0" - } - }, - { - "package": "BoltsSwift", - "repositoryURL": "https://github.com/BoltsFramework/Bolts-Swift.git", - "state": { - "branch": null, - "revision": "d8c07eee2045a13f34330c0a4664053b5176e3f0", - "version": "1.5.0" - } - }, - { - "package": "Facebook", - "repositoryURL": "https://github.com/facebook/facebook-ios-sdk.git", - "state": { - "branch": null, - "revision": "7fd8a930a5b2c940a22efafe0e214ed0df671312", - "version": "15.1.0" - } - }, - { - "package": "Starscream", - "repositoryURL": "https://github.com/daltoniam/Starscream.git", - "state": { - "branch": null, - "revision": "ac6c0fc9da221873e01bd1a0d4818498a71eef33", - "version": "4.0.6" - } - } - ] - }, - "version": 1 -} diff --git a/ParseStarterProject/iOS/ParseStarterProject-Swift/ParseStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ParseStarterProject/iOS/ParseStarterProject-Swift/ParseStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 9466f0275..000000000 --- a/ParseStarterProject/iOS/ParseStarterProject-Swift/ParseStarterProject-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,43 +0,0 @@ -{ - "object": { - "pins": [ - { - "package": "Bolts", - "repositoryURL": "https://github.com/parse-community/Bolts-ObjC.git", - "state": { - "branch": null, - "revision": "1eee96ad3bcfc8964c0a5815ce94f491eb6ac8c2", - "version": "1.10.0" - } - }, - { - "package": "BoltsSwift", - "repositoryURL": "https://github.com/BoltsFramework/Bolts-Swift.git", - "state": { - "branch": null, - "revision": "d8c07eee2045a13f34330c0a4664053b5176e3f0", - "version": "1.5.0" - } - }, - { - "package": "Facebook", - "repositoryURL": "https://github.com/facebook/facebook-ios-sdk.git", - "state": { - "branch": null, - "revision": "7fd8a930a5b2c940a22efafe0e214ed0df671312", - "version": "15.1.0" - } - }, - { - "package": "Starscream", - "repositoryURL": "https://github.com/daltoniam/Starscream.git", - "state": { - "branch": null, - "revision": "ac6c0fc9da221873e01bd1a0d4818498a71eef33", - "version": "4.0.6" - } - } - ] - }, - "version": 1 -} diff --git a/ParseStarterProject/iOS/ParseStarterProject/ParseStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ParseStarterProject/iOS/ParseStarterProject/ParseStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 9466f0275..000000000 --- a/ParseStarterProject/iOS/ParseStarterProject/ParseStarterProject.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,43 +0,0 @@ -{ - "object": { - "pins": [ - { - "package": "Bolts", - "repositoryURL": "https://github.com/parse-community/Bolts-ObjC.git", - "state": { - "branch": null, - "revision": "1eee96ad3bcfc8964c0a5815ce94f491eb6ac8c2", - "version": "1.10.0" - } - }, - { - "package": "BoltsSwift", - "repositoryURL": "https://github.com/BoltsFramework/Bolts-Swift.git", - "state": { - "branch": null, - "revision": "d8c07eee2045a13f34330c0a4664053b5176e3f0", - "version": "1.5.0" - } - }, - { - "package": "Facebook", - "repositoryURL": "https://github.com/facebook/facebook-ios-sdk.git", - "state": { - "branch": null, - "revision": "7fd8a930a5b2c940a22efafe0e214ed0df671312", - "version": "15.1.0" - } - }, - { - "package": "Starscream", - "repositoryURL": "https://github.com/daltoniam/Starscream.git", - "state": { - "branch": null, - "revision": "ac6c0fc9da221873e01bd1a0d4818498a71eef33", - "version": "4.0.6" - } - } - ] - }, - "version": 1 -} diff --git a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.pbxproj b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.pbxproj index ae818a40c..74fbbe1db 100644 --- a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.pbxproj +++ b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 3901ECD82ACF3C7C0076D426 /* ParseObjC in Frameworks */ = {isa = PBXBuildFile; productRef = 3901ECD72ACF3C7C0076D426 /* ParseObjC */; }; 391740322AC65AD500588AF7 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 391740312AC65A2000588AF7 /* libsqlite3.tbd */; }; 391740352AC65D0000588AF7 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 391740332AC65C6700588AF7 /* libsqlite3.tbd */; }; 391740372AC65DCB00588AF7 /* ParseObjC in Frameworks */ = {isa = PBXBuildFile; productRef = 391740362AC65DCB00588AF7 /* ParseObjC */; }; @@ -104,6 +105,7 @@ files = ( 391740322AC65AD500588AF7 /* libsqlite3.tbd in Frameworks */, 7C606000292BD3DC00E4B6D2 /* SystemConfiguration.framework in Frameworks */, + 3901ECD82ACF3C7C0076D426 /* ParseObjC in Frameworks */, 7C605FFE292BD3D700E4B6D2 /* AudioToolbox.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -266,6 +268,9 @@ 068C15651BC8F15300820E44 /* PBXTargetDependency */, ); name = "ParseStarter-Swift"; + packageProductDependencies = ( + 3901ECD72ACF3C7C0076D426 /* ParseObjC */, + ); productName = ParseStarterProject; productReference = 81BA81451A49DA1800E65899 /* ParseStarter-Swift.app */; productType = "com.apple.product-type.application"; @@ -415,7 +420,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; }; name = Debug; }; @@ -438,7 +443,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; }; name = Release; }; @@ -458,7 +463,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; }; name = Debug; }; @@ -478,7 +483,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; }; name = Release; }; @@ -664,6 +669,10 @@ /* End XCConfigurationList section */ /* Begin XCSwiftPackageProductDependency section */ + 3901ECD72ACF3C7C0076D426 /* ParseObjC */ = { + isa = XCSwiftPackageProductDependency; + productName = ParseObjC; + }; 391740362AC65DCB00588AF7 /* ParseObjC */ = { isa = XCSwiftPackageProductDependency; productName = ParseObjC; diff --git a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 9466f0275..000000000 --- a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarter-Swift.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,43 +0,0 @@ -{ - "object": { - "pins": [ - { - "package": "Bolts", - "repositoryURL": "https://github.com/parse-community/Bolts-ObjC.git", - "state": { - "branch": null, - "revision": "1eee96ad3bcfc8964c0a5815ce94f491eb6ac8c2", - "version": "1.10.0" - } - }, - { - "package": "BoltsSwift", - "repositoryURL": "https://github.com/BoltsFramework/Bolts-Swift.git", - "state": { - "branch": null, - "revision": "d8c07eee2045a13f34330c0a4664053b5176e3f0", - "version": "1.5.0" - } - }, - { - "package": "Facebook", - "repositoryURL": "https://github.com/facebook/facebook-ios-sdk.git", - "state": { - "branch": null, - "revision": "7fd8a930a5b2c940a22efafe0e214ed0df671312", - "version": "15.1.0" - } - }, - { - "package": "Starscream", - "repositoryURL": "https://github.com/daltoniam/Starscream.git", - "state": { - "branch": null, - "revision": "ac6c0fc9da221873e01bd1a0d4818498a71eef33", - "version": "4.0.6" - } - } - ] - }, - "version": 1 -} diff --git a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/AppDelegate.swift b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/AppDelegate.swift index 593211102..ad4fe6816 100644 --- a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/AppDelegate.swift +++ b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/AppDelegate.swift @@ -9,7 +9,7 @@ import UIKit -import Parse +import ParseCore // If you want to use any of the UI components, uncomment this line // import ParseUI diff --git a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/ViewController.swift b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/ViewController.swift index 92689cef6..512b4fbd6 100644 --- a/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/ViewController.swift +++ b/ParseStarterProject/watchOS/ParseStarterProject-Swift/ParseStarterProject/ViewController.swift @@ -8,7 +8,7 @@ */ import UIKit -import Parse +import ParseCore class ViewController: UIViewController { diff --git a/Rakefile b/Rakefile index 0338b2ee8..c40ddbbaf 100644 --- a/Rakefile +++ b/Rakefile @@ -470,8 +470,7 @@ namespace :build do task :all do # TODO: watchos objc starter # Rake::Task['build:watchos_starters:objc'].invoke - # TODO: fix compilation errors - # Rake::Task['build:watchos_starters:swift'].invoke + Rake::Task['build:watchos_starters:swift'].invoke end task :swift do