Skip to content

Commit 706a0da

Browse files
authored
Merge pull request #95 from essentialdevelopercom/swift-concurrency
Migrate to Swift 6 + Swift Concurrency
2 parents a1b9435 + 32022fd commit 706a0da

14 files changed

Lines changed: 203 additions & 525 deletions

File tree

EssentialApp/EssentialApp.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
082C00042359E46C008927D3 /* XCTestCase+MemoryLeakTracking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082C00032359E46C008927D3 /* XCTestCase+MemoryLeakTracking.swift */; };
2525
082C00062359E4C6008927D3 /* SharedTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082C00052359E4C6008927D3 /* SharedTestHelpers.swift */; };
2626
0832C9D0238D2811002314C9 /* SceneDelegateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0832C9CF238D2811002314C9 /* SceneDelegateTests.swift */; };
27-
0835BF6D24850F9800A793D2 /* CombineHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0835BF6C24850F9800A793D2 /* CombineHelpers.swift */; };
2827
08367CD82486FB51009CD536 /* UIView+TestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08367CD72486FB51009CD536 /* UIView+TestHelpers.swift */; };
2928
084BE5342EB38EC5006886E9 /* LoaderSpy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 084BE5332EB38EC5006886E9 /* LoaderSpy.swift */; };
3029
0851CDAC239AB13100C19B1D /* HTTPClientStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0851CDAB239AB13100C19B1D /* HTTPClientStub.swift */; };
@@ -38,6 +37,7 @@
3837
0895DAAC234B3F7E0031BB2D /* EssentialFeed.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0895DAA9234B3F7E0031BB2D /* EssentialFeed.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3938
0895DAAD234B3F7E0031BB2D /* EssentialFeediOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0895DAAA234B3F7E0031BB2D /* EssentialFeediOS.framework */; };
4039
0895DAAE234B3F7E0031BB2D /* EssentialFeediOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0895DAAA234B3F7E0031BB2D /* EssentialFeediOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
40+
08CD096A2EE6DB0600C2E75A /* FeedService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CD09692EE6DB0600C2E75A /* FeedService.swift */; };
4141
/* End PBXBuildFile section */
4242

4343
/* Begin PBXContainerItemProxy section */
@@ -83,7 +83,6 @@
8383
082C00032359E46C008927D3 /* XCTestCase+MemoryLeakTracking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTestCase+MemoryLeakTracking.swift"; sourceTree = "<group>"; };
8484
082C00052359E4C6008927D3 /* SharedTestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedTestHelpers.swift; sourceTree = "<group>"; };
8585
0832C9CF238D2811002314C9 /* SceneDelegateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegateTests.swift; sourceTree = "<group>"; };
86-
0835BF6C24850F9800A793D2 /* CombineHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CombineHelpers.swift; sourceTree = "<group>"; };
8786
08367CD72486FB51009CD536 /* UIView+TestHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+TestHelpers.swift"; sourceTree = "<group>"; };
8887
084BE5332EB38EC5006886E9 /* LoaderSpy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoaderSpy.swift; sourceTree = "<group>"; };
8988
0851CDAB239AB13100C19B1D /* HTTPClientStub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTTPClientStub.swift; sourceTree = "<group>"; };
@@ -102,6 +101,7 @@
102101
08B5033725346BAC003FF218 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
103102
08B5033925346BE1003FF218 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
104103
08B5033B25346BFE003FF218 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
104+
08CD09692EE6DB0600C2E75A /* FeedService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedService.swift; sourceTree = "<group>"; };
105105
/* End PBXFileReference section */
106106

