summaryrefslogtreecommitdiffstats
path: root/ios
diff options
context:
space:
mode:
Diffstat (limited to 'ios')
-rw-r--r--ios/.xcode.env11
-rw-r--r--ios/Podfile55
-rw-r--r--ios/cyberbadge_mobile.xcodeproj/project.pbxproj684
-rw-r--r--ios/cyberbadge_mobile.xcodeproj/xcshareddata/xcschemes/cyberbadge_mobile.xcscheme88
-rw-r--r--ios/cyberbadge_mobile/AppDelegate.h6
-rw-r--r--ios/cyberbadge_mobile/AppDelegate.mm31
-rw-r--r--ios/cyberbadge_mobile/Images.xcassets/AppIcon.appiconset/Contents.json53
-rw-r--r--ios/cyberbadge_mobile/Images.xcassets/Contents.json6
-rw-r--r--ios/cyberbadge_mobile/Info.plist52
-rw-r--r--ios/cyberbadge_mobile/LaunchScreen.storyboard47
-rw-r--r--ios/cyberbadge_mobile/main.m10
-rw-r--r--ios/cyberbadge_mobileTests/Info.plist24
-rw-r--r--ios/cyberbadge_mobileTests/cyberbadge_mobileTests.m66
13 files changed, 1133 insertions, 0 deletions
diff --git a/ios/.xcode.env b/ios/.xcode.env
new file mode 100644
index 0000000..3d5782c
--- /dev/null
+++ b/ios/.xcode.env
@@ -0,0 +1,11 @@
1# This `.xcode.env` file is versioned and is used to source the environment
2# used when running script phases inside Xcode.
3# To customize your local environment, you can create an `.xcode.env.local`
4# file that is not versioned.
5
6# NODE_BINARY variable contains the PATH to the node executable.
7#
8# Customize the NODE_BINARY variable here.
9# For example, to use nvm with brew, add the following line
10# . "$(brew --prefix nvm)/nvm.sh" --no-use
11export NODE_BINARY=$(command -v node)
diff --git a/ios/Podfile b/ios/Podfile
new file mode 100644
index 0000000..1c2cf48
--- /dev/null
+++ b/ios/Podfile
@@ -0,0 +1,55 @@
1# Resolve react_native_pods.rb with node to allow for hoisting
2require Pod::Executable.execute_command('node', ['-p',
3 'require.resolve(
4 "react-native/scripts/react_native_pods.rb",
5 {paths: [process.argv[1]]},
6 )', __dir__]).strip
7
8platform :ios, min_ios_version_supported
9prepare_react_native_project!
10
11# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
12# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
13#
14# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
15# ```js
16# module.exports = {
17# dependencies: {
18# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
19# ```
20flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
21
22linkage = ENV['USE_FRAMEWORKS']
23if linkage != nil
24 Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
25 use_frameworks! :linkage => linkage.to_sym
26end
27
28target 'cyberbadge_mobile' do
29 config = use_native_modules!
30
31 use_react_native!(
32 :path => config[:reactNativePath],
33 # Enables Flipper.
34 #
35 # Note that if you have use_frameworks! enabled, Flipper will not work and
36 # you should disable the next line.
37 :flipper_configuration => flipper_config,
38 # An absolute path to your application root.
39 :app_path => "#{Pod::Config.instance.installation_root}/.."
40 )
41
42 target 'cyberbadge_mobileTests' do
43 inherit! :complete
44 # Pods for testing
45 end
46
47 post_install do |installer|
48 # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
49 react_native_post_install(
50 installer,
51 config[:reactNativePath],
52 :mac_catalyst_enabled => false
53 )
54 end
55end
diff --git a/ios/cyberbadge_mobile.xcodeproj/project.pbxproj b/ios/cyberbadge_mobile.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..b0a86d1
--- /dev/null
+++ b/ios/cyberbadge_mobile.xcodeproj/project.pbxproj
@@ -0,0 +1,684 @@
1// !$*UTF8*$!
2{
3 archiveVersion = 1;
4 classes = {
5 };
6 objectVersion = 54;
7 objects = {
8
9/* Begin PBXBuildFile section */
10 00E356F31AD99517003FC87E /* cyberbadge_mobileTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* cyberbadge_mobileTests.m */; };
11 0C80B921A6F3F58F76C31292 /* libPods-cyberbadge_mobile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-cyberbadge_mobile.a */; };
12 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
13 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
14 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
15 7699B88040F8A987B510C191 /* libPods-cyberbadge_mobile-cyberbadge_mobileTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-cyberbadge_mobile-cyberbadge_mobileTests.a */; };
16 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
17/* End PBXBuildFile section */
18
19/* Begin PBXContainerItemProxy section */
20 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
21 isa = PBXContainerItemProxy;
22 containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
23 proxyType = 1;
24 remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
25 remoteInfo = cyberbadge_mobile;
26 };
27/* End PBXContainerItemProxy section */
28
29/* Begin PBXFileReference section */
30 00E356EE1AD99517003FC87E /* cyberbadge_mobileTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = cyberbadge_mobileTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
31 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
32 00E356F21AD99517003FC87E /* cyberbadge_mobileTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = cyberbadge_mobileTests.m; sourceTree = "<group>"; };
33 13B07F961A680F5B00A75B9A /* cyberbadge_mobile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = cyberbadge_mobile.app; sourceTree = BUILT_PRODUCTS_DIR; };
34 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = cyberbadge_mobile/AppDelegate.h; sourceTree = "<group>"; };
35 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = cyberbadge_mobile/AppDelegate.mm; sourceTree = "<group>"; };
36 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = cyberbadge_mobile/Images.xcassets; sourceTree = "<group>"; };
37 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = cyberbadge_mobile/Info.plist; sourceTree = "<group>"; };
38 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = cyberbadge_mobile/main.m; sourceTree = "<group>"; };
39 19F6CBCC0A4E27FBF8BF4A61 /* libPods-cyberbadge_mobile-cyberbadge_mobileTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-cyberbadge_mobile-cyberbadge_mobileTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
40 3B4392A12AC88292D35C810B /* Pods-cyberbadge_mobile.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-cyberbadge_mobile.debug.xcconfig"; path = "Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile.debug.xcconfig"; sourceTree = "<group>"; };
41 5709B34CF0A7D63546082F79 /* Pods-cyberbadge_mobile.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-cyberbadge_mobile.release.xcconfig"; path = "Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile.release.xcconfig"; sourceTree = "<group>"; };
42 5B7EB9410499542E8C5724F5 /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-cyberbadge_mobile-cyberbadge_mobileTests.debug.xcconfig"; path = "Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests.debug.xcconfig"; sourceTree = "<group>"; };
43 5DCACB8F33CDC322A6C60F78 /* libPods-cyberbadge_mobile.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-cyberbadge_mobile.a"; sourceTree = BUILT_PRODUCTS_DIR; };
44 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = cyberbadge_mobile/LaunchScreen.storyboard; sourceTree = "<group>"; };
45 89C6BE57DB24E9ADA2F236DE /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-cyberbadge_mobile-cyberbadge_mobileTests.release.xcconfig"; path = "Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests.release.xcconfig"; sourceTree = "<group>"; };
46 ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
47/* End PBXFileReference section */
48
49/* Begin PBXFrameworksBuildPhase section */
50 00E356EB1AD99517003FC87E /* Frameworks */ = {
51 isa = PBXFrameworksBuildPhase;
52 buildActionMask = 2147483647;
53 files = (
54 7699B88040F8A987B510C191 /* libPods-cyberbadge_mobile-cyberbadge_mobileTests.a in Frameworks */,
55 );
56 runOnlyForDeploymentPostprocessing = 0;
57 };
58 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
59 isa = PBXFrameworksBuildPhase;
60 buildActionMask = 2147483647;
61 files = (
62 0C80B921A6F3F58F76C31292 /* libPods-cyberbadge_mobile.a in Frameworks */,
63 );
64 runOnlyForDeploymentPostprocessing = 0;
65 };
66/* End PBXFrameworksBuildPhase section */
67
68/* Begin PBXGroup section */
69 00E356EF1AD99517003FC87E /* cyberbadge_mobileTests */ = {
70 isa = PBXGroup;
71 children = (
72 00E356F21AD99517003FC87E /* cyberbadge_mobileTests.m */,
73 00E356F01AD99517003FC87E /* Supporting Files */,
74 );
75 path = cyberbadge_mobileTests;
76 sourceTree = "<group>";
77 };
78 00E356F01AD99517003FC87E /* Supporting Files */ = {
79 isa = PBXGroup;
80 children = (
81 00E356F11AD99517003FC87E /* Info.plist */,
82 );
83 name = "Supporting Files";
84 sourceTree = "<group>";
85 };
86 13B07FAE1A68108700A75B9A /* cyberbadge_mobile */ = {
87 isa = PBXGroup;
88 children = (
89 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
90 13B07FB01A68108700A75B9A /* AppDelegate.mm */,
91 13B07FB51A68108700A75B9A /* Images.xcassets */,
92 13B07FB61A68108700A75B9A /* Info.plist */,
93 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
94 13B07FB71A68108700A75B9A /* main.m */,
95 );
96 name = cyberbadge_mobile;
97 sourceTree = "<group>";
98 };
99 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
100 isa = PBXGroup;
101 children = (
102 ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
103 5DCACB8F33CDC322A6C60F78 /* libPods-cyberbadge_mobile.a */,
104 19F6CBCC0A4E27FBF8BF4A61 /* libPods-cyberbadge_mobile-cyberbadge_mobileTests.a */,
105 );
106 name = Frameworks;
107 sourceTree = "<group>";
108 };
109 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
110 isa = PBXGroup;
111 children = (
112 );
113 name = Libraries;
114 sourceTree = "<group>";
115 };
116 83CBB9F61A601CBA00E9B192 = {
117 isa = PBXGroup;
118 children = (
119 13B07FAE1A68108700A75B9A /* cyberbadge_mobile */,
120 832341AE1AAA6A7D00B99B32 /* Libraries */,
121 00E356EF1AD99517003FC87E /* cyberbadge_mobileTests */,
122 83CBBA001A601CBA00E9B192 /* Products */,
123 2D16E6871FA4F8E400B85C8A /* Frameworks */,
124 BBD78D7AC51CEA395F1C20DB /* Pods */,
125 );
126 indentWidth = 2;
127 sourceTree = "<group>";
128 tabWidth = 2;
129 usesTabs = 0;
130 };
131 83CBBA001A601CBA00E9B192 /* Products */ = {
132 isa = PBXGroup;
133 children = (
134 13B07F961A680F5B00A75B9A /* cyberbadge_mobile.app */,
135 00E356EE1AD99517003FC87E /* cyberbadge_mobileTests.xctest */,
136 );
137 name = Products;
138 sourceTree = "<group>";
139 };
140 BBD78D7AC51CEA395F1C20DB /* Pods */ = {
141 isa = PBXGroup;
142 children = (
143 3B4392A12AC88292D35C810B /* Pods-cyberbadge_mobile.debug.xcconfig */,
144 5709B34CF0A7D63546082F79 /* Pods-cyberbadge_mobile.release.xcconfig */,
145 5B7EB9410499542E8C5724F5 /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.debug.xcconfig */,
146 89C6BE57DB24E9ADA2F236DE /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.release.xcconfig */,
147 );
148 path = Pods;
149 sourceTree = "<group>";
150 };
151/* End PBXGroup section */
152
153/* Begin PBXNativeTarget section */
154 00E356ED1AD99517003FC87E /* cyberbadge_mobileTests */ = {
155 isa = PBXNativeTarget;
156 buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "cyberbadge_mobileTests" */;
157 buildPhases = (
158 A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */,
159 00E356EA1AD99517003FC87E /* Sources */,
160 00E356EB1AD99517003FC87E /* Frameworks */,
161 00E356EC1AD99517003FC87E /* Resources */,
162 C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */,
163 F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */,
164 );
165 buildRules = (
166 );
167 dependencies = (
168 00E356F51AD99517003FC87E /* PBXTargetDependency */,
169 );
170 name = cyberbadge_mobileTests;
171 productName = cyberbadge_mobileTests;
172 productReference = 00E356EE1AD99517003FC87E /* cyberbadge_mobileTests.xctest */;
173 productType = "com.apple.product-type.bundle.unit-test";
174 };
175 13B07F861A680F5B00A75B9A /* cyberbadge_mobile */ = {
176 isa = PBXNativeTarget;
177 buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "cyberbadge_mobile" */;
178 buildPhases = (
179 C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
180 13B07F871A680F5B00A75B9A /* Sources */,
181 13B07F8C1A680F5B00A75B9A /* Frameworks */,
182 13B07F8E1A680F5B00A75B9A /* Resources */,
183 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
184 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
185 E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
186 );
187 buildRules = (
188 );
189 dependencies = (
190 );
191 name = cyberbadge_mobile;
192 productName = cyberbadge_mobile;
193 productReference = 13B07F961A680F5B00A75B9A /* cyberbadge_mobile.app */;
194 productType = "com.apple.product-type.application";
195 };
196/* End PBXNativeTarget section */
197
198/* Begin PBXProject section */
199 83CBB9F71A601CBA00E9B192 /* Project object */ = {
200 isa = PBXProject;
201 attributes = {
202 LastUpgradeCheck = 1210;
203 TargetAttributes = {
204 00E356ED1AD99517003FC87E = {
205 CreatedOnToolsVersion = 6.2;
206 TestTargetID = 13B07F861A680F5B00A75B9A;
207 };
208 13B07F861A680F5B00A75B9A = {
209 LastSwiftMigration = 1120;
210 };
211 };
212 };
213 buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "cyberbadge_mobile" */;
214 compatibilityVersion = "Xcode 12.0";
215 developmentRegion = en;
216 hasScannedForEncodings = 0;
217 knownRegions = (
218 en,
219 Base,
220 );
221 mainGroup = 83CBB9F61A601CBA00E9B192;
222 productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
223 projectDirPath = "";
224 projectRoot = "";
225 targets = (
226 13B07F861A680F5B00A75B9A /* cyberbadge_mobile */,
227 00E356ED1AD99517003FC87E /* cyberbadge_mobileTests */,
228 );
229 };
230/* End PBXProject section */
231
232/* Begin PBXResourcesBuildPhase section */
233 00E356EC1AD99517003FC87E /* Resources */ = {
234 isa = PBXResourcesBuildPhase;
235 buildActionMask = 2147483647;
236 files = (
237 );
238 runOnlyForDeploymentPostprocessing = 0;
239 };
240 13B07F8E1A680F5B00A75B9A /* Resources */ = {
241 isa = PBXResourcesBuildPhase;
242 buildActionMask = 2147483647;
243 files = (
244 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
245 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
246 );
247 runOnlyForDeploymentPostprocessing = 0;
248 };
249/* End PBXResourcesBuildPhase section */
250
251/* Begin PBXShellScriptBuildPhase section */
252 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
253 isa = PBXShellScriptBuildPhase;
254 buildActionMask = 2147483647;
255 files = (
256 );
257 inputPaths = (
258 "$(SRCROOT)/.xcode.env.local",
259 "$(SRCROOT)/.xcode.env",
260 );
261 name = "Bundle React Native code and images";
262 outputPaths = (
263 );
264 runOnlyForDeploymentPostprocessing = 0;
265 shellPath = /bin/sh;
266 shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
267 };
268 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
269 isa = PBXShellScriptBuildPhase;
270 buildActionMask = 2147483647;
271 files = (
272 );
273 inputFileListPaths = (
274 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-frameworks-${CONFIGURATION}-input-files.xcfilelist",
275 );
276 name = "[CP] Embed Pods Frameworks";
277 outputFileListPaths = (
278 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-frameworks-${CONFIGURATION}-output-files.xcfilelist",
279 );
280 runOnlyForDeploymentPostprocessing = 0;
281 shellPath = /bin/sh;
282 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-frameworks.sh\"\n";
283 showEnvVarsInLog = 0;
284 };
285 A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
286 isa = PBXShellScriptBuildPhase;
287 buildActionMask = 2147483647;
288 files = (
289 );
290 inputFileListPaths = (
291 );
292 inputPaths = (
293 "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
294 "${PODS_ROOT}/Manifest.lock",
295 );
296 name = "[CP] Check Pods Manifest.lock";
297 outputFileListPaths = (
298 );
299 outputPaths = (
300 "$(DERIVED_FILE_DIR)/Pods-cyberbadge_mobile-cyberbadge_mobileTests-checkManifestLockResult.txt",
301 );
302 runOnlyForDeploymentPostprocessing = 0;
303 shellPath = /bin/sh;
304 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";
305 showEnvVarsInLog = 0;
306 };
307 C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
308 isa = PBXShellScriptBuildPhase;
309 buildActionMask = 2147483647;
310 files = (
311 );
312 inputFileListPaths = (
313 );
314 inputPaths = (
315 "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
316 "${PODS_ROOT}/Manifest.lock",
317 );
318 name = "[CP] Check Pods Manifest.lock";
319 outputFileListPaths = (
320 );
321 outputPaths = (
322 "$(DERIVED_FILE_DIR)/Pods-cyberbadge_mobile-checkManifestLockResult.txt",
323 );
324 runOnlyForDeploymentPostprocessing = 0;
325 shellPath = /bin/sh;
326 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";
327 showEnvVarsInLog = 0;
328 };
329 C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = {
330 isa = PBXShellScriptBuildPhase;
331 buildActionMask = 2147483647;
332 files = (
333 );
334 inputFileListPaths = (
335 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
336 );
337 name = "[CP] Embed Pods Frameworks";
338 outputFileListPaths = (
339 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
340 );
341 runOnlyForDeploymentPostprocessing = 0;
342 shellPath = /bin/sh;
343 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-frameworks.sh\"\n";
344 showEnvVarsInLog = 0;
345 };
346 E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
347 isa = PBXShellScriptBuildPhase;
348 buildActionMask = 2147483647;
349 files = (
350 );
351 inputFileListPaths = (
352 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-resources-${CONFIGURATION}-input-files.xcfilelist",
353 );
354 name = "[CP] Copy Pods Resources";
355 outputFileListPaths = (
356 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-resources-${CONFIGURATION}-output-files.xcfilelist",
357 );
358 runOnlyForDeploymentPostprocessing = 0;
359 shellPath = /bin/sh;
360 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile/Pods-cyberbadge_mobile-resources.sh\"\n";
361 showEnvVarsInLog = 0;
362 };
363 F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
364 isa = PBXShellScriptBuildPhase;
365 buildActionMask = 2147483647;
366 files = (
367 );
368 inputFileListPaths = (
369 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-resources-${CONFIGURATION}-input-files.xcfilelist",
370 );
371 name = "[CP] Copy Pods Resources";
372 outputFileListPaths = (
373 "${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-resources-${CONFIGURATION}-output-files.xcfilelist",
374 );
375 runOnlyForDeploymentPostprocessing = 0;
376 shellPath = /bin/sh;
377 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-cyberbadge_mobile-cyberbadge_mobileTests/Pods-cyberbadge_mobile-cyberbadge_mobileTests-resources.sh\"\n";
378 showEnvVarsInLog = 0;
379 };
380/* End PBXShellScriptBuildPhase section */
381
382/* Begin PBXSourcesBuildPhase section */
383 00E356EA1AD99517003FC87E /* Sources */ = {
384 isa = PBXSourcesBuildPhase;
385 buildActionMask = 2147483647;
386 files = (
387 00E356F31AD99517003FC87E /* cyberbadge_mobileTests.m in Sources */,
388 );
389 runOnlyForDeploymentPostprocessing = 0;
390 };
391 13B07F871A680F5B00A75B9A /* Sources */ = {
392 isa = PBXSourcesBuildPhase;
393 buildActionMask = 2147483647;
394 files = (
395 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
396 13B07FC11A68108700A75B9A /* main.m in Sources */,
397 );
398 runOnlyForDeploymentPostprocessing = 0;
399 };
400/* End PBXSourcesBuildPhase section */
401
402/* Begin PBXTargetDependency section */
403 00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
404 isa = PBXTargetDependency;
405 target = 13B07F861A680F5B00A75B9A /* cyberbadge_mobile */;
406 targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
407 };
408/* End PBXTargetDependency section */
409
410/* Begin XCBuildConfiguration section */
411 00E356F61AD99517003FC87E /* Debug */ = {
412 isa = XCBuildConfiguration;
413 baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.debug.xcconfig */;
414 buildSettings = {
415 BUNDLE_LOADER = "$(TEST_HOST)";
416 GCC_PREPROCESSOR_DEFINITIONS = (
417 "DEBUG=1",
418 "$(inherited)",
419 );
420 INFOPLIST_FILE = cyberbadge_mobileTests/Info.plist;
421 IPHONEOS_DEPLOYMENT_TARGET = 13.4;
422 LD_RUNPATH_SEARCH_PATHS = (
423 "$(inherited)",
424 "@executable_path/Frameworks",
425 "@loader_path/Frameworks",
426 );
427 OTHER_LDFLAGS = (
428 "-ObjC",
429 "-lc++",
430 "$(inherited)",
431 );
432 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
433 PRODUCT_NAME = "$(TARGET_NAME)";
434 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/cyberbadge_mobile.app/cyberbadge_mobile";
435 };
436 name = Debug;
437 };
438 00E356F71AD99517003FC87E /* Release */ = {
439 isa = XCBuildConfiguration;
440 baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-cyberbadge_mobile-cyberbadge_mobileTests.release.xcconfig */;
441 buildSettings = {
442 BUNDLE_LOADER = "$(TEST_HOST)";
443 COPY_PHASE_STRIP = NO;
444 INFOPLIST_FILE = cyberbadge_mobileTests/Info.plist;
445 IPHONEOS_DEPLOYMENT_TARGET = 13.4;
446 LD_RUNPATH_SEARCH_PATHS = (
447 "$(inherited)",
448 "@executable_path/Frameworks",
449 "@loader_path/Frameworks",
450 );
451 OTHER_LDFLAGS = (
452 "-ObjC",
453 "-lc++",
454 "$(inherited)",
455 );
456 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
457 PRODUCT_NAME = "$(TARGET_NAME)";
458 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/cyberbadge_mobile.app/cyberbadge_mobile";
459 };
460 name = Release;
461 };
462 13B07F941A680F5B00A75B9A /* Debug */ = {
463 isa = XCBuildConfiguration;
464 baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-cyberbadge_mobile.debug.xcconfig */;
465 buildSettings = {
466 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
467 CLANG_ENABLE_MODULES = YES;
468 CURRENT_PROJECT_VERSION = 1;
469 ENABLE_BITCODE = NO;
470 INFOPLIST_FILE = cyberbadge_mobile/Info.plist;
471 LD_RUNPATH_SEARCH_PATHS = (
472 "$(inherited)",
473 "@executable_path/Frameworks",
474 );
475 MARKETING_VERSION = 1.0;
476 OTHER_LDFLAGS = (
477 "$(inherited)",
478 "-ObjC",
479 "-lc++",
480 );
481 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
482 PRODUCT_NAME = cyberbadge_mobile;
483 SWIFT_OPTIMIZATION_LEVEL = "-Onone";
484 SWIFT_VERSION = 5.0;
485 VERSIONING_SYSTEM = "apple-generic";
486 };
487 name = Debug;
488 };
489 13B07F951A680F5B00A75B9A /* Release */ = {
490 isa = XCBuildConfiguration;
491 baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-cyberbadge_mobile.release.xcconfig */;
492 buildSettings = {
493 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
494 CLANG_ENABLE_MODULES = YES;
495 CURRENT_PROJECT_VERSION = 1;
496 INFOPLIST_FILE = cyberbadge_mobile/Info.plist;
497 LD_RUNPATH_SEARCH_PATHS = (
498 "$(inherited)",
499 "@executable_path/Frameworks",
500 );
501 MARKETING_VERSION = 1.0;
502 OTHER_LDFLAGS = (
503 "$(inherited)",
504 "-ObjC",
505 "-lc++",
506 );
507 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
508 PRODUCT_NAME = cyberbadge_mobile;
509 SWIFT_VERSION = 5.0;
510 VERSIONING_SYSTEM = "apple-generic";
511 };
512 name = Release;
513 };
514 83CBBA201A601CBA00E9B192 /* Debug */ = {
515 isa = XCBuildConfiguration;
516 buildSettings = {
517 ALWAYS_SEARCH_USER_PATHS = NO;
518 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
519 CLANG_CXX_LANGUAGE_STANDARD = "c++20";
520 CLANG_CXX_LIBRARY = "libc++";
521 CLANG_ENABLE_MODULES = YES;
522 CLANG_ENABLE_OBJC_ARC = YES;
523 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
524 CLANG_WARN_BOOL_CONVERSION = YES;
525 CLANG_WARN_COMMA = YES;
526 CLANG_WARN_CONSTANT_CONVERSION = YES;
527 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
528 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
529 CLANG_WARN_EMPTY_BODY = YES;
530 CLANG_WARN_ENUM_CONVERSION = YES;
531 CLANG_WARN_INFINITE_RECURSION = YES;
532 CLANG_WARN_INT_CONVERSION = YES;
533 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
534 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
535 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
536 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
537 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
538 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
539 CLANG_WARN_STRICT_PROTOTYPES = YES;
540 CLANG_WARN_SUSPICIOUS_MOVE = YES;
541 CLANG_WARN_UNREACHABLE_CODE = YES;
542 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
543 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
544 COPY_PHASE_STRIP = NO;
545 ENABLE_STRICT_OBJC_MSGSEND = YES;
546 ENABLE_TESTABILITY = YES;
547 "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
548 GCC_C_LANGUAGE_STANDARD = gnu99;
549 GCC_DYNAMIC_NO_PIC = NO;
550 GCC_NO_COMMON_BLOCKS = YES;
551 GCC_OPTIMIZATION_LEVEL = 0;
552 GCC_PREPROCESSOR_DEFINITIONS = (
553 "DEBUG=1",
554 "$(inherited)",
555 );
556 GCC_SYMBOLS_PRIVATE_EXTERN = NO;
557 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
558 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
559 GCC_WARN_UNDECLARED_SELECTOR = YES;
560 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
561 GCC_WARN_UNUSED_FUNCTION = YES;
562 GCC_WARN_UNUSED_VARIABLE = YES;
563 IPHONEOS_DEPLOYMENT_TARGET = 13.4;
564 LD_RUNPATH_SEARCH_PATHS = (
565 /usr/lib/swift,
566 "$(inherited)",
567 );
568 LIBRARY_SEARCH_PATHS = (
569 "\"$(SDKROOT)/usr/lib/swift\"",
570 "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
571 "\"$(inherited)\"",
572 );
573 MTL_ENABLE_DEBUG_INFO = YES;
574 ONLY_ACTIVE_ARCH = YES;
575 OTHER_CPLUSPLUSFLAGS = (
576 "$(OTHER_CFLAGS)",
577 "-DFOLLY_NO_CONFIG",
578 "-DFOLLY_MOBILE=1",
579 "-DFOLLY_USE_LIBCPP=1",
580 "-DFOLLY_CFG_NO_COROUTINES=1",
581 );
582 SDKROOT = iphoneos;
583 };
584 name = Debug;
585 };
586 83CBBA211A601CBA00E9B192 /* Release */ = {
587 isa = XCBuildConfiguration;
588 buildSettings = {
589 ALWAYS_SEARCH_USER_PATHS = NO;
590 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
591 CLANG_CXX_LANGUAGE_STANDARD = "c++20";
592 CLANG_CXX_LIBRARY = "libc++";
593 CLANG_ENABLE_MODULES = YES;
594 CLANG_ENABLE_OBJC_ARC = YES;
595 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
596 CLANG_WARN_BOOL_CONVERSION = YES;
597 CLANG_WARN_COMMA = YES;
598 CLANG_WARN_CONSTANT_CONVERSION = YES;
599 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
600 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
601 CLANG_WARN_EMPTY_BODY = YES;
602 CLANG_WARN_ENUM_CONVERSION = YES;
603 CLANG_WARN_INFINITE_RECURSION = YES;
604 CLANG_WARN_INT_CONVERSION = YES;
605 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
606 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
607 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
608 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
609 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
610 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
611 CLANG_WARN_STRICT_PROTOTYPES = YES;
612 CLANG_WARN_SUSPICIOUS_MOVE = YES;
613 CLANG_WARN_UNREACHABLE_CODE = YES;
614 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
615 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
616 COPY_PHASE_STRIP = YES;
617 ENABLE_NS_ASSERTIONS = NO;
618 ENABLE_STRICT_OBJC_MSGSEND = YES;
619 "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
620 GCC_C_LANGUAGE_STANDARD = gnu99;
621 GCC_NO_COMMON_BLOCKS = YES;
622 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
623 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
624 GCC_WARN_UNDECLARED_SELECTOR = YES;
625 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
626 GCC_WARN_UNUSED_FUNCTION = YES;
627 GCC_WARN_UNUSED_VARIABLE = YES;
628 IPHONEOS_DEPLOYMENT_TARGET = 13.4;
629 LD_RUNPATH_SEARCH_PATHS = (
630 /usr/lib/swift,
631 "$(inherited)",
632 );
633 LIBRARY_SEARCH_PATHS = (
634 "\"$(SDKROOT)/usr/lib/swift\"",
635 "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
636 "\"$(inherited)\"",
637 );
638 MTL_ENABLE_DEBUG_INFO = NO;
639 OTHER_CPLUSPLUSFLAGS = (
640 "$(OTHER_CFLAGS)",
641 "-DFOLLY_NO_CONFIG",
642 "-DFOLLY_MOBILE=1",
643 "-DFOLLY_USE_LIBCPP=1",
644 "-DFOLLY_CFG_NO_COROUTINES=1",
645 );
646 SDKROOT = iphoneos;
647 VALIDATE_PRODUCT = YES;
648 };
649 name = Release;
650 };
651/* End XCBuildConfiguration section */
652
653/* Begin XCConfigurationList section */
654 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "cyberbadge_mobileTests" */ = {
655 isa = XCConfigurationList;
656 buildConfigurations = (
657 00E356F61AD99517003FC87E /* Debug */,
658 00E356F71AD99517003FC87E /* Release */,
659 );
660 defaultConfigurationIsVisible = 0;
661 defaultConfigurationName = Release;
662 };
663 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "cyberbadge_mobile" */ = {
664 isa = XCConfigurationList;
665 buildConfigurations = (
666 13B07F941A680F5B00A75B9A /* Debug */,
667 13B07F951A680F5B00A75B9A /* Release */,
668 );
669 defaultConfigurationIsVisible = 0;
670 defaultConfigurationName = Release;
671 };
672 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "cyberbadge_mobile" */ = {
673 isa = XCConfigurationList;
674 buildConfigurations = (
675 83CBBA201A601CBA00E9B192 /* Debug */,
676 83CBBA211A601CBA00E9B192 /* Release */,
677 );
678 defaultConfigurationIsVisible = 0;
679 defaultConfigurationName = Release;
680 };
681/* End XCConfigurationList section */
682 };
683 rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
684}
diff --git a/ios/cyberbadge_mobile.xcodeproj/xcshareddata/xcschemes/cyberbadge_mobile.xcscheme b/ios/cyberbadge_mobile.xcodeproj/xcshareddata/xcschemes/cyberbadge_mobile.xcscheme
new file mode 100644
index 0000000..b14356a
--- /dev/null
+++ b/ios/cyberbadge_mobile.xcodeproj/xcshareddata/xcschemes/cyberbadge_mobile.xcscheme
@@ -0,0 +1,88 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<Scheme
3 LastUpgradeVersion = "1210"
4 version = "1.3">
5 <BuildAction
6 parallelizeBuildables = "YES"
7 buildImplicitDependencies = "YES">
8 <BuildActionEntries>
9 <BuildActionEntry
10 buildForTesting = "YES"
11 buildForRunning = "YES"
12 buildForProfiling = "YES"
13 buildForArchiving = "YES"
14 buildForAnalyzing = "YES">
15 <BuildableReference
16 BuildableIdentifier = "primary"
17 BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
18 BuildableName = "cyberbadge_mobile.app"
19 BlueprintName = "cyberbadge_mobile"
20 ReferencedContainer = "container:cyberbadge_mobile.xcodeproj">
21 </BuildableReference>
22 </BuildActionEntry>
23 </BuildActionEntries>
24 </BuildAction>
25 <TestAction
26 buildConfiguration = "Debug"
27 selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28 selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29 shouldUseLaunchSchemeArgsEnv = "YES">
30 <Testables>
31 <TestableReference
32 skipped = "NO">
33 <BuildableReference
34 BuildableIdentifier = "primary"
35 BlueprintIdentifier = "00E356ED1AD99517003FC87E"
36 BuildableName = "cyberbadge_mobileTests.xctest"
37 BlueprintName = "cyberbadge_mobileTests"
38 ReferencedContainer = "container:cyberbadge_mobile.xcodeproj">
39 </BuildableReference>
40 </TestableReference>
41 </Testables>
42 </TestAction>
43 <LaunchAction
44 buildConfiguration = "Debug"
45 selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
46 selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
47 launchStyle = "0"
48 useCustomWorkingDirectory = "NO"
49 ignoresPersistentStateOnLaunch = "NO"
50 debugDocumentVersioning = "YES"
51 debugServiceExtension = "internal"
52 allowLocationSimulation = "YES">
53 <BuildableProductRunnable
54 runnableDebuggingMode = "0">
55 <BuildableReference
56 BuildableIdentifier = "primary"
57 BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
58 BuildableName = "cyberbadge_mobile.app"
59 BlueprintName = "cyberbadge_mobile"
60 ReferencedContainer = "container:cyberbadge_mobile.xcodeproj">
61 </BuildableReference>
62 </BuildableProductRunnable>
63 </LaunchAction>
64 <ProfileAction
65 buildConfiguration = "Release"
66 shouldUseLaunchSchemeArgsEnv = "YES"
67 savedToolIdentifier = ""
68 useCustomWorkingDirectory = "NO"
69 debugDocumentVersioning = "YES">
70 <BuildableProductRunnable
71 runnableDebuggingMode = "0">
72 <BuildableReference
73 BuildableIdentifier = "primary"
74 BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
75 BuildableName = "cyberbadge_mobile.app"
76 BlueprintName = "cyberbadge_mobile"
77 ReferencedContainer = "container:cyberbadge_mobile.xcodeproj">
78 </BuildableReference>
79 </BuildableProductRunnable>
80 </ProfileAction>
81 <AnalyzeAction
82 buildConfiguration = "Debug">
83 </AnalyzeAction>
84 <ArchiveAction
85 buildConfiguration = "Release"
86 revealArchiveInOrganizer = "YES">
87 </ArchiveAction>
88</Scheme>
diff --git a/ios/cyberbadge_mobile/AppDelegate.h b/ios/cyberbadge_mobile/AppDelegate.h
new file mode 100644
index 0000000..5d28082
--- /dev/null
+++ b/ios/cyberbadge_mobile/AppDelegate.h
@@ -0,0 +1,6 @@
1#import <RCTAppDelegate.h>
2#import <UIKit/UIKit.h>
3
4@interface AppDelegate : RCTAppDelegate
5
6@end
diff --git a/ios/cyberbadge_mobile/AppDelegate.mm b/ios/cyberbadge_mobile/AppDelegate.mm
new file mode 100644
index 0000000..19d2d96
--- /dev/null
+++ b/ios/cyberbadge_mobile/AppDelegate.mm
@@ -0,0 +1,31 @@
1#import "AppDelegate.h"
2
3#import <React/RCTBundleURLProvider.h>
4
5@implementation AppDelegate
6
7- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
8{
9 self.moduleName = @"cyberbadge_mobile";
10 // You can add your custom initial props in the dictionary below.
11 // They will be passed down to the ViewController used by React Native.
12 self.initialProps = @{};
13
14 return [super application:application didFinishLaunchingWithOptions:launchOptions];
15}
16
17- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
18{
19 return [self getBundleURL];
20}
21
22- (NSURL *)getBundleURL
23{
24#if DEBUG
25 return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
26#else
27 return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
28#endif
29}
30
31@end
diff --git a/ios/cyberbadge_mobile/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/cyberbadge_mobile/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..8121323
--- /dev/null
+++ b/ios/cyberbadge_mobile/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
1{
2 "images" : [
3 {
4 "idiom" : "iphone",
5 "scale" : "2x",
6 "size" : "20x20"
7 },
8 {
9 "idiom" : "iphone",
10 "scale" : "3x",
11 "size" : "20x20"
12 },
13 {
14 "idiom" : "iphone",
15 "scale" : "2x",
16 "size" : "29x29"
17 },
18 {
19 "idiom" : "iphone",
20 "scale" : "3x",
21 "size" : "29x29"
22 },
23 {
24 "idiom" : "iphone",
25 "scale" : "2x",
26 "size" : "40x40"
27 },
28 {
29 "idiom" : "iphone",
30 "scale" : "3x",
31 "size" : "40x40"
32 },
33 {
34 "idiom" : "iphone",
35 "scale" : "2x",
36 "size" : "60x60"
37 },
38 {
39 "idiom" : "iphone",
40 "scale" : "3x",
41 "size" : "60x60"
42 },
43 {
44 "idiom" : "ios-marketing",
45 "scale" : "1x",
46 "size" : "1024x1024"
47 }
48 ],
49 "info" : {
50 "author" : "xcode",
51 "version" : 1
52 }
53}
diff --git a/ios/cyberbadge_mobile/Images.xcassets/Contents.json b/ios/cyberbadge_mobile/Images.xcassets/Contents.json
new file mode 100644
index 0000000..2d92bd5
--- /dev/null
+++ b/ios/cyberbadge_mobile/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
1{
2 "info" : {
3 "version" : 1,
4 "author" : "xcode"
5 }
6}
diff --git a/ios/cyberbadge_mobile/Info.plist b/ios/cyberbadge_mobile/Info.plist
new file mode 100644
index 0000000..02a9522
--- /dev/null
+++ b/ios/cyberbadge_mobile/Info.plist
@@ -0,0 +1,52 @@
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>CFBundleDevelopmentRegion</key>
6 <string>en</string>
7 <key>CFBundleDisplayName</key>
8 <string>cyberbadge_mobile</string>
9 <key>CFBundleExecutable</key>
10 <string>$(EXECUTABLE_NAME)</string>
11 <key>CFBundleIdentifier</key>
12 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13 <key>CFBundleInfoDictionaryVersion</key>
14 <string>6.0</string>
15 <key>CFBundleName</key>
16 <string>$(PRODUCT_NAME)</string>
17 <key>CFBundlePackageType</key>
18 <string>APPL</string>
19 <key>CFBundleShortVersionString</key>
20 <string>$(MARKETING_VERSION)</string>
21 <key>CFBundleSignature</key>
22 <string>????</string>
23 <key>CFBundleVersion</key>
24 <string>$(CURRENT_PROJECT_VERSION)</string>
25 <key>LSRequiresIPhoneOS</key>
26 <true/>
27 <key>NSAppTransportSecurity</key>
28 <dict>
29 <!-- Do not change NSAllowsArbitraryLoads to true, or you will risk app rejection! -->
30 <key>NSAllowsArbitraryLoads</key>
31 <false/>
32 <key>NSAllowsLocalNetworking</key>
33 <true/>
34 </dict>
35 <key>NSLocationWhenInUseUsageDescription</key>
36 <string></string>
37 <key>UILaunchStoryboardName</key>
38 <string>LaunchScreen</string>
39 <key>UIRequiredDeviceCapabilities</key>
40 <array>
41 <string>armv7</string>
42 </array>
43 <key>UISupportedInterfaceOrientations</key>
44 <array>
45 <string>UIInterfaceOrientationPortrait</string>
46 <string>UIInterfaceOrientationLandscapeLeft</string>
47 <string>UIInterfaceOrientationLandscapeRight</string>
48 </array>
49 <key>UIViewControllerBasedStatusBarAppearance</key>
50 <false/>
51</dict>
52</plist>
diff --git a/ios/cyberbadge_mobile/LaunchScreen.storyboard b/ios/cyberbadge_mobile/LaunchScreen.storyboard
new file mode 100644
index 0000000..83e2bc6
--- /dev/null
+++ b/ios/cyberbadge_mobile/LaunchScreen.storyboard
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3 <device id="retina4_7" orientation="portrait" appearance="light"/>
4 <dependencies>
5 <deployment identifier="iOS"/>
6 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 </dependencies>
10 <scenes>
11 <!--View Controller-->
12 <scene sceneID="EHf-IW-A2E">
13 <objects>
14 <viewController id="01J-lp-oVM" sceneMemberID="viewController">
15 <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
16 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
17 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18 <subviews>
19 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="cyberbadge_mobile" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
20 <rect key="frame" x="0.0" y="202" width="375" height="43"/>
21 <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
22 <nil key="highlightedColor"/>
23 </label>
24 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu">
25 <rect key="frame" x="0.0" y="626" width="375" height="21"/>
26 <fontDescription key="fontDescription" type="system" pointSize="17"/>
27 <nil key="highlightedColor"/>
28 </label>
29 </subviews>
30 <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
31 <constraints>
32 <constraint firstItem="Bcu-3y-fUS" firstAttribute="bottom" secondItem="MN2-I3-ftu" secondAttribute="bottom" constant="20" id="OZV-Vh-mqD"/>
33 <constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
34 <constraint firstItem="MN2-I3-ftu" firstAttribute="centerX" secondItem="Bcu-3y-fUS" secondAttribute="centerX" id="akx-eg-2ui"/>
35 <constraint firstItem="MN2-I3-ftu" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" id="i1E-0Y-4RG"/>
36 <constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
37 <constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="x7j-FC-K8j"/>
38 </constraints>
39 <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
40 </view>
41 </viewController>
42 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
43 </objects>
44 <point key="canvasLocation" x="52.173913043478265" y="375"/>
45 </scene>
46 </scenes>
47</document>
diff --git a/ios/cyberbadge_mobile/main.m b/ios/cyberbadge_mobile/main.m
new file mode 100644
index 0000000..d645c72
--- /dev/null
+++ b/ios/cyberbadge_mobile/main.m
@@ -0,0 +1,10 @@
1#import <UIKit/UIKit.h>
2
3#import "AppDelegate.h"
4
5int main(int argc, char *argv[])
6{
7 @autoreleasepool {
8 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
9 }
10}
diff --git a/ios/cyberbadge_mobileTests/Info.plist b/ios/cyberbadge_mobileTests/Info.plist
new file mode 100644
index 0000000..ba72822
--- /dev/null
+++ b/ios/cyberbadge_mobileTests/Info.plist
@@ -0,0 +1,24 @@
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>CFBundleDevelopmentRegion</key>
6 <string>en</string>
7 <key>CFBundleExecutable</key>
8 <string>$(EXECUTABLE_NAME)</string>
9 <key>CFBundleIdentifier</key>
10 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11 <key>CFBundleInfoDictionaryVersion</key>
12 <string>6.0</string>
13 <key>CFBundleName</key>
14 <string>$(PRODUCT_NAME)</string>
15 <key>CFBundlePackageType</key>
16 <string>BNDL</string>
17 <key>CFBundleShortVersionString</key>
18 <string>1.0</string>
19 <key>CFBundleSignature</key>
20 <string>????</string>
21 <key>CFBundleVersion</key>
22 <string>1</string>
23</dict>
24</plist>
diff --git a/ios/cyberbadge_mobileTests/cyberbadge_mobileTests.m b/ios/cyberbadge_mobileTests/cyberbadge_mobileTests.m
new file mode 100644
index 0000000..f3ff562
--- /dev/null
+++ b/ios/cyberbadge_mobileTests/cyberbadge_mobileTests.m
@@ -0,0 +1,66 @@
1#import <UIKit/UIKit.h>
2#import <XCTest/XCTest.h>
3
4#import <React/RCTLog.h>
5#import <React/RCTRootView.h>
6
7#define TIMEOUT_SECONDS 600
8#define TEXT_TO_LOOK_FOR @"Welcome to React"
9
10@interface cyberbadge_mobileTests : XCTestCase
11
12@end
13
14@implementation cyberbadge_mobileTests
15
16- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test
17{
18 if (test(view)) {
19 return YES;
20 }
21 for (UIView *subview in [view subviews]) {
22 if ([self findSubviewInView:subview matching:test]) {
23 return YES;
24 }
25 }
26 return NO;
27}
28
29- (void)testRendersWelcomeScreen
30{
31 UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
32 NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
33 BOOL foundElement = NO;
34
35 __block NSString *redboxError = nil;
36#ifdef DEBUG
37 RCTSetLogFunction(
38 ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
39 if (level >= RCTLogLevelError) {
40 redboxError = message;
41 }
42 });
43#endif
44
45 while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
46 [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
47 [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
48
49 foundElement = [self findSubviewInView:vc.view
50 matching:^BOOL(UIView *view) {
51 if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
52 return YES;
53 }
54 return NO;
55 }];
56 }
57
58#ifdef DEBUG
59 RCTSetLogFunction(RCTDefaultLogFunction);
60#endif
61
62 XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
63 XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
64}
65
66@end