SDK 파일 구조
이 문서는 DoveRunner AppSealing iOS SDK 패키지의 구성을 설명합니다. 프레임워크마다 별도 패키지가 제공되며 구조가 서로 다르므로, 연동 전에 다운로드한 패키지의 구조를 확인하세요.
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 아카이브입니다.
연동 가이드
Section titled “연동 가이드”Unity를 제외한 각 패키지는 연동 가이드를 AppSealing-Documentation-HTML/ 폴더에 HTML 사이트 형태로 제공합니다. index.html을 브라우저로 열면 검색 색인과 버전별 문서를 볼 수 있습니다. 이전 SDK에서 제공하던 PDF 가이드를 대체합니다.
Unity는 여전히 PDF 가이드를 제공하며, Xamarin 패키지에는 HTML 사이트와 함께 기존 한국어 PDF가 포함되어 있습니다.
Xcode & Flutter
Section titled “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 릴리스 이력입니다. |
React Native
Section titled “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에 대해 실행하여 실링을 완료합니다. |
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.txtCheck_iOS_Security.cs와 SampleMessageBox.cs는 탐지 결과를 읽고 사용자에게 대응 화면을 표시하는 방법을 보여주는 C# 샘플입니다.
Unreal
Section titled “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.txtXamarin
Section titled “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.txtXamarin 패키지에는 ci_scripts/ 폴더가 없습니다. 빌드 자동화는 CI/CD 연동을 참고하세요.