From 869929de1771a83f2637a7abc1dd5f607fb0d8f8 Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Wed, 31 Jan 2024 22:04:44 -0800 Subject: [PATCH 1/6] Improve some inline docs --- Simplified/Catalog/NYPLCatalogGroupedFeedViewController.h | 1 + Simplified/Catalog/NYPLCatalogUngroupedFeedViewController.h | 3 +++ Simplified/Network/NYPLRemoteViewController.h | 4 ++-- .../Reader2/ReaderStackConfiguration/LibraryService.swift | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Simplified/Catalog/NYPLCatalogGroupedFeedViewController.h b/Simplified/Catalog/NYPLCatalogGroupedFeedViewController.h index 7b6dcdf26..d725794a4 100644 --- a/Simplified/Catalog/NYPLCatalogGroupedFeedViewController.h +++ b/Simplified/Catalog/NYPLCatalogGroupedFeedViewController.h @@ -1,6 +1,7 @@ @class NYPLCatalogGroupedFeed; @class NYPLRemoteViewController; +/// This VC represents the catalog screen with horizontal feed lanes. @interface NYPLCatalogGroupedFeedViewController : UIViewController + (id)new NS_UNAVAILABLE; diff --git a/Simplified/Catalog/NYPLCatalogUngroupedFeedViewController.h b/Simplified/Catalog/NYPLCatalogUngroupedFeedViewController.h index d28ec87ac..de7e92d3d 100644 --- a/Simplified/Catalog/NYPLCatalogUngroupedFeedViewController.h +++ b/Simplified/Catalog/NYPLCatalogUngroupedFeedViewController.h @@ -3,6 +3,9 @@ #import "NYPLBookCellCollectionViewController.h" +/// This VC handles the presentation of vertical list of books, such as +/// My Books, Holds, and a single lane of the catalog presented by itself +/// in a vertically scrolling list. @interface NYPLCatalogUngroupedFeedViewController : NYPLBookCellCollectionViewController + (id)new NS_UNAVAILABLE; diff --git a/Simplified/Network/NYPLRemoteViewController.h b/Simplified/Network/NYPLRemoteViewController.h index cb2867c1b..c9d365d12 100644 --- a/Simplified/Network/NYPLRemoteViewController.h +++ b/Simplified/Network/NYPLRemoteViewController.h @@ -1,7 +1,7 @@ -/// This class is designed to provide a simple way to implement view controllers that must retreive +/// This class is designed to provide a simple way to implement view controllers that must retrieve /// some sort of network-available data before they can do anything. The idea is that an instance of /// |NYPLRemoteViewController| can be told to load the data present at some URL. While the data is -/// downloading, it will display a progress indicator. Once the data has been retreived, the handler +/// downloading, it will display a progress indicator. Once the data has been retrieved, the handler /// function provided will be called. That handler then returns a new view controller that is /// added as a child vc by the instance of |NYPLRemoteViewController|. /// diff --git a/Simplified/Reader2/ReaderStackConfiguration/LibraryService.swift b/Simplified/Reader2/ReaderStackConfiguration/LibraryService.swift index 781d941ad..99d8cd4c3 100644 --- a/Simplified/Reader2/ReaderStackConfiguration/LibraryService.swift +++ b/Simplified/Reader2/ReaderStackConfiguration/LibraryService.swift @@ -22,7 +22,7 @@ import R2Streamer /// /// Readium 2.5.0 deprecates `PublicationServer` and introduces /// `GCDHTTPServer` in its place. However, this causes significant scrolling -/// and book content navigation issues with VoiceOver. By casting your +/// and book content navigation issues with VoiceOver. By casting /// `PublicationServer` references to `PublicationServing`, this workaround /// silences the deprecation warnings until we find an official solution. protocol PublicationServing: ResourcesServer { From a9f647388920810c0221073eee7d95f92ea78d60 Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Wed, 31 Jan 2024 22:04:16 -0800 Subject: [PATCH 2/6] Upgrade to Readium 2.6.1 --- Simplified.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/swiftpm/Package.resolved | 47 +++++++++++-------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/Simplified.xcodeproj/project.pbxproj b/Simplified.xcodeproj/project.pbxproj index 0cbef11a0..cca341019 100644 --- a/Simplified.xcodeproj/project.pbxproj +++ b/Simplified.xcodeproj/project.pbxproj @@ -5177,7 +5177,7 @@ repositoryURL = "https://github.com/readium/swift-toolkit.git"; requirement = { kind = upToNextMinorVersion; - minimumVersion = 2.6.0; + minimumVersion = 2.6.1; }; }; 73579044276BE7F2009F1ADF /* XCRemoteSwiftPackageReference "iOS-Utilities" */ = { diff --git a/Simplified.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Simplified.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 16b541dd6..97a0dda17 100644 --- a/Simplified.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Simplified.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -10,6 +10,15 @@ "version": "1.2022062300.0" } }, + { + "package": "AppCheck", + "repositoryURL": "https://github.com/google/app-check.git", + "state": { + "branch": null, + "revision": "3e464dad87dad2d29bb29a97836789bf0f8f67d2", + "version": "10.18.1" + } + }, { "package": "CryptoSwift", "repositoryURL": "https://github.com/krzyzanowskim/CryptoSwift.git", @@ -33,8 +42,8 @@ "repositoryURL": "https://github.com/firebase/firebase-ios-sdk", "state": { "branch": null, - "revision": "8a8ec57a272e0d31480fb0893dda0cf4f769b57e", - "version": "10.15.0" + "revision": "b880ec8ec927a838c51c12862c6222c30d7097d7", + "version": "10.20.0" } }, { @@ -60,8 +69,8 @@ "repositoryURL": "https://github.com/google/GoogleAppMeasurement.git", "state": { "branch": null, - "revision": "03b9beee1a61f62d32c521e172e192a1663a5e8b", - "version": "10.13.0" + "revision": "ceec9f28dea12b7cf3dabf18b5ed7621c88fd4aa", + "version": "10.20.0" } }, { @@ -69,8 +78,8 @@ "repositoryURL": "https://github.com/google/GoogleDataTransport.git", "state": { "branch": null, - "revision": "aae45a320fd0d11811820335b1eabc8753902a40", - "version": "9.2.5" + "revision": "a732a4b47f59e4f725a2ea10f0c77e93a7131117", + "version": "9.3.0" } }, { @@ -78,8 +87,8 @@ "repositoryURL": "https://github.com/google/GoogleUtilities.git", "state": { "branch": null, - "revision": "c38ce365d77b04a9a300c31061c5227589e5597b", - "version": "7.11.5" + "revision": "bc27fad73504f3d4af235de451f02ee22586ebd3", + "version": "7.12.1" } }, { @@ -87,8 +96,8 @@ "repositoryURL": "https://github.com/google/grpc-binary.git", "state": { "branch": null, - "revision": "f1b366129d1125be7db83247e003fc333104b569", - "version": "1.50.2" + "revision": "a673bc2937fbe886dd1f99c401b01b6d977a9c98", + "version": "1.49.1" } }, { @@ -96,8 +105,8 @@ "repositoryURL": "https://github.com/google/gtm-session-fetcher.git", "state": { "branch": null, - "revision": "d415594121c9e8a4f9d79cecee0965cf35e74dbd", - "version": "3.1.1" + "revision": "115f75e43851774934d695449a4836123c3246e1", + "version": "3.2.0" } }, { @@ -114,7 +123,7 @@ "repositoryURL": "https://github.com/NYPL-Simplified/iOS-Utilities", "state": { "branch": "main", - "revision": "b26a3340c5dd38efc5de1d6b15f4cf62e94a6f5a", + "revision": "1d4940668a2265bd8954daf6fcedce2ceaf745e7", "version": null } }, @@ -123,8 +132,8 @@ "repositoryURL": "https://github.com/firebase/leveldb.git", "state": { "branch": null, - "revision": "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", - "version": "1.22.2" + "revision": "9d108e9112aa1d65ce508facf804674546116d9c", + "version": "1.22.3" } }, { @@ -168,8 +177,8 @@ "repositoryURL": "https://github.com/apple/swift-protobuf.git", "state": { "branch": null, - "revision": "3c54ab05249f59f2c6641dd2920b8358ea9ed127", - "version": "1.24.0" + "revision": "65e8f29b2d63c4e38e736b25c27b83e012159be8", + "version": "1.25.2" } }, { @@ -177,8 +186,8 @@ "repositoryURL": "https://github.com/readium/swift-toolkit.git", "state": { "branch": null, - "revision": "ce50635a0d6699f2e279d1331f6bf7e236bf5f76", - "version": "2.6.0" + "revision": "a62962bbb862a5852ce8f79c5369213f38c79e8e", + "version": "2.6.1" } }, { From 945ce63e19f8f0f4a7b52f215bc6951aea0afc35 Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Thu, 25 Jan 2024 14:10:45 -0800 Subject: [PATCH 3/6] IOS-639 Enable old linker to build on Xcode 15 --- Simplified.xcodeproj/project.pbxproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Simplified.xcodeproj/project.pbxproj b/Simplified.xcodeproj/project.pbxproj index cca341019..50611215a 100644 --- a/Simplified.xcodeproj/project.pbxproj +++ b/Simplified.xcodeproj/project.pbxproj @@ -5035,6 +5035,10 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 3.9.5; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ld64", + ); PRODUCT_BUNDLE_IDENTIFIER = org.nypl.labs.SimplyE; PROVISIONING_PROFILE = "2e185b6c-271e-4b02-a05e-860b8c3831f6"; PROVISIONING_PROFILE_SPECIFIER = "SimplyE Development"; @@ -5084,6 +5088,10 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 3.9.5; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ld64", + ); PRODUCT_BUNDLE_IDENTIFIER = org.nypl.labs.SimplyE; PROVISIONING_PROFILE = "b3d9154d-70e1-48d6-a0c5-869431277a5c"; PROVISIONING_PROFILE_SPECIFIER = "SimplyE Distribution"; From 6085d5c488b934075d6e34ef0b4cb998c1e30be7 Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Wed, 31 Jan 2024 22:16:35 -0800 Subject: [PATCH 4/6] IOS-639 Xcode 15 upgrade, drop iOS 11 support Fix deprecations from dropping iOS 11. --- Axis-iOS | 2 +- CardCreator-iOS | 2 +- NYPLAEToolkit | 2 +- NYPLAudiobookToolkit | 2 +- RDServices.xcodeproj/project.pbxproj | 4 +- .../xcschemes/RDServices.xcscheme | 2 +- Simplified.xcodeproj/project.pbxproj | 8 ++-- .../xcschemes/Open eBooks.xcscheme | 2 +- .../xcschemes/SimplyE-R2dev.xcscheme | 2 +- .../xcschemes/SimplyE-noDRM.xcscheme | 2 +- .../xcshareddata/xcschemes/SimplyE.xcscheme | 2 +- .../NYPLAnnouncementBusinessLogic.swift | 10 +++-- .../ErrorHandling/ProblemReportEmail.swift | 2 + Simplified/Keychain/NYPLKeychain.m | 42 +++++++++++++++---- Simplified/Keychain/NYPLKeychainManager.swift | 19 +++++---- adept-ios | 2 +- readium-sdk | 2 +- tenprintcover-ios | 2 +- 18 files changed, 73 insertions(+), 36 deletions(-) diff --git a/Axis-iOS b/Axis-iOS index 0f8ddb023..970f51225 160000 --- a/Axis-iOS +++ b/Axis-iOS @@ -1 +1 @@ -Subproject commit 0f8ddb023ecf096b01fb835c10ca27d9b29a2795 +Subproject commit 970f51225fc57315bdfb695cb99b333cfcbfab94 diff --git a/CardCreator-iOS b/CardCreator-iOS index 4acdfb431..854a02571 160000 --- a/CardCreator-iOS +++ b/CardCreator-iOS @@ -1 +1 @@ -Subproject commit 4acdfb4317f7979abc193e444d9e399e2f9029e6 +Subproject commit 854a0257129deaa639d436e43310091259ff44a7 diff --git a/NYPLAEToolkit b/NYPLAEToolkit index 3795dd42c..6fc1c3285 160000 --- a/NYPLAEToolkit +++ b/NYPLAEToolkit @@ -1 +1 @@ -Subproject commit 3795dd42cddd56696e47f2eabc722500ed2188cf +Subproject commit 6fc1c3285c9095f6c36470d69ca25272a817372a diff --git a/NYPLAudiobookToolkit b/NYPLAudiobookToolkit index 851bcc572..5194fc4b3 160000 --- a/NYPLAudiobookToolkit +++ b/NYPLAudiobookToolkit @@ -1 +1 @@ -Subproject commit 851bcc57258ae92a6d76208704efc68e852773c6 +Subproject commit 5194fc4b3545cd3efc011ba2f6be27b0307cc920 diff --git a/RDServices.xcodeproj/project.pbxproj b/RDServices.xcodeproj/project.pbxproj index 0f447acf6..e670080fb 100644 --- a/RDServices.xcodeproj/project.pbxproj +++ b/RDServices.xcodeproj/project.pbxproj @@ -537,7 +537,7 @@ "\"$(NYPLADEPT_ADOBE_SDK)/DRM_Connector_Prerelease/dp/public\"", "\"$(NYPLADEPT_ADOBE_SDK)/DRM_Connector_Prerelease/xml/uft/public\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; STRIP_INSTALLED_PRODUCT = NO; @@ -590,7 +590,7 @@ "\"$(NYPLADEPT_ADOBE_SDK)/DRM_Connector_Prerelease/dp/public\"", "\"$(NYPLADEPT_ADOBE_SDK)/DRM_Connector_Prerelease/xml/uft/public\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; SDKROOT = iphoneos; STRIP_INSTALLED_PRODUCT = NO; VALIDATE_PRODUCT = YES; diff --git a/RDServices.xcodeproj/xcshareddata/xcschemes/RDServices.xcscheme b/RDServices.xcodeproj/xcshareddata/xcschemes/RDServices.xcscheme index b20e5301a..b7f67e555 100644 --- a/RDServices.xcodeproj/xcshareddata/xcschemes/RDServices.xcscheme +++ b/RDServices.xcodeproj/xcshareddata/xcschemes/RDServices.xcscheme @@ -1,6 +1,6 @@ else { return } @@ -61,7 +63,9 @@ class NYPLAnnouncementBusinessLogic { } do { - let codedData = NSKeyedArchiver.archivedData(withRootObject: presentedAnnouncements) + let codedData = try NSKeyedArchiver + .archivedData(withRootObject: presentedAnnouncements, + requiringSecureCoding: false) try codedData.write(to: filePathURL) } catch { NYPLErrorLogger.logError(error, diff --git a/Simplified/ErrorHandling/ProblemReportEmail.swift b/Simplified/ErrorHandling/ProblemReportEmail.swift index 8692f80fc..9aa2abe3f 100644 --- a/Simplified/ErrorHandling/ProblemReportEmail.swift +++ b/Simplified/ErrorHandling/ProblemReportEmail.swift @@ -59,6 +59,8 @@ import UIKit idiom = "tv" case .mac: idiom = "mac" + case .vision: + idiom = "vision" case .unspecified: fallthrough @unknown default: diff --git a/Simplified/Keychain/NYPLKeychain.m b/Simplified/Keychain/NYPLKeychain.m index f9de11f65..6f2ac036a 100644 --- a/Simplified/Keychain/NYPLKeychain.m +++ b/Simplified/Keychain/NYPLKeychain.m @@ -35,8 +35,14 @@ - (id)objectForKey:(NSString *const)key - (id)objectForKey:(NSString *const)key accessGroup:(NSString *const)groupID { - NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key]; - + NSError *error = nil; + NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key + requiringSecureCoding:NO + error:&error]; + if (error) { + NYPLLOG_F(@"Error archiving key [%@] while reading from keychain: %@", key, error); + } + NSMutableDictionary *const dictionary = [self defaultDictionary]; dictionary[(__bridge __strong id) kSecAttrAccount] = keyData; dictionary[(__bridge __strong id) kSecMatchLimit] = (__bridge id) kSecMatchLimitOne; @@ -61,9 +67,24 @@ - (void)setObject:(id)value forKey:(NSString *)key - (void)setObject:(id const)value forKey:(NSString *const)key accessGroup:(NSString *const)groupID { - NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key]; - NSData *const valueData = [NSKeyedArchiver archivedDataWithRootObject:value]; - + NSError *error = nil; + NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key + requiringSecureCoding:NO + error:&error]; + if (error) { + NYPLLOG_F(@"Error archiving key [%@] while writing to keychain: %@", + key, error); + error = nil; + } + + NSData *const valueData = [NSKeyedArchiver archivedDataWithRootObject:value + requiringSecureCoding:NO + error:&error]; + if (error) { + NYPLLOG_F(@"Error archiving value [%@] for key [%@] while writing to keychain: %@", + value, key, error); + } + NSMutableDictionary *const queryDictionary = [self defaultDictionary]; queryDictionary[(__bridge __strong id) kSecAttrAccount] = keyData; if (groupID) { @@ -98,8 +119,15 @@ - (void)removeObjectForKey:(NSString *const)key - (void)removeObjectForKey:(NSString *const)key accessGroup:(NSString *const)groupID { - NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key]; - + NSError *error = nil; + NSData *const keyData = [NSKeyedArchiver archivedDataWithRootObject:key + requiringSecureCoding:NO + error:&error]; + if (error) { + NYPLLOG_F(@"Error archiving key [%@] while removing from keychain: %@", + key, error); + } + NSMutableDictionary *const dictionary = [self defaultDictionary]; dictionary[(__bridge __strong id) kSecAttrAccount] = keyData; if (groupID) { diff --git a/Simplified/Keychain/NYPLKeychainManager.swift b/Simplified/Keychain/NYPLKeychainManager.swift index 4c43f8da6..c42d19189 100644 --- a/Simplified/Keychain/NYPLKeychainManager.swift +++ b/Simplified/Keychain/NYPLKeychainManager.swift @@ -105,11 +105,12 @@ import Foundation guard let array = result as? Array> else { return values } for item in array { if let keyData = item[kSecAttrAccount as String] as? Data, - let valueData = item[kSecValueData as String] as? Data, - let keyString = NSKeyedUnarchiver.unarchiveObject(with: keyData) as? String { - Log.debug(#file, "Value found for keychain key: \(keyString)") - let value = NSKeyedUnarchiver.unarchiveObject(with: valueData) as AnyObject - values[keyString] = value + let valueData = item[kSecValueData as String] as? Data, + let keyString = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSString.self, + from: keyData) + { + let value = NSKeyedUnarchiver.unarchiveObject(with: valueData) as? AnyObject + values[keyString as String] = value } } } @@ -141,10 +142,12 @@ import Foundation guard let array = result as? Array> else { return } for item in array { if let keyData = item[kSecAttrAccount as String] as? Data, - let valueData = item[kSecValueData as String] as? Data, - let keyString = NSKeyedUnarchiver.unarchiveObject(with: keyData) as? String { + let valueData = item[kSecValueData as String] as? Data, + let keyString = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSString.self, + from: keyData) + { let value = NSKeyedUnarchiver.unarchiveObject(with: valueData) as AnyObject - values[keyString] = value + values[keyString as String] = value } } } diff --git a/adept-ios b/adept-ios index 1d7f97f6b..059824f06 160000 --- a/adept-ios +++ b/adept-ios @@ -1 +1 @@ -Subproject commit 1d7f97f6bc44d7ed52267b30fe392f907d46416f +Subproject commit 059824f065b5c9b52fb0a714425e836f06346adb diff --git a/readium-sdk b/readium-sdk index 49be22773..a0f4e1b21 160000 --- a/readium-sdk +++ b/readium-sdk @@ -1 +1 @@ -Subproject commit 49be227739d957c779660053bbde6ceada164c00 +Subproject commit a0f4e1b21d5594cfb119d1bdbdcc943531a9d70c diff --git a/tenprintcover-ios b/tenprintcover-ios index 56fbb5850..67ef31c4f 160000 --- a/tenprintcover-ios +++ b/tenprintcover-ios @@ -1 +1 @@ -Subproject commit 56fbb5850df5b136243df6331723a87ad0629440 +Subproject commit 67ef31c4f431ca9f6159707dcedc5244082acc26 From 3587bd24f3fe9a13e2512700fd47c97cf4fd61b1 Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Wed, 31 Jan 2024 22:17:30 -0800 Subject: [PATCH 5/6] IOS-639 Remove banned books if expiration date is missing --- Simplified/Book/Models/NYPLBookRegistry.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Simplified/Book/Models/NYPLBookRegistry.m b/Simplified/Book/Models/NYPLBookRegistry.m index a59bb60bf..063b214c4 100644 --- a/Simplified/Book/Models/NYPLBookRegistry.m +++ b/Simplified/Book/Models/NYPLBookRegistry.m @@ -454,10 +454,11 @@ - (void)removeExpiredBannedBooks NSMutableArray *booksToRemove = [[NSMutableArray alloc] init]; for (NSString *bookIdentifer in self.identifiersToRecords) { NYPLBookRegistryRecord *record = self.identifiersToRecords[bookIdentifer]; + NYPLOPDSAcquisition *acquisition = record.book.defaultAcquisition; // Add the book to remove list if it is distributed by Axis360 and expired - if([record.book.defaultAcquisition.type isEqualToString:ContentTypeAxis360]) { - if (record.book.defaultAcquisition.availability.until && - [record.book.defaultAcquisition.availability.until compare:[NSDate date]] == NSOrderedAscending) { + // or with no expiration + if ([acquisition.type isEqualToString:ContentTypeAxis360]) { + if ([acquisition.availability.until compare:[NSDate date]] != NSOrderedDescending) { [booksToRemove addObject:bookIdentifer]; } } From eb531f79abe8efa1cec51d634e7b1fc58a56e0ec Mon Sep 17 00:00:00 2001 From: Ettore Pasquini Date: Fri, 2 Feb 2024 14:21:18 -0800 Subject: [PATCH 6/6] IOS-646 Update CI for Xcode 15 --- .github/workflows/archive-and-upload.yml | 8 ++++---- .github/workflows/non-drm-build.yml | 4 ++-- .github/workflows/unit-testing.yml | 6 +++--- scripts/xcode-build-nodrm.sh | 2 +- scripts/xcode-test.sh | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/archive-and-upload.yml b/.github/workflows/archive-and-upload.yml index 787f25693..bd16e3334 100644 --- a/.github/workflows/archive-and-upload.yml +++ b/.github/workflows/archive-and-upload.yml @@ -20,7 +20,7 @@ jobs: - name: Check Carthage version run: command -v carthage && carthage version - name: Checkout main repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.IOS_DEV_CI_PAT }} - name: Add Private Repo Auth @@ -49,13 +49,13 @@ jobs: - name: Check available Xcodes run: ls -la /Applications | grep Xcode - name: Force Xcode we use for development - run: sudo xcode-select -switch /Applications/Xcode_14.3.app + run: sudo xcode-select -switch /Applications/Xcode_15.0.1.app - name: Install Firebase Tools run: npm install -g firebase-tools - name: Check Firebase Tools version run: command -v firebase && firebase --version - name: Checkout main repo and submodules - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true token: ${{ secrets.IOS_DEV_CI_PAT }} @@ -72,7 +72,7 @@ jobs: GITHUB_REPO_OWNER: ${{ github.repository_owner }} - name: Checkout Adobe RMSDK if: needs.version-check.outputs.simplye_changed == '1' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: NYPL-Simplified/DRM-iOS-AdeptConnector token: ${{ secrets.IOS_DEV_CI_PAT }} diff --git a/.github/workflows/non-drm-build.yml b/.github/workflows/non-drm-build.yml index 4dcf2e762..bf519b163 100644 --- a/.github/workflows/non-drm-build.yml +++ b/.github/workflows/non-drm-build.yml @@ -10,9 +10,9 @@ jobs: - name: Check available Xcodes run: ls -la /Applications | grep Xcode - name: Force Xcode we use for development - run: sudo xcode-select -switch /Applications/Xcode_14.3.app + run: sudo xcode-select -switch /Applications/Xcode_15.0.1.app - name: Checkout main repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up repo for nonDRM build run: exec ./scripts/setup-repo-nodrm.sh env: diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index 72881edec..7c850bded 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -13,14 +13,14 @@ jobs: - name: Check available Xcodes run: ls -la /Applications | grep Xcode - name: Force Xcode we use for development - run: sudo xcode-select -switch /Applications/Xcode_14.3.app + run: sudo xcode-select -switch /Applications/Xcode_15.0.1.app - name: Checkout main repo and submodules - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true token: ${{ secrets.IOS_DEV_CI_PAT }} - name: Checkout Adobe RMSDK - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: NYPL-Simplified/DRM-iOS-AdeptConnector token: ${{ secrets.IOS_DEV_CI_PAT }} diff --git a/scripts/xcode-build-nodrm.sh b/scripts/xcode-build-nodrm.sh index 8e45c9801..17a147516 100755 --- a/scripts/xcode-build-nodrm.sh +++ b/scripts/xcode-build-nodrm.sh @@ -17,6 +17,6 @@ echo "Building SimplyE without DRM support..." xcodebuild -project Simplified.xcodeproj \ -scheme SimplyE-noDRM \ - -destination platform=iOS\ Simulator,OS=16.4,name=iPhone\ 14\ Pro\ + -destination platform=iOS\ Simulator,OS=17.2,name=iPhone\ 15\ Pro\ clean build | \ if command -v xcpretty &> /dev/null; then xcpretty; else cat; fi diff --git a/scripts/xcode-test.sh b/scripts/xcode-test.sh index fa68d3347..ebed420b8 100755 --- a/scripts/xcode-test.sh +++ b/scripts/xcode-test.sh @@ -22,7 +22,7 @@ echo "Running unit tests for $APP_NAME..." # packages with the version checked in in Package.resolved xcodebuild -project "$PROJECT_NAME" \ -scheme "$SCHEME" \ - -destination platform=iOS\ Simulator,OS=16.4,name=iPhone\ 14 \ + -destination platform=iOS\ Simulator,OS=17.2,name=iPhone\ 15 \ -disableAutomaticPackageResolution \ clean test | \ if command -v xcpretty &> /dev/null; then xcpretty; else cat; fi