---
title: "SDK File Structure"
description: "Check the folder and file structure of each iOS SDK package before you start integrating."
---
> For the complete documentation index, see [llms.txt](https://docs.doverunner.com/llms.txt).

This page describes the contents of the DoveRunner AppSealing iOS SDK packages. Each framework ships its own package, and the layouts differ — check the one you downloaded before integrating.

**Note:** 
Structures below were taken from SDK version **1.15.0.0**. File names can change between versions; the `Release-Notes.txt` in your package always describes what you actually received.


## Downloading

SDKs are downloaded per project from **iOS Mobile App Security → SDK Sealing → Projects → Download SDK**. The **App Framework** dropdown offers:

| Option | Package | Notes |
| :----- | :------ | :---- |
| **Xcode & Flutter** | `AppSealingSDK_Xcode_<version>_[bundle.id].zip` | One package serves both Xcode and Flutter projects |
| **Unity** | `AppSealingSDK_Unity_<version>_[bundle.id].unityPackage` | Imported through the Unity Editor, not unzipped |
| **Unreal** | `AppSealingSDK_Unreal_<version>_[bundle.id].zip` | A `.uplugin`-based plugin |
| **Xamarin** | `AppSealingSDK_Xamarin_<version>_[bundle.id].zip` | |
| **React Native** | `AppSealing_iOS_SDK_<version>_ReactNative_[bundle.id].zip` | Flat layout, ships a Hermes VM binary |
| **Ionic** | `AppSealing_iOS_SDK_<version>_Ionic_[bundle.id].zip` | |
| **Cordova** | ZIP archive | Layout not covered below — check the `AppSealing-Documentation-HTML/` guide in your package |

Every package except Unity is a ZIP archive that you extract yourself.

## Integration Guide

Except for Unity, each package carries its integration guide as a browsable HTML site in `AppSealing-Documentation-HTML/`. Open `index.html` in a browser — it includes a search index and version-specific pages. This replaces the PDF guides shipped with older SDKs.

Unity still ships PDF guides, and the Xamarin package includes a legacy Korean PDF alongside the HTML site.

---

## Xcode & Flutter

The **Ionic** package uses this same layout.

```
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
```

| Item | Description |
| :--- | :---------- |
| **ci_scripts/** | Ready-made integration scripts for Azure, Bitrise, Circle CI, Fastlane, and Xcode Cloud. |
| **Documents/** | The HTML integration guide for this framework. |
| **Libraries/** | The SDK itself. `Debug/` and `Release/` hold the `AppSealingFramework.xcframework` build variants; the static libraries and Objective-C sources support the alternative static-library integration. `appsealing.lic` is your project's license file. |
| **Tools/** | Integration and sealing tooling. `install.sh` sets up the scripts, `FrameworkIntegrator.py` and `integrate_script/` wire the SDK into your Xcode project, `ApplySealing.sh` applies sealing, and `generate_hash` completes the sealing process against the built IPA. |
| **Code Samples.txt** | Threat-alert code snippets for this framework. |
| **Release-Notes.txt** | Release history of the SDK. |

**Caution:** 
The Ionic package uses this layout, but its `Tools/` folder contains only `generate_hash` — the Xcode project integration scripts are not included.


---

## React Native

The React Native package has a flat layout, and the HTML guide sits at the root rather than under `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
```

| Item | Description |
| :--- | :---------- |
| **hermesvm** | The Hermes VM binary that must replace the one in your project. It has to match the React Native version you build with, or the encrypted JavaScript bundle will not decrypt at runtime. |
| **AppSealingInterfaceBridge.h / .mm** | React Native bridge that exposes the SDK to JavaScript. |
| **Debug/ · Release/** | `AppSealingFramework.xcframework` build variants. |
| **generate_hash** | Run against the built IPA to complete sealing. |

**Caution:** 
Use the `hermesvm` binary from the SDK package built for your exact React Native version. See [Supported Frameworks](https://docs.doverunner.com/mobile-app-security/console/supported-frameworks/) for the versions each sealing line covers.


---

## Unity

The Unity SDK is distributed as a **`.unityPackage`** file. Do not unzip it — import it through the Unity Editor:

> **Unity menu → Assets → Import Package → Custom Package…**

After importing, the following appears under your project's `Assets/` directory:

```
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` and `SampleMessageBox.cs` are C# samples showing how to read detection results and present a response to the user.

**Note:** 
Unity is the only package that still ships PDF guides instead of the HTML documentation site.


---

## Unreal

The Unreal SDK is a **`.zip`** archive containing a `.uplugin`-based plugin. Extract it and place the `AppSealingPlugin` folder in your Unreal project's `Plugins` directory.

```
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
```

The Xamarin package has no `ci_scripts/` folder — see [CI/CD Integration](https://docs.doverunner.com/mobile-app-security/ios/cicd/) for automating the build yourself.