diff options
Diffstat (limited to 'ios')
-rw-r--r-- | ios/.xcode.env | 11 | ||||
-rw-r--r-- | ios/Podfile | 55 | ||||
-rw-r--r-- | ios/cyberbadge_mobile.xcodeproj/project.pbxproj | 684 | ||||
-rw-r--r-- | ios/cyberbadge_mobile.xcodeproj/xcshareddata/xcschemes/cyberbadge_mobile.xcscheme | 88 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/AppDelegate.h | 6 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/AppDelegate.mm | 31 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/Images.xcassets/AppIcon.appiconset/Contents.json | 53 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/Images.xcassets/Contents.json | 6 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/Info.plist | 52 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/LaunchScreen.storyboard | 47 | ||||
-rw-r--r-- | ios/cyberbadge_mobile/main.m | 10 | ||||
-rw-r--r-- | ios/cyberbadge_mobileTests/Info.plist | 24 | ||||
-rw-r--r-- | ios/cyberbadge_mobileTests/cyberbadge_mobileTests.m | 66 |
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 | ||
11 | export 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 | ||
2 | require 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 | |||
8 | platform :ios, min_ios_version_supported | ||
9 | prepare_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 | # ``` | ||
20 | flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled | ||
21 | |||
22 | linkage = ENV['USE_FRAMEWORKS'] | ||
23 | if linkage != nil | ||
24 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green | ||
25 | use_frameworks! :linkage => linkage.to_sym | ||
26 | end | ||
27 | |||
28 | target '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 | ||
55 | end | ||
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 | |||
5 | int 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 | ||