Added visionOS official Demo and update Podfile

Copy the code from SwiftUI repo currently, will merge these two repo in 6.x
This commit is contained in:
DreamPiggy 2024-02-13 10:45:29 +08:00
parent 8b836d565c
commit 62e3491eb3
25 changed files with 1450 additions and 29 deletions

View File

@ -0,0 +1,11 @@
{
"pathsToIds" : {
"\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/GridMaterial.usda" : "440DE5B4-E4E4-459B-AABF-9ACE96319272",
"\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/procedural_sphere_grid.usda" : "34C460AE-CA1B-4348-BD05-621ACBDFFE97",
"\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Scene.usda" : "0A9B4653-B11E-4D6A-850E-C6FCB621626C",
"\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Untitled Scene.usda" : "03E02005-EFA6-48D6-8A76-05B2822A74E9",
"RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/GridMaterial.usda" : "FBD8436F-6B8B-4B82-99B5-995D538B4704",
"RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/procedural_sphere_grid.usda" : "1CBF3893-ABFD-408C-8B91-045BFD257808",
"RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Scene.usda" : "26DBAE76-5DD8-47B6-A085-1B4ADA111097"
}
}

View File

@ -0,0 +1,209 @@
{
"0A9B4653-B11E-4D6A-850E-C6FCB621626C" : {
"cameraTransform" : [
0.9807314,
-1.9820146e-10,
-0.195361,
0,
-0.10051192,
0.85749435,
-0.5045798,
0,
0.16752096,
0.51449335,
0.84097165,
0,
0.09084191,
0.05849296,
0.13903293,
1
],
"objectMetadataList" : [
[
"0A9B4653-B11E-4D6A-850E-C6FCB621626C",
"Root"
],
{
"isExpanded" : true,
"isLocked" : false
},
[
"0A9B4653-B11E-4D6A-850E-C6FCB621626C",
"Root",
"GridMaterial"
],
{
"isExpanded" : true,
"isLocked" : false
},
[
"0A9B4653-B11E-4D6A-850E-C6FCB621626C",
"Root",
"Sphere"
],
{
"isExpanded" : true,
"isLocked" : false
}
]
},
"1CBF3893-ABFD-408C-8B91-045BFD257808" : {
"cameraTransform" : [
0.99999994,
0,
-0,
0,
-0,
0.8660255,
-0.49999988,
0,
0,
0.49999988,
0.8660255,
0,
0,
0.27093542,
0.46927398,
1
],
"objectMetadataList" : [
]
},
"03E02005-EFA6-48D6-8A76-05B2822A74E9" : {
"cameraTransform" : [
0.99999994,
0,
-0,
0,
-0,
0.8660254,
-0.49999994,
0,
0,
0.49999994,
0.8660254,
0,
0,
0.5981957,
1.0361054,
1
],
"objectMetadataList" : [
]
},
"26DBAE76-5DD8-47B6-A085-1B4ADA111097" : {
"cameraTransform" : [
1,
0,
-0,
0,
-0,
0.7071069,
-0.7071067,
0,
0,
0.7071067,
0.7071069,
0,
0,
0.2681068,
0.26850593,
1
],
"objectMetadataList" : [
[
"26DBAE76-5DD8-47B6-A085-1B4ADA111097",
"Root"
],
{
"isExpanded" : true,
"isLocked" : false
}
]
},
"34C460AE-CA1B-4348-BD05-621ACBDFFE97" : {
"cameraTransform" : [
0.99999994,
0,
-0,
0,
-0,
0.8660255,
-0.49999988,
0,
0,
0.49999988,
0.8660255,
0,
0,
0.27093542,
0.46927398,
1
],
"objectMetadataList" : [
]
},
"440DE5B4-E4E4-459B-AABF-9ACE96319272" : {
"cameraTransform" : [
0.99999994,
0,
-0,
0,
-0,
0.8660254,
-0.49999994,
0,
0,
0.49999994,
0.8660254,
0,
0,
0.5981957,
1.0361054,
1
],
"objectMetadataList" : [
[
"440DE5B4-E4E4-459B-AABF-9ACE96319272",
"Root"
],
{
"isExpanded" : true,
"isLocked" : false
}
]
},
"FBD8436F-6B8B-4B82-99B5-995D538B4704" : {
"cameraTransform" : [
0.99999994,
0,
-0,
0,
-0,
0.8660254,
-0.49999994,
0,
0,
0.49999994,
0.8660254,
0,
0,
0.5981957,
1.0361054,
1
],
"objectMetadataList" : [
[
"FBD8436F-6B8B-4B82-99B5-995D538B4704",
"Root"
],
{
"isExpanded" : true,
"isLocked" : false
}
]
}
}

View File

@ -0,0 +1,17 @@
{
"cameraPresets" : {
},
"secondaryToolbarData" : {
"isGridVisible" : true,
"sceneReverbPreset" : -1
},
"unitDefaults" : {
"°" : "°",
"kg" : "g",
"m" : "cm",
"m\/s" : "m\/s",
"m\/s²" : "m\/s²",
"s" : "s"
}
}

View File

@ -0,0 +1,25 @@
// swift-tools-version:5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "RealityKitContent",
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "RealityKitContent",
targets: ["RealityKitContent"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "RealityKitContent",
dependencies: []),
]
)

View File

@ -0,0 +1,3 @@
# RealityKitContent
A description of this package.

View File

