Skip to content

Commit 4c0d29a

Browse files
committed
Change visionOS demo to use UIApplicationDelegate to setup codes
1 parent da3b546 commit 4c0d29a

File tree

3 files changed

+45
-22
lines changed

3 files changed

+45
-22
lines changed

Example/SDWebImageSwiftUI.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
327B90F228DC4EBB003E8BD9 /* ViewInspector in Frameworks */ = {isa = PBXBuildFile; productRef = 327B90F128DC4EBB003E8BD9 /* ViewInspector */; };
3636
327B90F428DC4EC0003E8BD9 /* ViewInspector in Frameworks */ = {isa = PBXBuildFile; productRef = 327B90F328DC4EC0003E8BD9 /* ViewInspector */; };
3737
32D5D1652A445B260098BDFC /* RealityKitContent in Frameworks */ = {isa = PBXBuildFile; productRef = 32D5D1642A445B260098BDFC /* RealityKitContent */; };
38-
32D5D1672A445B260098BDFC /* SDWebImageSwiftUIDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D5D1662A445B260098BDFC /* SDWebImageSwiftUIDemo.swift */; };
38+
32D5D1672A445B260098BDFC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D5D1662A445B260098BDFC /* AppDelegate.swift */; };
3939
32D5D16B2A445B260098BDFC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32D5D16A2A445B260098BDFC /* Assets.xcassets */; };
4040
32D5D16E2A445B260098BDFC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32D5D16D2A445B260098BDFC /* Preview Assets.xcassets */; };
4141
32D5D1722A445BF00098BDFC /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 326B0D702345C01900D28269 /* DetailView.swift */; };
@@ -154,7 +154,7 @@
154154
326B0D702345C01900D28269 /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = "<group>"; };
155155
32D5D1602A445B250098BDFC /* SDWebImageSwiftUIDemo-visionOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SDWebImageSwiftUIDemo-visionOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
156156
32D5D1632A445B260098BDFC /* RealityKitContent */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = RealityKitContent; sourceTree = "<group>"; };
157-
32D5D1662A445B260098BDFC /* SDWebImageSwiftUIDemo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SDWebImageSwiftUIDemo.swift; sourceTree = "<group>"; wrapsLines = 0; };
157+
32D5D1662A445B260098BDFC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; wrapsLines = 0; };
158158
32D5D16A2A445B260098BDFC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
159159
32D5D16D2A445B260098BDFC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
160160
32D5D17D2A445DE90098BDFC /* SDWebImage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = SDWebImage; path = ../../SDWebImage; sourceTree = "<group>"; };
@@ -311,7 +311,7 @@
311311
isa = PBXGroup;
312312
children = (
313313
32D5D17F2A4463170098BDFC /* Info.plist */,
314-
32D5D1662A445B260098BDFC /* SDWebImageSwiftUIDemo.swift */,
314+
32D5D1662A445B260098BDFC /* AppDelegate.swift */,
315315
32D5D16A2A445B260098BDFC /* Assets.xcassets */,
316316
32D5D16C2A445B260098BDFC /* Preview Content */,
317317
);
@@ -884,7 +884,7 @@
884884
isa = PBXSourcesBuildPhase;
885885
buildActionMask = 2147483647;
886886
files = (
887-
32D5D1672A445B260098BDFC /* SDWebImageSwiftUIDemo.swift in Sources */,
887+
32D5D1672A445B260098BDFC /* AppDelegate.swift in Sources */,
888888
32D5D1722A445BF00098BDFC /* DetailView.swift in Sources */,
889889
32D5D1732A445BF00098BDFC /* ContentView.swift in Sources */,
890890
);
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* This file is part of the SDWebImage package.
3+
* (c) DreamPiggy <lizhuoli1126@126.com>
4+
*
5+
* For the full copyright and license information, please view the LICENSE
6+
* file that was distributed with this source code.
7+
*/
8+
9+
import SwiftUI
10+
import UIKit
11+
import SDWebImage
12+
13+
// no changes in your AppDelegate class
14+
class AppDelegate: NSObject, UIApplicationDelegate {
15+
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
16+
// Add WebP/SVG/PDF support
17+
SDImageCodersManager.shared.addCoder(SDImageAWebPCoder.shared)
18+
// Dynamic check to support vector format for both WebImage/AnimatedImage
19+
SDWebImageManager.shared.optionsProcessor = SDWebImageOptionsProcessor { url, options, context in
20+
var options = options
21+
if let _ = context?[.animatedImageClass] as? SDAnimatedImage.Type {
22+
// AnimatedImage supports vector rendering, should not force decode
23+
options.insert(.avoidDecodeImage)
24+
}
25+
return SDWebImageOptionsResult(options: options, context: context)
26+
}
27+
return true
28+
}
29+
}
30+
31+
@main
32+
struct SDWebImageSwiftUIDemo: App {
33+
// inject into SwiftUI life-cycle via adaptor
34+
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
35+
36+
var body: some Scene {
37+
WindowGroup {
38+
ContentView()
39+
}
40+
}
41+
}

Example/SDWebImageSwiftUIDemo-visionOS/SDWebImageSwiftUIDemo.swift

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

0 commit comments

Comments
 (0)