Skip to content

Commit 690406f

Browse files
authored
Merge pull request #86 from essentialdevelopercom/xcode26
Update to Xcode 26.0 / iOS 26.0
2 parents 871b415 + e3f8120 commit 690406f

33 files changed

+42
-32
lines changed

.github/workflows/CI-iOS.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
# This workflow contains a single job called "build-and-test"
1313
build-and-test:
1414
# The type of runner that the job will run on
15-
runs-on: macos-15-xlarge
15+
runs-on: macos-26-xlarge
1616

1717
timeout-minutes: 8
1818

@@ -22,10 +22,10 @@ jobs:
2222
- uses: actions/checkout@v4
2323

2424
- name: Select Xcode
25-
run: sudo xcode-select -switch /Applications/Xcode_16.2.app
25+
run: sudo xcode-select -switch /Applications/Xcode_26.0.app
2626

2727
- name: Xcode version
2828
run: /usr/bin/xcodebuild -version
2929

3030
- name: Build and Test
31-
run: xcodebuild clean build test -workspace EssentialApp/EssentialApp.xcworkspace -scheme "CI_iOS" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 16 Pro,OS=18.2" ONLY_ACTIVE_ARCH=YES
31+
run: xcodebuild clean build test -workspace EssentialApp/EssentialApp.xcworkspace -scheme "CI_iOS" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 17 Pro,OS=26.0" ONLY_ACTIVE_ARCH=YES

.github/workflows/CI-macOS.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
# This workflow contains a single job called "build-and-test"
1313
build-and-test:
1414
# The type of runner that the job will run on
15-
runs-on: macos-15
15+
runs-on: macos-26
1616

1717
timeout-minutes: 8
1818

@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@v4
2323

2424
- name: Select Xcode
25-
run: sudo xcode-select -switch /Applications/Xcode_16.2.app
25+
run: sudo xcode-select -switch /Applications/Xcode_26.0.app
2626

2727
- name: Xcode version
2828
run: /usr/bin/xcodebuild -version

.github/workflows/Deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
# This workflow contains a single job called "build-and-deploy"
1313
build-and-deploy:
1414
# The type of runner that the job will run on
15-
runs-on: macos-15
15+
runs-on: macos-26
1616

1717
# Steps represent a sequence of tasks that will be executed as part of the job
1818
steps:
@@ -36,7 +36,7 @@ jobs:
3636
security set-key-partition-list -S apple-tool:,apple: -s -k "" ~/Library/Keychains/build.keychain
3737
3838
- name: Select Xcode
39-
run: sudo xcode-select -switch /Applications/Xcode_16.2.app
39+
run: sudo xcode-select -switch /Applications/Xcode_26.0.app
4040

4141
- name: Xcode version
4242
run: /usr/bin/xcodebuild -version