@ -0,0 +1,216 @@
#usda 1.0
(
defaultPrim = "Root"
metersPerUnit = 1
upAxis = "Y"
)
def Xform "Root"
{
def Material "GridMaterial"
{
reorder nameChildren = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "DefaultSurfaceShader", "MaterialXPreviewSurface", "Texcoord", "Add", "Multiply", "Fractional", "LineCounts", "Multiply_1", "Separate2", "Separate2_1", "Ifgreater", "Ifgreater_1", "Max", "Background_Color"]
token outputs:mtlx:surface.connect = </Root/GridMaterial/MaterialXPreviewSurface.outputs:out>
token outputs:realitykit:vertex
token outputs:surface
float2 ui:nodegraph:realitykit:subgraphOutputs:pos = (2222, 300.5)
float2 ui:nodegraph:realitykit:subgraphOutputs:size = (182, 89)
int ui:nodegraph:realitykit:subgraphOutputs:stackingOrder = 749
def Shader "DefaultSurfaceShader"
{
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (1, 1, 1)
float inputs:roughness = 0.75
token outputs:surface
}
def Shader "MaterialXPreviewSurface"
{
uniform token info:id = "ND_UsdPreviewSurface_surfaceshader"
float inputs:clearcoat
float inputs:clearcoatRoughness
color3f inputs:diffuseColor.connect = </Root/GridMaterial/Remap.outputs:out>
color3f inputs:emissiveColor
float inputs:ior
float inputs:metallic = 0.15
float3 inputs:normal
float inputs:occlusion
float inputs:opacity
float inputs:opacityThreshold
float inputs:roughness = 0.5
token outputs:out
float2 ui:nodegraph:node:pos = (1967, 300.5)
float2 ui:nodegraph:node:size = (208, 297)
int ui:nodegraph:node:stackingOrder = 870
string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["Advanced"]
}
def Shader "Texcoord"
{
uniform token info:id = "ND_texcoord_vector2"
float2 outputs:out
float2 ui:nodegraph:node:pos = (94.14453, 35.29297)
float2 ui:nodegraph:node:size = (182, 43)
int ui:nodegraph:node:stackingOrder = 1358
}
def Shader "Multiply"
{
uniform token info:id = "ND_multiply_vector2"
float2 inputs:in1.connect = </Root/GridMaterial/Texcoord.outputs:out>
float2 inputs:in2 = (32, 15)
float2 inputs:in2.connect = </Root/GridMaterial/LineCounts.outputs:out>
float2 outputs:out
float2 ui:nodegraph:node:pos = (275.64453, 47.29297)
float2 ui:nodegraph:node:size = (61, 36)
int ui:nodegraph:node:stackingOrder = 1348
string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["inputs:in2"]
}
def Shader "Fractional"
{
uniform token info:id = "ND_realitykit_fractional_vector2"
float2 inputs:in.connect = </Root/GridMaterial/Multiply.outputs:out>
float2 outputs:out
float2 ui:nodegraph:node:pos = (440.5, 49.5)
float2 ui:nodegraph:node:size = (155, 99)
int ui:nodegraph:node:stackingOrder = 1345
}
def Shader "BaseColor"
{
uniform token info:id = "ND_constant_color3"
color3f inputs:value = (0.89737034, 0.89737034, 0.89737034) (
colorSpace = "Input - Texture - sRGB - sRGB"
)
color3f inputs:value.connect = None
color3f outputs:out
float2 ui:nodegraph:node:pos = (1537.5977, 363.07812)
float2 ui:nodegraph:node:size = (150, 43)
int ui:nodegraph:node:stackingOrder = 1353
}
def Shader "LineColor"
{
uniform token info:id = "ND_constant_color3"
color3f inputs:value = (0.55945957, 0.55945957, 0.55945957) (
colorSpace = "Input - Texture - sRGB - sRGB"
)
color3f inputs:value.connect = None
color3f outputs:out
float2 ui:nodegraph:node:pos = (1536.9844, 287.86328)
float2 ui:nodegraph:node:size = (146, 43)
int ui:nodegraph:node:stackingOrder = 1355
}
def Shader "LineWidths"
{
uniform token info:id = "ND_combine2_vector2"
float inputs:in1 = 0.1
float inputs:in2 = 0.1
float2 outputs:out
float2 ui:nodegraph:node:pos = (443.64453, 233.79297)
float2 ui:nodegraph:node:size = (151, 43)
int ui:nodegraph:node:stackingOrder = 1361
}
def Shader "LineCounts"
{
uniform token info:id = "ND_combine2_vector2"
float inputs:in1 = 24
float inputs:in2 = 12
float2 outputs:out
float2 ui:nodegraph:node:pos = (94.14453, 138.29297)
float2 ui:nodegraph:node:size = (153, 43)
int ui:nodegraph:node:stackingOrder = 1359
}
def Shader "Remap"
{
uniform token info:id = "ND_remap_color3"
color3f inputs:in.connect = </Root/GridMaterial/Combine3.outputs:out>
color3f inputs:inhigh.connect = None
color3f inputs:inlow.connect = None
color3f inputs:outhigh.connect = </Root/GridMaterial/BaseColor.outputs:out>
color3f inputs:outlow.connect = </Root/GridMaterial/LineColor.outputs:out>
color3f outputs:out
float2 ui:nodegraph:node:pos = (1755.5, 300.5)
float2 ui:nodegraph:node:size = (95, 171)
int ui:nodegraph:node:stackingOrder = 1282
string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["inputs:outlow"]
}
def Shader "Separate2"
{
uniform token info:id = "ND_separate2_vector2"
float2 inputs:in.connect = </Root/GridMaterial/Range.outputs:out>
float outputs:outx
float outputs:outy
float2 ui:nodegraph:node:pos = (1212.6445, 128.91797)
float2 ui:nodegraph:node:size = (116, 117)
int ui:nodegraph:node:stackingOrder = 1363
}
def Shader "Combine3"
{
uniform token info:id = "ND_combine3_color3"
float inputs:in1.connect = </Root/GridMaterial/Min.outputs:out>
float inputs:in2.connect = </Root/GridMaterial/Min.outputs:out>
float inputs:in3.connect = </Root/GridMaterial/Min.outputs:out>
color3f outputs:out
float2 ui:nodegraph:node:pos = (1578.1445, 128.91797)
float2 ui:nodegraph:node:size = (146, 54)
int ui:nodegraph:node:stackingOrder = 1348
}
def Shader "Range"
{
uniform token info:id = "ND_range_vector2"
bool inputs:doclamp = 1
float2 inputs:gamma = (2, 2)
float2 inputs:in.connect = </Root/GridMaterial/Absval.outputs:out>
float2 inputs:inhigh.connect = </Root/GridMaterial/LineWidths.outputs:out>
float2 inputs:inlow = (0.02, 0.02)
float2 inputs:outhigh
float2 inputs:outlow
float2 outputs:out
float2 ui:nodegraph:node:pos = (990.64453, 128.91797)
float2 ui:nodegraph:node:size = (98, 207)
int ui:nodegraph:node:stackingOrder = 1364
}
def Shader "Subtract"
{
uniform token info:id = "ND_subtract_vector2"
float2 inputs:in1.connect = </Root/GridMaterial/Fractional.outputs:out>
float2 inputs:in2.connect = </Root/GridMaterial/LineWidths.outputs:out>
float2 outputs:out
float2 ui:nodegraph:node:pos = (612.64453, 87.04297)
float2 ui:nodegraph:node:size = (63, 36)
int ui:nodegraph:node:stackingOrder = 1348
}
def Shader "Absval"
{
uniform token info:id = "ND_absval_vector2"
float2 inputs:in.connect = </Root/GridMaterial/Subtract.outputs:out>
float2 outputs:out
float2 ui:nodegraph:node:pos = (765.64453, 87.04297)
float2 ui:nodegraph:node:size = (123, 43)
int ui:nodegraph:node:stackingOrder = 1348
}
def Shader "Min"
{
uniform token info:id = "ND_min_float"
float inputs:in1.connect = </Root/GridMaterial/Separate2.outputs:outx>
float inputs:in2.connect = </Root/GridMaterial/Separate2.outputs:outy>
float outputs:out
float2 ui:nodegraph:node:pos = (1388.1445, 128.91797)
float2 ui:nodegraph:node:size = (114, 36)
int ui:nodegraph:node:stackingOrder = 1363
}
}
}

