---
title: "SDK 파일 구조"
description: "연동을 시작하기 전에 각 iOS SDK 패키지의 폴더 및 파일 구조를 확인하세요."
---
> For the complete documentation index, see [llms.txt](https://docs.doverunner.com/llms.txt).

이 문서는 DoveRunner AppSealing iOS SDK 패키지의 구성을 설명합니다. 프레임워크마다 별도 패키지가 제공되며 구조가 서로 다르므로, 연동 전에 다운로드한 패키지의 구조를 확인하세요.

**Note:** 
아래 구조는 SDK 버전 **1.15.0.0** 기준입니다. 파일 이름은 버전에 따라 달라질 수 있으며, 실제로 받은 내용은 패키지 안의 `Release-Notes.txt`에서 항상 확인할 수 있습니다.


## 다운로드

SDK는 **iOS 모바일 앱 보안 → SDK Sealing → Projects → Download SDK**에서 프로젝트 단위로 다운로드합니다. **App Framework** 드롭다운에서 선택할 수 있는 항목은 다음과 같습니다.

| 옵션 | 패키지 | 비고 |
| :--- | :----- | :--- |
| **Xcode & Flutter** | `AppSealingSDK_Xcode_<버전>_[bundle.id].zip` | 한 패키지로 Xcode와 Flutter 프로젝트를 모두 지원합니다 |
| **Unity** | `AppSealingSDK_Unity_<버전>_[bundle.id].unityPackage` | 압축을 풀지 않고 Unity 에디터에서 import 합니다 |
| **Unreal** | `AppSealingSDK_Unreal_<버전>_[bundle.id].zip` | `.uplugin` 기반 플러그인입니다 |
| **Xamarin** | `AppSealingSDK_Xamarin_<버전>_[bundle.id].zip` | |
| **React Native** | `AppSealing_iOS_SDK_<버전>_ReactNative_[bundle.id].zip` | 평면 구조이며 Hermes VM 바이너리를 포함합니다 |
| **Ionic** | `AppSealing_iOS_SDK_<버전>_Ionic_[bundle.id].zip` | |
| **Cordova** | ZIP 아카이브 | 아래에서 다루지 않습니다. 패키지 안의 `AppSealing-Documentation-HTML/` 가이드를 확인하세요 |

Unity를 제외한 모든 패키지는 사용자가 직접 압축을 풀어야 하는 ZIP 아카이브입니다.

## 연동 가이드

Unity를 제외한 각 패키지는 연동 가이드를 `AppSealing-Documentation-HTML/` 폴더에 HTML 사이트 형태로 제공합니다. `index.html`을 브라우저로 열면 검색 색인과 버전별 문서를 볼 수 있습니다. 이전 SDK에서 제공하던 PDF 가이드를 대체합니다.

Unity는 여전히 PDF 가이드를 제공하며, Xamarin 패키지에는 HTML 사이트와 함께 기존 한국어 PDF가 포함되어 있습니다.

---

## Xcode & Flutter

**Ionic** 패키지도 동일한 구조를 사용합니다.

```
AppSealingSDK/
├── ci_scripts/
│   ├── Azure/
│   ├── Bitrise/
│   ├── Circle CI/
│   ├── Fastlane/
│   └── Xcode Cloud/
├── Documents/
│   └── AppSealing-Documentation-HTML/
├── Libraries/
│   ├── Debug/
│   │   └── AppSealingFramework.xcframework/
│   ├── Release/
│   │   └── AppSealingFramework.xcframework/
│   ├── AppsealingiOS.h
│   ├── AppsealingiOS.mm
│   ├── LEASection.mm
│   ├── appsealing.lic
│   ├── libStaticAppSec.a
│   └── libStaticAppSec_Debug.a
├── Tools/
│   ├── integrate_script/
│   ├── ApplySealing.sh
│   ├── FrameworkIntegrator.py
│   ├── generate_hash
│   └── install.sh
├── Code Samples.txt
└── Release-Notes.txt
```

| 항목 | 설명 |
| :--- | :--- |
| **ci_scripts/** | Azure, Bitrise, Circle CI, Fastlane, Xcode Cloud용 연동 스크립트입니다. |
| **Documents/** | 해당 프레임워크의 HTML 연동 가이드입니다. |
| **Libraries/** | SDK 본체입니다. `Debug/`와 `Release/`에 `AppSealingFramework.xcframework` 빌드 변형이 들어 있으며, 정적 라이브러리와 Objective-C 소스는 정적 라이브러리 방식 연동을 위한 것입니다. `appsealing.lic`는 프로젝트의 라이선스 파일입니다. |
| **Tools/** | 연동 및 실링 도구입니다. `install.sh`가 스크립트를 설치하고, `FrameworkIntegrator.py`와 `integrate_script/`가 Xcode 프로젝트에 SDK를 연결하며, `ApplySealing.sh`가 실링을 적용하고, `generate_hash`가 빌드된 IPA에 대해 실링을 완료합니다. |
| **Code Samples.txt** | 해당 프레임워크의 위협 알림 관련 코드 스니펫입니다. |
| **Release-Notes.txt** | SDK 릴리스 이력입니다. |

**Caution:** 
Ionic 패키지는 이 구조를 사용하지만 `Tools/` 폴더에 `generate_hash`만 포함되어 있으며, Xcode 프로젝트 연동 스크립트는 들어 있지 않습니다.


---

## React Native

React Native 패키지는 평면 구조이며, HTML 가이드가 `Documents/` 하위가 아니라 최상위에 있습니다.

```
AppSealingSDK/
├── AppSealing-Documentation-HTML/
│   ├── assets/
│   ├── v1.15.0.0/
│   ├── index.html
│   ├── search-index.js
│   └── search-index.json
├── ci_scripts/
│   ├── Azure/
│   ├── Bitrise/
│   ├── Circle CI/
│   ├── Fastlane/
│   └── Xcode Cloud/
├── Debug/
│   └── AppSealingFramework.xcframework/
├── Release/
│   └── AppSealingFramework.xcframework/
├── AppSealingInterfaceBridge.h
├── AppSealingInterfaceBridge.mm
├── AppSealingiOS.h
├── AppSealingiOS.mm
├── LEASection.mm
├── appsealing.lic
├── generate_hash
├── hermesvm
├── libStaticAppSec.a
└── Release-Notes.txt
```

| 항목 | 설명 |
| :--- | :--- |
| **hermesvm** | 프로젝트의 기존 파일을 대체해야 하는 Hermes VM 바이너리입니다. 빌드에 사용하는 React Native 버전과 일치해야 하며, 그렇지 않으면 암호화된 JavaScript 번들이 런타임에 복호화되지 않습니다. |
| **AppSealingInterfaceBridge.h / .mm** | SDK를 JavaScript에 노출하는 React Native 브리지입니다. |
| **Debug/ · Release/** | `AppSealingFramework.xcframework` 빌드 변형입니다. |
| **generate_hash** | 빌드된 IPA에 대해 실행하여 실링을 완료합니다. |

**Caution:** 
사용 중인 React Native 버전에 맞게 빌드된 SDK 패키지의 `hermesvm` 바이너리를 사용하세요. 실링 계열별 지원 버전은 [지원 프레임워크](https://docs.doverunner.com/ko/mobile-app-security/console/supported-frameworks/)를 참고하세요.


---

## Unity

Unity SDK는 **`.unityPackage`** 파일로 제공됩니다. 압축을 풀지 말고 Unity 에디터에서 가져오기(Import) 하세요.

> **Unity 메뉴 → Assets → Import Package → Custom Package…**

패키지를 가져오면 프로젝트의 `Assets/` 디렉터리 아래에 다음 구조가 생성됩니다.

```
Assets/AppSealingSDK/
├── Documents/
│   ├── iOS_AppSealingSDK_UserGuide_for_Unity3D_EN.pdf
│   └── iOS_AppSealingSDK_UserGuide_for_Unity3D_KR.pdf
├── Libraries/
│   ├── appsealing.lic
│   ├── Check_iOS_Security.cs
│   ├── SampleMessageBox.cs
│   ├── libStaticAppSec.lib
│   └── libStaticAppSec_Debug.lib
├── Tools/
│   └── generate_hash
└── Release-Notes.txt
```

`Check_iOS_Security.cs`와 `SampleMessageBox.cs`는 탐지 결과를 읽고 사용자에게 대응 화면을 표시하는 방법을 보여주는 C# 샘플입니다.

**Note:** 
Unity는 HTML 문서 사이트 대신 PDF 가이드를 제공하는 유일한 패키지입니다.


---

## Unreal

Unreal SDK는 `.uplugin` 기반 플러그인이 담긴 **`.zip`** 아카이브입니다. 압축을 풀고 `AppSealingPlugin` 폴더를 Unreal 프로젝트의 `Plugins` 디렉터리에 넣으세요.

```
AppSealingPlugin/
├── Documents/
│   └── AppSealing-Documentation-HTML/
├── Resources/
│   └── Icon128.png
├── Source/
│   ├── AppSealingPlugin.Build.cs
│   ├── AppSealingPlugin.cpp
│   ├── AppSealingPlugin.h
│   ├── AppSealingiOS.h
│   ├── libStaticAppSec.lib
│   └── libStaticAppSec_Debug.lib
├── Tools/
│   └── generate_hash
├── AppSealingPlugin.uplugin
└── Release-Notes.txt
```

---

## Xamarin

```
AppSealingSDK/
├── Documents/
│   ├── AppSealing-Documentation-HTML/
│   └── iOS_AppSealingSDK_UserGuide_for_Xamarin_KR.pdf
├── Libraries/
│   ├── appsealing.lic
│   ├── libStaticAppSec.a
│   └── libStaticAppSec_Debug.a
├── Tools/
│   └── generate_hash
├── Code Samples.txt
└── Release-Notes.txt
```

Xamarin 패키지에는 `ci_scripts/` 폴더가 없습니다. 빌드 자동화는 [CI/CD 연동](https://docs.doverunner.com/ko/mobile-app-security/ios/cicd/)을 참고하세요.