@shopify/react-native-skia 2.2.21 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/apple/SkiaCVPixelBufferUtils.mm +4 -8
  2. package/cpp/api/JsiSkCanvas.h +3 -0
  3. package/cpp/api/JsiSkImage.h +12 -2
  4. package/cpp/api/JsiSkSVG.h +4 -1
  5. package/cpp/api/JsiSkSVGFactory.h +127 -8
  6. package/lib/commonjs/skia/types/SVG/SVGFactory.d.ts +3 -2
  7. package/lib/commonjs/skia/types/SVG/SVGFactory.js.map +1 -1
  8. package/lib/module/skia/types/SVG/SVGFactory.d.ts +3 -2
  9. package/lib/module/skia/types/SVG/SVGFactory.js.map +1 -1
  10. package/lib/typescript/src/skia/types/SVG/SVGFactory.d.ts +3 -2
  11. package/libs/apple/libpathops.xcframework/Info.plist +26 -9
  12. package/libs/apple/libpathops.xcframework/ios-arm64_arm64e/libpathops.a +0 -0
  13. package/libs/apple/libpathops.xcframework/ios-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
  14. package/libs/apple/libpathops.xcframework/ios-arm64_x86_64-maccatalyst/libpathops.a +0 -0
  15. package/libs/apple/libpathops.xcframework/macos-arm64_x86_64/libpathops.a +0 -0
  16. package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e/libpathops.a +0 -0
  17. package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
  18. package/libs/apple/libskia.xcframework/Info.plist +24 -7
  19. package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  20. package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  21. package/libs/apple/libskia.xcframework/ios-arm64_x86_64-maccatalyst/libskia.a +0 -0
  22. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  23. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
  24. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  25. package/libs/apple/libskottie.xcframework/Info.plist +32 -15
  26. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  27. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  28. package/libs/apple/libskottie.xcframework/ios-arm64_x86_64-maccatalyst/libskottie.a +0 -0
  29. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  30. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
  31. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  32. package/libs/apple/libskparagraph.xcframework/Info.plist +31 -14
  33. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  34. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  35. package/libs/apple/libskparagraph.xcframework/ios-arm64_x86_64-maccatalyst/libskparagraph.a +0 -0
  36. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  37. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
  38. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  39. package/libs/apple/libsksg.xcframework/Info.plist +26 -9
  40. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  41. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  42. package/libs/apple/libsksg.xcframework/ios-arm64_x86_64-maccatalyst/libsksg.a +0 -0
  43. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  44. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
  45. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  46. package/libs/apple/libskshaper.xcframework/Info.plist +28 -11
  47. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  48. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  49. package/libs/apple/libskshaper.xcframework/ios-arm64_x86_64-maccatalyst/libskshaper.a +0 -0
  50. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  51. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
  52. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  53. package/libs/apple/libskunicode_core.xcframework/Info.plist +25 -8
  54. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  55. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  56. package/libs/apple/libskunicode_core.xcframework/ios-arm64_x86_64-maccatalyst/libskunicode_core.a +0 -0
  57. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  58. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e/libskunicode_core.a +0 -0
  59. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  60. package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +27 -10
  61. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  62. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  63. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_x86_64-maccatalyst/libskunicode_libgrapheme.a +0 -0
  64. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  65. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  66. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  67. package/libs/apple/libsvg.xcframework/Info.plist +29 -12
  68. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  69. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  70. package/libs/apple/libsvg.xcframework/ios-arm64_x86_64-maccatalyst/libsvg.a +0 -0
  71. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  72. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
  73. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  74. package/package.json +1 -1
  75. package/src/skia/types/SVG/SVGFactory.ts +11 -2
@@ -30,16 +30,12 @@
30
30
  #include <TargetConditionals.h>
31
31
  #if TARGET_RT_BIG_ENDIAN
32
32
  #define FourCC2Str(fourcc) \
