Skip to content

Commit 3c664ba

Browse files
authored
Add uikit previews (#64)
1 parent eb35bb8 commit 3c664ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+3173
-12
lines changed

Package.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ let package = Package(
4141
// Target that provides the XCTest
4242
.target(name: "SnapshottingTests"),
4343
// Core functionality
44-
.target(name: "SnapshotPreviewsCore"),
44+
.target(name: "SnapshotPreviewsCore", dependencies: ["PreviewsSupport"]),
4545
.target(name: "SnapshotPreferences", dependencies: ["SnapshotPreviewsCore"]),
4646
// Inserted dylib
4747
.target(name: "Snapshotting", dependencies: ["SnapshottingSwift"]),
4848
// Swift code in the inserted dylib
4949
.target(name: "SnapshottingSwift", dependencies: ["SnapshotPreviewsCore", .product(name: "FlyingFox", package: "FlyingFox")]),
5050
.target(name: "PreviewGallery", dependencies: ["SnapshotPreviewsCore", "SnapshotPreferences"]),
51+
.binaryTarget(
52+
name: "PreviewsSupport",
53+
path: "PreviewsSupport/PreviewsSupport.xcframework"),
5154
.testTarget(
5255
name: "SnapshotPreviewsTests",
5356
dependencies: ["SnapshotPreviewsCore"]),
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>AvailableLibraries</key>
6+
<array>
7+
<dict>
8+
<key>BinaryPath</key>
9+
<string>PreviewsSupport.framework/PreviewsSupport</string>
10+
<key>LibraryIdentifier</key>
11+
<string>ios-arm64</string>
12+
<key>LibraryPath</key>
13+
<string>PreviewsSupport.framework</string>
14+
<key>SupportedArchitectures</key>
15+
<array>
16+
<string>arm64</string>
17+
</array>
18+
<key>SupportedPlatform</key>
19+
<string>ios</string>
20+
</dict>
21+
<dict>
22+
<key>BinaryPath</key>
23+
<string>PreviewsSupport.framework/PreviewsSupport</string>
24+
<key>LibraryIdentifier</key>
25+
<string>ios-arm64_x86_64-simulator</string>
26+
<key>LibraryPath</key>
27+
<string>PreviewsSupport.framework</string>
28+
<key>SupportedArchitectures</key>
29+
<array>
30+
<string>arm64</string>
31+
<string>x86_64</string>
32+
</array>
33+
<key>SupportedPlatform</key>
34+
<string>ios</string>
35+
<key>SupportedPlatformVariant</key>
36+
<string>simulator</string>
37+
</dict>
38+
</array>
39+
<key>CFBundlePackageType</key>
40+
<string>XFWK</string>
41+
<key>XCFrameworkFormatVersion</key>
42+
<string>1.0</string>
43+
</dict>
44+
</plist>
Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,311 @@
1+
#if 0
2+
#elif defined(__arm64__) && __arm64__
3+
// Generated by Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)
4+
#ifndef PREVIEWSSUPPORT_SWIFT_H
5+
#define PREVIEWSSUPPORT_SWIFT_H
6+
#pragma clang diagnostic push
7+
#pragma clang diagnostic ignored "-Wgcc-compat"
8+
9+
#if !defined(__has_include)
10+
# define __has_include(x) 0
11+
#endif
12+
#if !defined(__has_attribute)
13+
# define __has_attribute(x) 0
14+
#endif
15+
#if !defined(__has_feature)
16+
# define __has_feature(x) 0
17+
#endif
18+
#if !defined(__has_warning)
19+
# define __has_warning(x) 0
20+
#endif
21+
22+
#if __has_include(<swift/objc-prologue.h>)
23+
# include <swift/objc-prologue.h>
24+
#endif
25+
26+
#pragma clang diagnostic ignored "-Wauto-import"
27+
#if defined(__OBJC__)
28+
#include <Foundation/Foundation.h>
29+
#endif
30+
#if defined(__cplusplus)
31+
#include <cstdint>
32+
#include <cstddef>
33+
#include <cstdbool>
34+
#include <cstring>
35+
#include <stdlib.h>
36+
#include <new>
37+
#include <type_traits>
38+
#else
39+
#include <stdint.h>
40+
#include <stddef.h>
41+
#include <stdbool.h>
42+
#include <string.h>
43+
#endif
44+
#if defined(__cplusplus)
45+
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
46+
# include <ptrauth.h>
47+
#else
48+
#pragma clang diagnostic push
49+
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
50+
# ifndef __ptrauth_swift_value_witness_function_pointer
51+
# define __ptrauth_swift_value_witness_function_pointer(x)
52+
# endif
53+
# ifndef __ptrauth_swift_class_method_pointer
54+
# define __ptrauth_swift_class_method_pointer(x)
55+
# endif
56+
#pragma clang diagnostic pop
57+
#endif
58+
#endif
59+
60+
#if !defined(SWIFT_TYPEDEFS)
61+
# define SWIFT_TYPEDEFS 1
62+
# if __has_include(<uchar.h>)
63+
# include <uchar.h>
64+
# elif !defined(__cplusplus)
65+
typedef uint_least16_t char16_t;
66+
typedef uint_least32_t char32_t;
67+
# endif
68+
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
69+
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
70+
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
71+
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
72+
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
73+
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
74+
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
75+
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
76+
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
77+
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
78+
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
79+
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
80+
#endif
81+
82+
#if !defined(SWIFT_PASTE)
83+
# define SWIFT_PASTE_HELPER(x, y) x##y
84+
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
85+
#endif
86+
#if !defined(SWIFT_METATYPE)
87+
# define SWIFT_METATYPE(X) Class
88+
#endif
89+
#if !defined(SWIFT_CLASS_PROPERTY)
90+
# if __has_feature(objc_class_property)
91+
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
92+
# else
93+
# define SWIFT_CLASS_PROPERTY(...)
94+
# endif
95+
#endif
96+
#if !defined(SWIFT_RUNTIME_NAME)
97+
# if __has_attribute(objc_runtime_name)
98+
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
99+
# else
100+
# define SWIFT_RUNTIME_NAME(X)
101+
# endif
102+
#endif
103+
#if !defined(SWIFT_COMPILE_NAME)
104+
# if __has_attribute(swift_name)
105+
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
106+
# else
107+
# define SWIFT_COMPILE_NAME(X)
108+
# endif
109+
#endif
110+
#if !defined(SWIFT_METHOD_FAMILY)
111+
# if __has_attribute(objc_method_family)
112+
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
113+
# else
114+
# define SWIFT_METHOD_FAMILY(X)
115+
# endif
116+
#endif
117+
#if !defined(SWIFT_NOESCAPE)
118+
# if __has_attribute(noescape)
119+
# define SWIFT_NOESCAPE __attribute__((noescape))
120+
# else
121+
# define SWIFT_NOESCAPE
122+
# endif
123+
#endif
124+
#if !defined(SWIFT_RELEASES_ARGUMENT)
125+
# if __has_attribute(ns_consumed)
126+
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
127+
# else
128+
# define SWIFT_RELEASES_ARGUMENT
129+
# endif
130+
#endif
131+
#if !defined(SWIFT_WARN_UNUSED_RESULT)
132+
# if __has_attribute(warn_unused_result)
133+
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
134+
# else
135+
# define SWIFT_WARN_UNUSED_RESULT
136+
# endif
137+
#endif
138+
#if !defined(SWIFT_NORETURN)
139+
# if __has_attribute(noreturn)
140+
# define SWIFT_NORETURN __attribute__((noreturn))
141+
# else
142+
# define SWIFT_NORETURN
143+
# endif
144+
#endif
145+
#if !defined(SWIFT_CLASS_EXTRA)
146+
# define SWIFT_CLASS_EXTRA
147+
#endif
148+
#if !defined(SWIFT_PROTOCOL_EXTRA)
149+
# define SWIFT_PROTOCOL_EXTRA
150+
#endif
151+
#if !defined(SWIFT_ENUM_EXTRA)
152+
# define SWIFT_ENUM_EXTRA
153+
#endif
154+
#if !defined(SWIFT_CLASS)
155+
# if __has_attribute(objc_subclassing_restricted)
156+
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
157+
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
158+
# else
159+
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
160+
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
161+
# endif
162+
#endif
163+
#if !defined(SWIFT_RESILIENT_CLASS)
164+
# if __has_attribute(objc_class_stub)
165+
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
166+
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
167+
# else
168+
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
169+
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
170+
# endif
171+
#endif
172+
#if !defined(SWIFT_PROTOCOL)
173+
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
174+
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
175+
#endif
176+
#if !defined(SWIFT_EXTENSION)
177+
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
178+
#endif
179+
#if !defined(OBJC_DESIGNATED_INITIALIZER)
180+
# if __has_attribute(objc_designated_initializer)
181+
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
182+
# else
183+
# define OBJC_DESIGNATED_INITIALIZER
184+
# endif
185+
#endif
186+
#if !defined(SWIFT_ENUM_ATTR)
187+
# if __has_attribute(enum_extensibility)
188+
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
189+
# else
190+
# define SWIFT_ENUM_ATTR(_extensibility)
191+
# endif
192+
#endif
193+
#if !defined(SWIFT_ENUM)
194+
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
195+
# if __has_feature(generalized_swift_name)
196+
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
197+
# else
198+
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
199+
# endif
200+
#endif
201+
#if !defined(SWIFT_UNAVAILABLE)
202+
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
203+
#endif
204+
#if !defined(SWIFT_UNAVAILABLE_MSG)
205+
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
206+
#endif
207+
#if !defined(SWIFT_AVAILABILITY)
208+
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
209+
#endif
210+
#if !defined(SWIFT_WEAK_IMPORT)
211+
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
212+
#endif
213+
#if !defined(SWIFT_DEPRECATED)
214+
# define SWIFT_DEPRECATED __attribute__((deprecated))
215+
#endif
216+
#if !defined(SWIFT_DEPRECATED_MSG)
217+
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
218+
#endif
219+
#if !defined(SWIFT_DEPRECATED_OBJC)
220+
# if __has_feature(attribute_diagnose_if_objc)
221+
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
222+
# else
223+
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
224+
# endif
225+
#endif
226+
#if defined(__OBJC__)
227+
#if !defined(IBSegueAction)
228+
# define IBSegueAction
229+
#endif
230+
#endif
231+
#if !defined(SWIFT_EXTERN)
232+
# if defined(__cplusplus)
233+
# define SWIFT_EXTERN extern "C"
234+
# else
235+
# define SWIFT_EXTERN extern
236+
# endif
237+
#endif
238+
#if !defined(SWIFT_CALL)
239+
# define SWIFT_CALL __attribute__((swiftcall))
240+
#endif
241+
#if !defined(SWIFT_INDIRECT_RESULT)
242+
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
243+
#endif
244+
#if !defined(SWIFT_CONTEXT)
245+
# define SWIFT_CONTEXT __attribute__((swift_context))
246+
#endif
247+
#if !defined(SWIFT_ERROR_RESULT)
248+
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
249+
#endif
250+
#if defined(__cplusplus)
251+
# define SWIFT_NOEXCEPT noexcept
252+
#else
253+
# define SWIFT_NOEXCEPT
254+
#endif
255+
#if !defined(SWIFT_C_INLINE_THUNK)
256+
# if __has_attribute(always_inline)
257+
# if __has_attribute(nodebug)
258+
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
259+
# else
260+
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
261+
# endif
262+
# else
263+
# define SWIFT_C_INLINE_THUNK inline
264+
# endif
265+
#endif
266+
#if defined(_WIN32)
267+
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
268+
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
269+
#endif
270+
#else
271+
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
272+
# define SWIFT_IMPORT_STDLIB_SYMBOL
273+
#endif
274+
#endif
275+
#if defined(__OBJC__)
276+
#if __has_feature(objc_modules)
277+
#if __has_warning("-Watimport-in-framework-header")
278+
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
279+
#endif
280+
#endif
281+
282+
#endif
283+
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
284+
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
285+
#if __has_warning("-Wpragma-clang-attribute")
286+
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
287+
#endif
288+
#pragma clang diagnostic ignored "-Wunknown-pragmas"
289+
#pragma clang diagnostic ignored "-Wnullability"
290+
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
291+
292+
#if __has_attribute(external_source_symbol)
293+
# pragma push_macro("any")
294+
# undef any
295+
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="PreviewsSupport",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
296+
# pragma pop_macro("any")
297+
#endif
298+
299+
#if defined(__OBJC__)
300+
#endif
301+
#if __has_attribute(external_source_symbol)
302+
# pragma clang attribute pop
303+
#endif
304+
#if defined(__cplusplus)
305+
#endif
306+
#pragma clang diagnostic pop
307+
#endif
308+
309+
#else
310+
#error unsupported Swift architecture
311+
#endif
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//
2+
// PreviewsSupport.h
3+
// PreviewsSupport
4+
//
5+
// Created by Noah Martin on 10/18/23.
6+
//
7+
8+
#import <Foundation/Foundation.h>
9+
10+
//! Project version number for PreviewsSupport.
11+
FOUNDATION_EXPORT double PreviewsSupportVersionNumber;
12+
13+
//! Project version string for PreviewsSupport.
14+
FOUNDATION_EXPORT const unsigned char PreviewsSupportVersionString[];
15+
16+
// In this header, you should import all the public headers of your framework using statements like #import <PreviewsSupport/PublicHeader.h>
17+
18+
Binary file not shown.

0 commit comments

Comments
 (0)