콘텐츠로 이동

React Native 프로젝트에 SDK 파일 적용

React Native 프로젝트의 iOS 폴더에서 .xcworkspace 파일을 열어 Xcode 프로젝트를 시작합니다.

Terminal window
cd ios
open YourProject.xcworkspace

다운로드한 DoveRunner Mobile App Security SDK에는 다음 파일들이 포함되어 있습니다:

  • libhermes.a - DoveRunner Mobile App Security가 통합된 Hermes 라이브러리
  • AppsealingiOS.h - 헤더 파일
  • AppsealingiOS.mm - 구현 파일
  • React Native 브리지 파일들

Xcode 프로젝트에서 AppSealing 폴더를 생성하고 SDK 파일들을 추가합니다:

  1. 프로젝트 네비게이터에서 프로젝트를 우클릭
  2. “New Group”을 선택하여 “AppSealing” 그룹 생성
  3. SDK 파일들을 이 그룹에 드래그 앤 드롭

React Native가 사용하는 기존 Hermes 라이브러리를 DoveRunner Mobile App Security 버전으로 교체해야 합니다:

  1. node_modules/hermes-engine/destroot/Library/Frameworks/hermes.framework을 백업
  2. SDK의 libhermes.a를 사용하여 교체
  3. Podfile에서 Hermes 설정 확인
  1. 프로젝트 설정 > Build Settings로 이동
  2. “Other Linker Flags”를 검색
  3. 다음 플래그 추가:
-lAppSealing
-force_load $(PROJECT_DIR)/AppSealing/libhermes.a

SDK 헤더를 찾을 수 있도록 경로를 추가합니다:

$(PROJECT_DIR)/AppSealing

필요한 프레임워크 경로를 추가합니다:

$(PROJECT_DIR)/AppSealing

JavaScript에서 네이티브 모듈 접근

Section titled “JavaScript에서 네이티브 모듈 접근”

React Native에서 DoveRunner Mobile App Security 기능에 접근하려면 브리지 모듈을 구성해야 합니다:

import {NativeModules} from 'react-native';
const {AppSealingModule} = NativeModules;
// 기기 ID 획득
const deviceId = await AppSealingModule.getDeviceId();
// 보안 상태 확인
const securityStatus = await AppSealingModule.checkSecurity();

네이티브 쪽에서는 다음과 같이 브리지를 구현합니다:

#import "AppSealingModule.h"
#import "AppsealingiOS.h"
@implementation AppSealingModule
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(getDeviceId:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
char deviceId[64];
if (ObjC_GetAppSealingDeviceID(deviceId) == 0) {
NSString *deviceIdString = [NSString stringWithUTF8String:deviceId];
resolve(deviceIdString);
} else {
reject(@"error", @"Failed to get device ID", nil);
}
}
@end

metro.config.js에서 Hermes 설정을 확인합니다:

module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
hermesParser: true,
},
};
  1. 클린 빌드 수행:
Terminal window
cd ios
rm -rf build/
xcodebuild clean
  1. React Native 앱 빌드:
Terminal window
npx react-native run-ios
  1. 로그에서 DoveRunner Mobile App Security 초기화 메시지 확인
  • 릴리스 모드에서만 작동: DoveRunner Mobile App Security는 릴리스 빌드에서만 완전히 작동합니다
  • 번들 ID 확인: 등록한 번들 ID와 프로젝트의 번들 ID가 일치하는지 확인하세요
  • 테스트 환경: TestFlight나 App Store를 통해서만 완전한 테스트가 가능합니다

다음 단계는 보안 GUI 추가입니다.