[ADD] iOS 13 compatible AsyncImage implementation with cache

This commit is contained in:
Fabian Thies
2022-11-27 00:26:15 +01:00
committed by Joe Mattiello
parent d3e8473f45
commit 0dc7af5e51
8 changed files with 143 additions and 63 deletions

View File

@@ -19,6 +19,9 @@
191E6087290C7B50001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */; };
1920B04F2924AC8300744F60 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 1920B04E2924AC8300744F60 /* Settings.bundle */; };
19B9B7452845E6DF0076EF69 /* SelectTeamViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B9B7442845E6DF0076EF69 /* SelectTeamViewController.swift */; };
1F0DD810293222DF007608A4 /* AsyncImage in Frameworks */ = {isa = PBXBuildFile; productRef = 1F0DD80F293222DF007608A4 /* AsyncImage */; };
1F0DD81329322487007608A4 /* LazyScrollingVStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0DD81229322487007608A4 /* LazyScrollingVStack.swift */; };
1F0DD81C2932D2FF007608A4 /* AppScreenshotsScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0DD81B2932D2FF007608A4 /* AppScreenshotsScrollView.swift */; };
1F6E08DA292806E0005059C0 /* AppRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E08D9292806E0005059C0 /* AppRowView.swift */; };
1F6E08DC292807D3005059C0 /* AppIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E08DB292807D3005059C0 /* AppIconView.swift */; };
1F6E08E029280B12005059C0 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E08DF29280B12005059C0 /* SafariView.swift */; };
@@ -539,6 +542,8 @@
191E5FD7290A6EFB001A3B7C /* minimuxer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = minimuxer.h; path = ../Dependencies/minimuxer/minimuxer.h; sourceTree = "<group>"; };
1920B04E2924AC8300744F60 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = "<group>"; };
19B9B7442845E6DF0076EF69 /* SelectTeamViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectTeamViewController.swift; sourceTree = "<group>"; };
1F0DD81229322487007608A4 /* LazyScrollingVStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyScrollingVStack.swift; sourceTree = "<group>"; };
1F0DD81B2932D2FF007608A4 /* AppScreenshotsScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppScreenshotsScrollView.swift; sourceTree = "<group>"; };
1F6E08D9292806E0005059C0 /* AppRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppRowView.swift; sourceTree = "<group>"; };
1F6E08DB292807D3005059C0 /* AppIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconView.swift; sourceTree = "<group>"; };
1F6E08DF29280B12005059C0 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = "<group>"; };
@@ -979,6 +984,7 @@
D533E8BE2727BBF800A9B5DD /* libcurl.a in Frameworks */,
4879A9622861049C00FC1BBD /* OpenSSL in Frameworks */,
B3C395F4284F35DD00DA9E2F /* Nuke in Frameworks */,
1F0DD810293222DF007608A4 /* AsyncImage in Frameworks */,
BF1614F1250822F100767AEA /* Roxas.framework in Frameworks */,
B3C395F7284F362400DA9E2F /* AppCenterAnalytics in Frameworks */,
BF66EE852501AE50007EE018 /* AltStoreCore.framework in Frameworks */,
@@ -1025,6 +1031,14 @@
path = "libimobiledevice-glue/src";
sourceTree = "<group>";
};
1F0DD81129322472007608A4 /* Layout */ = {
isa = PBXGroup;
children = (
1F0DD81229322487007608A4 /* LazyScrollingVStack.swift */,
);
path = Layout;
sourceTree = "<group>";
};
1F6E08DD29280AF1005059C0 /* View Extensions */ = {
isa = PBXGroup;
children = (
@@ -1090,6 +1104,7 @@
isa = PBXGroup;
children = (
1FB84BA52928DE08006A5CF4 /* AppDetailView.swift */,
1F0DD81B2932D2FF007608A4 /* AppScreenshotsScrollView.swift */,
);
path = "App Detail";
sourceTree = "<group>";
@@ -1130,6 +1145,7 @@
1FB84BA72928E073006A5CF4 /* View Components */ = {
isa = PBXGroup;
children = (
1F0DD81129322472007608A4 /* Layout */,
1F6E08D9292806E0005059C0 /* AppRowView.swift */,
1F6E08DB292807D3005059C0 /* AppIconView.swift */,
1F6E08E529280F4B005059C0 /* RatingStars.swift */,
@@ -2194,6 +2210,7 @@
B3C395F8284F362400DA9E2F /* AppCenterCrashes */,
4879A9612861049C00FC1BBD /* OpenSSL */,
1FB96FB729297C11007E68D1 /* GridStack */,
1F0DD80F293222DF007608A4 /* AsyncImage */,
);
productName = AltStore;
productReference = BFD2476A2284B9A500981D42 /* SideStore.app */;
@@ -2264,11 +2281,9 @@
B3C395FD284F3C0900DA9E2F /* XCRemoteSwiftPackageReference "STPrivilegedTask" */,
4879A95D2861046500FC1BBD /* XCRemoteSwiftPackageReference "AltSign" */,
4879A9602861049C00FC1BBD /* XCRemoteSwiftPackageReference "OpenSSL" */,
<<<<<<< HEAD
99C4EF472978D52400CB538D /* XCRemoteSwiftPackageReference "SemanticVersion" */,
=======
1FB96FB629297C11007E68D1 /* XCRemoteSwiftPackageReference "GridStack" */,
>>>>>>> f1b7033 ([ADD] News, Browse and Settings views ported to SwiftUI)
1F0DD80E293222DF007608A4 /* XCRemoteSwiftPackageReference "AsyncImage" */,
);
productRefGroup = BFD2476B2284B9A500981D42 /* Products */;
projectDirPath = "";
@@ -2665,6 +2680,7 @@
1F943C712927F90400ABE095 /* MyAppsView.swift in Sources */,
BF3BEFC124086A1E00DE7D55 /* RefreshAppOperation.swift in Sources */,
BFE60740231AFD2A002B0E8E /* InsetGroupTableViewCell.swift in Sources */,
1F0DD81329322487007608A4 /* LazyScrollingVStack.swift in Sources */,
BF0DCA662433BDF500E3A595 /* AnalyticsManager.swift in Sources */,
BFCCB51A245E3401001853EA /* VerifyAppOperation.swift in Sources */,
BFF0B6982322CAB8007A79E1 /* InstructionsViewController.swift in Sources */,
@@ -2730,6 +2746,7 @@
BF0C4EBD22A1BD8B009A2DD7 /* AppManager.swift in Sources */,
BF2901312318F7A800D88A45 /* AppBannerView.swift in Sources */,
BFF00D342501BDCF00746320 /* IntentHandler.swift in Sources */,
1F0DD81C2932D2FF007608A4 /* AppScreenshotsScrollView.swift in Sources */,
BFDBBD80246CB84F004ED2F3 /* RemoveAppBackupOperation.swift in Sources */,
1FB96FCF292BBBCA007E68D1 /* SiriShortcutSetupView.swift in Sources */,
BFF0B6942321CB85007A79E1 /* AuthenticationViewController.swift in Sources */,
@@ -3568,6 +3585,14 @@
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
1F0DD80E293222DF007608A4 /* XCRemoteSwiftPackageReference "AsyncImage" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/zzzzeu/AsyncImage";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 0.0.1;
};
};
1FB96FB629297C11007E68D1 /* XCRemoteSwiftPackageReference "GridStack" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/pietropizzi/GridStack";
@@ -3661,6 +3686,11 @@
package = 4879A9602861049C00FC1BBD /* XCRemoteSwiftPackageReference "OpenSSL" */;
productName = OpenSSL;
};
1F0DD80F293222DF007608A4 /* AsyncImage */ = {
isa = XCSwiftPackageProductDependency;
package = 1F0DD80E293222DF007608A4 /* XCRemoteSwiftPackageReference "AsyncImage" */;
productName = AsyncImage;
};
1FB96FB729297C11007E68D1 /* GridStack */ = {
isa = XCSwiftPackageProductDependency;
package = 1FB96FB629297C11007E68D1 /* XCRemoteSwiftPackageReference "GridStack" */;

View File

@@ -18,6 +18,15 @@
"version" : "4.4.2"
}
},
{
"identity" : "asyncimage",
"kind" : "remoteSourceControl",
"location" : "https://github.com/zzzzeu/AsyncImage",
"state" : {
"revision" : "854d01f6bb9550f4aeee8959ab5b67d7d7775f02",
"version" : "0.0.1"
}
},
{
"identity" : "gridstack",
"kind" : "remoteSourceControl",