freerasp-react-native 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/README.md +35 -1
  3. package/android/build.gradle +1 -1
  4. package/app.plugin.js +1 -0
  5. package/bootstrap.js +29 -0
  6. package/example/package.json +1 -1
  7. package/ios/TalsecRuntime.xcframework/Info.plist +5 -5
  8. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
  9. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements +0 -0
  10. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  11. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources +923 -0
  12. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
  13. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  14. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
  15. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +369 -165
  16. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +9 -7
  17. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +11 -9
  18. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h +74 -0
  19. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +32 -12
  20. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +27 -12
  21. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +6 -4
  22. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h +3 -1
  23. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +72 -70
  24. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +29 -4
  25. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h +84 -0
  26. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  27. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +542 -696
  28. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface +1 -0
  29. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +1 -0
  30. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy +69 -0
  31. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  32. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  33. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
  34. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +369 -165
  35. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +9 -7
  36. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +11 -9
  37. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h +74 -0
  38. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +32 -12
  39. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +27 -12
  40. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +6 -4
  41. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h +3 -1
  42. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +72 -70
  43. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +29 -4
  44. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h +84 -0
  45. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  46. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +536 -676
  47. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1 -0
  48. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -0
  49. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +536 -676
  50. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1 -0
  51. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1 -0
  52. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy +69 -0
  53. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  54. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +72 -39
  55. package/lib/commonjs/definitions.js +11 -15
  56. package/lib/commonjs/definitions.js.map +1 -1
  57. package/lib/commonjs/index.js +15 -13
  58. package/lib/commonjs/index.js.map +1 -1
  59. package/lib/commonjs/utils.js.map +1 -1
  60. package/lib/module/definitions.js +11 -15
  61. package/lib/module/definitions.js.map +1 -1
  62. package/lib/module/index.js +14 -11
  63. package/lib/module/index.js.map +1 -1
  64. package/lib/module/utils.js.map +1 -1
  65. package/lib/typescript/plugin/src/index.d.ts +11 -0
  66. package/lib/typescript/plugin/src/index.d.ts.map +1 -0
  67. package/lib/typescript/plugin/src/pluginConfig.d.ts +21 -0
  68. package/lib/typescript/plugin/src/pluginConfig.d.ts.map +1 -0
  69. package/lib/typescript/src/definitions.d.ts.map +1 -0
  70. package/lib/typescript/src/index.d.ts.map +1 -0
  71. package/lib/typescript/src/utils.d.ts.map +1 -0
  72. package/package.json +15 -24
  73. package/plugin/build/index.d.ts +10 -0
  74. package/plugin/build/index.js +63 -0
  75. package/plugin/build/pluginConfig.d.ts +20 -0
  76. package/plugin/build/pluginConfig.js +2 -0
  77. package/src/index.tsx +3 -0
  78. package/example/babel.config.js +0 -17
  79. package/lib/typescript/definitions.d.ts.map +0 -1
  80. package/lib/typescript/index.d.ts.map +0 -1
  81. package/lib/typescript/utils.d.ts.map +0 -1
  82. /package/lib/typescript/{definitions.d.ts → src/definitions.d.ts} +0 -0
  83. /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
  84. /package/lib/typescript/{utils.d.ts → src/utils.d.ts} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,180 @@
