Release: ver.1.8.0 (2025-10-29)

🔔 배포 일자: 2025-10-29
이번 업데이트 v1.8.0에서는 네비게이션 제어 기능, 로딩 인디케이터 제어, 안전 영역 (Safe Area) 조회, 내부 브라우저 설정 등 다양한 신규 기능이 추가되었습니다.
또한 AppsFlyer 메서드 네이밍 개선과 앱 종료 기능 추가를 통해 더욱 향상된 개발 경험을 제공합니다.
주요 변경 사항 (ver.1.8.0)
새로운 기능
-
app네임스페이스: 앱 종료 기능 추가- 앱을 프로그래밍 방식으로 종료할 수 있는 기능이 추가되었습니다.
- ➡️
app네임스페이스 문서 바로가기
-
browser네임스페이스: 내부 브라우저 옵션 설정 기능 추가- 내부 브라우저에서 URL 바 표시 여부를 제어할 수 있습니다.
- 사용자 경험에 맞게 브라우저 UI를 커스터마이징할 수 있습니다.
- ➡️
browser네임스페이스 문서 바로가기
-
device네임스페이스: 안전 영역(Safe Area) 조회 기능 추가- iOS 기기의 Safe Area Insets 정보를 조회할 수 있습니다.
- 노치가 있는 기기에서 화면 레이아웃을 정확히 구성할 수 있습니다.
- 하단 홈 인디케이터 영역을 확인하여 웹에서 구현된 탭바에 정확한
padding을 부여할 수 있습니다. - ➡️
device네임스페이스 문서 바로가기
-
loading네임스페이스: 로딩 인디케이터 제어 기능 추가- 네이티브 로딩 인디케이터를 숨기는 기능을 제공합니다.
- 앱 시작 시 표시되는 로딩 화면을 JavaScript에서 직접 제어할 수 있습니다.
- ➡️
loading네임스페이스 문서 바로가기
-
navigation네임스페이스: 네비게이션 제어 기능 추가- 앱의 네비게이션 스택 제어, 스와이프 제스처 설정, 루트로 리셋 등의 기능을 제공합니다.
- 플랫폼별 특화 기능을 지원하여 더욱 세밀한 제어가 가능합니 다.
- ➡️
navigation네임스페이스 문서 바로가기
-
vibration네임스페이스: 플랫폼별 햅틱 피드백 기능 추가- iOS 전용 햅틱 피드백: Impact, Notification, Selection 피드백을 제공합니다.
- Android 전용 햅틱 효과: 시스템 정의 VibrationEffect를 사용할 수 있습니다.
- 기존
HAPTICS_TYPES가LIGHT,MEDIUM,HEAVY로 개선되었습니다. - ➡️
vibration네임스페이스 문서 바로가기
앱 종료 기능 (app 네임스페이스)
앱을 프로그래밍 방식으로 종료할 수 있는 기능이 추가되었습니다.
추가된 메서드 (app)
| 메서드 | 설명 | 지원 플랫폼 |
|---|---|---|
exitApp() | 앱을 종료 | Android, iOS |
사용 예제 (exitApp)
// 사용자가 로그아웃 후 앱 종료
function logout() {
// 로그아웃 로직 수행
clearUserData();
// 앱 종료
Nachocode.app.exitApp();
}
내부 브라우저 옵션 설정 (browser 네임스페이스)
내부 브라우저의 UI 옵션을 설정할 수 있는 기능이 추가되었습니다.
추가된 메서드 (browser)
| 메서드 | 설명 | 지원 플랫폼 |
|---|---|---|
setInternalBrowser(option) | 내부 브라우저 옵션 설정 | Android, iOS |
사용 예제 (setInternalBrowser)
// URL 바를 표시하지 않는 내부 브라우저 설정
Nachocode.browser.setInternalBrowser({
usingUrl: false,
});
// URL 바를 표시하는 내부 브라우저 설정
Nachocode.browser.setInternalBrowser({
usingUrl: true,
});
안전 영역 (Safe Area) 조회 기능 (device 네임스페이스)
iOS 기기의 Safe Area Insets 정보를 조회하여 노치나 Dynamic Island가 있는 기기에서 정확한 레이아웃을 구성할 수 있습니다.
추가된 메서드 (device)
| 메서드 | 설명 | 지원 플랫폼 |
|---|---|---|
getSafeAreaInsets() | 기기의 Safe Area Insets 정보를 비동기로 조회 | iOS (iPhone X 이상) |
사용 예제 (getSafeAreaInsets)
// Safe Area Insets 조회
const safeArea = await Nachocode.device.getSafeAreaInsets();
if (!safeArea.isError) {
console.log(`Top: ${safeArea.top}pt`);
console.log(`Bottom: ${safeArea.bottom}pt`);
console.log(`Left: ${safeArea.left}pt`);
console.log(`Right: ${safeArea.right}pt`);
// CSS 변수로 설정하여 레이아웃에 활용
document.documentElement.style.setProperty(
'--safe-area-top',
`${safeArea.top}pt`
);
document.documentElement.style.setProperty(
'--safe-area-bottom',
`${safeArea.bottom}pt`
);
} else {
console.error(`Error retrieving safe area: ${safeArea.errorMessage}`);
}
반환 타입 (getSafeAreaInsets)
성공 시 (GetSafeAreaInsetsSuccessResult)
{
isError: false;
top: number; // 상단 여백 (pt)
bottom: number; // 하단 여백 (pt)
left: number; // 좌측 여백 (pt)
right: number; // 우측 여백 (pt)
}
실패 시 (GetSafeAreaInsetsErrorResult)
{
isError: true;
errorMessage: string;
}