@regulaforensics/react-native-document-reader-api 5.7.0 → 6.1.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.
- package/README.md +2 -2
- package/RNDocumentReaderApi.podspec +2 -2
- package/android/build.gradle +4 -6
- package/android/src/main/java/com/regula/documentreader/Helpers.java +8 -3
- package/android/src/main/java/com/regula/documentreader/JSONConstructor.java +110 -10
- package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.java +58 -26
- package/android/src/main/java/com/regula/documentreader/RegulaConfig.java +72 -9
- package/example/.editorconfig +3 -0
- package/example/.flowconfig +4 -13
- package/example/.gitattributes +3 -1
- package/example/.prettierrc.js +1 -0
- package/example/App.js +30 -18
- package/example/android/app/BUCK +55 -0
- package/example/android/app/build.gradle +35 -17
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/src/debug/AndroidManifest.xml +6 -1
- package/example/android/app/src/main/AndroidManifest.xml +21 -22
- package/example/android/app/src/main/assets/index.android.bundle +636 -0
- package/example/android/app/src/main/java/com/regula/dr/fullrfid/MainApplication.java +1 -2
- package/example/android/app/src/main/res/drawable-mdpi/images_id.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/images_portrait.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/node_modules_reactnativecheckbox_img_ic_check_box.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/node_modules_reactnativecheckbox_img_ic_check_box_outline_blank.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/node_modules_reactnativecheckbox_img_ic_indeterminate_check_box.png +0 -0
- package/example/android/app/src/main/res/drawable-xhdpi/node_modules_reactnativecheckbox_img_ic_check_box.png +0 -0
- package/example/android/app/src/main/res/drawable-xhdpi/node_modules_reactnativecheckbox_img_ic_check_box_outline_blank.png +0 -0
- package/example/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnativecheckbox_img_ic_check_box.png +0 -0
- package/example/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnativecheckbox_img_ic_check_box_outline_blank.png +0 -0
- package/example/android/build.gradle +12 -6
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/example/android/gradle.properties +2 -1
- package/example/android/gradlew +14 -17
- package/example/android/gradlew.bat +7 -18
- package/example/android/settings.gradle +0 -2
- package/example/ios/DocumentReader/AppDelegate.m +7 -3
- package/example/ios/DocumentReader/Info.plist +8 -10
- package/example/ios/DocumentReader/LaunchScreen.storyboard +47 -0
- package/example/ios/DocumentReader.xcodeproj/project.pbxproj +257 -96
- package/example/ios/DocumentReader.xcodeproj/xcshareddata/xcschemes/DocumentReader.xcscheme +1 -1
- package/example/ios/DocumentReaderTests/DocumentReaderTests.m +65 -0
- package/example/ios/DocumentReaderTests/Info.plist +24 -0
- package/example/ios/Podfile +13 -4
- package/example/metro.config.js +1 -1
- package/example/package.json +17 -18
- package/index.d.ts +724 -514
- package/index.js +672 -510
- package/ios/RGLWJSONConstructor.h +6 -0
- package/ios/RGLWJSONConstructor.m +92 -0
- package/ios/RNRegulaDocumentReader.m +28 -8
- package/ios/RegulaConfig.h +2 -0
- package/ios/RegulaConfig.m +119 -31
- package/package.json +1 -1
- package/example/ios/DocumentReader.xcodeproj/xcshareddata/xcschemes/DocumentReader-tvOS.xcscheme +0 -88
|
@@ -2,10 +2,9 @@ package com.regula.dr.fullrfid;
|
|
|
2
2
|
|
|
3
3
|
import android.app.Application;
|
|
4
4
|
import android.content.Context;
|
|
5
|
+
|
|
5
6
|
import com.facebook.react.PackageList;
|
|
6
7
|
import com.facebook.react.ReactApplication;
|
|
7
|
-
import com.mg.app.PickerPackage;
|
|
8
|
-
import com.mg.app.PickerPackage;
|
|
9
8
|
import com.facebook.react.ReactInstanceManager;
|
|
10
9
|
import com.facebook.react.ReactNativeHost;
|
|
11
10
|
import com.facebook.react.ReactPackage;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,31 +1,37 @@
|
|
|
1
|
+
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
2
|
+
|
|
1
3
|
buildscript {
|
|
2
4
|
ext {
|
|
3
|
-
buildToolsVersion = "30.0.
|
|
4
|
-
minSdkVersion =
|
|
5
|
+
buildToolsVersion = "30.0.2"
|
|
6
|
+
minSdkVersion = 21
|
|
5
7
|
compileSdkVersion = 30
|
|
6
|
-
targetSdkVersion =
|
|
8
|
+
targetSdkVersion = 30
|
|
9
|
+
ndkVersion = "21.4.7075529"
|
|
7
10
|
}
|
|
8
11
|
repositories {
|
|
9
12
|
google()
|
|
10
|
-
|
|
13
|
+
mavenCentral()
|
|
11
14
|
}
|
|
12
15
|
dependencies {
|
|
13
|
-
classpath(
|
|
16
|
+
classpath("com.android.tools.build:gradle:4.2.2")
|
|
14
17
|
}
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
allprojects {
|
|
18
21
|
repositories {
|
|
22
|
+
mavenCentral()
|
|
19
23
|
mavenLocal()
|
|
24
|
+
|
|
20
25
|
maven {
|
|
26
|
+
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
21
27
|
url("$rootDir/../node_modules/react-native/android")
|
|
22
28
|
}
|
|
23
29
|
maven {
|
|
30
|
+
// Android JSC is installed from npm
|
|
24
31
|
url("$rootDir/../node_modules/jsc-android/dist")
|
|
25
32
|
}
|
|
26
33
|
|
|
27
34
|
google()
|
|
28
|
-
jcenter()
|
|
29
35
|
maven { url 'https://www.jitpack.io' }
|
|
30
36
|
}
|
|
31
37
|
}
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
|
|
4
4
|
zipStoreBase=GRADLE_USER_HOME
|
|
5
5
|
zipStorePath=wrapper/dists
|
package/example/android/gradlew
CHANGED
|
@@ -82,6 +82,7 @@ esac
|
|
|
82
82
|
|
|
83
83
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
|
84
84
|
|
|
85
|
+
|
|
85
86
|
# Determine the Java command to use to start the JVM.
|
|
86
87
|
if [ -n "$JAVA_HOME" ] ; then
|
|
87
88
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
|
@@ -129,6 +130,7 @@ fi
|
|
|
129
130
|
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
|
130
131
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
|
131
132
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
|
133
|
+
|
|
132
134
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
|
133
135
|
|
|
134
136
|
# We build the pattern for arguments to be converted via cygpath
|
|
@@ -154,19 +156,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
|
|
154
156
|
else
|
|
155
157
|
eval `echo args$i`="\"$arg\""
|
|
156
158
|
fi
|
|
157
|
-
i
|
|
159
|
+
i=`expr $i + 1`
|
|
158
160
|
done
|
|
159
161
|
case $i in
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
162
|
+
0) set -- ;;
|
|
163
|
+
1) set -- "$args0" ;;
|
|
164
|
+
2) set -- "$args0" "$args1" ;;
|
|
165
|
+
3) set -- "$args0" "$args1" "$args2" ;;
|
|
166
|
+
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
|
167
|
+
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
|
168
|
+
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
|
169
|
+
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
|
170
|
+
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
|
171
|
+
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
|
170
172
|
esac
|
|
171
173
|
fi
|
|
172
174
|
|
|
@@ -175,14 +177,9 @@ save () {
|
|
|
175
177
|
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
|
176
178
|
echo " "
|
|
177
179
|
}
|
|
178
|
-
APP_ARGS
|
|
180
|
+
APP_ARGS=`save "$@"`
|
|
179
181
|
|
|
180
182
|
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
|
181
183
|
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
|
182
184
|
|
|
183
|
-
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
|
184
|
-
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
|
185
|
-
cd "$(dirname "$0")"
|
|
186
|
-
fi
|
|
187
|
-
|
|
188
185
|
exec "$JAVACMD" "$@"
|
|
@@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
|
|
|
29
29
|
set APP_BASE_NAME=%~n0
|
|
30
30
|
set APP_HOME=%DIRNAME%
|
|
31
31
|
|
|
32
|
+
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
|
33
|
+
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
|
34
|
+
|
|
32
35
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
33
36
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
|
34
37
|
|
|
@@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
|
|
37
40
|
|
|
38
41
|
set JAVA_EXE=java.exe
|
|
39
42
|
%JAVA_EXE% -version >NUL 2>&1
|
|
40
|
-
if "%ERRORLEVEL%" == "0" goto
|
|
43
|
+
if "%ERRORLEVEL%" == "0" goto execute
|
|
41
44
|
|
|
42
45
|
echo.
|
|
43
46
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
@@ -51,7 +54,7 @@ goto fail
|
|
|
51
54
|
set JAVA_HOME=%JAVA_HOME:"=%
|
|
52
55
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
|
53
56
|
|
|
54
|
-
if exist "%JAVA_EXE%" goto
|
|
57
|
+
if exist "%JAVA_EXE%" goto execute
|
|
55
58
|
|
|
56
59
|
echo.
|
|
57
60
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
|
@@ -61,28 +64,14 @@ echo location of your Java installation.
|
|
|
61
64
|
|
|
62
65
|
goto fail
|
|
63
66
|
|
|
64
|
-
:init
|
|
65
|
-
@rem Get command-line arguments, handling Windows variants
|
|
66
|
-
|
|
67
|
-
if not "%OS%" == "Windows_NT" goto win9xME_args
|
|
68
|
-
|
|
69
|
-
:win9xME_args
|
|
70
|
-
@rem Slurp the command line arguments.
|
|
71
|
-
set CMD_LINE_ARGS=
|
|
72
|
-
set _SKIP=2
|
|
73
|
-
|
|
74
|
-
:win9xME_args_slurp
|
|
75
|
-
if "x%~1" == "x" goto execute
|
|
76
|
-
|
|
77
|
-
set CMD_LINE_ARGS=%*
|
|
78
|
-
|
|
79
67
|
:execute
|
|
80
68
|
@rem Setup the command line
|
|
81
69
|
|
|
82
70
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
|
83
71
|
|
|
72
|
+
|
|
84
73
|
@rem Execute Gradle
|
|
85
|
-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain
|
|
74
|
+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
|
86
75
|
|
|
87
76
|
:end
|
|
88
77
|
@rem End local scope for the variables with windows NT shell
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
rootProject.name = 'DocumentReader'
|
|
2
|
-
include ':react-native-customized-image-picker'
|
|
3
|
-
project(':react-native-customized-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-customized-image-picker/android')
|
|
4
2
|
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
|
5
3
|
include ':app'
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#import <React/RCTBundleURLProvider.h>
|
|
5
5
|
#import <React/RCTRootView.h>
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
#ifdef FB_SONARKIT_ENABLED
|
|
8
8
|
#import <FlipperKit/FlipperClient.h>
|
|
9
9
|
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
|
|
10
10
|
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
|
@@ -27,7 +27,7 @@ static void InitializeFlipper(UIApplication *application) {
|
|
|
27
27
|
|
|
28
28
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
29
29
|
{
|
|
30
|
-
#
|
|
30
|
+
#ifdef FB_SONARKIT_ENABLED
|
|
31
31
|
InitializeFlipper(application);
|
|
32
32
|
#endif
|
|
33
33
|
|
|
@@ -36,7 +36,11 @@ static void InitializeFlipper(UIApplication *application) {
|
|
|
36
36
|
moduleName:@"DocumentReader"
|
|
37
37
|
initialProperties:nil];
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
if (@available(iOS 13.0, *)) {
|
|
40
|
+
rootView.backgroundColor = [UIColor systemBackgroundColor];
|
|
41
|
+
} else {
|
|
42
|
+
rootView.backgroundColor = [UIColor whiteColor];
|
|
43
|
+
}
|
|
40
44
|
|
|
41
45
|
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
42
46
|
UIViewController *rootViewController = [UIViewController new];
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
<string>1</string>
|
|
25
25
|
<key>LSRequiresIPhoneOS</key>
|
|
26
26
|
<true/>
|
|
27
|
+
<key>NFCReaderUsageDescription</key>
|
|
28
|
+
<string>To use NFC</string>
|
|
27
29
|
<key>NSAppTransportSecurity</key>
|
|
28
30
|
<dict>
|
|
29
31
|
<key>NSAllowsArbitraryLoads</key>
|
|
@@ -37,8 +39,12 @@
|
|
|
37
39
|
</dict>
|
|
38
40
|
</dict>
|
|
39
41
|
</dict>
|
|
42
|
+
<key>NSCameraUsageDescription</key>
|
|
43
|
+
<string>To use camera</string>
|
|
40
44
|
<key>NSLocationWhenInUseUsageDescription</key>
|
|
41
45
|
<string></string>
|
|
46
|
+
<key>NSPhotoLibraryUsageDescription</key>
|
|
47
|
+
<string>To use gallery</string>
|
|
42
48
|
<key>UILaunchStoryboardName</key>
|
|
43
49
|
<string>LaunchScreen</string>
|
|
44
50
|
<key>UIRequiredDeviceCapabilities</key>
|
|
@@ -48,15 +54,9 @@
|
|
|
48
54
|
<key>UISupportedInterfaceOrientations</key>
|
|
49
55
|
<array>
|
|
50
56
|
<string>UIInterfaceOrientationPortrait</string>
|
|
51
|
-
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
52
|
-
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
53
57
|
</array>
|
|
54
|
-
<key>
|
|
55
|
-
<
|
|
56
|
-
<key>NSPhotoLibraryUsageDescription</key>
|
|
57
|
-
<string>To use gallery</string>
|
|
58
|
-
<key>NFCReaderUsageDescription</key>
|
|
59
|
-
<string>To use NFC</string>
|
|
58
|
+
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
59
|
+
<false/>
|
|
60
60
|
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
|
|
61
61
|
<array>
|
|
62
62
|
<string>A0000002471001</string>
|
|
@@ -67,7 +67,5 @@
|
|
|
67
67
|
<string>A0000002480300</string>
|
|
68
68
|
<string>A00000045645444C2D3031</string>
|
|
69
69
|
</array>
|
|
70
|
-
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
71
|
-
<false/>
|
|
72
70
|
</dict>
|
|
73
71
|
</plist>
|
|
@@ -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="DocumentReader" 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>
|