-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathInjectionImplC.h
More file actions
79 lines (75 loc) · 3.75 KB
/
InjectionImplC.h
File metadata and controls
79 lines (75 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//
// InjectionLiteC.h
//
// Created by John Holdsworth on 13/03/2023.
//
#if DEBUG || !SWIFT_PACKAGE
#import <Foundation/Foundation.h>
#define APP_NAME "InjectionLite"
#define APP_PREFIX "🔥 "
#define VAPOR_SYMBOL "$s10RoutingKit10ParametersVN"
#define TCA_SYMBOL "_$s22ComposableArchitecture6LoggerCN"
// Environment variables that can be used in schemes.
/// IP or hostname of developer's machine for connecting from device.
#define INJECTION_HOST "INJECTION_HOST"
/// Default list of directories fo watch, should include ~/Library/Developer.
#define INJECTION_DIRECTORIES "INJECTION_DIRECTORIES"
/// The root directory(s) to file watch of the project being injected.
#define INJECTION_PROJECT_ROOT "INJECTION_PROJECT_ROOT"
/// Preserve the value of top level and static variables over an injection.
#define INJECTION_PRESERVE_STATICS "INJECTION_PRESERVE_STATICS"
/// Directory containing Bazel workspace.
#define BUILD_WORKSPACE_DIRECTORY "BUILD_WORKSPACE_DIRECTORY"
/// Regex of types to exclude from sweep to implement @objc func injected().
#define INJECTION_SWEEP_EXCLUDE "INJECTION_SWEEP_EXCLUDE"
/// Enable verbose logging of types as they are swept to localise problems.
#define INJECTION_SWEEP_DETAIL "INJECTION_SWEEP_DETAIL"
/// Don't run "standalone" injection in the simulator after failing to connect.
#define INJECTION_NOSTANDALONE "INJECTION_NOSTANDALONE"
/// Opt-into legacy injection of generics classes using the object sweep.
#define INJECTION_OF_GENERICS "INJECTION_OF_GENERICS"
/// Opt-out of new injection of generic classes not using the sweep.
#define INJECTION_NOGENERICS "INJECTION_NOGENERICS"
/// Opt-out of "hook" enabling injection of code that uses key paths.
#define INJECTION_NOKEYPATHS "INJECTION_NOKEYPATHS"
/// Opt-into enabling injection of key paths when not using TCA.
#define INJECTION_KEYPATHS "INJECTION_KEYPATHS"
/// Verbose logging of steps binding injected code into your app.
#define INJECTION_DETAIL "INJECTION_DETAIL"
/// Set bazel target to optimize source to bazel target matching
#define INJECTION_BAZEL_TARGET "INJECTION_BAZEL_TARGET"
/// Enable selected benchmarking of some operations.
#define INJECTION_BENCH "INJECTION_BENCH"
/// Enable tracing of functions that have been injected..
#define INJECTION_TRACE "INJECTION_TRACE"
/// Enable tracing of all functions in an app.
/// If value starts with "|" added to regex of functions not to trace
#define INJECTION_TRACE_ALL "INJECTION_TRACE_ALL"
/// Regex of which functions to be included in trace.
#define INJECTION_TRACE_FILTER "INJECTION_TRACE_FILTER"
/// Enable expanson of custom app types in traces.
/// If value starts with "|" added to regex of types not to lookup
#define INJECTION_TRACE_LOOKUP "INJECTION_TRACE_LOOKUP"
/// Enable tracing of function calls into frameworks.
/// If there is a value it is a list of frameworks to trace.
#define INJECTION_TRACE_FRAMEWORKS "INJECTION_TRACE_FRAMEWORKS"
/// Enable tracing of internal method invocations inside UIKit.
/// If there is a value it is name of the framework to swizzle.
#define INJECTION_TRACE_UIKIT "INJECTION_TRACE_UIKIT"
/// If global traces are crashing, add this value to your scheme until lt works.
#define INJECTION_TRACE_REPAIR "INJECTION_TRACE_REPAIR"
/// Path to bazelisk or bazel.
#define INJECTION_BAZEL_PATH "INJECTION_BAZEL_PATH"
/// Path to xcrun.
#define INJECTION_XCRUN_PATH "INJECTION_XCRUN_PATH"
/// Supress initial app popup.
#define INJECTION_HIDE_XCODE_ALERT "INJECTION_HIDE_XCODE_ALERT"
/// Notification on injection.
#define INJECTION_BUNDLE_NOTIFICATION "INJECTION_BUNDLE_NOTIFICATION"
/// Notification posted with injection timing metrics.
#define INJECTION_METRICS_NOTIFICATION "INJECTION_METRICS_NOTIFICATION"
@interface NSObject(InjectionBoot)
+ (BOOL)InjectionBoot_inPreview;
+ (void)runXCTestCase:(Class)aTestCase;
@end
#endif