EssentialApp/EssentialApp.xcodeproj/project.pbxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@
248248
attributes = {
249249
BuildIndependentTargetsInParallel = YES;
250250
LastSwiftUpdateCheck = 1120;
251-
LastUpgradeCheck = 1620;
251+
LastUpgradeCheck = 2600;
252252
ORGANIZATIONNAME = "Essential Developer";
253253
TargetAttributes = {
254254
0895DA82234B3B950031BB2D = {
@@ -420,7 +420,7 @@
420420
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
421421
GCC_WARN_UNUSED_FUNCTION = YES;
422422
GCC_WARN_UNUSED_VARIABLE = YES;
423-
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
423+
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
424424
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
425425
MTL_FAST_MATH = YES;
426426
ONLY_ACTIVE_ARCH = YES;
@@ -479,7 +479,7 @@
479479
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
480480
GCC_WARN_UNUSED_FUNCTION = YES;
481481
GCC_WARN_UNUSED_VARIABLE = YES;
482-
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
482+
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
483483
MTL_ENABLE_DEBUG_INFO = NO;
484484
MTL_FAST_MATH = YES;
485485
SDKROOT = iphoneos;

EssentialApp/EssentialApp.xcworkspace/xcshareddata/xcschemes/CI_iOS.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1620"
3+
LastUpgradeVersion = "2600"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

EssentialApp/EssentialApp.xcworkspace/xcshareddata/xcschemes/EssentialApp.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1620"
3+
LastUpgradeVersion = "2600"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

EssentialApp/EssentialAppTests/FeedAcceptanceTests.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ class FeedAcceptanceTests: XCTestCase {
3737
func test_onLaunch_displaysCachedRemoteFeedWhenCustomerHasNoConnectivity() throws {
3838
let sharedStore = try CoreDataFeedStore.empty
3939

40-
let onlineFeed = launch(httpClient: .online(response), store: sharedStore)
40+
let onlineFeed = try launch(httpClient: .online(response), store: sharedStore)
4141
onlineFeed.simulateFeedImageViewVisible(at: 0)
4242
onlineFeed.simulateFeedImageViewVisible(at: 1)
4343
onlineFeed.simulateLoadMoreFeedAction()
4444
onlineFeed.simulateFeedImageViewVisible(at: 2)
4545

46-
let offlineFeed = launch(httpClient: .offline, store: sharedStore)
46+
let offlineFeed = try launch(httpClient: .offline, store: sharedStore)
4747

4848
XCTAssertEqual(offlineFeed.numberOfRenderedFeedImageViews(), 3)
4949
XCTAssertEqual(offlineFeed.renderedFeedImageData(at: 0), makeImageData0())
@@ -85,9 +85,11 @@ class FeedAcceptanceTests: XCTestCase {
8585
private func launch(
8686
httpClient: HTTPClientStub = .offline,
8787
store: CoreDataFeedStore
88-
) -> ListViewController {
88+
) throws -> ListViewController {
8989
let sut = SceneDelegate(httpClient: httpClient, store: store)
90-
sut.window = UIWindow(frame: CGRect(x: 0, y: 0, width: 390, height: 1))
90+
let dummyScene = try XCTUnwrap((UIWindowScene.self as NSObject.Type).init() as? UIWindowScene)
91+
sut.window = UIWindow(windowScene: dummyScene)
92+
sut.window?.frame = CGRect(x: 0, y: 0, width: 390, height: 1)
9193
sut.configureWindow()
9294

9395
let nav = sut.window?.rootViewController as? UINavigationController

EssentialApp/EssentialAppTests/SceneDelegateTests.swift

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@ import EssentialFeediOS
88

99
class SceneDelegateTests: XCTestCase {
1010

11-
func test_configureWindow_setsWindowAsKeyAndVisible() {
12-
let window = UIWindowSpy()
11+
func test_configureWindow_setsWindowAsKeyAndVisible() throws {
1312
let sut = SceneDelegate()
13+
14+
let window = try UIWindowSpy.make()
1415
sut.window = window
1516

1617
sut.configureWindow()
1718

1819
XCTAssertEqual(window.makeKeyAndVisibleCallCount, 1, "Expected to make window key and visible")
1920
}
2021

21-
func test_configureWindow_configuresRootViewController() {
22+
func test_configureWindow_configuresRootViewController() throws {
2223
let sut = SceneDelegate()
23-
sut.window = UIWindowSpy()
24-
24+
sut.window = try UIWindowSpy.make()
25+
2526
sut.configureWindow()
2627

2728
let root = sut.window?.rootViewController
@@ -35,6 +36,11 @@ class SceneDelegateTests: XCTestCase {
3536
private class UIWindowSpy: UIWindow {
3637
var makeKeyAndVisibleCallCount = 0
3738

39+
static func make() throws -> UIWindowSpy {
40+
let dummyScene = try XCTUnwrap((UIWindowScene.self as NSObject.Type).init() as? UIWindowScene)
41+
return UIWindowSpy(windowScene: dummyScene)
42+
}
43+
3844
override func makeKeyAndVisible() {
3945
makeKeyAndVisibleCallCount += 1
4046
}

EssentialFeed/EssentialFeed.xcodeproj/project.pbxproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,7 +1054,7 @@
10541054
attributes = {
10551055
BuildIndependentTargetsInParallel = YES;
10561056
LastSwiftUpdateCheck = 1020;
1057-
LastUpgradeCheck = 1620;
1057+
LastUpgradeCheck = 2600;
10581058
ORGANIZATIONNAME = "Essential Developer";
10591059
TargetAttributes = {
10601060
080EDEF021B6DA7E00813479 = {
@@ -1438,8 +1438,8 @@
14381438
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
14391439
GCC_WARN_UNUSED_FUNCTION = YES;
14401440
GCC_WARN_UNUSED_VARIABLE = YES;
1441-
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
1442-
MACOSX_DEPLOYMENT_TARGET = 13.0;
1441+
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
1442+
MACOSX_DEPLOYMENT_TARGET = 26.0;
14431443
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
14441444
MTL_FAST_MATH = YES;
14451445
ONLY_ACTIVE_ARCH = YES;
@@ -1503,8 +1503,8 @@
15031503
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
15041504
GCC_WARN_UNUSED_FUNCTION = YES;
15051505
GCC_WARN_UNUSED_VARIABLE = YES;
1506-
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
1507-
MACOSX_DEPLOYMENT_TARGET = 13.0;
1506+
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
1507+
MACOSX_DEPLOYMENT_TARGET = 26.0;
15081508
MTL_ENABLE_DEBUG_INFO = NO;
15091509
MTL_FAST_MATH = YES;
15101510
SDKROOT = macosx;

EssentialFeed/EssentialFeed.xcodeproj/xcshareddata/xcschemes/CI_macOS.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1620"
3+
LastUpgradeVersion = "2600"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

0 commit comments

Comments
 (0)