33
- (const char[]) { \
34
- *((char *)&fourcc), *(((char *)&fourcc) + 1), *(((char *)&fourcc) + 2), \
35
- *(((char *)&fourcc) + 3), 0 \
36
- }
33
+ (const char[]){*((char *)&fourcc), *(((char *)&fourcc) + 1), \
34
+ *(((char *)&fourcc) + 2), *(((char *)&fourcc) + 3), 0}
37
35
  #else
38
36
  #define FourCC2Str(fourcc) \
39
- (const char[]) { \
40
- *(((char *)&fourcc) + 3), *(((char *)&fourcc) + 2), \
41
- *(((char *)&fourcc) + 1), *(((char *)&fourcc) + 0), 0 \
42
- }
37
+ (const char[]){*(((char *)&fourcc) + 3), *(((char *)&fourcc) + 2), \
38
+ *(((char *)&fourcc) + 1), *(((char *)&fourcc) + 0), 0}
43
39
  #endif
44
40
 
45
41
  // pragma MARK: TextureHolder
@@ -34,7 +34,10 @@
34
34
  #include "include/core/SkRegion.h"
35
35
  #include "include/core/SkSurface.h"
36
36
  #include "include/core/SkTypeface.h"
37
+
38
+ #if !defined(SK_GRAPHITE)
37
39
  #include "include/gpu/ganesh/GrDirectContext.h"
40
+ #endif
38
41
 
39
42
  #pragma clang diagnostic pop
40
43
 
@@ -17,6 +17,8 @@
17
17
  #if defined(SK_GRAPHITE)
18
18
  #include "RNDawnContext.h"
19
19
  #include "include/gpu/graphite/Context.h"
20
+ #else
21
+ #include "include/gpu/ganesh/GrDirectContext.h"
20
22
  #endif
21
23
 
22
24
  #pragma clang diagnostic push
@@ -241,7 +243,15 @@ public:
241
243
  auto rasterImage = DawnContext::getInstance().MakeRasterImage(getObject());
242
244
  #else
243
245
  auto grContext = getContext()->getDirectContext();
244
- auto rasterImage = getObject()->makeRasterImage(grContext);
246
+ auto image = getObject();
247
+ if (!grContext) {
248
+ throw jsi::JSError(runtime, "No GPU context available");
249
+ }
250
+ if (image && !image->isValid(grContext->asRecorder())) {
251
+ throw jsi::JSError(runtime, "invoked makeNonTextureImage() on an image "
252
+ "that does not belong to this context");
253
+ }
254
+ auto rasterImage = image->makeRasterImage(grContext);
245
255
  #endif
246
256
  auto hostObjectInstance =
247
257
  std::make_shared<JsiSkImage>(getContext(), std::move(rasterImage));
@@ -312,4 +322,4 @@ public:
312
322
  }
313
323
  };
314
324
 
315
- } // namespace RNSkia
325
+ } // namespace RNSkia
@@ -20,10 +20,13 @@ namespace jsi = facebook::jsi;
20
20
 