107107
/* Begin PBXFrameworksBuildPhase section */
@@ -169,7 +169,7 @@
169169
children = (
170170
0895DA86234B3B950031BB2D /* AppDelegate.swift */,
171171
0895DA88234B3B950031BB2D /* SceneDelegate.swift */,
172-
0835BF6C24850F9800A793D2 /* CombineHelpers.swift */,
172+
08CD09692EE6DB0600C2E75A /* FeedService.swift */,
173173
08073B42238D2DF900A75DC6 /* FeedUIComposer.swift */,
174174
088B441B25309B6E00D75AAD /* CommentsUIComposer.swift */,
175175
08073B40238D2DF900A75DC6 /* WeakRefVirtualProxy.swift */,
@@ -310,12 +310,12 @@
310310
buildActionMask = 2147483647;
311311
files = (
312312
08073B44238D2DFA00A75DC6 /* FeedUIComposer.swift in Sources */,
313+
08CD096A2EE6DB0600C2E75A /* FeedService.swift in Sources */,
313314
0895DA87234B3B950031BB2D /* AppDelegate.swift in Sources */,
314315
08073B45238D2DFA00A75DC6 /* LoadResourcePresentationAdapter.swift in Sources */,
315316
08073B48238D2DFA00A75DC6 /* WeakRefVirtualProxy.swift in Sources */,
316317
0895DA89234B3B950031BB2D /* SceneDelegate.swift in Sources */,
317318
08073B49238D2DFA00A75DC6 /* FeedViewAdapter.swift in Sources */,
318-
0835BF6D24850F9800A793D2 /* CombineHelpers.swift in Sources */,
319319
088B441C25309B6E00D75AAD /* CommentsUIComposer.swift in Sources */,
320320
);
321321
runOnlyForDeploymentPostprocessing = 0;
@@ -514,7 +514,7 @@
514514
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
515515
SWIFT_APPROACHABLE_CONCURRENCY = YES;
516516
SWIFT_STRICT_CONCURRENCY = complete;
517-
SWIFT_VERSION = 5.0;
517+
SWIFT_VERSION = 6.0;
518518
TARGETED_DEVICE_FAMILY = 1;
519519
};
520520
name = Debug;
@@ -540,7 +540,7 @@
540540
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
541541
SWIFT_APPROACHABLE_CONCURRENCY = YES;
542542
SWIFT_STRICT_CONCURRENCY = complete;
543-
SWIFT_VERSION = 5.0;
543+
SWIFT_VERSION = 6.0;
544544
TARGETED_DEVICE_FAMILY = 1;
545545
};
546546
name = Release;
@@ -567,7 +567,7 @@
567567
SWIFT_APPROACHABLE_CONCURRENCY = YES;
568568
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
569569
SWIFT_STRICT_CONCURRENCY = complete;
570-
SWIFT_VERSION = 5.0;
570+
SWIFT_VERSION = 6.0;
571571
TARGETED_DEVICE_FAMILY = 1;
572572
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EssentialApp.app/EssentialApp";
573573
};
@@ -594,7 +594,7 @@
594594
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
595595
SWIFT_APPROACHABLE_CONCURRENCY = YES;
596596
SWIFT_STRICT_CONCURRENCY = complete;
597-
SWIFT_VERSION = 5.0;
597+
SWIFT_VERSION = 6.0;
598598
TARGETED_DEVICE_FAMILY = 1;
599599
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EssentialApp.app/EssentialApp";
600600
};

EssentialApp/EssentialApp/AppDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44

55
import UIKit
66

7-
@UIApplicationMain
7+
@main
88
class AppDelegate: UIResponder, UIApplicationDelegate {}

EssentialApp/EssentialApp/CombineHelpers.swift

Lines changed: 0 additions & 284 deletions
This file was deleted.

EssentialApp/EssentialApp/CommentsUIComposer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import EssentialFeediOS
1010
public final class CommentsUIComposer {
1111
private init() {}
1212

13-
private typealias CommentsPresentationAdapter = AsyncLoadResourcePresentationAdapter<[ImageComment], CommentsViewAdapter>
13+
private typealias CommentsPresentationAdapter = LoadResourcePresentationAdapter<[ImageComment], CommentsViewAdapter>
1414

1515
public static func commentsComposedWith(
1616
commentsLoader: @escaping () async throws -> [ImageComment]

0 commit comments

Comments
 (0)