View File

@ -0,0 +1,59 @@
#usda 1.0
(
defaultPrim = "Root"
metersPerUnit = 1
upAxis = "Y"
)
def Xform "Root"
{
reorder nameChildren = ["GridMaterial", "Sphere"]
rel material:binding = None (
bindMaterialAs = "weakerThanDescendants"
)
def Sphere "Sphere" (
active = true
prepend apiSchemas = ["MaterialBindingAPI"]
)
{
rel material:binding = </Root/GridMaterial/GridMaterial> (
bindMaterialAs = "weakerThanDescendants"
)
double radius = 0.05
quatf xformOp:orient = (1, 0, 0, 0)
float3 xformOp:scale = (1, 1, 1)
float3 xformOp:translate = (0, 0, 0.0004)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
def RealityKitComponent "Collider"
{
uint group = 1
uniform token info:id = "RealityKit.Collider"
uint mask = 4294967295
token type = "Default"
def RealityKitStruct "Shape"
{
float3 extent = (0.2, 0.2, 0.2)
float radius = 0.05
token shapeType = "Sphere"
}
}
def RealityKitComponent "InputTarget"
{
uniform token info:id = "RealityKit.InputTarget"
}
}
def "GridMaterial" (
active = true
prepend references = @Materials/GridMaterial.usda@
)
{
float3 xformOp:scale = (1, 1, 1)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
}
}

View File

@ -0,0 +1,4 @@
import Foundation
/// Bundle for the RealityKitContent project
public let realityKitContentBundle = Bundle.module

View File