21
21
  class JsiSkSVG : public JsiSkWrappingSkPtrHostObject<SkSVGDOM> {
22
22
  public:
23
- JsiSkSVG(std::shared_ptr<RNSkPlatformContext> context, sk_sp<SkSVGDOM> svgdom)
23
+ JsiSkSVG(std::shared_ptr<RNSkPlatformContext> context, sk_sp<SkSVGDOM> svgdom,
24
+ sk_sp<skresources::ResourceProvider> resourceProvider = nullptr)
24
25
  : JsiSkWrappingSkPtrHostObject<SkSVGDOM>(std::move(context),
25
26
  std::move(svgdom)) {}
26
27
 
28
+ ~JsiSkSVG() = default;
29
+
27
30
  EXPORT_JSI_API_TYPENAME(JsiSkSVG, SVG)
28
31
 
29
32
  JSI_HOST_FUNCTION(width) {
@@ -1,6 +1,7 @@
1
1
  #pragma once
2
2
 
3
3
  #include <memory>
4
+ #include <unordered_map>
4
5
  #include <utility>
5
6
 
6
7
  #include <jsi/jsi.h>
@@ -14,6 +15,7 @@
14
15
  #pragma clang diagnostic ignored "-Wdocumentation"
15
16
 
16
17
  #include "include/core/SkStream.h"
18
+ #include "modules/skresources/include/SkResources.h"
17
19
 
18
20
  #pragma clang diagnostic pop
19
21
 
@@ -21,24 +23,141 @@ namespace RNSkia {
21
23
 
22
24
  namespace jsi = facebook::jsi;
23
25
 
26
+ class SVGAssetProvider : public skresources::ResourceProvider {
27
+ public:
28
+ using AssetMap = std::unordered_map<std::string, sk_sp<SkData>>;
29
+
30
+ static sk_sp<SVGAssetProvider>
31
+ Make(AssetMap assets, skresources::ImageDecodeStrategy strategy =
32
+ skresources::ImageDecodeStrategy::kPreDecode) {
33
+ return sk_sp<SVGAssetProvider>(
34
+ new SVGAssetProvider(std::move(assets), strategy));
35
+ }
36
+
37
+ // Override loadImageAsset() to handle image loading
38
+ sk_sp<skresources::ImageAsset>
39
+ loadImageAsset(const char[] /*path*/, const char name[],
40
+ const char[] /*id*/) const override {
41
+ // Identify resources by name only
42
+ auto it = fAssets.find(name);
43
+ if (it != fAssets.end()) {
44
+ // Create ImageAsset from SkData
45
+ return skresources::MultiFrameImageAsset::Make(it->second, fStrategy);
46
+ }
47
+ return nullptr;
48
+ }
49
+
50
+ private:
51
+ explicit SVGAssetProvider(AssetMap assets,
52
+ skresources::ImageDecodeStrategy strategy)
53
+ : fAssets(std::move(assets)), fStrategy(strategy) {}
54
+ const AssetMap fAssets;
55
+ const skresources::ImageDecodeStrategy fStrategy;
56
+ };
57
+
24
58
  class JsiSkSVGFactory : public JsiSkHostObject {
25
59
  public:
26
- JSI_HOST_FUNCTION(MakeFromData) {
27
- auto data = JsiSkData::fromValue(runtime, arguments[0]);
28
- auto stream = SkMemoryStream::Make(data);
29
- auto svg_dom = SkSVGDOM::Builder().make(*stream);
60
+ // Helper function to parse asset map from JS object
61
+ static SVGAssetProvider::AssetMap parseAssetMap(jsi::Runtime &runtime,
62
+ const jsi::Value &jsValue) {
63
+ SVGAssetProvider::AssetMap assets;
64
+
65
+ if (!jsValue.isObject()) {
66
+ return assets;
67
+ }
68
+
69
+ auto jsAssetMap = jsValue.asObject(runtime);
70
+
71
+ // Convert JS object to C++ AssetMap
72
+ auto propertyNames = jsAssetMap.getPropertyNames(runtime);
73
+ size_t propertyCount = propertyNames.size(runtime);
74
+
75
+ for (size_t i = 0; i < propertyCount; i++) {
76
+ auto propertyName =
77
+ propertyNames.getValueAtIndex(runtime, i).asString(runtime);
78
+ auto key = propertyName.utf8(runtime);
79
+ auto jsValue = jsAssetMap.getProperty(runtime, propertyName);
80
+
81
+ // Skip null or undefined values
82
+ if (jsValue.isNull() || jsValue.isUndefined()) {
83
+ continue;
84
+ }
85
+
86
+ if (jsValue.isObject()) {
87
+ auto jsObject = jsValue.asObject(runtime);
88
+ if (jsObject.isHostObject(runtime)) {
89
+ auto hostObject = jsObject.getHostObject(runtime);
90
+ auto skData = std::dynamic_pointer_cast<JsiSkData>(hostObject);
91
+ if (skData) {
92
+ assets[key] = skData->getObject();
93
+ }
94
+ }
95
+ }
96
+ }
97
+
98
+ return assets;
99
+ }
100
+
101
+ private:
102
+ jsi::Value makeSVGFromStream(jsi::Runtime &runtime,
103
+ std::unique_ptr<SkMemoryStream> stream,
104
+ sk_sp<SkFontMgr> fontMgr,
105
+ SVGAssetProvider::AssetMap assets) {
106
+ auto builder = SkSVGDOM::Builder();
107
+
108
+ if (fontMgr) {
109
+ builder.setFontManager(fontMgr);
110
+ }
111
+
112
+ auto baseProvider = SVGAssetProvider::Make(
113
+ std::move(assets), skresources::ImageDecodeStrategy::kPreDecode);
114
+ auto provider = skresources::DataURIResourceProviderProxy::Make(
115
+ std::move(baseProvider), skresources::ImageDecodeStrategy::kPreDecode,
116
+ fontMgr);
117
+
118
+ // TODO: this sk_sp subclassing issue needs to be fixed.
119
+ provider->ref();
120
+ builder.setResourceProvider(provider);
121
+
122
+ auto svg_dom = builder.make(*stream);
30
123
  auto svg = std::make_shared<JsiSkSVG>(getContext(), std::move(svg_dom));
31
124
  return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, svg,
32
125
  getContext());
33
126
  }
34
127
 
128
+ public:
129
+ JSI_HOST_FUNCTION(MakeFromData) {
130
+ auto data = JsiSkData::fromValue(runtime, arguments[0]);
131
+ auto stream = SkMemoryStream::Make(data);
132
+
133
+ // Parse fontMgr (second parameter)
134
+ auto fontMgr = count > 1 && arguments[1].isObject()
135
+ ? JsiSkFontMgr::fromValue(runtime, arguments[1])
136
+ : nullptr;
137
+
138
+ // Parse assets map (third parameter)
139
+ auto assets = count > 2 ? parseAssetMap(runtime, arguments[2])
140
+ : SVGAssetProvider::AssetMap();
141
+
142
+ return makeSVGFromStream(runtime, std::move(stream), fontMgr,
143
+ std::move(assets));
144
+ }
145
+
35
146
  JSI_HOST_FUNCTION(MakeFromString) {
36
147
  auto svgText = arguments[0].asString(runtime).utf8(runtime);
37
148
  auto stream = SkMemoryStream::MakeDirect(svgText.c_str(), svgText.size());
38
- auto svg_dom = SkSVGDOM::Builder().make(*stream);
39
- auto svg = std::make_shared<JsiSkSVG>(getContext(), std::move(svg_dom));
40
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, svg,
41
- getContext());
149
+
150
+ // Parse fontMgr (second parameter)
151
+ auto fontMgr = count > 1 && arguments[1].isObject()
152
+ ? JsiSkFontMgr::fromValue(runtime, arguments[1])
153
+ : nullptr;
154
+
155
+ // Parse assets map (third parameter)
156
+ auto assets = count > 2 ? parseAssetMap(runtime, arguments[2])
157
+ : SVGAssetProvider::AssetMap();
158
+
159
+ return makeSVGFromStream(runtime, std::move(stream), fontMgr,
160
+ std::move(assets));
42
161
  }
43
162
 
44
163
  size_t getMemoryPressure() const override { return 512; }
@@ -1,6 +1,7 @@
1
1
  import type { SkData } from "../Data";
2
+ import type { SkFontMgr } from "../Font/FontMgr";
2
3
  import type { SkSVG } from "./SVG";
3
4
  export interface SVGFactory {
4
- MakeFromData(data: SkData): SkSVG | null;
5
- MakeFromString(str: string): SkSVG | null;
5
+ MakeFromData(data: SkData, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
+ MakeFromString(str: string, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SVGFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\n\nimport type { SkSVG } from \"./SVG\";\n\nexport interface SVGFactory {\n MakeFromData(data: SkData): SkSVG | null;\n MakeFromString(str: string): SkSVG | null;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["SVGFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\nimport type { SkFontMgr } from \"../Font/FontMgr\";\n\nimport type { SkSVG } from \"./SVG\";\n\nexport interface SVGFactory {\n MakeFromData(\n data: SkData,\n fontMgr?: SkFontMgr | null,\n assets?: Record<string, SkData | null>\n ): SkSVG | null;\n MakeFromString(\n str: string,\n fontMgr?: SkFontMgr | null,\n assets?: Record<string, SkData | null>\n ): SkSVG | null;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { SkData } from "../Data";
2
+ import type { SkFontMgr } from "../Font/FontMgr";
2
3
  import type { SkSVG } from "./SVG";
3
4
  export interface SVGFactory {
4
- MakeFromData(data: SkData): SkSVG | null;
5
- MakeFromString(str: string): SkSVG | null;
5
+ MakeFromData(data: SkData, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
+ MakeFromString(str: string, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SVGFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\n\nimport type { SkSVG } from \"./SVG\";\n\nexport interface SVGFactory {\n MakeFromData(data: SkData): SkSVG | null;\n MakeFromString(str: string): SkSVG | null;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["SVGFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\nimport type { SkFontMgr } from \"../Font/FontMgr\";\n\nimport type { SkSVG } from \"./SVG\";\n\nexport interface SVGFactory {\n MakeFromData(\n data: SkData,\n fontMgr?: SkFontMgr | null,\n assets?: Record<string, SkData | null>\n ): SkSVG | null;\n MakeFromString(\n str: string,\n fontMgr?: SkFontMgr | null,\n assets?: Record<string, SkData | null>\n ): SkSVG | null;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { SkData } from "../Data";
2
+ import type { SkFontMgr } from "../Font/FontMgr";
2
3
  import type { SkSVG } from "./SVG";
3
4
  export interface SVGFactory {
4
- MakeFromData(data: SkData): SkSVG | null;
5
- MakeFromString(str: string): SkSVG | null;
5
+ MakeFromData(data: SkData, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
+ MakeFromString(str: string, fontMgr?: SkFontMgr | null, assets?: Record<string, SkData | null>): SkSVG | null;
6
7
  }
@@ -8,34 +8,51 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libpathops.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e</string>
11
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libpathops.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
+ <string>x86_64</string>
18
19
  </array>
19
20
  <key>SupportedPlatform</key>
20
21
  <string>ios</string>
22
+ <key>SupportedPlatformVariant</key>
23
+ <string>simulator</string>
21
24
  </dict>
22
25
  <dict>
23
26
  <key>BinaryPath</key>
24
27
  <string>libpathops.a</string>
25
28
  <key>LibraryIdentifier</key>
26
- <string>ios-arm64_arm64e_x86_64-simulator</string>
29
+ <string>ios-arm64_x86_64-maccatalyst</string>
27
30
  <key>LibraryPath</key>
28
31
  <string>libpathops.a</string>
29
32
  <key>SupportedArchitectures</key>
30
33
  <array>
31
34
  <string>arm64</string>
32
- <string>arm64e</string>
33
35
  <string>x86_64</string>
34
36
  </array>
35
37
  <key>SupportedPlatform</key>
36
38
  <string>ios</string>
37
39
  <key>SupportedPlatformVariant</key>
38
- <string>simulator</string>
40
+ <string>maccatalyst</string>
41
+ </dict>
42
+ <dict>
43
+ <key>BinaryPath</key>
44
+ <string>libpathops.a</string>
45
+ <key>LibraryIdentifier</key>
46
+ <string>macos-arm64_x86_64</string>
47
+ <key>LibraryPath</key>
48
+ <string>libpathops.a</string>
49
+ <key>SupportedArchitectures</key>
50
+ <array>
51
+ <string>arm64</string>
52
+ <string>x86_64</string>
53
+ </array>
54
+ <key>SupportedPlatform</key>
55
+ <string>macos</string>
39
56
  </dict>
40
57
  <dict>
41
58
  <key>BinaryPath</key>
@@ -59,22 +76,22 @@
59
76
  <key>BinaryPath</key>
60
77
  <string>libpathops.a</string>
61
78
  <key>LibraryIdentifier</key>
62
- <string>macos-arm64_x86_64</string>
79
+ <string>tvos-arm64_arm64e</string>
63
80
  <key>LibraryPath</key>
64
81
  <string>libpathops.a</string>
65
82
  <key>SupportedArchitectures</key>
66
83
  <array>
67
84
  <string>arm64</string>
68
- <string>x86_64</string>
85
+ <string>arm64e</string>
69
86
  </array>
70
87
  <key>SupportedPlatform</key>
71
- <string>macos</string>
88
+ <string>tvos</string>
72
89
  </dict>
73
90
  <dict>
74
91
  <key>BinaryPath</key>
75
92
  <string>libpathops.a</string>
76
93
  <key>LibraryIdentifier</key>
77
- <string>tvos-arm64_arm64e</string>
94
+ <string>ios-arm64_arm64e</string>
78
95
  <key>LibraryPath</key>
79
96
  <string>libpathops.a</string>
80
97
  <key>SupportedArchitectures</key>
@@ -83,7 +100,7 @@
83
100
  <string>arm64e</string>
84
101
  </array>
85
102
  <key>SupportedPlatform</key>
86
- <string>tvos</string>
103
+ <string>ios</string>
87
104
  </dict>
88
105
  </array>
89
106
  <key>CFBundlePackageType</key>
@@ -8,7 +8,7 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libskia.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_arm64e</string>
11
+ <string>tvos-arm64_arm64e</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libskia.a</string>
14
14
  <key>SupportedArchitectures</key>
@@ -17,22 +17,25 @@
17
17
  <string>arm64e</string>
18
18
  </array>
19
19
  <key>SupportedPlatform</key>
20
- <string>ios</string>
20
+ <string>tvos</string>
21
21
  </dict>
22
22
  <dict>
23
23
  <key>BinaryPath</key>
24
24
  <string>libskia.a</string>
25
25
  <key>LibraryIdentifier</key>
26
- <string>tvos-arm64_arm64e</string>
26
+ <string>tvos-arm64_arm64e_x86_64-simulator</string>
27
27
  <key>LibraryPath</key>
28
28
  <string>libskia.a</string>
29
29
  <key>SupportedArchitectures</key>
30
30
  <array>
31
31
  <string>arm64</string>
32
32
  <string>arm64e</string>
33
+ <string>x86_64</string>
33
34
  </array>
34
35
  <key>SupportedPlatform</key>
35
36
  <string>tvos</string>
37
+ <key>SupportedPlatformVariant</key>
38
+ <string>simulator</string>
36
39
  </dict>
37
40
  <dict>
38
41
  <key>BinaryPath</key>
@@ -71,19 +74,33 @@
71
74
  <key>BinaryPath</key>
72
75
  <string>libskia.a</string>
73
76
  <key>LibraryIdentifier</key>
74
- <string>tvos-arm64_arm64e_x86_64-simulator</string>
77
+ <string>ios-arm64_x86_64-maccatalyst</string>
75
78
  <key>LibraryPath</key>
76
79
  <string>libskia.a</string>
77
80
  <key>SupportedArchitectures</key>
78
81
  <array>
79
82
  <string>arm64</string>
80
- <string>arm64e</string>
81
83
  <string>x86_64</string>
82
84
  </array>
83
85
  <key>SupportedPlatform</key>
84
- <string>tvos</string>
86
+ <string>ios</string>
85
87
  <key>SupportedPlatformVariant</key>
86
- <string>simulator</string>
88
+ <string>maccatalyst</string>
89
+ </dict>
90
+ <dict>
91
+ <key>BinaryPath</key>
92
+ <string>libskia.a</string>
93
+ <key>LibraryIdentifier</key>
94
+ <string>ios-arm64_arm64e</string>
95
+ <key>LibraryPath</key>
96
+ <string>libskia.a</string>
97
+ <key>SupportedArchitectures</key>
98
+ <array>
99
+ <string>arm64</string>
100
+ <string>arm64e</string>
101
+ </array>
102
+ <key>SupportedPlatform</key>
103
+ <string>ios</string>
87
104
  </dict>
88
105
  </array>
89
106
  <key>CFBundlePackageType</key>
@@ -8,82 +8,99 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>libskottie.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>tvos-arm64_arm64e</string>
11
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>libskottie.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
17
  <string>arm64e</string>
18
+ <string>x86_64</string>
18
19
  </array>
19
20
  <key>SupportedPlatform</key>
20
- <string>tvos</string>
21
+ <string>ios</string>
22
+ <key>SupportedPlatformVariant</key>
23
+ <string>simulator</string>
21
24
  </dict>
22
25
  <dict>
23
26
  <key>BinaryPath</key>
24
27
  <string>libskottie.a</string>
25
28
  <key>LibraryIdentifier</key>
26
- <string>tvos-arm64_arm64e_x86_64-simulator</string>
29
+ <string>ios-arm64_arm64e</string>
27
30
  <key>LibraryPath</key>
28
31
  <string>libskottie.a</string>
29
32
  <key>SupportedArchitectures</key>
30
33
  <array>
31
34
  <string>arm64</string>
32
35
  <string>arm64e</string>
36
+ </array>
37
+ <key>SupportedPlatform</key>
38
+ <string>ios</string>
39
+ </dict>
40
+ <dict>
41
+ <key>BinaryPath</key>
42
+ <string>libskottie.a</string>
43
+ <key>LibraryIdentifier</key>
44
+ <string>ios-arm64_x86_64-maccatalyst</string>
45
+ <key>LibraryPath</key>
46
+ <string>libskottie.a</string>
47
+ <key>SupportedArchitectures</key>
48
+ <array>
49
+ <string>arm64</string>
33
50
  <string>x86_64</string>
34
51
  </array>
35
52
  <key>SupportedPlatform</key>
36
- <string>tvos</string>
53
+ <string>ios</string>
37
54
  <key>SupportedPlatformVariant</key>
38
- <string>simulator</string>
55
+ <string>maccatalyst</string>
39
56
  </dict>
40
57
  <dict>
41
58
  <key>BinaryPath</key>
42
59
  <string>libskottie.a</string>
43
60
  <key>LibraryIdentifier</key>
44
- <string>macos-arm64_x86_64</string>
61
+ <string>tvos-arm64_arm64e_x86_64-simulator</string>
45
62
  <key>LibraryPath</key>
46
63
  <string>libskottie.a</string>
47
64
  <key>SupportedArchitectures</key>
48
65
  <array>
49
66
  <string>arm64</string>
67
+ <string>arm64e</string>
50
68
  <string>x86_64</string>
51
69
  </array>
52
70
  <key>SupportedPlatform</key>
53
- <string>macos</string>
71
+ <string>tvos</string>
72
+ <key>SupportedPlatformVariant</key>
73
+ <string>simulator</string>
54
74
  </dict>
55
75
  <dict>
56
76
  <key>BinaryPath</key>
57
77
  <string>libskottie.a</string>
58
78
  <key>LibraryIdentifier</key>
59
- <string>ios-arm64_arm64e</string>
79
+ <string>macos-arm64_x86_64</string>
60
80
  <key>LibraryPath</key>
61
81
  <string>libskottie.a</string>
62
82
  <key>SupportedArchitectures</key>
63
83
  <array>
64
84
  <string>arm64</string>
65
- <string>arm64e</string>
85
+ <string>x86_64</string>
66
86
  </array>
67
87
  <key>SupportedPlatform</key>
68
- <string>ios</string>
88
+ <string>macos</string>
69
89
  </dict>
70
90
  <dict>
71
91
  <key>BinaryPath</key>
72
92
  <string>libskottie.a</string>
73
93
  <key>LibraryIdentifier</key>
74
- <string>ios-arm64_arm64e_x86_64-simulator</string>
94
+ <string>tvos-arm64_arm64e</string>
75
95
  <key>LibraryPath</key>
76
96
  <string>libskottie.a</string>
77
97
  <key>SupportedArchitectures</key>
78
98
  <array>
79
99
  <string>arm64</string>
80
100
  <string>arm64e</string>
81
- <string>x86_64</string>
82
101
  </array>
83
102
  <key>SupportedPlatform</key>
84
- <string>ios</string>
85
- <key>SupportedPlatformVariant</key>
86
- <string>simulator</string>
103
+ <string>tvos</string>
87
104
  </dict>
88
105
  </array>
89
106
  <key>CFBundlePackageType</key>