From f115dcb10c80835eb416e08084637207d333ed8a Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 13 Jun 2025 14:00:35 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=F0=9F=94=A7=20Updates=20deployment=20tar?= =?UTF-8?q?gets=20to=2026.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xcconfig/NetNewsWire_iOSwidgetextension_target.xcconfig | 2 +- xcconfig/NetNewsWire_project.xcconfig | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/xcconfig/NetNewsWire_iOSwidgetextension_target.xcconfig b/xcconfig/NetNewsWire_iOSwidgetextension_target.xcconfig index a399e26f7..7a41e86c6 100644 --- a/xcconfig/NetNewsWire_iOSwidgetextension_target.xcconfig +++ b/xcconfig/NetNewsWire_iOSwidgetextension_target.xcconfig @@ -41,4 +41,4 @@ INFOPLIST_FILE = Widget/Info.plist PRODUCT_BUNDLE_IDENTIFIER = $(ORGANIZATION_IDENTIFIER).NetNewsWire.iOS.SpringboardWidgets PRODUCT_NAME = $(TARGET_NAME) -IPHONEOS_DEPLOYMENT_TARGET = 17.0 +IPHONEOS_DEPLOYMENT_TARGET = 26.0 diff --git a/xcconfig/NetNewsWire_project.xcconfig b/xcconfig/NetNewsWire_project.xcconfig index 6731064c8..8ba5ecc3f 100644 --- a/xcconfig/NetNewsWire_project.xcconfig +++ b/xcconfig/NetNewsWire_project.xcconfig @@ -39,8 +39,8 @@ GCC_WARN_UNDECLARED_SELECTOR = YES GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE GCC_WARN_UNUSED_FUNCTION = YES GCC_WARN_UNUSED_VARIABLE = YES -MACOSX_DEPLOYMENT_TARGET = 13.0 -IPHONEOS_DEPLOYMENT_TARGET = 17.0 +MACOSX_DEPLOYMENT_TARGET = 26.0 +IPHONEOS_DEPLOYMENT_TARGET = 26.0 //SDKROOT = macosx SWIFT_SWIFT3_OBJC_INFERENCE = Off SWIFT_VERSION = 5.7 From 9123f4c20a6605af6c830d9d93e9126f2243a612 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 13 Jun 2025 14:05:28 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=F0=9F=9A=A8=20Makes=20Transport=20type?= =?UTF-8?q?=20conform=20to=20Sendable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a compiler bug. --- Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift b/Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift index ff8dee89f..8d11954a1 100644 --- a/Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift +++ b/Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift @@ -13,7 +13,7 @@ extension Transport { /** Sends an HTTP get and returns JSON object(s) */ - public func send(request: URLRequest, resultType: R.Type, dateDecoding: JSONDecoder.DateDecodingStrategy = .iso8601, keyDecoding: JSONDecoder.KeyDecodingStrategy = .useDefaultKeys, completion: @escaping (Result<(HTTPURLResponse, R?), Error>) -> Void) { + public func send(request: URLRequest, resultType: R.Type, dateDecoding: JSONDecoder.DateDecodingStrategy = .iso8601, keyDecoding: JSONDecoder.KeyDecodingStrategy = .useDefaultKeys, completion: @escaping (Result<(HTTPURLResponse, R?), Error>) -> Void) { send(request: request) { result in DispatchQueue.main.async { From 2695a22d67441c80a34a7a5fe903f7224110c589 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 13 Jun 2025 14:06:49 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=F0=9F=9A=A8=20Adds=20override=20to=20tog?= =?UTF-8?q?gleSidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a build warning --- iOS/RootSplitViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/RootSplitViewController.swift b/iOS/RootSplitViewController.swift index 7b8c9d0c0..2a6d932e0 100644 --- a/iOS/RootSplitViewController.swift +++ b/iOS/RootSplitViewController.swift @@ -143,7 +143,7 @@ class RootSplitViewController: UISplitViewController { coordinator.toggleStarredForCurrentArticle() } - @objc func toggleSidebar(_ sender: Any?) { + @objc override func toggleSidebar(_ sender: Any?) { coordinator.toggleSidebar() } } From d774e53647701501cbeb8b86584ff8bce665304d Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 13 Jun 2025 14:31:15 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=F0=9F=92=A9=20Moves=20viewDidLoad=20func?= =?UTF-8?q?tion=20to=20viewWillAppear?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These functions, when called from viewDidLoad, were resulting in memory errors: error: Trying to put the stack in unreadable memory at: 0x16f0efc00. --- iOS/MainFeed/MainFeedViewController.swift | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/iOS/MainFeed/MainFeedViewController.swift b/iOS/MainFeed/MainFeedViewController.swift index 4fc8afb16..9cf824558 100644 --- a/iOS/MainFeed/MainFeedViewController.swift +++ b/iOS/MainFeed/MainFeedViewController.swift @@ -50,22 +50,17 @@ class MainFeedViewController: UITableViewController, UndoableCommandRunner { override func viewDidLoad() { super.viewDidLoad() - - if traitCollection.userInterfaceIdiom == .phone { - navigationController?.navigationBar.prefersLargeTitles = true - } // If you don't have an empty table header, UIKit tries to help out by putting one in for you // that makes a gap between the first section header and the navigation bar - var frame = CGRect.zero - frame.size.height = .leastNormalMagnitude - tableView.tableHeaderView = UIView(frame: frame) +// var frame = CGRect.zero +// frame.size.height = .leastNormalMagnitude +// tableView.tableHeaderView = UIView(frame: frame) tableView.register(MainFeedTableViewSectionHeader.self, forHeaderFooterViewReuseIdentifier: "SectionHeader") tableView.dragDelegate = self tableView.dropDelegate = self tableView.dragInteractionEnabled = true - resetEstimatedRowHeight() tableView.separatorStyle = .none NotificationCenter.default.addObserver(self, selector: #selector(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil) @@ -85,10 +80,7 @@ class MainFeedViewController: UITableViewController, UndoableCommandRunner { registerForTraitChanges([UITraitPreferredContentSizeCategory.self], target: self, action: #selector(preferredContentSizeCategoryDidChange)) - refreshControl = UIRefreshControl() - refreshControl!.addTarget(self, action: #selector(refreshAccounts(_:)), for: .valueChanged) - - configureToolbar() + becomeFirstResponder() } @@ -96,6 +88,14 @@ class MainFeedViewController: UITableViewController, UndoableCommandRunner { navigationController?.isToolbarHidden = false updateUI() super.viewWillAppear(animated) + + if traitCollection.userInterfaceIdiom == .phone { + navigationController?.navigationBar.prefersLargeTitles = true + } + resetEstimatedRowHeight() + refreshControl = UIRefreshControl() + refreshControl!.addTarget(self, action: #selector(refreshAccounts(_:)), for: .valueChanged) + configureToolbar() } // MARK: Notifications From e201f11410a394f3369745a13af18640a8528a02 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 13 Jun 2025 14:31:51 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=F0=9F=92=84=20Changes=20iOS=20to=20use?= =?UTF-8?q?=20insetGrouped=20for=20Feeds=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NetNewsWire.xcodeproj/project.pbxproj | 10 +++++++++ iOS/Base.lproj/Main.storyboard | 29 ++++++++++++++------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 41dd76ac5..75c4065b9 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -1464,6 +1464,11 @@ baseConfigurationReferenceAnchor = 84719F372DB9C60400EEF332 /* xcconfig */; baseConfigurationReferenceRelativePath = NetNewsWire_iOSapp_target.xcconfig; buildSettings = { + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -1472,6 +1477,11 @@ baseConfigurationReferenceAnchor = 84719F372DB9C60400EEF332 /* xcconfig */; baseConfigurationReferenceRelativePath = NetNewsWire_iOSapp_target.xcconfig; buildSettings = { + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; diff --git a/iOS/Base.lproj/Main.storyboard b/iOS/Base.lproj/Main.storyboard index a33807d8c..97a067f10 100644 --- a/iOS/Base.lproj/Main.storyboard +++ b/iOS/Base.lproj/Main.storyboard @@ -1,8 +1,9 @@ - + - + + @@ -114,7 +115,7 @@ - + @@ -173,19 +174,18 @@ - + - - + - + - + @@ -195,7 +195,8 @@ - + + @@ -246,7 +247,7 @@ - + @@ -254,13 +255,13 @@