@ -3,22 +3,27 @@
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1D5A31B07A58D36C88572B7D /* libPods-SDWebImage OSX Demo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 129E7CBFA2E17F5D90DE5704 /* libPods-SDWebImage OSX Demo.a */; };
1F83F96D4CB2121D57C1A513 /* libPods-SDWebImage Watch Demo Extension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DE422B30B41E78007E1A571 /* libPods-SDWebImage Watch Demo Extension.a */; };
022828CA975463BEC08FDA2D /* Pods_SDWebImage_iOS_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7527DE20028C49345CF3C72F /* Pods_SDWebImage_iOS_Demo.framework */; };
3220E2732B7B0755005F83A5 /* RealityKitContent in Frameworks */ = {isa = PBXBuildFile; productRef = 3220E2722B7B0755005F83A5 /* RealityKitContent */; };
3220E2752B7B0755005F83A5 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3220E2742B7B0755005F83A5 /* App.swift */; };
3220E2772B7B0755005F83A5 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3220E2762B7B0755005F83A5 /* ContentView.swift */; };
3220E2792B7B0755005F83A5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3220E2782B7B0755005F83A5 /* Assets.xcassets */; };
3220E27C2B7B0755005F83A5 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3220E27B2B7B0755005F83A5 /* Preview Assets.xcassets */; };
32464A842B7B0C30006BE70E /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32464A832B7B0C30006BE70E /* DetailView.swift */; };
32892E311FAE898C00BE8320 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32892E301FAE898C00BE8320 /* Assets.xcassets */; };
32892E351FAE89FE00BE8320 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 32892E341FAE89FD00BE8320 /* LaunchScreen.storyboard */; };
328CA3AB29980A840063950F /* WindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 328CA3AA29980A840063950F /* WindowController.m */; };
3AE1EA1248CFFCEBC3A91B2F /* libPods-SDWebImage TV Demo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FCB5AD4B47F1F14785BB05DB /* libPods-SDWebImage TV Demo.a */; };
3E75A9861742DBE700DA412D /* CustomPathImages in Resources */ = {isa = PBXBuildFile; fileRef = 3E75A9851742DBE700DA412D /* CustomPathImages */; };
4314D1AA1D0E1181004B36C9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4314D1A91D0E1181004B36C9 /* main.m */; };
4314D1AD1D0E1181004B36C9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4314D1AC1D0E1181004B36C9 /* AppDelegate.m */; };
4314D1B01D0E1182004B36C9 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4314D1AF1D0E1182004B36C9 /* ViewController.m */; };
4314D1B31D0E1182004B36C9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4314D1B11D0E1182004B36C9 /* Main.storyboard */; };
4314D1B51D0E1182004B36C9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4314D1B41D0E1182004B36C9 /* Assets.xcassets */; };
434BF852C834EED767AACFB0 /* Pods_SDWebImage_Vision_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29A9D56D23804E7B2212CFA6 /* Pods_SDWebImage_Vision_Demo.framework */; };
43A629D31D0DFD000089D7DD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A629D21D0DFD000089D7DD /* AppDelegate.m */; };
43A629D61D0DFD000089D7DD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A629D51D0DFD000089D7DD /* main.m */; };
43A629D91D0DFD000089D7DD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A629D81D0DFD000089D7DD /* ViewController.m */; };
@ -42,8 +47,10 @@
537612B0155AB74D005750A4 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 537612AF155AB74D005750A4 /* DetailViewController.m */; };
537612B3155AB74D005750A4 /* MasterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 537612B1155AB74D005750A4 /* MasterViewController.xib */; };
537612B6155AB74D005750A4 /* DetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 537612B4155AB74D005750A4 /* DetailViewController.xib */; };
7714B28A46A2E07B6714BC0F /* Pods_SDWebImage_OSX_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18242F3D24D6BE93D067E4E8 /* Pods_SDWebImage_OSX_Demo.framework */; };
A6EC2DCD5EB62AAEBD5C1345 /* Pods_SDWebImage_TV_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56FF116D6E7696F07957CE40 /* Pods_SDWebImage_TV_Demo.framework */; };
DA248D44195470FD00390AB0 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 537612E3155ABA3C005750A4 /* MapKit.framework */; };
E0BB66C474AA09663B85CC94 /* libPods-SDWebImage iOS Demo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E86BB8E2F23E5966B3E42C66 /* libPods-SDWebImage iOS Demo.a */; };
E221F54F71FEE9884D7C51FE /* Pods_SDWebImage_Watch_Demo_Extension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D99CEC262035CE49117E77D /* Pods_SDWebImage_Watch_Demo_Extension.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -130,8 +137,18 @@
/* Begin PBXFileReference section */
0829378FA7103DD8649CCCF3 /* Pods-SDWebImage iOS Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage iOS Demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage iOS Demo/Pods-SDWebImage iOS Demo.release.xcconfig"; sourceTree = "<group>"; };
129E7CBFA2E17F5D90DE5704 /* libPods-SDWebImage OSX Demo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SDWebImage OSX Demo.a"; sourceTree = BUILT_PRODUCTS_DIR; };
11FB3839400DA48480ABA6BB /* Pods-SDWebImage Vision Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage Vision Demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage Vision Demo/Pods-SDWebImage Vision Demo.release.xcconfig"; sourceTree = "<group>"; };
18242F3D24D6BE93D067E4E8 /* Pods_SDWebImage_OSX_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SDWebImage_OSX_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
28B8C1BB2DCC32E213DA3DAD /* Pods-SDWebImage TV Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage TV Demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage TV Demo/Pods-SDWebImage TV Demo.release.xcconfig"; sourceTree = "<group>"; };
29A9D56D23804E7B2212CFA6 /* Pods_SDWebImage_Vision_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SDWebImage_Vision_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3220E26E2B7B0755005F83A5 /* SDWebImage Vision Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SDWebImage Vision Demo.app"; sourceTree = BUILT_PRODUCTS_DIR; };
3220E2712B7B0755005F83A5 /* RealityKitContent */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = RealityKitContent; sourceTree = "<group>"; };
3220E2742B7B0755005F83A5 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; };
3220E2762B7B0755005F83A5 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
3220E2782B7B0755005F83A5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
3220E27B2B7B0755005F83A5 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
3220E27D2B7B0755005F83A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
32464A832B7B0C30006BE70E /* DetailView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = "<group>"; };
327E1C604113A7CEC9AC02DB /* Pods-SDWebImage Watch Demo Extension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage Watch Demo Extension.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage Watch Demo Extension/Pods-SDWebImage Watch Demo Extension.debug.xcconfig"; sourceTree = "<group>"; };
32892E301FAE898C00BE8320 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
32892E341FAE89FD00BE8320 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
@ -186,28 +203,38 @@
537612B5155AB74D005750A4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/DetailViewController.xib; sourceTree = "<group>"; };
537612E3155ABA3C005750A4 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
537612E6155ABA44005750A4 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
56FF116D6E7696F07957CE40 /* Pods_SDWebImage_TV_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SDWebImage_TV_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5992BFDBF29AB5CBCAC896FB /* Pods-SDWebImage OSX Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage OSX Demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage OSX Demo/Pods-SDWebImage OSX Demo.release.xcconfig"; sourceTree = "<group>"; };
5A56E15AF819F64FBF1F65A9 /* Pods-SDWebImage TV Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage TV Demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage TV Demo/Pods-SDWebImage TV Demo.debug.xcconfig"; sourceTree = "<group>"; };
7527DE20028C49345CF3C72F /* Pods_SDWebImage_iOS_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SDWebImage_iOS_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
789EDF4244C66933FDF3E181 /* Pods-SDWebImage iOS Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage iOS Demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage iOS Demo/Pods-SDWebImage iOS Demo.debug.xcconfig"; sourceTree = "<group>"; };
80C26B77F46D9332F328204E /* Pods-SDWebImage OSX Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage OSX Demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage OSX Demo/Pods-SDWebImage OSX Demo.debug.xcconfig"; sourceTree = "<group>"; };
87F946759088F4E41FDC806A /* Pods-SDWebImage Vision Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage Vision Demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage Vision Demo/Pods-SDWebImage Vision Demo.debug.xcconfig"; sourceTree = "<group>"; };
8D99CEC262035CE49117E77D /* Pods_SDWebImage_Watch_Demo_Extension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SDWebImage_Watch_Demo_Extension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9A205232F437C77F45A2EBD1 /* Pods-SDWebImage Watch Demo Extension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SDWebImage Watch Demo Extension.release.xcconfig"; path = "../Pods/Target Support Files/Pods-SDWebImage Watch Demo Extension/Pods-SDWebImage Watch Demo Extension.release.xcconfig"; sourceTree = "<group>"; };
9DE422B30B41E78007E1A571 /* libPods-SDWebImage Watch Demo Extension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SDWebImage Watch Demo Extension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
E86BB8E2F23E5966B3E42C66 /* libPods-SDWebImage iOS Demo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SDWebImage iOS Demo.a"; sourceTree = BUILT_PRODUCTS_DIR; };
EA9E0C74219598B400AFB434 /* Module-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Release.xcconfig"; sourceTree = "<group>"; };
EA9E0C75219598B400AFB434 /* App-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "App-Debug.xcconfig"; sourceTree = "<group>"; };
EA9E0C76219598B400AFB434 /* App-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "App-Release.xcconfig"; sourceTree = "<group>"; };
EA9E0C77219598B400AFB434 /* Module-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Debug.xcconfig"; sourceTree = "<group>"; };
EA9E0C78219598B400AFB434 /* App-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "App-Shared.xcconfig"; sourceTree = "<group>"; };
EA9E0C79219598B400AFB434 /* Module-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Shared.xcconfig"; sourceTree = "<group>"; };
FCB5AD4B47F1F14785BB05DB /* libPods-SDWebImage TV Demo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SDWebImage TV Demo.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
3220E26B2B7B0755005F83A5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3220E2732B7B0755005F83A5 /* RealityKitContent in Frameworks */,
434BF852C834EED767AACFB0 /* Pods_SDWebImage_Vision_Demo.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4314D1A31D0E1181004B36C9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3AE1EA1248CFFCEBC3A91B2F /* libPods-SDWebImage TV Demo.a in Frameworks */,
A6EC2DCD5EB62AAEBD5C1345 /* Pods_SDWebImage_TV_Demo.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -215,7 +242,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D5A31B07A58D36C88572B7D /* libPods-SDWebImage OSX Demo.a in Frameworks */,
7714B28A46A2E07B6714BC0F /* Pods_SDWebImage_OSX_Demo.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -223,7 +250,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1F83F96D4CB2121D57C1A513 /* libPods-SDWebImage Watch Demo Extension.a in Frameworks */,
E221F54F71FEE9884D7C51FE /* Pods_SDWebImage_Watch_Demo_Extension.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -236,7 +263,7 @@
5376129A155AB74D005750A4 /* UIKit.framework in Frameworks */,
5376129C155AB74D005750A4 /* Foundation.framework in Frameworks */,
5376129E155AB74D005750A4 /* CoreGraphics.framework in Frameworks */,
E0BB66C474AA09663B85CC94 /* libPods-SDWebImage iOS Demo.a in Frameworks */,
022828CA975463BEC08FDA2D /* Pods_SDWebImage_iOS_Demo.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -250,6 +277,35 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
3220E26F2B7B0755005F83A5 /* SDWebImage Vision Demo */ = {
isa = PBXGroup;
children = (
3220E2742B7B0755005F83A5 /* App.swift */,
3220E2762B7B0755005F83A5 /* ContentView.swift */,
32464A832B7B0C30006BE70E /* DetailView.swift */,
3220E2782B7B0755005F83A5 /* Assets.xcassets */,
3220E27D2B7B0755005F83A5 /* Info.plist */,
3220E27A2B7B0755005F83A5 /* Preview Content */,
);
path = "SDWebImage Vision Demo";
sourceTree = "<group>";
};
3220E2702B7B0755005F83A5 /* Packages */ = {
isa = PBXGroup;
children = (
3220E2712B7B0755005F83A5 /* RealityKitContent */,
);
path = Packages;
sourceTree = "<group>";
};
3220E27A2B7B0755005F83A5 /* Preview Content */ = {
isa = PBXGroup;
children = (
3220E27B2B7B0755005F83A5 /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
4314D1A71D0E1181004B36C9 /* SDWebImage TV Demo */ = {
isa = PBXGroup;
children = (
@ -341,7 +397,9 @@
43A629EF1D0E07600089D7DD /* SDWebImage Watch Demo */,
43A629FE1D0E07600089D7DD /* SDWebImage Watch Demo Extension */,
4314D1A71D0E1181004B36C9 /* SDWebImage TV Demo */,
3220E26F2B7B0755005F83A5 /* SDWebImage Vision Demo */,
53761298155AB74D005750A4 /* Frameworks */,
3220E2702B7B0755005F83A5 /* Packages */,
53761296155AB74D005750A4 /* Products */,
75D6E1708C75E4AC2FA214EC /* Pods */,
);
@ -355,6 +413,7 @@
43A629EE1D0E07600089D7DD /* SDWebImage Watch Demo.app */,
43A629FA1D0E07600089D7DD /* SDWebImage Watch Demo Extension.appex */,
4314D1A61D0E1181004B36C9 /* SDWebImage TV Demo.app */,
3220E26E2B7B0755005F83A5 /* SDWebImage Vision Demo.app */,
);
name = Products;
sourceTree = "<group>";
@ -367,10 +426,11 @@
53761299155AB74D005750A4 /* UIKit.framework */,
5376129B155AB74D005750A4 /* Foundation.framework */,
5376129D155AB74D005750A4 /* CoreGraphics.framework */,
129E7CBFA2E17F5D90DE5704 /* libPods-SDWebImage OSX Demo.a */,
FCB5AD4B47F1F14785BB05DB /* libPods-SDWebImage TV Demo.a */,
9DE422B30B41E78007E1A571 /* libPods-SDWebImage Watch Demo Extension.a */,
E86BB8E2F23E5966B3E42C66 /* libPods-SDWebImage iOS Demo.a */,
18242F3D24D6BE93D067E4E8 /* Pods_SDWebImage_OSX_Demo.framework */,
56FF116D6E7696F07957CE40 /* Pods_SDWebImage_TV_Demo.framework */,
8D99CEC262035CE49117E77D /* Pods_SDWebImage_Watch_Demo_Extension.framework */,
7527DE20028C49345CF3C72F /* Pods_SDWebImage_iOS_Demo.framework */,
29A9D56D23804E7B2212CFA6 /* Pods_SDWebImage_Vision_Demo.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -414,6 +474,8 @@
9A205232F437C77F45A2EBD1 /* Pods-SDWebImage Watch Demo Extension.release.xcconfig */,
789EDF4244C66933FDF3E181 /* Pods-SDWebImage iOS Demo.debug.xcconfig */,
0829378FA7103DD8649CCCF3 /* Pods-SDWebImage iOS Demo.release.xcconfig */,
87F946759088F4E41FDC806A /* Pods-SDWebImage Vision Demo.debug.xcconfig */,
11FB3839400DA48480ABA6BB /* Pods-SDWebImage Vision Demo.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
@ -435,6 +497,28 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
3220E26D2B7B0755005F83A5 /* SDWebImage Vision Demo */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3220E2802B7B0755005F83A5 /* Build configuration list for PBXNativeTarget "SDWebImage Vision Demo" */;
buildPhases = (
FE8AF0F7620DD545CC0FDB06 /* [CP] Check Pods Manifest.lock */,
3220E26A2B7B0755005F83A5 /* Sources */,
3220E26B2B7B0755005F83A5 /* Frameworks */,
3220E26C2B7B0755005F83A5 /* Resources */,
9896DB377881E964826851E6 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "SDWebImage Vision Demo";
packageProductDependencies = (
3220E2722B7B0755005F83A5 /* RealityKitContent */,
);
productName = "SDWebImage Vision Demo";
productReference = 3220E26E2B7B0755005F83A5 /* SDWebImage Vision Demo.app */;
productType = "com.apple.product-type.application";
};
4314D1A51D0E1181004B36C9 /* SDWebImage TV Demo */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4314D1B71D0E1182004B36C9 /* Build configuration list for PBXNativeTarget "SDWebImage TV Demo" */;
@ -444,6 +528,7 @@
4314D1A31D0E1181004B36C9 /* Frameworks */,
4314D1A41D0E1181004B36C9 /* Resources */,
327E2DE01FAF0D8000EF52C2 /* Embed Frameworks */,
79F9A2D3C039A7C473F3E579 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -463,6 +548,7 @@
43A629CC1D0DFD000089D7DD /* Frameworks */,
43A629CD1D0DFD000089D7DD /* Resources */,
327E2DD61FAF0D7000EF52C2 /* Embed Frameworks */,
4E998E1DF728CCAF009D92E4 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -500,6 +586,7 @@
43A629F71D0E07600089D7DD /* Frameworks */,
43A629F81D0E07600089D7DD /* Resources */,
327E2DDB1FAF0D7A00EF52C2 /* Embed Frameworks */,
BE1C2969523FD5B0A6AC02A9 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -520,6 +607,7 @@
53761293155AB74D005750A4 /* Resources */,
43A62A171D0E07600089D7DD /* Embed Watch Content */,
327E2DD11FAF0D6A00EF52C2 /* Embed Frameworks */,
3EE15CCA9FC9CD888D0A8221 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -537,9 +625,13 @@
5376128C155AB74D005750A4 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1520;
LastUpgradeCheck = 0940;
ORGANIZATIONNAME = Dailymotion;
TargetAttributes = {
3220E26D2B7B0755005F83A5 = {
CreatedOnToolsVersion = 15.2;
};
4314D1A51D0E1181004B36C9 = {
CreatedOnToolsVersion = 7.3.1;
};
@ -572,11 +664,21 @@
43A629ED1D0E07600089D7DD /* SDWebImage Watch Demo */,
43A629F91D0E07600089D7DD /* SDWebImage Watch Demo Extension */,
4314D1A51D0E1181004B36C9 /* SDWebImage TV Demo */,
3220E26D2B7B0755005F83A5 /* SDWebImage Vision Demo */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
3220E26C2B7B0755005F83A5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3220E27C2B7B0755005F83A5 /* Preview Assets.xcassets in Resources */,
3220E2792B7B0755005F83A5 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4314D1A41D0E1181004B36C9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -627,6 +729,92 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3EE15CCA9FC9CD888D0A8221 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SDWebImage iOS Demo/Pods-SDWebImage iOS Demo-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-iOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-iOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-iOS/libwebp.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SDWebImage iOS Demo/Pods-SDWebImage iOS Demo-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
4E998E1DF728CCAF009D92E4 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SDWebImage OSX Demo/Pods-SDWebImage OSX Demo-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-macOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-macOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-macOS/libwebp.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SDWebImage OSX Demo/Pods-SDWebImage OSX Demo-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
79F9A2D3C039A7C473F3E579 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SDWebImage TV Demo/Pods-SDWebImage TV Demo-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-tvOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-tvOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-tvOS/libwebp.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SDWebImage TV Demo/Pods-SDWebImage TV Demo-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
9896DB377881E964826851E6 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SDWebImage Vision Demo/Pods-SDWebImage Vision Demo-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage.default-MapKit/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageSwiftUI/SDWebImageSwiftUI.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageSwiftUI.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SDWebImage Vision Demo/Pods-SDWebImage Vision Demo-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
A50199B809E737E017D7DF1C /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -681,6 +869,28 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
BE1C2969523FD5B0A6AC02A9 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SDWebImage Watch Demo Extension/Pods-SDWebImage Watch Demo Extension-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-watchOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-watchOS/libwebp.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SDWebImage Watch Demo Extension/Pods-SDWebImage Watch Demo Extension-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
FA507C7A3DC5CD9451511EB7 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -699,9 +909,41 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
FE8AF0F7620DD545CC0FDB06 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-SDWebImage Vision Demo-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
3220E26A2B7B0755005F83A5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3220E2772B7B0755005F83A5 /* ContentView.swift in Sources */,
32464A842B7B0C30006BE70E /* DetailView.swift in Sources */,
3220E2752B7B0755005F83A5 /* App.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4314D1A21D0E1181004B36C9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -804,6 +1046,161 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
3220E27E2B7B0755005F83A5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 87F946759088F4E41FDC806A /* Pods-SDWebImage Vision Demo.debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_ASSET_PATHS = "\"SDWebImage Vision Demo/Preview Content\"";
ENABLE_PREVIEWS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "$(TARGET_NAME)/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.SDWebImage-Vision-Demo";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = xros;
SUPPORTED_PLATFORMS = "xros xrsimulator";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
XROS_DEPLOYMENT_TARGET = 1.0;
};
name = Debug;
};
3220E27F2B7B0755005F83A5 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 11FB3839400DA48480ABA6BB /* Pods-SDWebImage Vision Demo.release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = "\"SDWebImage Vision Demo/Preview Content\"";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_PREVIEWS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "$(TARGET_NAME)/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.SDWebImage-Vision-Demo";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = xros;
SUPPORTED_PLATFORMS = "xros xrsimulator";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
VALIDATE_PRODUCT = YES;
XROS_DEPLOYMENT_TARGET = 1.0;
};
name = Release;
};
4314D1B81D0E1182004B36C9 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 5A56E15AF819F64FBF1F65A9 /* Pods-SDWebImage TV Demo.debug.xcconfig */;
@ -965,6 +1362,15 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3220E2802B7B0755005F83A5 /* Build configuration list for PBXNativeTarget "SDWebImage Vision Demo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3220E27E2B7B0755005F83A5 /* Debug */,
3220E27F2B7B0755005F83A5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4314D1B71D0E1182004B36C9 /* Build configuration list for PBXNativeTarget "SDWebImage TV Demo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@ -1020,6 +1426,13 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCSwiftPackageProductDependency section */
3220E2722B7B0755005F83A5 /* RealityKitContent */ = {
isa = XCSwiftPackageProductDependency;
productName = RealityKitContent;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 5376128C155AB74D005750A4 /* Project object */;
}

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1520"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3220E26D2B7B0755005F83A5"
BuildableName = "SDWebImage Vision Demo.app"
BlueprintName = "SDWebImage Vision Demo"
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3220E26D2B7B0755005F83A5"
BuildableName = "SDWebImage Vision Demo.app"
BlueprintName = "SDWebImage Vision Demo"
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3220E26D2B7B0755005F83A5"
BuildableName = "SDWebImage Vision Demo.app"
BlueprintName = "SDWebImage Vision Demo"
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,30 @@
/*
* This file is part of the SDWebImage package.
* (c) DreamPiggy <lizhuoli1126@126.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import SwiftUI
import SDWebImage
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// Insert code here to initialize your application
SDImageCodersManager.shared.addCoder(SDImageAWebPCoder.shared)
SDImageCodersManager.shared.addCoder(SDImageHEICCoder.shared)
return true
}
}
@main
struct SDWebImage_Vision_DemoApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

View File

@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "vision",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,17 @@
{
"info" : {
"author" : "xcode",
"version" : 1
},
"layers" : [
{
"filename" : "Front.solidimagestacklayer"
},
{
"filename" : "Middle.solidimagestacklayer"
},
{
"filename" : "Back.solidimagestacklayer"
}
]
}

View File

@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "vision",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "vision",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -0,0 +1,114 @@
/*
* This file is part of the SDWebImage package.
* (c) DreamPiggy <lizhuoli1126@126.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import SwiftUI
import RealityKit
import RealityKitContent
import SDWebImage
import SDWebImageSwiftUI
struct ContentView: View {
@State var imageURLs = [
"http://assets.sbnation.com/assets/2512203/dogflops.gif",
"https://raw.githubusercontent.com/liyong03/YLGIFImage/master/YLGIFImageDemo/YLGIFImageDemo/joy.gif",
"http://apng.onevcat.com/assets/elephant.png",
"http://www.ioncannon.net/wp-content/uploads/2011/06/test2.webp",
"http://www.ioncannon.net/wp-content/uploads/2011/06/test9.webp",
"http://littlesvr.ca/apng/images/SteamEngine.webp",
"http://littlesvr.ca/apng/images/world-cup-2014-42.webp",
"https://isparta.github.io/compare-webp/image/gif_webp/webp/2.webp",
"https://nokiatech.github.io/heif/content/images/ski_jump_1440x960.heic",
"https://nokiatech.github.io/heif/content/image_sequences/starfield_animation.heic",
"https://nr-platform.s3.amazonaws.com/uploads/platform/published_extension/branding_icon/275/AmazonS3.png",
"https://raw.githubusercontent.com/ibireme/YYImage/master/Demo/YYImageDemo/mew_baseline.jpg",
"https://via.placeholder.com/200x200.jpg",
"https://raw.githubusercontent.com/recurser/exif-orientation-examples/master/Landscape_5.jpg",
"https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/w3c.svg",
"https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/wikimedia.svg",
"https://raw.githubusercontent.com/icons8/flat-color-icons/master/pdf/stack_of_photos.pdf",
"https://raw.githubusercontent.com/icons8/flat-color-icons/master/pdf/smartphone_tablet.pdf"
]
@State var animated: Bool = false // You can change between WebImage/AnimatedImage
// Used to avoid https://twitter.com/fatbobman/status/1572507700436807683?s=20&t=5rfj6BUza5Jii-ynQatCFA
struct ItemView: View {
@Binding var animated: Bool
@State var url: String
var body: some View {
NavigationLink(destination: DetailView(url: url, animated: self.animated)) {
HStack {
if self.animated {
AnimatedImage(url: URL(string:url))
.indicator(.activity)
.transition(.fade)
.resizable()
.scaledToFit()
.frame(width: CGFloat(100), height: CGFloat(100), alignment: .center)
} else {
WebImage(url: URL(string:url))
.resizable()
.indicator(.activity)
.transition(.fade(duration: 0.5))
.scaledToFit()
.frame(width: CGFloat(100), height: CGFloat(100), alignment: .center)
}
Text((url as NSString).lastPathComponent)
}
}
.buttonStyle(PlainButtonStyle())
}
}
var body: some View {
return NavigationView {
contentView()
.navigationBarTitle(animated ? "AnimatedImage" : "WebImage")
.navigationBarItems(leading:
Button(action: { self.reloadCache() }) {
Text("Reload")
}, trailing:
Button(action: { self.switchView() }) {
Text("Switch")
}
)
}
}
func contentView() -> some View {
List {
ForEach(imageURLs, id: \.self) { url in
// Must use top level view instead of inlined view structure
ItemView(animated: $animated, url: url)
}
.onDelete { indexSet in
indexSet.forEach { index in
self.imageURLs.remove(at: index)
}
}
}
}
func reloadCache() {
SDImageCache.shared.clearMemory()
SDImageCache.shared.clearDisk(onCompletion: nil)
}
func switchView() {
SDImageCache.shared.clearMemory()
animated.toggle()
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif

View File

@ -0,0 +1,48 @@
/*
* This file is part of the SDWebImage package.
* (c) DreamPiggy <lizhuoli1126@126.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import SwiftUI
import SDWebImageSwiftUI
struct DetailView: View {
let url: String
@State var animated: Bool = true // You can change between WebImage/AnimatedImage
@State var isAnimating: Bool = true
var body: some View {
VStack {
contentView()
.navigationBarItems(trailing: Button(isAnimating ? "Stop" : "Start") {
self.isAnimating.toggle()
})
}
}
func contentView() -> some View {
HStack {
if animated {
AnimatedImage(url: URL(string:url), options: [.progressiveLoad, .delayPlaceholder], isAnimating: $isAnimating)
.indicator(.progress)
.resizable()
.scaledToFit()
} else {
WebImage(url: URL(string:url), options: [.progressiveLoad, .delayPlaceholder], isAnimating: $isAnimating)
.resizable()
.indicator(.progress)
.scaledToFit()
}
}
}
}
#if DEBUG
struct DetailView_Previews: PreviewProvider {
static var previews: some View {
DetailView(url: "https://nokiatech.github.io/heif/content/images/ski_jump_1440x960.heic", animated: false)
}
}
#endif

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationPreferredDefaultSceneSessionRole</key>
<string>UIWindowSceneSessionRoleApplication</string>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
<key>UISceneConfigurations</key>
<dict/>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

11
Podfile
View File

@ -10,6 +10,11 @@ def watch_example_pods
pod 'SDWebImageWebPCoder', :git => 'https://github.com/SDWebImage/SDWebImageWebPCoder.git', :branch => 'master'
end
def vision_example_pods
pod 'SDWebImage/MapKit', :path => './'
pod 'SDWebImageSwiftUI', :git => 'https://github.com/SDWebImage/SDWebImageSwiftUI.git', :branch => 'master'
end
def all_test_pods
pod 'SDWebImage/MapKit', :path => './'
pod 'Expecta'
@ -46,6 +51,12 @@ target 'SDWebImage Watch Demo Extension' do
watch_example_pods
end
target 'SDWebImage Vision Demo' do
project example_project_path
platform :visionos, '1.0'
vision_example_pods
end
# Test Project
target 'Tests iOS' do
project test_project_path

View File

@ -119,9 +119,9 @@
6B181A1B265757ED00BD06B3 /* TestAnimatedImageMemory.webp in Resources */ = {isa = PBXBuildFile; fileRef = 6B181A1A265757ED00BD06B3 /* TestAnimatedImageMemory.webp */; };
6BC1C20F270F0193003FFAB1 /* TestAnimatedImageMemory.webp in Resources */ = {isa = PBXBuildFile; fileRef = 6B181A1A265757ED00BD06B3 /* TestAnimatedImageMemory.webp */; };
6BC1C210270F073A003FFAB1 /* TestAnimatedImageMemory.webp in Resources */ = {isa = PBXBuildFile; fileRef = 6B181A1A265757ED00BD06B3 /* TestAnimatedImageMemory.webp */; };
928435D6E0BA9CDCE0601220 /* libPods-Tests TV.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A91E23CD91F87B2CEC66AAEC /* libPods-Tests TV.a */; };
C0F557A0519E22A41A398821 /* libPods-Tests iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4618B36D8754081235902258 /* libPods-Tests iOS.a */; };
C3A0D1866B81E0124C5F08DD /* libPods-Tests Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C096AA2B39E0E38A0C80611 /* libPods-Tests Mac.a */; };
6FD27F0B29D57A4AACB56EA8 /* Pods_Tests_TV.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B18D772CFF936546772B836 /* Pods_Tests_TV.framework */; };
8C71262F36B4B9A4EA9BD000 /* Pods_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD978FDEC70C6C3978DA4D56 /* Pods_Tests_iOS.framework */; };
B77B223649B05D013FE6E310 /* Pods_Tests_Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61030057F379B8F1D44EBF88 /* Pods_Tests_Mac.framework */; };
DA248D57195472AA00390AB0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA248D56195472AA00390AB0 /* XCTest.framework */; };
DA248D59195472AA00390AB0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA248D58195472AA00390AB0 /* Foundation.framework */; };
DA248D5B195472AA00390AB0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA248D5A195472AA00390AB0 /* UIKit.framework */; };
@ -179,16 +179,15 @@
4369C1D01D97F80F007E863A /* SDWebImagePrefetcherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImagePrefetcherTests.m; sourceTree = "<group>"; };
4369C2731D9804B1007E863A /* SDWebCacheCategoriesTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebCacheCategoriesTests.m; sourceTree = "<group>"; };
43828A441DA67F9900000E62 /* TestImageLarge.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = TestImageLarge.jpg; sourceTree = "<group>"; };
4618B36D8754081235902258 /* libPods-Tests iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Tests iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
4835C04148C737D0FC50EF87 /* Pods-Tests Mac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests Mac.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests Mac/Pods-Tests Mac.release.xcconfig"; sourceTree = "<group>"; };
4C096AA2B39E0E38A0C80611 /* libPods-Tests Mac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Tests Mac.a"; sourceTree = BUILT_PRODUCTS_DIR; };
4DCBA1DEFE6C68C4A83C9B9E /* Pods-Tests iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests iOS.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests iOS/Pods-Tests iOS.release.xcconfig"; sourceTree = "<group>"; };
5B0011ED58CC9998E68ECCE3 /* Pods-Tests TV.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests TV.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests TV/Pods-Tests TV.debug.xcconfig"; sourceTree = "<group>"; };
5B18D772CFF936546772B836 /* Pods_Tests_TV.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Tests_TV.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5F7F38AC1AE2A77A00B0E330 /* TestImage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = TestImage.jpg; sourceTree = "<group>"; };
61030057F379B8F1D44EBF88 /* Pods_Tests_Mac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Tests_Mac.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6700DBD9C45B00AB5F77472A /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = "<group>"; };
6B181A1A265757ED00BD06B3 /* TestAnimatedImageMemory.webp */ = {isa = PBXFileReference; lastKnownFileType = file; path = TestAnimatedImageMemory.webp; sourceTree = "<group>"; };
6CB13D7A081654B2E4018F53 /* Pods-Tests TV.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests TV.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests TV/Pods-Tests TV.release.xcconfig"; sourceTree = "<group>"; };
A91E23CD91F87B2CEC66AAEC /* libPods-Tests TV.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Tests TV.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BC6C6328775701B5AAEEF4FF /* Pods-Tests Mac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests Mac.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests Mac/Pods-Tests Mac.debug.xcconfig"; sourceTree = "<group>"; };
D80C63148416AADCBDD7FABA /* Pods-Tests iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests iOS.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Tests iOS/Pods-Tests iOS.debug.xcconfig"; sourceTree = "<group>"; };
DA248D53195472AA00390AB0 /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@ -199,6 +198,7 @@
DA248D64195472AA00390AB0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = "<group>"; };
DA248D68195475D800390AB0 /* SDImageCacheTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCacheTests.m; sourceTree = "<group>"; };
DA248D6A195476AC00390AB0 /* SDWebImageManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageManagerTests.m; sourceTree = "<group>"; };
DD978FDEC70C6C3978DA4D56 /* Pods_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
EADD19E9219915E300804BB0 /* Module-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Release.xcconfig"; sourceTree = "<group>"; };
EADD19EC219915E300804BB0 /* Module-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Debug.xcconfig"; sourceTree = "<group>"; };
EADD19EE219915E300804BB0 /* Module-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Shared.xcconfig"; sourceTree = "<group>"; };
@ -209,7 +209,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
928435D6E0BA9CDCE0601220 /* libPods-Tests TV.a in Frameworks */,
6FD27F0B29D57A4AACB56EA8 /* Pods_Tests_TV.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -217,7 +217,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C3A0D1866B81E0124C5F08DD /* libPods-Tests Mac.a in Frameworks */,
B77B223649B05D013FE6E310 /* Pods_Tests_Mac.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -228,7 +228,7 @@
DA248D57195472AA00390AB0 /* XCTest.framework in Frameworks */,
DA248D5B195472AA00390AB0 /* UIKit.framework in Frameworks */,
DA248D59195472AA00390AB0 /* Foundation.framework in Frameworks */,
C0F557A0519E22A41A398821 /* libPods-Tests iOS.a in Frameworks */,
8C71262F36B4B9A4EA9BD000 /* Pods_Tests_iOS.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -323,9 +323,9 @@
DA248D56195472AA00390AB0 /* XCTest.framework */,
DA248D58195472AA00390AB0 /* Foundation.framework */,
DA248D5A195472AA00390AB0 /* UIKit.framework */,
4C096AA2B39E0E38A0C80611 /* libPods-Tests Mac.a */,
A91E23CD91F87B2CEC66AAEC /* libPods-Tests TV.a */,
4618B36D8754081235902258 /* libPods-Tests iOS.a */,
61030057F379B8F1D44EBF88 /* Pods_Tests_Mac.framework */,
5B18D772CFF936546772B836 /* Pods_Tests_TV.framework */,
DD978FDEC70C6C3978DA4D56 /* Pods_Tests_iOS.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -397,6 +397,7 @@
329922262365D9A100EAFD97 /* Sources */,
329922272365D9A100EAFD97 /* Frameworks */,
329922282365D9A100EAFD97 /* Resources */,
9A0B0CDE809B6AE68AF1A996 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -415,6 +416,7 @@
32B99E8E203B2DF90017FD66 /* Sources */,
32B99E8F203B2DF90017FD66 /* Frameworks */,
32B99E90203B2DF90017FD66 /* Resources */,
D95ECCCFAAD9FCC01EA4D3CE /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -433,6 +435,7 @@
DA248D4F195472AA00390AB0 /* Sources */,
DA248D50195472AA00390AB0 /* Frameworks */,
DA248D51195472AA00390AB0 /* Resources */,
0A80AC7C0571A5F8F9967E3F /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -587,6 +590,32 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
0A80AC7C0571A5F8F9967E3F /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Tests iOS/Pods-Tests iOS-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-iOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-iOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-iOS/libwebp.framework",
"${BUILT_PRODUCTS_DIR}/Expecta-iOS/Expecta.framework",
"${BUILT_PRODUCTS_DIR}/KVOController-iOS/KVOController.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KVOController.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Tests iOS/Pods-Tests iOS-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3742A83C8569610075078F4D /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -605,6 +634,32 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9A0B0CDE809B6AE68AF1A996 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Tests TV/Pods-Tests TV-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-tvOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-tvOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-tvOS/libwebp.framework",
"${BUILT_PRODUCTS_DIR}/Expecta-tvOS/Expecta.framework",
"${BUILT_PRODUCTS_DIR}/KVOController-tvOS/KVOController.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KVOController.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Tests TV/Pods-Tests TV-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
C5CC63AFA1303DA4F45B1B0E /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -627,6 +682,32 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
D95ECCCFAAD9FCC01EA4D3CE /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Tests Mac/Pods-Tests Mac-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/SDWebImage-Core-MapKit-macOS/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImageWebPCoder-macOS/SDWebImageWebPCoder.framework",
"${BUILT_PRODUCTS_DIR}/libwebp-macOS/libwebp.framework",
"${BUILT_PRODUCTS_DIR}/Expecta-macOS/Expecta.framework",
"${BUILT_PRODUCTS_DIR}/KVOController-macOS/KVOController.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageWebPCoder.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KVOController.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Tests Mac/Pods-Tests Mac-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */