Selaa lähdekoodia

보안로직 암호화 및. 환부이미지 상세보기 디자인 적용

서용하 6 vuotta sitten
vanhempi
commit
96262396c1

+ 15 - 2
MCPlus.xcodeproj/xcuserdata/seoha.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,18 +7,31 @@
 		<key>kunkuk.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>10</integer>
+			<integer>1</integer>
 		</dict>
 		<key>kunkuk_dev.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>11</integer>
+			<integer>2</integer>
 		</dict>
 		<key>kunkuk_inhouse.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
 			<integer>0</integer>
 		</dict>
+		<key>paik.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>3</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>291A4DF822659D5A0012DC9C</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
 	</dict>
 </dict>
 </plist>

+ 7 - 0
MCPlus/Adapter/PhotoCollectionViewAdapter.swift

@@ -72,6 +72,7 @@ extension PhotoCollectionViewAdapter:UICollectionViewDataSource, UICollectionVie
             
             let app = UIApplication.shared.delegate as! AppDelegate
             let nav = app.visibleViewController?.navigationController as! UINavigationController
+            
             let alert = UIAlertController(title: "선택", message: "", preferredStyle: .actionSheet)
             
             //개별 앨범 이미지를 삭제한다
@@ -92,6 +93,12 @@ extension PhotoCollectionViewAdapter:UICollectionViewDataSource, UICollectionVie
                 let storyBoard = UIStoryboard(name: "Main", bundle: nil)
                 let VC = storyBoard.instantiateViewController(withIdentifier: "PhotoDetailViewController") as! PhotoDetailViewController
                 VC.image = image
+                if let photo = list[key]?[indexPath.row]{
+                    VC.photo = photo
+                    VC.callBack = { [weak collectionView] in
+                        collectionView?.reloadData()
+                    }
+                }
                 
                 nav.pushViewController(VC, animated: true)
             })

+ 1 - 1
MCPlus/AppDelegate.swift

@@ -240,7 +240,7 @@ extension AppDelegate{
         default:
             break
         }