1
+ # freeRASP 3.7.0
2
+
3
+ - ⚡ Added support for apps built with Expo SDK
4
+ - 📄 Documentation updates
5
+
6
+ ### Android
7
+
8
+ - ⚡ Shortened duration of threat evaluation
9
+ - ⚡ Fixed a native crash bug during one of the native root checks (detected after NDK upgrade)
10
+ - ⚡ Improved _appIntegrity_ check and its logging
11
+ - ⚡ Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`
12
+
13
+ ### iOS
14
+
15
+ - ❗ Added Privacy Manifest
16
+ - ❗ Added codesigning for the SDK, it is signed by:
17
+ - _Team ID_: `ASQC376HCN`
18
+ - _Team Name_: `AHEAD iTec, s.r.o.`
19
+ - ⚡ Improved obfuscation of Swift and C strings
20
+ - ⚡ Fixed memory leak ([freeRASP iOS issue #13](https://github.com/talsec/Free-RASP-iOS/issues/13))
21
+ - ⚡ Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`
22
+
23
+ # freeRASP 3.6.1
24
+
25
+ - 📄 Documentation updates
26
+
27
+ ### iOS
28
+
29
+ - ⚡ Fixed bug that caused app being killed in specific situations ([#42](https://github.com/talsec/Free-RASP-ReactNative/issues/42))
30
+
31
+ # freeRASP 3.6.0
32
+
33
+ - ⚡ Improved reaction obfuscation
34
+ - 📄 Documentation updates
35
+
36
+ ### Android
37
+
38
+ - ⚡ Fixed ProviderException which could be occassionally triggered
39
+ - ⚡ Fixed bug causing incompatibility with some versions of React Native ([#38](https://github.com/talsec/Free-RASP-ReactNative/issues/38))
40
+
41
+ ### iOS
42
+
43
+ - ❗ Raised supported Xcode version to 14.3.1
44
+ - ⚡ Improved SDK obfuscation
45
+
46
+ # freeRASP 3.5.0
47
+
48
+ - ⚠️ Updated the `talsecStart()` method to return `Promise<string>`. If freeRASP starts successfuly, the method will return `freeRASP started` string. There are not any changes of the interface if you are using the provided `useFreeRasp` hook.
49
+ - ⚡ Improved the message passing between native iOS/Android and React Native sides
50
+ - ✔️ Restricted message passing to valid callbacks only. If an invalid callback is received, the SDK will kill the app
51
+
52
+ # freeRASP 3.4.0
53
+
54
+ - 📄 Documentation updates and improvements
55
+
56
+ ### Android
57
+
58
+ - ✔️ updated CA bundle for logging pinning
59
+ - ✔️ added error logging of network issues within the logging process
60
+ - ✔️ added retry politics for logging
61
+ - ⚡ fixed issue with DeadObjectException on Android 5 and 6 caused by excessive PackageManager.queryIntentActivities() usage
62
+ - ⚡ improved root detection capabilities
63
+
64
+ # freeRASP 3.3.1
65
+
66
+ ### iOS
67
+
68
+ - ⚡ Fixed issue with duplicate headers that caused `Multiple commands produce ...` error ([#11](https://github.com/talsec/Free-RASP-ReactNative/issues/11), [#26](https://github.com/talsec/Free-RASP-ReactNative/issues/26))
69
+
70
+ # freeRASP 3.3.0
71
+
72
+ ### Android
73
+
74
+ - ✔️ Removed PolarSSL native library
75
+ - ✔️ Fixed issue with denied USE_BIOMETRICS permission
76
+
77
+ # freeRASP 3.2.0
78
+
79
+ ### Android
80
+
81
+ - ✔️ Added support for AGP 8.0
82
+
83
+ # freeRASP 3.1.0
84
+
85
+ ### Android
86
+
87
+ - ⚡ Fixed issue with incorrect Keystore type detection on Android 11 and above (https://github.com/talsec/Free-RASP-Flutter/issues/77)
88
+
89
+ ### iOS
90
+
91
+ - ⚡ Reduced timeout period for logging from 20 sec to 5 sec
92
+ - ⚡ Logging is now async in all calls
93
+
94
+ # freeRASP 3.0.0
95
+
96
+ ### Android
97
+
98
+ - ❗ BREAKING CHANGE: Raised minimum supported Android version to 6.0 (API level 23)
99
+ - ✔️ Removed deprecated BouncyCastle dependency that could cause [errors in the build phase](https://github.com/talsec/Free-RASP-ReactNative/issues/13)
100
+ - ✔️ Fixed issue that could cause NullPointerException
101
+ - 🆕 Added new `obfuscationIssues` check, which is triggered when freeRASP doesn't detect any obfuscation of the source code
102
+
103
+ ### iOS
104
+
105
+ - ⚠️ `passcodeChange` check has been deprecated
106
+ - 🛠️ Refactored the code base
107
+
108
+ # freeRASP 2.0.3
109
+
110
+ ### iOS
111
+
112
+ - ✔️ Fixed issue with metadata in iOS framework
113
+ - 📄 Documentation updates and improvements
114
+
115
+ # freeRASP 2.0.2
116
+
117
+ - 📄 Documentation updates and improvements
118
+
119
+ # freeRASP 2.0.1
120
+
121
+ - 📄 Documentation updates and improvements
122
+
123
+ # freeRASP 2.0.0
124
+
125
+ ## What's new?
126
+
127
+ Most of the changes relates to accomodating a new way of choosing between the dev and release version of the SDK. There are also some breaking changes in the API, such as renaming parameters and changing types of callbacks. Android has also removed the HMS dependencies and improved the root detection capabilities.
128
+
129
+ ### JS/TS interface
130
+
131
+ - ❗ BREAKING API CHANGE: Renamed **'device binding'** to **deviceBinding**
132
+ - ❗ This allows us to remove apostrophes from other callbacks, too. E.g. **'privilegedAccess'** to **privilegedAccess**
133
+ - ❗ Added **isProd** boolean parameter, which now differentiates between the release (true) and dev (false) version of the SDK. By default set to **true**
134
+ - ❗ **androidConfig** and **iosConfig** are from now on optionals, you can omit a platform if you are not developing for it
135
+
136
+ ### Android
137
+
138
+ - ❗ Removed the HMS dependencies
139
+ - ❗ Only one version of the SDK is used from now on, instead of two separate for dev and release
140
+ - ❗ The app's build.gradle does not have to be modified now
141
+ - ⚡ Improved root detection accuracy by moving the 'ro.debuggable' property state to an ignored group
142
+ - ⚡ Enhanced root detection capabilities by moving the selinux properties check to device state
143
+ - ⚡ Fine-tuning root evaluation strategy
144
+
145
+ ### iOS
146
+
147
+ - ❗ Removed one of the xcframeworks
148
+ - ❗ Removed the dependency on the symlinks choosing the proper version (release/dev)
149
+ - ❗️ Removed pre-built script for changing the Debug and Release versions
150
+
151
+ ### Other improvements
152
+
153
+ - 📄 Documentation updates and improvements
154
+ - ⚡ Updated demo app for new implementation
155
+
156
+ # freeRASP 1.1.0
157
+
158
+ We are proud to share with you the first batch of improvements of freeRASP!
159
+
160
+ ## What's new?
161
+
162
+ Android devices now support device state listeners. What's more, we unified remaining Android and iOS interfaces for more convenient developer's experience.
163
+
164
+ ### Android
165
+
166
+ - 🆕 Android now has support for device state callbacks:
167
+ - 📲 **`Secure Hardware Not Available`**: fires when hardware-backed KeyStore is not available
168
+ - 📲 **`Passcode`**: fires when freeRASP detects that device is not secured with any type of lock
169
+
170
+ ### iOS
171
+
172
+ - ❗ BREAKING API CHANGE: Renamed `Missing Secure Enclave` to **`Secure Hardware Not Available`** to match the newly added Android callback. The functionality remains unchanged.
173
+
174
+ ### Other improvements
175
+
176
+ - 📄 Documentation updates and improvements
177
+
178
+ # freeRASP 1.0.0
179
+
180
+ - Initial release of freeRASP.
package/README.md CHANGED
@@ -22,6 +22,7 @@ freeRASP for React Native is a mobile in-app protection and security monitoring
22
22
  - [Alternative: Initialize freeRASP in a Class component](#alternative-initialize-freerasp-in-a-class-component)
23
23
  - [Step 5: Additional note about obfuscation](#step-5-additional-note-about-obfuscation)
24
24
  - [Step 6: User Data Policies](#step-6-user-data-policies)
25
+ - [Using Expo SDK](#using-expo-sdk)
25
26
  - [Troubleshooting](#troubleshooting)
26
27
  - [Security Report](#security-report)
27
28
  - [Talsec Commercial Subscriptions](#money_with_wings-talsec-commercial-subscriptions)
@@ -106,7 +107,7 @@ freeRASP React Native plugin uses Pods. Navigate to the `ios` folder and run:
106
107
 
107
108
  $ pod install
108
109
 
109
- **IMPORTANT:** If you are upgrading from a previous version of freeRASP, please remove the old TalsecRuntime.xcframework and integration script from your project:
110
+ **IMPORTANT:** If you are upgrading from version 1.x.x, please remove the old TalsecRuntime.xcframework and integration script from your project:
110
111
 
111
112
  1. Open up the **.xcworkspace** file
112
113
  1. Go to **Target -> Build Phases -> Link Binary With Libraries**
@@ -317,6 +318,39 @@ And you're done 🎉!
317
318
 
318
319
  If you encounter any other issues, you can see the list of solved issues [here](https://github.com/talsec/Free-RASP-ReactNative/issues?q=is%3Aissue+is%3Aclosed), or open up a [new one](https://github.com/talsec/Free-RASP-ReactNative/issues?q=is%3Aissue+is%3Aopen).
319
320
 
321
+ # Using Expo SDK
322
+ freeRASP for React Native is bare React Native plugin. When installing freeRASP into a project that uses Expo SDK, there may be extra configuration needed. We provide plugin config that sets the dependencies automatically. It is recommended to use the plugin config. However, manual setup is also possible.
323
+
324
+ ## Plugin config setup
325
+ Add the plugin config into your `app.json` and specify the `minSdkVersion` (use at least 23):
326
+ ```json
327
+ "plugins": [
328
+ [
329
+ "freerasp-react-native/app.plugin.js",
330
+ {
331
+ "android": {
332
+ "minSdkVersion": "23"
333
+ }
334
+ }
335
+ ]
336
+ ],
337
+ ```
338
+
339
+
340
+ ## Manual setup
341
+ ### 1. Increase minSdkVersion
342
+
343
+ This can be done in two ways:
344
+ - update the `minSdkVersion` property directly in __android/build.gradle__, or
345
+ - use `expo-build-properties` plugin, which updates the property in the prebuild phase. [Read more in the Expo docs](https://docs.expo.dev/versions/latest/sdk/build-properties/).
346
+
347
+ ### 2. Add maven dependency
348
+ - open __android/build.gradle__ _(if you don't see the android folder, run `npx expo prebuild -p android` in terminal to create it)_
349
+ - add following dependency under __allprojects > repositories__:
350
+ `maven { url "https://nexus3-public.monetplus.cz/repository/ahead-talsec-free-rasp" }`
351
+ - if not already configured, add also
352
+ `maven { url 'https://www.jitpack.io' }`
353
+
320
354
  # Troubleshooting
321
355
 
322
356
  ### Could not determine the dependencies of task `':freerasp-react-native:compileDebugAidl'`
@@ -86,7 +86,7 @@ dependencies {
86
86
  //noinspection GradleDynamicVersion
87
87
  implementation "com.facebook.react:react-native:$react_native_version"
88
88
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
89
- implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:9.0.0"
89
+ implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:9.0.2"
90
90
  }
91
91
 
92
92
  if (isNewArchitectureEnabled()) {
package/app.plugin.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./plugin/build');
package/bootstrap.js ADDED
@@ -0,0 +1,29 @@
1
+ const os = require('os');
2
+ const path = require('path');
3
+ const child_process = require('child_process');
4
+
5
+ const root = path.resolve(__dirname, '..');
6
+ const args = process.argv.slice(2);
7
+ const options = {
8
+ cwd: process.cwd(),
9
+ env: process.env,
10
+ stdio: 'inherit',
11
+ encoding: 'utf-8',
12
+ };
13
+
14
+ if (os.type() === 'Windows_NT') {
15
+ options.shell = true;
16
+ }
17
+
18
+ let result;
19
+
20
+ if (process.cwd() !== root || args.length) {
21
+ // We're not in the root of the project, or additional arguments were passed
22
+ // In this case, forward the command to `yarn`
23
+ result = child_process.spawnSync('yarn', args, options);
24
+ } else {
25
+ // If `yarn` is run without arguments, perform bootstrap
26
+ result = child_process.spawnSync('yarn', ['bootstrap'], options);
27
+ }
28
+
29
+ process.exitCode = result.status;
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@babel/core": "^7.12.9",
19
- "@babel/runtime": "^7.12.5",
19
+ "@babel/runtime": "^7.24.1",
20
20
  "babel-plugin-module-resolver": "^4.1.0",
21
21
  "metro-react-native-babel-preset": "0.72.3",
22
22
  "react-native-svg-transformer": "^1.0.0"
@@ -6,30 +6,30 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64</string>
9
+ <string>ios-arm64_x86_64-simulator</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>TalsecRuntime.framework</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
+ <string>x86_64</string>
15
16
  </array>
16
17
  <key>SupportedPlatform</key>
17
18
  <string>ios</string>
19
+ <key>SupportedPlatformVariant</key>
20
+ <string>simulator</string>
18
21
  </dict>
19
22
  <dict>
20
23
  <key>LibraryIdentifier</key>
21
- <string>ios-arm64_x86_64-simulator</string>
24
+ <string>ios-arm64</string>
22
25
  <key>LibraryPath</key>
23
26
  <string>TalsecRuntime.framework</string>
24
27
  <key>SupportedArchitectures</key>
25
28
  <array>
26
29
  <string>arm64</string>
27
- <string>x86_64</string>
28
30
  </array>
29
31
  <key>SupportedPlatform</key>
30
32
  <string>ios</string>
31
- <key>SupportedPlatformVariant</key>
32
- <string>simulator</string>
33
33
  </dict>
34
34
  </array>
35
35
  <key>CFBundlePackageType</key>