diff --git a/Shared/Player/ChapterView.swift b/Shared/Player/ChapterView.swift index b6baca04..3cedeee1 100644 --- a/Shared/Player/ChapterView.swift +++ b/Shared/Player/ChapterView.swift @@ -31,28 +31,19 @@ struct ChapterView: View { } @ViewBuilder func smallImage(_ chapter: Chapter) -> some View { - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: chapter.image) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + WebImage(url: chapter.image) + .resizable() + .placeholder { + ProgressView() } - } else { - WebImage(url: chapter.image) - .resizable() - .placeholder { - ProgressView() - } - .indicator(.activity) - #if os(tvOS) - .frame(width: thumbnailWidth, height: 140) - .mask(RoundedRectangle(cornerRadius: 12)) - #else - .frame(width: thumbnailWidth, height: 60) - .mask(RoundedRectangle(cornerRadius: 6)) - #endif - } + .indicator(.activity) + #if os(tvOS) + .frame(width: thumbnailWidth, height: 140) + .mask(RoundedRectangle(cornerRadius: 12)) + #else + .frame(width: thumbnailWidth, height: 60) + .mask(RoundedRectangle(cornerRadius: 6)) + #endif } private var thumbnailWidth: Double { diff --git a/Shared/Player/Controls/PlayerControls.swift b/Shared/Player/Controls/PlayerControls.swift index c2dba509..5caeec5d 100644 --- a/Shared/Player/Controls/PlayerControls.swift +++ b/Shared/Player/Controls/PlayerControls.swift @@ -221,23 +221,14 @@ struct PlayerControls: View { let video = item.video, let url = thumbnails.best(video) { - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: url) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + WebImage(url: url) + .resizable() + .placeholder { + Rectangle().fill(Color("PlaceholderColor")) } - } else { - WebImage(url: url) - .resizable() - .placeholder { - Rectangle().fill(Color("PlaceholderColor")) - } - .retryOnAppear(true) - .indicator(.activity) - .frame(maxWidth: .infinity, maxHeight: .infinity) - } + .retryOnAppear(true) + .indicator(.activity) + .frame(maxWidth: .infinity, maxHeight: .infinity) } } diff --git a/Shared/Videos/VideoBanner.swift b/Shared/Videos/VideoBanner.swift index 5d938f92..71e0b7d4 100644 --- a/Shared/Videos/VideoBanner.swift +++ b/Shared/Videos/VideoBanner.swift @@ -72,35 +72,20 @@ struct VideoBanner: View { @ViewBuilder private var smallThumbnail: some View { let url = video?.thumbnailURL(quality: .medium) - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: url) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + + WebImage(url: url) + .resizable() + .placeholder { + ProgressView() } - #if os(tvOS) + .indicator(.activity) + #if os(tvOS) .frame(width: thumbnailWidth, height: 140) .mask(RoundedRectangle(cornerRadius: 12)) - #else + #else .frame(width: thumbnailWidth, height: 60) .mask(RoundedRectangle(cornerRadius: 6)) - #endif - } else { - WebImage(url: url) - .resizable() - .placeholder { - ProgressView() - } - .indicator(.activity) - #if os(tvOS) - .frame(width: thumbnailWidth, height: 140) - .mask(RoundedRectangle(cornerRadius: 12)) - #else - .frame(width: thumbnailWidth, height: 60) - .mask(RoundedRectangle(cornerRadius: 6)) - #endif - } + #endif } private var thumbnailWidth: Double { diff --git a/Shared/Videos/VideoCell.swift b/Shared/Videos/VideoCell.swift index 8236f4ea..8b015486 100644 --- a/Shared/Videos/VideoCell.swift +++ b/Shared/Videos/VideoCell.swift @@ -421,32 +421,21 @@ struct VideoCell: View { private var thumbnailImage: some View { Group { let url = thumbnails.best(video) - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: url) { image in - image - .resizable() - } placeholder: { + + WebImage(url: url) + .resizable() + .placeholder { Rectangle().foregroundColor(Color("PlaceholderColor")) } - #if os(tvOS) - .frame(minHeight: 320) - #endif - } else { - WebImage(url: url) - .resizable() - .placeholder { - Rectangle().foregroundColor(Color("PlaceholderColor")) - } - .retryOnAppear(true) - .onFailure { _ in - guard let url = url else { return } - thumbnails.insertUnloadable(url) - } + .retryOnAppear(true) + .onFailure { _ in + guard let url = url else { return } + thumbnails.insertUnloadable(url) + } - #if os(tvOS) - .frame(minHeight: 320) - #endif - } + #if os(tvOS) + .frame(minHeight: 320) + #endif } .mask(RoundedRectangle(cornerRadius: thumbnailRoundingCornerRadius)) .modifier(AspectRatioModifier()) diff --git a/Shared/Views/ChannelCell.swift b/Shared/Views/ChannelCell.swift index 7243ccfb..371a0e91 100644 --- a/Shared/Views/ChannelCell.swift +++ b/Shared/Views/ChannelCell.swift @@ -37,23 +37,15 @@ struct ChannelCell: View { .opacity(0.6) } .foregroundColor(.secondary) - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: channel.thumbnailURL) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + + WebImage(url: channel.thumbnailURL) + .resizable() + .placeholder { + Rectangle().fill(Color("PlaceholderColor")) } - } else { - WebImage(url: channel.thumbnailURL) - .resizable() - .placeholder { - Rectangle().fill(Color("PlaceholderColor")) - } - .indicator(.activity) - .frame(width: 88, height: 88) - .clipShape(Circle()) - } + .indicator(.activity) + .frame(width: 88, height: 88) + .clipShape(Circle()) DetailBadge(text: channel.name, style: .prominent) diff --git a/Shared/Views/ChannelPlaylistCell.swift b/Shared/Views/ChannelPlaylistCell.swift index a442f6a7..211debcc 100644 --- a/Shared/Views/ChannelPlaylistCell.swift +++ b/Shared/Views/ChannelPlaylistCell.swift @@ -37,23 +37,14 @@ struct ChannelPlaylistCell: View { } .foregroundColor(.secondary) - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: playlist.thumbnailURL) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + WebImage(url: playlist.thumbnailURL) + .resizable() + .placeholder { + Rectangle().fill(Color("PlaceholderColor")) } - } else { - WebImage(url: playlist.thumbnailURL) - .resizable() - .placeholder { - Rectangle().fill(Color("PlaceholderColor")) - } - .indicator(.activity) - .frame(width: 165, height: 88) - .clipShape(RoundedRectangle(cornerRadius: 10)) - } + .indicator(.activity) + .frame(width: 165, height: 88) + .clipShape(RoundedRectangle(cornerRadius: 10)) Group { DetailBadge(text: playlist.title, style: .prominent) .lineLimit(2) diff --git a/Shared/Views/ControlsBar.swift b/Shared/Views/ControlsBar.swift index 5ee37a44..f5b49b9a 100644 --- a/Shared/Views/ControlsBar.swift +++ b/Shared/Views/ControlsBar.swift @@ -271,22 +271,13 @@ struct ControlsBar: View { private var authorAvatar: some View { Group { if let video = model.currentItem?.video, let url = video.channel.thumbnailURL { - if #available(iOS 15, macOS 12, *) { - AsyncImage(url: url) { image in - image - .resizable() - } placeholder: { - Rectangle().foregroundColor(Color("PlaceholderColor")) + WebImage(url: url) + .resizable() + .placeholder { + Rectangle().fill(Color("PlaceholderColor")) } - } else { - WebImage(url: url) - .resizable() - .placeholder { - Rectangle().fill(Color("PlaceholderColor")) - } - .retryOnAppear(true) - .indicator(.activity) - } + .retryOnAppear(true) + .indicator(.activity) } else { ZStack { Color(white: 0.6) diff --git a/Yattee.xcodeproj/project.pbxproj b/Yattee.xcodeproj/project.pbxproj index 61cabfc9..6f26f732 100644 --- a/Yattee.xcodeproj/project.pbxproj +++ b/Yattee.xcodeproj/project.pbxproj @@ -68,7 +68,6 @@ 3703205827D2BAE4007A0CB8 /* Siesta in Frameworks */ = {isa = PBXBuildFile; productRef = 3703205727D2BAE4007A0CB8 /* Siesta */; }; 3703205C27D2BAF3007A0CB8 /* SwiftyJSON in Frameworks */ = {isa = PBXBuildFile; productRef = 3703205B27D2BAF3007A0CB8 /* SwiftyJSON */; }; 3703205E27D2BB12007A0CB8 /* SDWebImageWebPCoder in Frameworks */ = {isa = PBXBuildFile; productRef = 3703205D27D2BB12007A0CB8 /* SDWebImageWebPCoder */; }; - 3703206027D2BB16007A0CB8 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 3703205F27D2BB16007A0CB8 /* SDWebImageSwiftUI */; }; 3703206227D2BB1B007A0CB8 /* SDWebImagePINPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 3703206127D2BB1B007A0CB8 /* SDWebImagePINPlugin */; }; 3703206427D2BB30007A0CB8 /* Logging in Frameworks */ = {isa = PBXBuildFile; productRef = 3703206327D2BB30007A0CB8 /* Logging */; }; 3703206627D2BB35007A0CB8 /* PINCache in Frameworks */ = {isa = PBXBuildFile; productRef = 3703206527D2BB35007A0CB8 /* PINCache */; }; @@ -429,6 +428,9 @@ 376CD21726FBE18D001E1AC1 /* Instance+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */; }; 376CD21826FBE18D001E1AC1 /* Instance+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */; }; 376E331228AD3B320070E30C /* ScrollDismissesKeyboard+Backport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376E331128AD3B320070E30C /* ScrollDismissesKeyboard+Backport.swift */; }; + 376FF6CA28CE6D6900260DD6 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 376FF6C928CE6D6900260DD6 /* SDWebImageSwiftUI */; }; + 376FF6CC28CE6D8200260DD6 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 376FF6CB28CE6D8200260DD6 /* SDWebImageSwiftUI */; }; + 376FF6CE28CE6D8B00260DD6 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 376FF6CD28CE6D8B00260DD6 /* SDWebImageSwiftUI */; }; 3772003827E8EEB100CB2475 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3772003227E8EEA100CB2475 /* AudioToolbox.framework */; }; 3772003927E8EEB700CB2475 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3772003427E8EEA100CB2475 /* AVFoundation.framework */; }; 3772003A27E8EEBE00CB2475 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3772003527E8EEA100CB2475 /* CoreMedia.framework */; }; @@ -858,9 +860,7 @@ 37FB28412721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; 37FB28422721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; 37FB28432721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; - 37FB28462722054C00A57617 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB28452722054C00A57617 /* SDWebImageSwiftUI */; }; 37FB2849272207F000A57617 /* SDWebImageWebPCoder in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB2848272207F000A57617 /* SDWebImageWebPCoder */; }; - 37FB284B2722099E00A57617 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB284A2722099E00A57617 /* SDWebImageSwiftUI */; }; 37FB284D2722099E00A57617 /* SDWebImageWebPCoder in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB284C2722099E00A57617 /* SDWebImageWebPCoder */; }; 37FB285427220D8400A57617 /* SDWebImagePINPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB285327220D8400A57617 /* SDWebImagePINPlugin */; }; 37FB285627220D9000A57617 /* SDWebImagePINPlugin in Frameworks */ = {isa = PBXBuildFile; productRef = 37FB285527220D9000A57617 /* SDWebImagePINPlugin */; }; @@ -1362,7 +1362,6 @@ 37C2212127ADA3A600305B41 /* libbz2.tbd in Frameworks */, 37EE6DC528A305AD00BFD632 /* Reachability in Frameworks */, 37C2211F27ADA3A200305B41 /* libz.tbd in Frameworks */, - 37FB284B2722099E00A57617 /* SDWebImageSwiftUI in Frameworks */, 3736A210286BB72300C9E5EE /* libavcodec.xcframework in Frameworks */, 375B8AB128B57F4200397B31 /* KeychainAccess in Frameworks */, 3736A21A286BB72300C9E5EE /* libmpv.xcframework in Frameworks */, @@ -1375,6 +1374,7 @@ 3736A204286BB72300C9E5EE /* libavformat.xcframework in Frameworks */, 3736A1FE286BB72300C9E5EE /* libavdevice.xcframework in Frameworks */, 377FC7D5267A080300A6BBAF /* SwiftyJSON in Frameworks */, + 376FF6CA28CE6D6900260DD6 /* SDWebImageSwiftUI in Frameworks */, 37BD07B92698AB2E003EBB87 /* Siesta in Frameworks */, 37BD07C72698B27B003EBB87 /* Introspect in Frameworks */, 3736A202286BB72300C9E5EE /* libfribidi.xcframework in Frameworks */, @@ -1406,8 +1406,8 @@ 370F4FC927CC16CB001B35DC /* libssl.3.dylib in Frameworks */, 3703206827D2BB45007A0CB8 /* Defaults in Frameworks */, 3703206A27D2BB49007A0CB8 /* Alamofire in Frameworks */, - 3703206027D2BB16007A0CB8 /* SDWebImageSwiftUI in Frameworks */, 370F4FD427CC16CB001B35DC /* libfreetype.6.dylib in Frameworks */, + 376FF6CC28CE6D8200260DD6 /* SDWebImageSwiftUI in Frameworks */, 370F4FE227CC16CB001B35DC /* libXdmcp.6.dylib in Frameworks */, 370F4FDD27CC16CB001B35DC /* liblcms2.2.dylib in Frameworks */, 3703206227D2BB1B007A0CB8 /* SDWebImagePINPlugin in Frameworks */, @@ -1458,6 +1458,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 376FF6CE28CE6D8B00260DD6 /* SDWebImageSwiftUI in Frameworks */, 3772003C27E8EED000CB2475 /* libz.tbd in Frameworks */, 3736A211286BB72300C9E5EE /* libavcodec.xcframework in Frameworks */, 3736A205286BB72300C9E5EE /* libavformat.xcframework in Frameworks */, @@ -1477,7 +1478,6 @@ 372AA412286D06950000B1DC /* Repeat in Frameworks */, 3772003827E8EEB100CB2475 /* AudioToolbox.framework in Frameworks */, 3736A209286BB72300C9E5EE /* libcrypto.xcframework in Frameworks */, - 37FB28462722054C00A57617 /* SDWebImageSwiftUI in Frameworks */, 3736A217286BB72300C9E5EE /* libavfilter.xcframework in Frameworks */, 3736A21B286BB72300C9E5EE /* libmpv.xcframework in Frameworks */, 3765917E27237D2A009F956E /* PINCache in Frameworks */, @@ -2343,7 +2343,6 @@ 37BD07B82698AB2E003EBB87 /* Siesta */, 37BD07C62698B27B003EBB87 /* Introspect */, 37BADCA42699FB72009BE4FB /* Alamofire */, - 37FB284A2722099E00A57617 /* SDWebImageSwiftUI */, 37FB284C2722099E00A57617 /* SDWebImageWebPCoder */, 37FB285527220D9000A57617 /* SDWebImagePINPlugin */, 3765917B27237D21009F956E /* PINCache */, @@ -2353,6 +2352,7 @@ 37EE6DC428A305AD00BFD632 /* Reachability */, 3799AC0828B03CED001376F9 /* ActiveLabel */, 375B8AB028B57F4200397B31 /* KeychainAccess */, + 376FF6C928CE6D6900260DD6 /* SDWebImageSwiftUI */, ); productName = "Yattee (iOS)"; productReference = 37D4B0C92671614900C925CA /* Yattee.app */; @@ -2380,7 +2380,6 @@ 3703205727D2BAE4007A0CB8 /* Siesta */, 3703205B27D2BAF3007A0CB8 /* SwiftyJSON */, 3703205D27D2BB12007A0CB8 /* SDWebImageWebPCoder */, - 3703205F27D2BB16007A0CB8 /* SDWebImageSwiftUI */, 3703206127D2BB1B007A0CB8 /* SDWebImagePINPlugin */, 3703206327D2BB30007A0CB8 /* Logging */, 3703206527D2BB35007A0CB8 /* PINCache */, @@ -2390,6 +2389,7 @@ 37A5DBC5285E06B100CA4DD1 /* SwiftUIPager */, 372AA413286D06A10000B1DC /* Repeat */, 375B8AB628B583BD00397B31 /* KeychainAccess */, + 376FF6CB28CE6D8200260DD6 /* SDWebImageSwiftUI */, ); productName = "Yattee (macOS)"; productReference = 37D4B0CF2671614900C925CA /* Yattee.app */; @@ -2459,7 +2459,6 @@ 372915E32687E33E00F5A35B /* Defaults */, 3797757C268922D100DD52A8 /* Siesta */, 37BADCA8269A570B009BE4FB /* Alamofire */, - 37FB28452722054C00A57617 /* SDWebImageSwiftUI */, 37FB2848272207F000A57617 /* SDWebImageWebPCoder */, 37FB285327220D8400A57617 /* SDWebImagePINPlugin */, 3765917D27237D2A009F956E /* PINCache */, @@ -2467,6 +2466,7 @@ 372AA411286D06950000B1DC /* Repeat */, 37E80F42287B7AAF00561799 /* SwiftUIPager */, 3732BFCF28B83763009F3F4D /* KeychainAccess */, + 376FF6CD28CE6D8B00260DD6 /* SDWebImageSwiftUI */, ); productName = Yattee; productReference = 37D4B158267164AE00C925CA /* Yattee.app */; @@ -2557,7 +2557,6 @@ 3797757B268922D100DD52A8 /* XCRemoteSwiftPackageReference "siesta" */, 37BD07C52698B27B003EBB87 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, 37BADCA32699FB72009BE4FB /* XCRemoteSwiftPackageReference "Alamofire" */, - 37FB28442722054B00A57617 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */, 37FB2847272207F000A57617 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */, 37FB285227220D8400A57617 /* XCRemoteSwiftPackageReference "SDWebImagePINPlugin" */, 3765917827237D07009F956E /* XCRemoteSwiftPackageReference "PINCache" */, @@ -2567,6 +2566,7 @@ 37EE6DC328A305AD00BFD632 /* XCRemoteSwiftPackageReference "Reachability" */, 3799AC0728B03CEC001376F9 /* XCRemoteSwiftPackageReference "ActiveLabel.swift" */, 375B8AAF28B57F4200397B31 /* XCRemoteSwiftPackageReference "KeychainAccess" */, + 376FF6C828CE6D6900260DD6 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */, ); productRefGroup = 37D4B0CA2671614900C925CA /* Products */; projectDirPath = ""; @@ -4434,6 +4434,14 @@ kind = branch; }; }; + 376FF6C828CE6D6900260DD6 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/garrettrayj/SDWebImageSwiftUI.git"; + requirement = { + branch = "ios16-undefined-behavior"; + kind = branch; + }; + }; 3797757B268922D100DD52A8 /* XCRemoteSwiftPackageReference "siesta" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/bustoutsolutions/siesta"; @@ -4506,14 +4514,6 @@ minimumVersion = 5.1.0; }; }; - 37FB28442722054B00A57617 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/SDWebImage/SDWebImageSwiftUI.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 2.0.0; - }; - }; 37FB2847272207F000A57617 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/SDWebImage/SDWebImageWebPCoder.git"; @@ -4548,11 +4548,6 @@ package = 37FB2847272207F000A57617 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */; productName = SDWebImageWebPCoder; }; - 3703205F27D2BB16007A0CB8 /* SDWebImageSwiftUI */ = { - isa = XCSwiftPackageProductDependency; - package = 37FB28442722054B00A57617 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; - productName = SDWebImageSwiftUI; - }; 3703206127D2BB1B007A0CB8 /* SDWebImagePINPlugin */ = { isa = XCSwiftPackageProductDependency; package = 37FB285227220D8400A57617 /* XCRemoteSwiftPackageReference "SDWebImagePINPlugin" */; @@ -4623,6 +4618,21 @@ package = 3765917827237D07009F956E /* XCRemoteSwiftPackageReference "PINCache" */; productName = PINCache; }; + 376FF6C928CE6D6900260DD6 /* SDWebImageSwiftUI */ = { + isa = XCSwiftPackageProductDependency; + package = 376FF6C828CE6D6900260DD6 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; + productName = SDWebImageSwiftUI; + }; + 376FF6CB28CE6D8200260DD6 /* SDWebImageSwiftUI */ = { + isa = XCSwiftPackageProductDependency; + package = 376FF6C828CE6D6900260DD6 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; + productName = SDWebImageSwiftUI; + }; + 376FF6CD28CE6D8B00260DD6 /* SDWebImageSwiftUI */ = { + isa = XCSwiftPackageProductDependency; + package = 376FF6C828CE6D6900260DD6 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; + productName = SDWebImageSwiftUI; + }; 3774127327387E8500423605 /* SwiftyJSON */ = { isa = XCSwiftPackageProductDependency; package = 37D4B19B2671817900C925CA /* XCRemoteSwiftPackageReference "SwiftyJSON" */; @@ -4738,21 +4748,11 @@ package = 37EE6DC328A305AD00BFD632 /* XCRemoteSwiftPackageReference "Reachability" */; productName = Reachability; }; - 37FB28452722054C00A57617 /* SDWebImageSwiftUI */ = { - isa = XCSwiftPackageProductDependency; - package = 37FB28442722054B00A57617 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; - productName = SDWebImageSwiftUI; - }; 37FB2848272207F000A57617 /* SDWebImageWebPCoder */ = { isa = XCSwiftPackageProductDependency; package = 37FB2847272207F000A57617 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */; productName = SDWebImageWebPCoder; }; - 37FB284A2722099E00A57617 /* SDWebImageSwiftUI */ = { - isa = XCSwiftPackageProductDependency; - package = 37FB28442722054B00A57617 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */; - productName = SDWebImageSwiftUI; - }; 37FB284C2722099E00A57617 /* SDWebImageWebPCoder */ = { isa = XCSwiftPackageProductDependency; package = 37FB2847272207F000A57617 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */; diff --git a/Yattee.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Yattee.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 2e728edf..29b0dc22 100644 --- a/Yattee.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Yattee.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -102,10 +102,10 @@ { "identity" : "sdwebimageswiftui", "kind" : "remoteSourceControl", - "location" : "https://github.com/SDWebImage/SDWebImageSwiftUI.git", + "location" : "https://github.com/garrettrayj/SDWebImageSwiftUI.git", "state" : { - "revision" : "cd8625b7cf11a97698e180d28bb7d5d357196678", - "version" : "2.0.2" + "branch" : "ios16-undefined-behavior", + "revision" : "d9feae51080fac94691e4d43b2252de1e0171391" } }, {