-        
+        crackCehck = TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1()
         //폰이 루팅 되어 있는지 체크한다.
         if rootingCheck.isMsgRequest() {
             let rootingMsg:String = NSLocalizedString("RootingWarnningMessage", comment: obf.reveal(key:[176, 206, 203, 140, 254, 224, 157, 227, 197, 159, 192, 219, 77, 143, 198, 242, 137, 235, 252, 152, 230, 197, 183, 202, 227, 65, 158, 240, 250, 128, 255, 198, 182, 208, 229, 136, 234, 214, 75]))

+ 307 - 25
MCPlus/Base.lproj/Main.storyboard

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="WSz-h3-e9R">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="WSz-h3-e9R">
     <device id="retina5_9" orientation="portrait">
         <adaptation id="fullscreen"/>
     </device>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -86,7 +86,7 @@
                         <autoresizingMask key="autoresizingMask"/>
                     </navigationBar>
                     <connections>
-                        <segue destination="ySz-mN-COb" kind="relationship" relationship="rootViewController" id="3AS-oF-DZI"/>
+                        <segue destination="IUL-tO-62n" kind="relationship" relationship="rootViewController" id="Egy-h4-3a0"/>
                     </connections>
                 </navigationController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="2N1-sD-EIH" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -551,7 +551,7 @@
                                         </constraints>
                                     </view>
                                     <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="r5V-JC-o3A">
-                                        <rect key="frame" x="8" y="47.999999999999993" width="359" height="107.33333333333331"/>
+                                        <rect key="frame" x="8" y="48" width="359" height="110"/>
                                         <color key="backgroundColor" red="0.94901960780000005" green="0.95294117649999999" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
                                         <userDefinedRuntimeAttributes>
                                             <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -560,10 +560,10 @@
                                         </userDefinedRuntimeAttributes>
                                     </view>
                                     <stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="kno-vo-6Tg">
-                                        <rect key="frame" x="8" y="47.999999999999993" width="359" height="107.33333333333331"/>
+                                        <rect key="frame" x="8" y="48" width="359" height="110"/>
                                         <subviews>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Go7-gm-l99">
-                                                <rect key="frame" x="0.0" y="0.0" width="89.666666666666671" height="107.33333333333333"/>
+                                                <rect key="frame" x="0.0" y="0.0" width="89.666666666666671" height="110"/>
                                                 <subviews>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="홍길동" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="caU-Qr-psb">
                                                         <rect key="frame" x="20.333333333333332" y="17" width="49.333333333333343" height="20"/>
@@ -572,7 +572,7 @@
                                                         <nil key="highlightedColor"/>
                                                     </label>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qe6-Vy-qzG">
-                                                        <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                        <rect key="frame" x="0.0" y="56.666666666666657" width="89.666666666666671" height="36.333333333333343"/>
                                                         <attributedString key="attributedText">
                                                             <fragment content="내용">
                                                                 <attributes>
@@ -606,7 +606,7 @@
                                                 </userDefinedRuntimeAttributes>
                                             </view>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="drc-lw-GXk">
-                                                <rect key="frame" x="89.666666666666686" y="0.0" width="90" height="107.33333333333333"/>
+                                                <rect key="frame" x="89.666666666666686" y="0.0" width="90" height="110"/>
                                                 <subviews>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A1000100" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wHc-QH-9WF">
                                                         <rect key="frame" x="0.3333333333333286" y="17" width="89" height="20"/>
@@ -615,7 +615,7 @@
                                                         <nil key="highlightedColor"/>
                                                     </label>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vg7-0U-jun">
-                                                        <rect key="frame" x="0.0" y="54" width="90" height="36.333333333333343"/>
+                                                        <rect key="frame" x="0.0" y="56.666666666666657" width="90" height="36.333333333333343"/>
                                                         <attributedString key="attributedText">
                                                             <fragment>
                                                                 <string key="content">내용 텍스트 
@@ -651,10 +651,10 @@
                                                 </userDefinedRuntimeAttributes>
                                             </view>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9DH-3X-lFD">
-                                                <rect key="frame" x="179.66666666666666" y="0.0" width="89.666666666666657" height="107.33333333333333"/>
+                                                <rect key="frame" x="179.66666666666666" y="0.0" width="89.666666666666657" height="110"/>
                                                 <subviews>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1is-iz-dvA">
-                                                        <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                        <rect key="frame" x="0.0" y="56.666666666666657" width="89.666666666666671" height="36.333333333333343"/>
                                                         <attributedString key="attributedText">
                                                             <fragment content="내용내용">
                                                                 <attributes>
@@ -685,7 +685,7 @@
                                                 </userDefinedRuntimeAttributes>
                                             </view>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TAQ-4o-dJk">
-                                                <rect key="frame" x="269.33333333333331" y="0.0" width="89.666666666666686" height="107.33333333333333"/>
+                                                <rect key="frame" x="269.33333333333331" y="0.0" width="89.666666666666686" height="110"/>
                                                 <subviews>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20 / M" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bv4-jp-Xep">
                                                         <rect key="frame" x="17.666666666666689" y="17" width="54.333333333333343" height="20"/>
@@ -694,7 +694,7 @@
                                                         <nil key="highlightedColor"/>
                                                     </label>
                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B3J-gw-Uea">
-                                                        <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                        <rect key="frame" x="0.0" y="56.666666666666657" width="89.666666666666671" height="36.333333333333343"/>
                                                         <attributedString key="attributedText">
                                                             <fragment>
                                                                 <string key="content">내용 텍스트 
@@ -743,7 +743,7 @@
                                         </userDefinedRuntimeAttributes>
                                     </stackView>
                                     <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="jxM-6x-cdr">
-                                        <rect key="frame" x="8" y="163.33333333333334" width="359" height="402.66666666666663"/>
+                                        <rect key="frame" x="8" y="166" width="359" height="400"/>
                                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                         <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="40" minimumInteritemSpacing="10" id="RHq-rA-QGF">
                                             <size key="itemSize" width="50" height="50"/>
@@ -822,7 +822,7 @@
                                                         <rect key="frame" x="0.0" y="0.0" width="187.66666666666666" height="40"/>
                                                         <subviews>
                                                             <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chk_default" translatesAutoresizingMaskIntoConstraints="NO" id="xQ4-Tv-FEb" customClass="CheckImageButton" customModule="kunkuk" customModuleProvider="target">
-                                                                <rect key="frame" x="51.333333333333336" y="12.666666666666629" width="15.000000000000007" height="15"/>
+                                                                <rect key="frame" x="51.333333333333336" y="12.666666666666629" width="15.000000000000021" height="15"/>
                                                                 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                                                 <constraints>
                                                                     <constraint firstAttribute="width" secondItem="xQ4-Tv-FEb" secondAttribute="height" multiplier="1:1" id="gAI-OZ-qwj"/>
@@ -853,7 +853,7 @@
                                                         <rect key="frame" x="187.66666666666663" y="0.0" width="187.33333333333337" height="40"/>
                                                         <subviews>
                                                             <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chk_default" translatesAutoresizingMaskIntoConstraints="NO" id="vZ9-I9-ilh" customClass="CheckImageButton" customModule="kunkuk" customModuleProvider="target">
-                                                                <rect key="frame" x="51" y="12.666666666666629" width="15" height="15"/>
+                                                                <rect key="frame" x="51" y="12.666666666666629" width="15.000000000000014" height="15"/>
                                                                 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                                                 <constraints>
                                                                     <constraint firstAttribute="width" constant="15" id="CjR-YQ-h11"/>
@@ -953,8 +953,8 @@
                                     <constraint firstItem="jJc-rS-Zz1" firstAttribute="top" secondItem="Zli-63-5CU" secondAttribute="top" id="BuV-2n-xBw"/>
                                     <constraint firstAttribute="trailing" secondItem="kno-vo-6Tg" secondAttribute="trailing" constant="8" id="C3y-Ga-9lU"/>
                                     <constraint firstItem="kno-vo-6Tg" firstAttribute="top" secondItem="jJc-rS-Zz1" secondAttribute="bottom" id="FLF-85-FI8"/>
+                                    <constraint firstItem="jxM-6x-cdr" firstAttribute="top" secondItem="r5V-JC-o3A" secondAttribute="bottom" constant="8" id="ITi-P2-CGE"/>
                                     <constraint firstItem="r5V-JC-o3A" firstAttribute="trailing" secondItem="kno-vo-6Tg" secondAttribute="trailing" id="Lvg-Ic-T35"/>
-                                    <constraint firstItem="jxM-6x-cdr" firstAttribute="top" secondItem="r5V-JC-o3A" secondAttribute="bottom" constant="8" id="PC4-7u-IHz"/>
                                     <constraint firstItem="jJc-rS-Zz1" firstAttribute="leading" secondItem="Zli-63-5CU" secondAttribute="leading" id="QBd-cP-lCU"/>
                                     <constraint firstItem="kno-vo-6Tg" firstAttribute="leading" secondItem="Zli-63-5CU" secondAttribute="leading" constant="8" id="Rd6-RB-pwR"/>
                                     <constraint firstItem="5S7-UW-OKn" firstAttribute="top" secondItem="jxM-6x-cdr" secondAttribute="bottom" id="Rle-Z4-7Xm"/>
@@ -1009,35 +1009,317 @@
                         <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="h8N-NJ-7Q4">
+                                <rect key="frame" x="0.0" y="44" width="375" height="48"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="환부이미지상세" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GFe-Mw-H6W">
+                                        <rect key="frame" x="127" y="13.666666666666664" width="121.33333333333331" height="21"/>
+                                        <fontDescription key="fontDescription" name="NanumSquareB" family="NanumSquare" pointSize="19"/>
+                                        <nil key="textColor"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="close_x" translatesAutoresizingMaskIntoConstraints="NO" id="par-Va-bpc">
+                                        <rect key="frame" x="346" y="13.666666666666664" width="21" height="21"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="21" id="3wW-Ch-M3u"/>
+                                            <constraint firstAttribute="width" secondItem="par-Va-bpc" secondAttribute="height" multiplier="1:1" id="LXG-BG-Xf4"/>
+                                        </constraints>
+                                    </imageView>
+                                </subviews>
+                                <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstItem="GFe-Mw-H6W" firstAttribute="centerY" secondItem="h8N-NJ-7Q4" secondAttribute="centerY" id="KlN-1k-omm"/>
+                                    <constraint firstAttribute="trailing" secondItem="par-Va-bpc" secondAttribute="trailing" constant="8" id="Rc5-28-Owq"/>
+                                    <constraint firstItem="par-Va-bpc" firstAttribute="centerY" secondItem="GFe-Mw-H6W" secondAttribute="centerY" id="cYj-cm-z99"/>
+                                    <constraint firstItem="GFe-Mw-H6W" firstAttribute="centerX" secondItem="h8N-NJ-7Q4" secondAttribute="centerX" id="cli-Ld-1oj"/>
+                                    <constraint firstItem="par-Va-bpc" firstAttribute="width" secondItem="par-Va-bpc" secondAttribute="height" multiplier="1:1" id="sXA-rt-7h5"/>
+                                    <constraint firstAttribute="height" constant="48" id="ynk-Ny-DAX"/>
+                                </constraints>
+                            </view>
+                            <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="d13-IV-tbA">
+                                <rect key="frame" x="8" y="92" width="359" height="107.33333333333331"/>
+                                <color key="backgroundColor" red="0.94901960780000005" green="0.95294117649999999" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="5"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="tXt-o9-X4E">
+                                <rect key="frame" x="8" y="92" width="359" height="107.33333333333331"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M1w-oi-9zg">
+                                        <rect key="frame" x="0.0" y="0.0" width="89.666666666666671" height="107.33333333333333"/>
+                                        <subviews>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="홍길동" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="A72-WX-Gkz">
+                                                <rect key="frame" x="20.333333333333332" y="17" width="49.333333333333343" height="20"/>
+                                                <fontDescription key="fontDescription" name="NanumSquareB" family="NanumSquare" pointSize="18"/>
+                                                <nil key="textColor"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jGq-19-oja">
+                                                <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment content="내용">
+                                                        <attributes>
+                                                            <font key="NSFont" size="15" name="NanumSquareR"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="3" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="A72-WX-Gkz" firstAttribute="top" secondItem="M1w-oi-9zg" secondAttribute="top" constant="17" id="Rux-yN-32K"/>
+                                            <constraint firstItem="jGq-19-oja" firstAttribute="top" relation="greaterThanOrEqual" secondItem="A72-WX-Gkz" secondAttribute="bottom" constant="17" id="Y6R-Zn-8hm"/>
+                                            <constraint firstAttribute="trailing" secondItem="jGq-19-oja" secondAttribute="trailing" id="ZuJ-hH-Yd2"/>
+                                            <constraint firstItem="A72-WX-Gkz" firstAttribute="centerX" secondItem="M1w-oi-9zg" secondAttribute="centerX" id="gOp-zj-vOj"/>
+                                            <constraint firstAttribute="bottom" secondItem="jGq-19-oja" secondAttribute="bottom" priority="750" constant="17" id="pEk-3g-q05"/>
+                                            <constraint firstItem="jGq-19-oja" firstAttribute="leading" secondItem="M1w-oi-9zg" secondAttribute="leading" id="qeS-rV-9UL"/>
+                                        </constraints>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                                <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SOW-th-6k9">
+                                        <rect key="frame" x="89.666666666666686" y="0.0" width="90" height="107.33333333333333"/>
+                                        <subviews>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A1000100" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="chw-O9-PTX">
+                                                <rect key="frame" x="0.3333333333333286" y="17" width="89" height="20"/>
+                                                <fontDescription key="fontDescription" name="NanumSquareB" family="NanumSquare" pointSize="18"/>
+                                                <nil key="textColor"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gHF-SU-Yfh">
+                                                <rect key="frame" x="0.0" y="54" width="90" height="36.333333333333343"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment>
+                                                        <string key="content">내용 텍스트 
+들어감</string>
+                                                        <attributes>
+                                                            <font key="NSFont" size="15" name="NanumSquareR"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="3" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="chw-O9-PTX" firstAttribute="centerX" secondItem="SOW-th-6k9" secondAttribute="centerX" id="BtP-wZ-1AA"/>
+                                            <constraint firstItem="chw-O9-PTX" firstAttribute="top" secondItem="SOW-th-6k9" secondAttribute="top" constant="17" id="CIA-dH-VSy"/>
+                                            <constraint firstAttribute="trailing" secondItem="gHF-SU-Yfh" secondAttribute="trailing" id="Wsb-Yd-mmg"/>
+                                            <constraint firstAttribute="bottom" secondItem="gHF-SU-Yfh" secondAttribute="bottom" priority="750" constant="17" id="mdx-JY-iTz"/>
+                                            <constraint firstItem="gHF-SU-Yfh" firstAttribute="leading" secondItem="SOW-th-6k9" secondAttribute="leading" id="vWi-aw-Y0K"/>
+                                            <constraint firstItem="gHF-SU-Yfh" firstAttribute="top" relation="greaterThanOrEqual" secondItem="chw-O9-PTX" secondAttribute="bottom" constant="17" id="xZa-we-WJc"/>
+                                        </constraints>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                                <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1Fg-Ug-UPh">
+                                        <rect key="frame" x="179.66666666666666" y="0.0" width="89.666666666666657" height="107.33333333333333"/>
+                                        <subviews>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hqs-Lo-ylD">
+                                                <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment content="내용내용">
+                                                        <attributes>
+                                                            <font key="NSFont" size="15" name="NanumSquareR"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="3" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="Hqs-Lo-ylD" firstAttribute="leading" secondItem="1Fg-Ug-UPh" secondAttribute="leading" id="Ib5-Ve-1kG"/>
+                                            <constraint firstAttribute="bottom" secondItem="Hqs-Lo-ylD" secondAttribute="bottom" priority="750" constant="17" id="lWF-bn-sQK"/>
+                                            <constraint firstAttribute="trailing" secondItem="Hqs-Lo-ylD" secondAttribute="trailing" id="oar-J0-Itb"/>
+                                        </constraints>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                                <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JOM-b2-uNp">
+                                        <rect key="frame" x="269.33333333333331" y="0.0" width="89.666666666666686" height="107.33333333333333"/>
+                                        <subviews>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20 / M" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HE5-qb-ZSg">
+                                                <rect key="frame" x="17.666666666666689" y="17" width="54.333333333333343" height="20"/>
+                                                <fontDescription key="fontDescription" name="NanumSquareB" family="NanumSquare" pointSize="18"/>
+                                                <nil key="textColor"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F6E-nV-1vq">
+                                                <rect key="frame" x="0.0" y="54" width="89.666666666666671" height="36.333333333333343"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment>
+                                                        <string key="content">내용 텍스트 
+들어감</string>
+                                                        <attributes>
+                                                            <font key="NSFont" size="15" name="NanumSquareR"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="3" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="HE5-qb-ZSg" firstAttribute="centerX" secondItem="JOM-b2-uNp" secondAttribute="centerX" id="2Fd-tu-PLf"/>
+                                            <constraint firstItem="F6E-nV-1vq" firstAttribute="leading" secondItem="JOM-b2-uNp" secondAttribute="leading" id="3CU-ph-xt9"/>
+                                            <constraint firstItem="HE5-qb-ZSg" firstAttribute="top" secondItem="JOM-b2-uNp" secondAttribute="top" constant="17" id="B37-mz-JIW"/>
+                                            <constraint firstAttribute="trailing" secondItem="F6E-nV-1vq" secondAttribute="trailing" id="EwH-vx-PQ2"/>
+                                            <constraint firstAttribute="bottom" secondItem="F6E-nV-1vq" secondAttribute="bottom" priority="750" constant="17" id="mvL-U7-WZL"/>
+                                        </constraints>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                                <real key="value" value="0.0"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                                <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstItem="Hqs-Lo-ylD" firstAttribute="centerY" secondItem="gHF-SU-Yfh" secondAttribute="centerY" id="1uL-0g-urp"/>
+                                    <constraint firstItem="jGq-19-oja" firstAttribute="centerY" secondItem="gHF-SU-Yfh" secondAttribute="centerY" id="IOP-f4-LIq"/>
+                                    <constraint firstAttribute="height" priority="250" constant="100" id="VIo-b3-twM"/>
+                                    <constraint firstItem="F6E-nV-1vq" firstAttribute="centerY" secondItem="Hqs-Lo-ylD" secondAttribute="centerY" id="aKH-o4-3La"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="5"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </stackView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-10-10 외래 or 입원, 진료과" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qrF-N9-cAv">
+                                <rect key="frame" x="16" y="214.33333333333334" width="343" height="20"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="za8-Ii-iFb"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" name="NanumSquareB" family="NanumSquare" pointSize="18"/>
+                                <color key="textColor" red="0.3921568627" green="0.60392156860000001" blue="0.98823529409999999" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
                             <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" maximumZoomScale="6" translatesAutoresizingMaskIntoConstraints="NO" id="2iH-20-RM0">
-                                <rect key="frame" x="0.0" y="44" width="375" height="734"/>
+                                <rect key="frame" x="8" y="242.33333333333334" width="359" height="485.66666666666663"/>
                                 <subviews>
                                     <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5Sc-ew-tv8">
-                                        <rect key="frame" x="0.0" y="0.0" width="375" height="734"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="359" height="485.66666666666669"/>
                                     </imageView>
                                 </subviews>
                                 <constraints>
                                     <constraint firstAttribute="bottom" secondItem="5Sc-ew-tv8" secondAttribute="bottom" id="5q8-wC-Liw"/>
                                     <constraint firstAttribute="trailing" secondItem="5Sc-ew-tv8" secondAttribute="trailing" id="Z9a-mv-Ogm"/>
-                                    <constraint firstItem="5Sc-ew-tv8" firstAttribute="top" secondItem="2iH-20-RM0" secondAttribute="top" id="bP7-ZU-aof"/>
+                                    <constraint firstItem="5Sc-ew-tv8" firstAttribute="top" secondItem="2iH-20-RM0" secondAttribute="top" id="bHo-1e-efW"/>
                                     <constraint firstItem="5Sc-ew-tv8" firstAttribute="centerX" secondItem="2iH-20-RM0" secondAttribute="centerX" id="kcN-vB-r0Y"/>
                                     <constraint firstItem="5Sc-ew-tv8" firstAttribute="leading" secondItem="2iH-20-RM0" secondAttribute="leading" id="odj-gd-DVS"/>
                                     <constraint firstItem="5Sc-ew-tv8" firstAttribute="centerY" secondItem="2iH-20-RM0" secondAttribute="centerY" id="ryf-m9-i2f"/>
                                 </constraints>
                             </scrollView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QtU-l3-lKc">
+                                <rect key="frame" x="8" y="728" width="359" height="50"/>
+                                <subviews>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gSz-Ro-iIZ">
+                                        <rect key="frame" x="259" y="0.0" width="50" height="50"/>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" secondItem="gSz-Ro-iIZ" secondAttribute="height" multiplier="1:1" id="fCt-RW-SRY"/>
+                                        </constraints>
+                                        <state key="normal" image="f_btn_a_upload"/>
+                                    </button>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kX7-lc-b7T">
+                                        <rect key="frame" x="309" y="0.0" width="50" height="50"/>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" secondItem="kX7-lc-b7T" secondAttribute="height" multiplier="1:1" id="ZxF-yY-hkZ"/>
+                                        </constraints>
+                                        <state key="normal" image="f_btn_a_exit"/>
+                                    </button>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstItem="kX7-lc-b7T" firstAttribute="leading" secondItem="gSz-Ro-iIZ" secondAttribute="trailing" id="4Gq-aY-lgm"/>
+                                    <constraint firstItem="kX7-lc-b7T" firstAttribute="top" secondItem="QtU-l3-lKc" secondAttribute="top" id="7oi-dj-MVE"/>
+                                    <constraint firstAttribute="bottom" secondItem="kX7-lc-b7T" secondAttribute="bottom" id="PsG-Ui-p2Z"/>
+                                    <constraint firstAttribute="trailing" secondItem="kX7-lc-b7T" secondAttribute="trailing" id="Weh-EV-jnC"/>
+                                    <constraint firstAttribute="bottom" secondItem="gSz-Ro-iIZ" secondAttribute="bottom" id="dqu-mB-GrG"/>
+                                    <constraint firstItem="gSz-Ro-iIZ" firstAttribute="top" secondItem="QtU-l3-lKc" secondAttribute="top" id="rE6-Un-42y"/>
+                                    <constraint firstAttribute="height" constant="50" id="wEm-kj-fvN"/>
+                                </constraints>
+                            </view>
                         </subviews>
-                        <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
-                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="bottom" secondItem="2iH-20-RM0" secondAttribute="bottom" id="6G2-IC-Da6"/>
-                            <constraint firstItem="2iH-20-RM0" firstAttribute="top" secondItem="Fph-JF-Fvh" secondAttribute="top" id="N7V-ku-iqz"/>
-                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="trailing" secondItem="2iH-20-RM0" secondAttribute="trailing" id="rfS-1r-Y7l"/>
-                            <constraint firstItem="2iH-20-RM0" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" id="sbe-wB-ibT"/>
+                            <constraint firstItem="qrF-N9-cAv" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" constant="16" id="0SW-pM-bAh"/>
+                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="trailing" secondItem="tXt-o9-X4E" secondAttribute="trailing" constant="8" id="0VW-dO-pO8"/>
+                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="trailing" secondItem="qrF-N9-cAv" secondAttribute="trailing" constant="16" id="1ZH-P1-ClT"/>
+                            <constraint firstItem="h8N-NJ-7Q4" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" id="1nB-eB-Mz9"/>
+                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="bottom" secondItem="QtU-l3-lKc" secondAttribute="bottom" id="2zA-Yt-VcM"/>
+                            <constraint firstItem="tXt-o9-X4E" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" constant="8" id="39o-fO-6rl"/>
+                            <constraint firstItem="h8N-NJ-7Q4" firstAttribute="trailing" secondItem="Fph-JF-Fvh" secondAttribute="trailing" id="3v0-wF-Mqg"/>
+                            <constraint firstItem="h8N-NJ-7Q4" firstAttribute="top" secondItem="Fph-JF-Fvh" secondAttribute="top" id="6KH-SX-Zy6"/>
+                            <constraint firstItem="QtU-l3-lKc" firstAttribute="top" secondItem="2iH-20-RM0" secondAttribute="bottom" id="HDp-v1-BH5"/>
+                            <constraint firstItem="2iH-20-RM0" firstAttribute="top" secondItem="qrF-N9-cAv" secondAttribute="bottom" constant="8" id="Lul-kN-U6n"/>
+                            <constraint firstItem="d13-IV-tbA" firstAttribute="top" secondItem="tXt-o9-X4E" secondAttribute="top" id="SkE-j6-Jfj"/>
+                            <constraint firstItem="QtU-l3-lKc" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" constant="8" id="iIy-xC-hbn"/>
+                            <constraint firstItem="d13-IV-tbA" firstAttribute="bottom" secondItem="tXt-o9-X4E" secondAttribute="bottom" id="itR-GD-s6W"/>
+                            <constraint firstItem="qrF-N9-cAv" firstAttribute="top" secondItem="d13-IV-tbA" secondAttribute="bottom" constant="15" id="jPn-Op-OcK"/>
+                            <constraint firstItem="tXt-o9-X4E" firstAttribute="top" secondItem="h8N-NJ-7Q4" secondAttribute="bottom" id="kfb-UR-gWu"/>
+                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="trailing" secondItem="2iH-20-RM0" secondAttribute="trailing" constant="8" id="rfS-1r-Y7l"/>
+                            <constraint firstItem="Fph-JF-Fvh" firstAttribute="trailing" secondItem="QtU-l3-lKc" secondAttribute="trailing" constant="8" id="sM6-8q-CX2"/>
+                            <constraint firstItem="d13-IV-tbA" firstAttribute="trailing" secondItem="tXt-o9-X4E" secondAttribute="trailing" id="sRv-YF-Cwz"/>
+                            <constraint firstItem="2iH-20-RM0" firstAttribute="leading" secondItem="Fph-JF-Fvh" secondAttribute="leading" constant="8" id="sbe-wB-ibT"/>
+                            <constraint firstItem="d13-IV-tbA" firstAttribute="leading" secondItem="tXt-o9-X4E" secondAttribute="leading" id="tUQ-Q7-aE8"/>
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="Fph-JF-Fvh"/>
                     </view>
                     <connections>
+                        <outlet property="ageGenderLabel" destination="HE5-qb-ZSg" id="w6z-zA-Xh5"/>
+                        <outlet property="closeButton" destination="par-Va-bpc" id="8Yg-jO-Cub"/>
+                        <outlet property="exitButton" destination="kX7-lc-b7T" id="kJT-Nx-Aeg"/>
                         <outlet property="imageView" destination="5Sc-ew-tv8" id="k1y-Vo-fs3"/>
+                        <outlet property="patientIdLabel" destination="chw-O9-PTX" id="9pv-47-Vo9"/>
+                        <outlet property="patientNmLabel" destination="A72-WX-Gkz" id="9nX-We-6AO"/>
                         <outlet property="scrollView" destination="2iH-20-RM0" id="OrG-GR-aJ6"/>
+                        <outlet property="titleLabel" destination="qrF-N9-cAv" id="r5m-vz-dmK"/>
+                        <outlet property="uploadButton" destination="gSz-Ro-iIZ" id="cZK-ke-Cfj"/>
                     </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="M26-hv-4ja" userLabel="First Responder" sceneMemberID="firstResponder"/>

+ 2 - 2
MCPlus/CustomFiles/kunkuk/Info.plist

@@ -15,7 +15,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>4</string>
+	<string>150</string>
 	<key>CFBundleURLTypes</key>
 	<array>
 		<dict>
@@ -30,7 +30,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>4</string>
+	<string>150</string>
 	<key>DomainName</key>
 	<string>https://app.hyumc.com/</string>
 	<key>Fabric</key>

+ 13 - 7
MCPlus/CustomFiles/kunkuk/MCarePlusConstants-dev.swift

@@ -10,12 +10,18 @@ import Foundation
 
 @objcMembers
 class MCarePlusConstants:NSObject, MCarePlusConstantsProtocol {
+    private static var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     
-    //건국대 운영용 :https://nps.kuh.ac.kr/mcare-plus/login.page
-    //건국대 개발용 :https://nps.kuh.ac.kr/mcare-plus-dev/login.page
-    //사내 개발 테스트용 :http://192.168.1.18:48080/mcare-plus/login.page
-    static var MCARE_ALERT_TITLE_ICON = "iconImage-kunkuk"
-    static var DOMAIN_NAME = "https://nps.kuh.ac.kr/"
-    static var CERT_TYPE = "inHouse"
-    static var APP_NAME = "mcare-plus-dev"
+    static var MCARE_ALERT_TITLE_ICON:String = {
+        return obf.reveal(key: [50, 14, 12, 15, 59, 8, 17, 11, 16, 94, 54, 46, 3, 8, 20, 25])
+    }()
+    static var DOMAIN_NAME:String = {
+        return obf.reveal(key:[51, 25, 23, 17, 1, 95, 95, 67, 27, 3, 46, 117, 6, 22, 9, 92, 4, 19, 66, 30, 1, 114])
+    }()
+    static var CERT_TYPE = {
+        return obf.reveal(key:[50, 3, 43, 14, 7, 22, 21])
+    }()
+    static var APP_NAME = {
+        return obf.reveal(key:[54, 14, 2, 19, 23, 72, 0, 0, 0, 0, 112, 63, 8, 21])
+    }()
 }

+ 13 - 7
MCPlus/CustomFiles/kunkuk/MCarePlusConstants-inHouse.swift

@@ -10,12 +10,18 @@ import Foundation
 
 @objcMembers
 class MCarePlusConstants:NSObject, MCarePlusConstantsProtocol {
+    private static var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     
-    //건국대 운영용 :https://nps.kuh.ac.kr/mcare-plus/login.page
-    //건국대 개발용 :https://nps.kuh.ac.kr/mcare-plus-dev/login.page
-    //사내 개발 테스트용 :http://192.168.1.18:48080/mcare-plus/login.page
-    static var MCARE_ALERT_TITLE_ICON = "iconImage-kunkuk"
-    static var DOMAIN_NAME = "http://192.168.1.18:48080/"
-    static var CERT_TYPE = "inHouse"
-    static var APP_NAME = "mcare-plus"
+    static var MCARE_ALERT_TITLE_ICON:String = {
+        return obf.reveal(key: [50, 14, 12, 15, 59, 8, 17, 11, 16, 94, 54, 46, 3, 8, 20, 25])
+    }()
+    static var DOMAIN_NAME:String = {
+        return obf.reveal(key:[51, 25, 23, 17, 72, 74, 95, 93, 76, 65, 115, 106, 91, 91, 79, 67, 75, 65, 84, 79, 71, 101, 107, 85, 83, 78])
+    }()
+    static var CERT_TYPE = {
+        return obf.reveal(key:[50, 3, 43, 14, 7, 22, 21])
+    }()
+    static var APP_NAME = {
+        return obf.reveal(key:[54, 14, 2, 19, 23, 72, 0, 0, 0, 0])
+    }()
 }

+ 15 - 4
MCPlus/CustomFiles/kunkuk/MCarePlusConstants.swift

@@ -10,8 +10,19 @@ import Foundation
 
 @objcMembers
 class MCarePlusConstants:NSObject, MCarePlusConstantsProtocol {
-    static var MCARE_ALERT_TITLE_ICON = "iconImage-kunkuk"
-    static var DOMAIN_NAME = "https://nps.kuh.ac.kr/"
-    static var CERT_TYPE = "inHouse"
-    static var APP_NAME = "mcare-plus"
+    private static var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
+    
+    static var MCARE_ALERT_TITLE_ICON:String = {
+        return obf.reveal(key: [50, 14, 12, 15, 59, 8, 17, 11, 16, 94, 54, 46, 3, 8, 20, 25])
+    }()
+    static var DOMAIN_NAME:String = {
+        return obf.reveal(key:[51, 25, 23, 17, 1, 95, 95, 67, 27, 3, 46, 117, 6, 22, 9, 92, 4, 19, 66, 30, 1, 114])
+    }()
+    static var CERT_TYPE = {
+        return obf.reveal(key:[50, 3, 43, 14, 7, 22, 21])
+    }()
+    static var APP_NAME = {
+        return obf.reveal(key:[54, 14, 2, 19, 23, 72, 0, 0, 0, 0])
+    }()
+    
 }

+ 1 - 0
MCPlus/CustomFiles/paik/MCarePlusConstants-inHouse.swift

@@ -10,6 +10,7 @@ import Foundation
 
 @objcMembers
 class MCarePlusConstants:NSObject, MCarePlusConstantsProtocol {
+    
     static var MCARE_ALERT_TITLE_ICON = "iconImage-paik"
     static var DOMAIN_NAME = "http://14.40.2.60:18080"
     static var CERT_TYPE = "inHouse"

+ 6 - 4
MCPlus/Utils/RootingCheck/McareCrackCheck.swift

@@ -10,6 +10,7 @@ import Foundation
 
 class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol {
     
+    private var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     private let bundlePath:String = Bundle.main.bundlePath
     
     public init(){
@@ -52,7 +53,8 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     }
     
     func xFpMfiaKAJMDOeAxjLRgTogsUThgmSuV() -> Bool {
-        let path:String = self.bundlePath.appending("/Info.plist")
+        
+        let path:String = self.bundlePath.appending(obf.reveal(key:[116, 36, 13, 7, 29, 75, 0, 0, 28, 0, 41]))
         
         let fileInfo:NSDictionary = Bundle.main.infoDictionary! as NSDictionary
         let fileManager:FileManager = FileManager.default
@@ -65,7 +67,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
         }
         
         if fileAttr != nil {
-            let cSIDArr = ["Si", "gne", "rIde", "ntity"]
+            let cSIDArr = [obf.reveal(key:[8, 4]), obf.reveal(key:[60, 3, 6]), obf.reveal(key:[41, 36, 7, 4]), obf.reveal(key:[53, 25, 10, 21, 11])]
             let cSID:String = cSIDArr.joined()
             
             if fileInfo.value(forKey: cSID) != nil {
@@ -89,7 +91,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func oeylBwEWeIBxFIgKTodTecITfvuGKssm() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4])))
         
         if !fileExists {
             return true
@@ -100,7 +102,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA1:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func EzfgObvemSSLKMuULiAFTLaLdNXhXTGf() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature/CodeResources"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4, 93, 38, 31, 8, 16, 33, 56, 40, 2, 22, 19, 17, 0, 3])))
         
         if !fileExists {
             return true

+ 5 - 4
MCPlus/Utils/RootingCheck/McareCrackCheck2.swift

@@ -10,6 +10,7 @@ import Foundation
 
 class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA2:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol {
     
+    private var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     private let bundlePath:String = Bundle.main.bundlePath
     
     public init(){
@@ -52,7 +53,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA2:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     }
     
     func xFpMfiaKAJMDOeAxjLRgTogsUThgmSuV() -> Bool {
-        let path:String = self.bundlePath.appending("/Info.plist")
+        let path:String = self.bundlePath.appending(obf.reveal(key:[116, 36, 13, 7, 29, 75, 0, 0, 28, 0, 41]))
         
         let fileInfo:NSDictionary = Bundle.main.infoDictionary! as NSDictionary
         let fileManager:FileManager = FileManager.default
@@ -65,7 +66,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA2:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
         }
         
         if fileAttr != nil {
-            let cSIDArr = ["Si", "gne", "rIde", "ntity"]
+            let cSIDArr = [obf.reveal(key:[8, 4]), obf.reveal(key:[60, 3, 6]), obf.reveal(key:[41, 36, 7, 4]), obf.reveal(key:[53, 25, 10, 21, 11])]
             let cSID:String = cSIDArr.joined()
             
             if fileInfo.value(forKey: cSID) != nil {
@@ -89,7 +90,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA2:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func oeylBwEWeIBxFIgKTodTecITfvuGKssm() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4])))
         
         if !fileExists {
             return true
@@ -100,7 +101,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA2:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func EzfgObvemSSLKMuULiAFTLaLdNXhXTGf() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature/CodeResources"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4, 93, 38, 31, 8, 16, 33, 56, 40, 2, 22, 19, 17, 0, 3])))
         
         if !fileExists {
             return true

+ 5 - 4
MCPlus/Utils/RootingCheck/McareCrackCheck3.swift

@@ -10,6 +10,7 @@ import Foundation
 
 class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA3:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol {
     
+    private var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     private let bundlePath:String = Bundle.main.bundlePath
     
     public init(){
@@ -52,7 +53,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA3:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     }
     
     func xFpMfiaKAJMDOeAxjLRgTogsUThgmSuV() -> Bool {
-        let path:String = self.bundlePath.appending("/Info.plist")
+        let path:String = self.bundlePath.appending(obf.reveal(key:[116, 36, 13, 7, 29, 75, 0, 0, 28, 0, 41]))
         
         let fileInfo:NSDictionary = Bundle.main.infoDictionary! as NSDictionary
         let fileManager:FileManager = FileManager.default
@@ -65,7 +66,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA3:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
         }
         
         if fileAttr != nil {
-            let cSIDArr = ["Si", "gne", "rIde", "ntity"]
+            let cSIDArr = [obf.reveal(key:[8, 4]), obf.reveal(key:[60, 3, 6]), obf.reveal(key:[41, 36, 7, 4]), obf.reveal(key:[53, 25, 10, 21, 11])]
             let cSID:String = cSIDArr.joined()
             
             if fileInfo.value(forKey: cSID) != nil {
@@ -89,7 +90,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA3:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func oeylBwEWeIBxFIgKTodTecITfvuGKssm() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4])))
         
         if !fileExists {
             return true
@@ -100,7 +101,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA3:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func EzfgObvemSSLKMuULiAFTLaLdNXhXTGf() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature/CodeResources"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4, 93, 38, 31, 8, 16, 33, 56, 40, 2, 22, 19, 17, 0, 3])))
         
         if !fileExists {
             return true

+ 5 - 4
MCPlus/Utils/RootingCheck/McareCrackCheck4.swift

@@ -10,6 +10,7 @@ import Foundation
 
 class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA4:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol {
     
+    private var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     private let bundlePath:String = Bundle.main.bundlePath
     
     public init(){
@@ -52,7 +53,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA4:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     }
     
     func xFpMfiaKAJMDOeAxjLRgTogsUThgmSuV() -> Bool {
-        let path:String = self.bundlePath.appending("/Info.plist")
+        let path:String = self.bundlePath.appending(obf.reveal(key:[116, 36, 13, 7, 29, 75, 0, 0, 28, 0, 41]))
         
         let fileInfo:NSDictionary = Bundle.main.infoDictionary! as NSDictionary
         let fileManager:FileManager = FileManager.default
@@ -65,7 +66,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA4:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
         }
         
         if fileAttr != nil {
-            let cSIDArr = ["Si", "gne", "rIde", "ntity"]
+            let cSIDArr = [obf.reveal(key:[8, 4]), obf.reveal(key:[60, 3, 6]), obf.reveal(key:[41, 36, 7, 4]), obf.reveal(key:[53, 25, 10, 21, 11])]
             let cSID:String = cSIDArr.joined()
             
             if fileInfo.value(forKey: cSID) != nil {
@@ -89,7 +90,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA4:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func oeylBwEWeIBxFIgKTodTecITfvuGKssm() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4])))
         
         if !fileExists {
             return true
@@ -100,7 +101,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA4:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func EzfgObvemSSLKMuULiAFTLaLdNXhXTGf() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature/CodeResources"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4, 93, 38, 31, 8, 16, 33, 56, 40, 2, 22, 19, 17, 0, 3])))
         
         if !fileExists {
             return true

+ 5 - 4
MCPlus/Utils/RootingCheck/McareCrackCheck5.swift

@@ -10,6 +10,7 @@ import Foundation
 
 class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA5:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol {
     
+    private var obf:Obfuscator = Obfuscator(withSalt: ["mcareplus" as AnyObject])
     private let bundlePath:String = Bundle.main.bundlePath
     
     public init(){
@@ -52,7 +53,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA5:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     }
     
     func xFpMfiaKAJMDOeAxjLRgTogsUThgmSuV() -> Bool {
-        let path:String = self.bundlePath.appending("/Info.plist")
+        let path:String = self.bundlePath.appending(obf.reveal(key:[116, 36, 13, 7, 29, 75, 0, 0, 28, 0, 41]))
         
         let fileInfo:NSDictionary = Bundle.main.infoDictionary! as NSDictionary
         let fileManager:FileManager = FileManager.default
@@ -65,7 +66,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA5:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
         }
         
         if fileAttr != nil {
-            let cSIDArr = ["Si", "gne", "rIde", "ntity"]
+            let cSIDArr = [obf.reveal(key:[8, 4]), obf.reveal(key:[60, 3, 6]), obf.reveal(key:[41, 36, 7, 4]), obf.reveal(key:[53, 25, 10, 21, 11])]
             let cSID:String = cSIDArr.joined()
             
             if fileInfo.value(forKey: cSID) != nil {
@@ -89,7 +90,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA5:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func oeylBwEWeIBxFIgKTodTecITfvuGKssm() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4])))
         
         if !fileExists {
             return true
@@ -100,7 +101,7 @@ class TGfgWLPFSsedkMjVFwzECGIJlWLmXNHA5:TGfgWLPFSsedkMjVFwzECGIJlWLmXNHAProtocol
     
     func EzfgObvemSSLKMuULiAFTLaLdNXhXTGf() -> Bool {
         
-        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending("/_CodeSignature/CodeResources"))
+        let fileExists:Bool = FileManager.default.fileExists(atPath: bundlePath.appending(obf.reveal(key:[116, 50, 32, 14, 22, 0, 35, 5, 18, 29, 60, 47, 24, 17, 4, 93, 38, 31, 8, 16, 33, 56, 40, 2, 22, 19, 17, 0, 3])))
         
         if !fileExists {
             return true

+ 100 - 0
MCPlus/ViewControllers/PhotoDetailViewController.swift

@@ -24,7 +24,49 @@ class PhotoDetailViewController: UIViewController {
     
     @IBOutlet weak var imageView: UIImageView!
     
+    @IBOutlet weak var patientIdLabel :UILabel!{
+        didSet{
+            patientIdLabel.text = self.photo?.user?.patientId
+        }
+    }
+    
+    @IBOutlet weak var patientNmLabel :UILabel!{
+        didSet{
+            patientNmLabel.text = self.photo?.user?.patientNm
+        }
+    }
+    
+    @IBOutlet weak var ageGenderLabel :UILabel!{
+        didSet{
+            ageGenderLabel.text = "\(self.photo?.user?.age ?? "") / \(self.photo?.user?.gender ?? "")"
+        }
+    }
+    
+    @IBOutlet weak var titleLabel: UILabel!{
+        didSet{
+            titleLabel.text = self.photo?.key
+        }
+    }
+    
+    @IBOutlet weak var exitButton: UIButton!{
+        didSet{
+            exitButton.addTapGestureRecognizer(action: self.closeAction)
+        }
+    }
+    
+    @IBOutlet weak var uploadButton: UIButton!{
+        didSet{
+            if self.photo?.isSended == true{
+                uploadButton.isHidden = true
+            }
+            uploadButton.addTapGestureRecognizer(action: self.uploadAction)
+        }
+    }
+    
+    
     var image:UIImage?
+    var photo:Photo?
+    var callBack:(()->Void)?
 }
 
 extension PhotoDetailViewController:UIScrollViewDelegate{
@@ -32,6 +74,7 @@ extension PhotoDetailViewController:UIScrollViewDelegate{
     override func viewDidLoad() {
         super.viewDidLoad()
         
+        self.navigationController?.isNavigationBarHidden = true
         if let img = self.image{
             self.imageView.image = img
         }
@@ -39,9 +82,66 @@ extension PhotoDetailViewController:UIScrollViewDelegate{
     
     func closeAction(){
         self.navigationController?.popViewController(animated: true)
+        self.callBack?()
     }
     
     func viewForZooming(in scrollView: UIScrollView) -> UIView? {
         return scrollView.subviews.first
+    }
+    
+    func uploadAction(){
+        guard let photo = self.photo else {
+            return
+        }
+        self.uploadItem(photo)
+    }
+    
+    func uploadItem(_ photo:Photo){
+        var param = [String:Any]()
+        param["hospitalCd"] = photo.user?.hospitalCD ?? ""
+        param["userId"] = photo.user?.userId ?? ""
+        param["patientId"] = photo.user?.patientId ?? ""
+        param["deptCd"] = photo.user?.deptCd ?? ""
+        param["doctorId"] = photo.user?.doctorId ?? ""
+        param["treatCls"] = photo.user?.treatCls ?? ""
+        param["excutionDtTm"] = Date().fromString(format: "yyyy-MM-dd hh:mm:ss")
+        
+        var fileParam = [[String:Data]]()
+        
+        if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
+            //원본 이미지 찾기
+            let origin = dir.appendingPathComponent("kunkuk/\(photo.file ?? "")")
+            if let data = try? Data(contentsOf: origin){
+                fileParam.append(["image":data])
+            }
+            //썸네일 이미지 찾기
+            let thumb = dir.appendingPathComponent("thumb/\(photo.file ?? "")")
+            if let data = try? Data(contentsOf: thumb){
+                fileParam.append(["thumbnail":data])
+            }
+        }
+        
+        APIClient("\(MCarePlusConstants.DOMAIN_NAME)\(MCarePlusConstants.APP_NAME)\(Constants.WOUND_IMG_URL).json")
+            .param(reqParam: param)
+            .param(fileParam: fileParam)
+            .connect { [weak self](result:[String:Any]) in
+                
+                //성공일시
+                if result["returnCd"] as? String == "0000"{
+                    photo.isSended = true
+                    photo.update()
+                    self?.showAlert("서버에 업로드 되었습니다.", "", "확인", nil, { action in
+                        self?.closeAction()
+                    })
+                }else{
+                    self?.showAlert("서버업로드에 실패하였습니다. 관리자에게 문의하여 주세요.", "", "확인", nil, { action in
+                        self?.closeAction()
+                    })
+                }
+        }
+        
+        
+        
+        
     }
 }