diff --git a/Account/Package.swift b/Account/Package.swift index 8a53ae40e..2f556c766 100644 --- a/Account/Package.swift +++ b/Account/Package.swift @@ -11,7 +11,7 @@ let package = Package( targets: ["Account"]), ], dependencies: [ - .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0-beta1")), + .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0")), .package(url: "https://github.com/Ranchero-Software/RSDatabase.git", .upToNextMajor(from: "1.0.0-beta1")), .package(url: "https://github.com/Ranchero-Software/RSParser.git", .upToNextMajor(from: "2.0.0-beta1")), .package(url: "https://github.com/Ranchero-Software/RSWeb.git", .upToNextMajor(from: "1.0.0-beta1")), diff --git a/Account/Sources/Account/CloudKit/CloudKitAccountZone.swift b/Account/Sources/Account/CloudKit/CloudKitAccountZone.swift index e0a45e0cb..6152f41ac 100644 --- a/Account/Sources/Account/CloudKit/CloudKitAccountZone.swift +++ b/Account/Sources/Account/CloudKit/CloudKitAccountZone.swift @@ -21,9 +21,7 @@ enum CloudKitAccountZoneError: LocalizedError { } final class CloudKitAccountZone: CloudKitZone { - static var zoneID: CKRecordZone.ID { - return CKRecordZone.ID(zoneName: "Account", ownerName: CKCurrentUserDefaultName) - } + var zoneID: CKRecordZone.ID var log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "CloudKit") @@ -53,6 +51,7 @@ final class CloudKitAccountZone: CloudKitZone { init(container: CKContainer) { self.container = container self.database = container.privateCloudDatabase + self.zoneID = CKRecordZone.ID(zoneName: "Account", ownerName: CKCurrentUserDefaultName) } func importOPML(rootExternalID: String, items: [RSOPMLItem], completion: @escaping (Result) -> Void) { @@ -91,7 +90,7 @@ final class CloudKitAccountZone: CloudKitZone { /// Persist a web feed record to iCloud and return the external key func createWebFeed(url: String, name: String?, editedName: String?, homePageURL: String?, container: Container, completion: @escaping (Result) -> Void) { - let recordID = CKRecord.ID(recordName: url.md5String, zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: url.md5String, zoneID: zoneID) let record = CKRecord(recordType: CloudKitWebFeed.recordType, recordID: recordID) record[CloudKitWebFeed.Fields.url] = url record[CloudKitWebFeed.Fields.name] = name @@ -125,7 +124,7 @@ final class CloudKitAccountZone: CloudKitZone { return } - let recordID = CKRecord.ID(recordName: externalID, zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: externalID, zoneID: zoneID) let record = CKRecord(recordType: CloudKitWebFeed.recordType, recordID: recordID) record[CloudKitWebFeed.Fields.editedName] = editedName @@ -252,7 +251,7 @@ final class CloudKitAccountZone: CloudKitZone { let predicate = NSPredicate(format: "isAccount = \"1\"") let ckQuery = CKQuery(recordType: CloudKitContainer.recordType, predicate: predicate) - database?.perform(ckQuery, inZoneWith: Self.zoneID) { [weak self] records, error in + database?.perform(ckQuery, inZoneWith: zoneID) { [weak self] records, error in guard let self = self else { return } switch CloudKitZoneResult.resolve(error) { @@ -296,7 +295,7 @@ final class CloudKitAccountZone: CloudKitZone { return } - let recordID = CKRecord.ID(recordName: externalID, zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: externalID, zoneID: zoneID) let record = CKRecord(recordType: CloudKitContainer.recordType, recordID: recordID) record[CloudKitContainer.Fields.name] = name diff --git a/Account/Sources/Account/CloudKit/CloudKitArticlesZone.swift b/Account/Sources/Account/CloudKit/CloudKitArticlesZone.swift index f085654ab..815303fdb 100644 --- a/Account/Sources/Account/CloudKit/CloudKitArticlesZone.swift +++ b/Account/Sources/Account/CloudKit/CloudKitArticlesZone.swift @@ -17,9 +17,7 @@ import SyncDatabase final class CloudKitArticlesZone: CloudKitZone { - static var zoneID: CKRecordZone.ID { - return CKRecordZone.ID(zoneName: "Articles", ownerName: CKCurrentUserDefaultName) - } + var zoneID: CKRecordZone.ID var log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "CloudKit") @@ -58,6 +56,7 @@ final class CloudKitArticlesZone: CloudKitZone { init(container: CKContainer) { self.container = container self.database = container.privateCloudDatabase + self.zoneID = CKRecordZone.ID(zoneName: "Articles", ownerName: CKCurrentUserDefaultName) } func refreshArticles(completion: @escaping ((Result) -> Void)) { @@ -124,10 +123,10 @@ final class CloudKitArticlesZone: CloudKitZone { newRecords.append(self.makeStatusRecord(statusUpdate)) newRecords.append(self.makeArticleRecord(statusUpdate.article!)) case .delete: - deleteRecordIDs.append(CKRecord.ID(recordName: self.statusID(statusUpdate.articleID), zoneID: Self.zoneID)) + deleteRecordIDs.append(CKRecord.ID(recordName: self.statusID(statusUpdate.articleID), zoneID: zoneID)) case .statusOnly: modifyRecords.append(self.makeStatusRecord(statusUpdate)) - deleteRecordIDs.append(CKRecord.ID(recordName: self.articleID(statusUpdate.articleID), zoneID: Self.zoneID)) + deleteRecordIDs.append(CKRecord.ID(recordName: self.articleID(statusUpdate.articleID), zoneID: zoneID)) } } @@ -176,7 +175,7 @@ private extension CloudKitArticlesZone { } func makeStatusRecord(_ article: Article) -> CKRecord { - let recordID = CKRecord.ID(recordName: statusID(article.articleID), zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: statusID(article.articleID), zoneID: zoneID) let record = CKRecord(recordType: CloudKitArticleStatus.recordType, recordID: recordID) if let webFeedExternalID = article.webFeed?.externalID { record[CloudKitArticleStatus.Fields.webFeedExternalID] = webFeedExternalID @@ -187,7 +186,7 @@ private extension CloudKitArticlesZone { } func makeStatusRecord(_ statusUpdate: CloudKitArticleStatusUpdate) -> CKRecord { - let recordID = CKRecord.ID(recordName: statusID(statusUpdate.articleID), zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: statusID(statusUpdate.articleID), zoneID: zoneID) let record = CKRecord(recordType: CloudKitArticleStatus.recordType, recordID: recordID) if let webFeedExternalID = statusUpdate.article?.webFeed?.externalID { @@ -201,10 +200,10 @@ private extension CloudKitArticlesZone { } func makeArticleRecord(_ article: Article) -> CKRecord { - let recordID = CKRecord.ID(recordName: articleID(article.articleID), zoneID: Self.zoneID) + let recordID = CKRecord.ID(recordName: articleID(article.articleID), zoneID: zoneID) let record = CKRecord(recordType: CloudKitArticle.recordType, recordID: recordID) - let articleStatusRecordID = CKRecord.ID(recordName: statusID(article.articleID), zoneID: Self.zoneID) + let articleStatusRecordID = CKRecord.ID(recordName: statusID(article.articleID), zoneID: zoneID) record[CloudKitArticle.Fields.articleStatus] = CKRecord.Reference(recordID: articleStatusRecordID, action: .deleteSelf) record[CloudKitArticle.Fields.webFeedURL] = article.webFeed?.url record[CloudKitArticle.Fields.uniqueID] = article.uniqueID diff --git a/Articles/Package.swift b/Articles/Package.swift index 9a996999d..d5353dc79 100644 --- a/Articles/Package.swift +++ b/Articles/Package.swift @@ -11,7 +11,7 @@ let package = Package( targets: ["Articles"]), ], dependencies: [ - .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0-beta1")), + .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0")), ], targets: [ .target( diff --git a/ArticlesDatabase/Package.swift b/ArticlesDatabase/Package.swift index a8d1df496..200fd6137 100644 --- a/ArticlesDatabase/Package.swift +++ b/ArticlesDatabase/Package.swift @@ -13,7 +13,7 @@ let package = Package( targets: ["ArticlesDatabase"]), ], dependencies: [ - .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0-beta1")), + .package(url: "https://github.com/Ranchero-Software/RSCore.git", .upToNextMajor(from: "1.0.0")), .package(url: "https://github.com/Ranchero-Software/RSDatabase.git", .upToNextMajor(from: "1.0.0-beta1")), .package(url: "https://github.com/Ranchero-Software/RSParser.git", .upToNextMajor(from: "2.0.0-beta1")), .package(url: "../Articles", .upToNextMajor(from: "1.0.0")), diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index e262a739b..f33474265 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -6104,7 +6104,7 @@ repositoryURL = "https://github.com/Ranchero-Software/RSCore.git"; requirement = { kind = upToNextMajorVersion; - minimumVersion = "1.0.0-beta1"; + minimumVersion = 1.0.0; }; }; 510ECA4024D1DCD0001C31A6 /* XCRemoteSwiftPackageReference "RSTree" */ = { diff --git a/NetNewsWire.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/NetNewsWire.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 3f40017d1..57fee8157 100644 --- a/NetNewsWire.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/NetNewsWire.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -60,8 +60,8 @@ "repositoryURL": "https://github.com/Ranchero-Software/RSCore.git", "state": { "branch": null, - "revision": "dce76a4070ed24f148bb1673c308962dbdbf01ef", - "version": "1.0.0-beta9" + "revision": "3fb97de5901d10e6afede307a31957f7579042e5", + "version": "1.0.0" } }, {