아이폰 앱 아이콘 변경 방법: 사용자화

아이폰 앱 아이콘 변경 방법: 커스텀 룩을 마스터하세요

2026년 아이폰 앱 아이콘을 변경하는 방법을 배워보세요. 이 가이드에서는 사용자 방법 (Shortcuts, iOS 18) 및 개발자 통찰력을 통해 커스텀 룩을 마스터하는 방법을 설명합니다.

마틴 도나디유

마틴 도나디유

Content Marketer

iPhone 앱 아이콘을 변경하는 방법: 사용자 정의 모양

당신은 현재 홈 스크린을 보면서 두 가지 중 하나를 생각하고 있을 것이다. 기본 아이콘은 wallpaper와 위젯을 좋아하는 것과는 달리凌乱하고 있거나, 앱을 개발하고 사용자에게 더 깨끗하고 의도적인 방법으로 개인화할 수 있도록 해주고 싶다.

두 가지 문제는 동일한 질문의 하위에 위치한다. iPhone 앱 아이콘을 변경하는 방법사용자에게는 Apple의 네이티브 홈 스크린 스타일링과 더 오래된 Shortcuts 작업-around을 선택하는 것이 의미한다. 개발자에게는 iOS 네이티브 API를 통해 대체 아이콘을 노출하는지, Ionic 또는 Capacitor에서 작업하는 경우 웹 기반 앱으로 이를 연결하는 방법을 결정하는 것이 의미한다.

내용

iPhone 앱 아이콘 개인화의 안내서

iPhone 홈 스크린은 오래 전부터 단순한 앱 그리드만이 아니었다. 사용자는 홈 스크린을 데스크, 대시보드, 심지어 감정 보드처럼 사용한다. 그 변화는 '개인화'의 의미를 바꾼다. 그것은 단순히 다른 모양을 만드는 것만이 아니다. 그것은 장치가 의도적으로 배열된 느낌을 주는 것이다.

이 변화는 제품의 양쪽 모두에 중요하다. 사용자는 테마에 맞는 아이콘, 위젯과 일치하는 아이콘, 시각적 잡음이 줄어든 아이콘을 원한다. 개발자는 그 것을 지원해야 하지만 앱의 원래 느낌을 깨지 않도록하고, 사용자가 예상하지 못하는 설정에 대한 지원 문제를 피해야 한다.

iPhone에서 이제는 두 가지 다른 아이콘 개인화层이 있다. 하나는 사용자 제어 홈 스크린 스타일링으로, 애플은 지원되는 기기에서 직접 지원한다. 다른 하나는 앱 제어 대체 아이콘으로, 개발자는 아이콘 변형을 앱에 포함시키고 사용자가 그 중 하나를 선택할 수 있도록 한다. 그들은 관련이 있지만 같은 기능이 아니다.

실용적인 규칙: 많은 아이콘의 모양을 바꾸려면, 애플의 내장 홈 스크린 도구부터 시작한다. 단일 앱을 완전히 커스텀한 이미지를 대체하려면, 단축 경로 또는 개발자가 제공하는 대체 아이콘을 사용한다.

이 distinction도 사용자 경험에 매핑된다. 정돈된 홈 스크린은 broader 앱 경험의 일부로, 그것과 분리된 것은 아니다. 사용자 경험과 관련된 팀은 보존과 정돈을 중요시하는 경우, 시각적 개인화를 앱의 전체 경험의 일부로 다룬다. 모바일 앱 사용자 경험__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__ __CAPGO_KEEP_5____CAPGO_KEEP_6__ __CAPGO_KEEP_7____CAPGO_KEEP_8__ __CAPGO_KEEP_9__ __CAPGO_KEEP_10__ __CAPGO_KEEP_11__, 자동, 지우기 or 투명 투명한 아이콘 옵션을 포함한 스타일, 밝은, 어두운, 또는 자동 모드에 따라 Apple의 홈 스크린 커스텀화 가이드에 따라.

내장 프로세스는 다음과 같습니다.

  1. 홈 스크린 배경을 길게 누르면 아이콘들이 흔들립니다. Edit
  2. Edit Edit.
  3. Edit 사용자 지정.
  4. __CAPGO_KEEP_0__ 다크, 자동, 클리어또는 티ंट.
  5. __CAPGO_KEEP_0__
  6. 크기 조정

__CAPGO_KEEP_0__

이 방법은 가장 좋은 시작점입니다. 시스템 자체에서 지원되는 아이콘을 어떻게 표시할지 변경하는 것입니다.

  • 몇 가지 실용적인 주의 사항이 있습니다: 만들고자 하는 목표가 여러 앱에 일관된 테마를 제공하는 것이면, 이 방법은 각 아이콘을 수동으로 다시 만드는 것보다 빠릅니다.
  • __CAPGO_KEEP_0__ 사용자 지정 아트워크에 한정된 경우:
  • 아이콘 스타일을 변경할 수 있지만, 이 메뉴에서 Photos 라이브러리의 임의의 이미지를 앱에 연결할 수는 없습니다. 일상 사용 앱에 더 안전한 경우:

메일, 메시지, 다른 배지가 많은 앱은 실제 앱 아이콘으로 남겨두면 더 자연스럽게 행동합니다. 아이콘 색상 조정과 배경화면, 위젯과 함께 사용할 때, 시각적 테마를 먼저 시작하는 것이 도움이 됩니다. 밝은 사이버 펑크나 밤 모드 레이아웃과 같은 경우, __CAPGO_KEEP_0__

색상 방향을 결정하기 전에 아이콘 색상 조정하기 전에 색상 지침을 참조하는 유용한 참고 자료입니다.

네이티브 방법을 보았을 후에도, 더 오래된 대안은 여전히 문제를 해결하기 때문에 중요합니다.

이 시각적인_walkthrough는 classic 프로세스를 보여줍니다:

Shortcuts 앱을 사용하여 iPhone 앱 아이콘을 커스터마이즈하고 개인화하는 6단계 시각적인 가이드입니다. 임의의 이미지 사용을 위해 Shortcuts 방법을 사용하세요.

원래의 네이티브 스타일링에 이르기까지 iPhone 앱 아이콘을 완전히 커스텀하려면 표준 경로는 "Shortcuts" 앱이었습니다. Shortcuts 앱. 튜토리얼 가이드라인은 여전히 workflow를 다음과 같이 설명합니다: 단축키를 만들고 "Open App"를 선택한 후 앱을 선택하고 "Add to Home Screen"을 사용하여 아이콘 이미지를 선택합니다. Open AppOpen 실제로, 그 과정은 "이 Shortcuts 튜토리얼"에 따르면 "5–8 단계"로 약간의 아이콘 교체가 필요했습니다. 5–8 steps Here’s the practical version that works: Open 이것은 실제로 작동하는 버전입니다..

Open

  1. Open App Shortcuts.
  2. Tap the + button to create a new shortcut.
  3. Add the Open App action.
  4. Choose the app you want to launch.
  5. Open the shortcut options and choose Open the shortcut options and choose.
  6. Tap the placeholder icon.
  7. Tap the placeholder icon. Pick 또는 파일을 선택하세요.
  8. 단축키 이름을 지정한 후 홈 스크린에 추가하세요.

Apple의 내장 스타일링과 같은 시각적 자유를 제공합니다. 단색 아이콘 패키지를 사용하거나, PNG를 사용하거나, 디자인 도구에서 내보낸 자산을 사용할 수 있습니다.

이 접근법을 사용하는 이유는 통제입니다. Spotify를 손그림 글자처럼 보이게 하거나, 작업 앱이 모두 중립적인 색상 팔레트를 사용하도록 하려면 Shortcuts를 사용하세요.

커스텀 이미지 아이콘은 표준화된 모양, 패딩, 배경 색상을 추가하기 전에 가장 좋습니다. 다른 패키지에서 자산을 임의로 혼합하면 기본 홈 스크린보다 나쁜 결과를 낳습니다.

자체적인 네이티브 앱을 구축하고 싶고, 전체적인 인터페이스가 iOS와 더 일치하는 느낌을 원한다면, 이 기본적인 JS 및 CSS 구성으로 네이티브 앱을 구축하는 방법 네이티브 앱의 외관을 맞추고 싶다면, 아이콘 커스텀화와 함께 사용하는 것이 유용합니다.

사용자 메서드 중 어느 것이 의미가 있는지

사용자 메서드의 비교를 빠르게 확인하세요.

목표더 나은 방법
홈 스크린 전체 스타일을 변경하세요Apple 내장 제어속도와 원래 동작을 유지
어떤 이미지를 하나의 앱 아이콘으로 사용하세요단축키사진이나 파일을 선택할 수 있게 해줍니다
알림에 집중하는 앱을 실용적으로 유지하세요Apple 내장 제어일반 앱 동작을 위해 더 좋습니다
스스로 스크린을 테마화하세요Shortcuts전체적인 시각적 제어

만약에 단순한 디자인만 필요하다면, 그것을 과하게 복잡하게 만들지 마세요. Apple의 원래 제어는 더 쉽습니다. 만약에 각 아이콘에 대한真正의 예술적 방향을 원한다면, Shortcuts는 여전히 그 일을 해냅니다.

커스텀 아이콘의 이점과 단점을 비교하는 그래픽 자료

커스텀 앱 아이콘을 모바일 홈 스크린에 사용하는 데 대한 이점과 단점을 비교하는 그래픽 자료

커스텀 아이콘을 사용하는 데 얻는 이점과 잃는 이점

Shortcuts 방법은 여전히 유용합니다. 왜냐하면 그것이 완전한 시각적 자유를 제공하기 때문입니다. 하지만 그것은 앱의 App Store 아이콘을 시스템적으로 대체하지 않습니다. 그것은 앱을 단축 경로를 통해 실행하는 홈 스크린 단축 아이콘을 만듭니다.

그것은 실제로 결과를 낳습니다.

배지 불신성:

  • 만약에 채팅, 이메일, 또는 작업 앱에서 읽지 않은 카운트에 의존한다면, 단축 아이콘은 적합하지 않습니다. 런치 저항:
  • 단축 아이콘은 읽지 않은 카운트에 의존하는 채팅, 이메일, 또는 작업 앱과 같은 앱에 적합하지 않습니다. 일부 사용자는 단축키가 앱으로 전환할 때 짧은 전환을 발견합니다.
  • 수동 설정: 각 앱을 맞춤화하는 경우 반복 프로세스를 수행합니다.
  • 높은 유지 관리: 홈 스크린을 다시 디자인할 경우 단축키는 모든 단축키를 다시 방문해야 하는 또 다른 객체가 됩니다.

이러한 단점은 단축키 방법의 방식으로부터 직접 따릅니다. 앱 번들을 수정하는 것이 아니라 런처를 추가하는 것입니다.

알림으로 인해 열리는 앱이면, 배지 동작을 놓치지 않을 것 같다면, 화려한 단축키 뒤에 숨기지 마세요.

개발자 지원 아이콘의 차이점

앱이 내부적으로 대체 아이콘을 제공할 때, 경험은 더 깨끗합니다. 앱 자체가 변경에 참여하기 때문입니다. 일반적으로 이는 혼란이 적고 플랫폼과 더 잘 일치하는 것입니다.

사용자 관점에서 개발자 지원 대체 아이콘은 애플의 광범위한 홈 스크린 스타일링과 단축키의 완전한 자유 사이의甜点입니다. 무제한 이미지 선택은 아니지만, 사용자가 앱의 외관에 대한 소유감을 느끼게 하는 switch를 제공합니다.

디자인 팀의 경우, 그 중간 지점이 흥미롭습니다. 승인된 아이콘 세트를 배달하고 사용자가 앱의 외관에 대한 소유감을 느끼게 할 수 있습니다. 또한 브랜드 품질, 대비, 인식성을 보호할 수 있습니다.

좋은 아이콘 팩은 일반적으로 세 가지 특성을 공유합니다:

  • 일관된 모양 언어: 둥근 모양, 직사각형 모양, 윤곽만 있는 모양, 또는 채워진 모양이지만 혼합된 모양은 아님.
  • 안정적인 시각적 무게: 내부 간격과 선 두께가 비슷한 모양.
  • 테마의 규칙을 지키기: 라이트 모드, 다크 모드, 또는 특정 스타일 패밀리.

개발자들이 많은 경우 사용자에게 단축키로 관리하라고 말하기 보다는 앱 내에서 대체 아이콘을 추가하는 이유가 동일하다.

iOS Native 앱에 대체 아이콘을 Implement하는 개발자

iOS Native 앱을 배포하는 경우, 대체 아이콘은 작은 기능이지만 큰 매력의 가치를 지닌다. 구현은 어렵지 않지만, 세부 사항은 중요하다. 대부분의 문제는 자산 설정과 plist 구성에서 발생하며, API 호출 자체에서 발생하는 문제가 아니다.

MacBook Pro에서 Swift code을 Xcode에서 실행한 다음 iPhone에 native iOS 앱 아이콘을 표시하는 화면.

아이콘 자산과 plist 항목을 준비하기

아이콘 파일부터 시작한다. 이름을 예측할 수 있도록 한다. 기본 앱 아이콘인 경우, 기본 아이콘 외에 다른 아이콘을 명확하게 이름을 지어주어야 한다. DarkIcon, HolidayIcon또한, 앱은 올바른 Info.plist 구조가 필요합니다. iOS는 최소한의 경우에 아이콘 정의(primary icon definition)와 대체 아이콘 사전(alternate icon dictionary)을 포함하는 사전(dictionary)을 기대합니다. MinimalIcon간단한 예시는 다음과 같습니다.

일부 팀은 Xcode의 자산 pipeline에서 관리하는 것을 선호합니다. 다른 팀은 __CAPGO_KEEP_0__ 검토를 위해 명확성을 위해 plist 값을 직접 편집하는 것을 선호합니다. 둘 다 작동할 수 있습니다. 중요한 것은 자산 이름과 런타임에서 전달하는 아이콘 이름 간의 일관성입니다. CFBundleIcons 클라이언트 앱에 대체 아이콘을 계획하는 경우, 디자인 및 QA 시간을 스코프에 포함하여 일찍 예상하세요. 이 기능은 외적으로 간단해 보이지만 여전히 아트워크, 테스트, 제품 결정이 필요합니다. 실용적인 예산 참조는 이 예산에 대한 __CAPGO_KEEP_0__에 대한 설명입니다.

iOS __CAPGO_KEEP_0__을 Swift에서 호출하세요.

<key>CFBundleIcons</key>
<dict>
  <key>CFBundlePrimaryIcon</key>
  <dict>
    <key>CFBundleIconFiles</key>
    <array>
      <string>AppIcon</string>
    </array>
  </dict>
  <key>CFBundleAlternateIcons</key>
  <dict>
    <key>DarkIcon</key>
    <dict>
      <key>CFBundleIconFiles</key>
      <array>
        <string>DarkIcon</string>
      </array>
    </dict>
    <key>MinimalIcon</key>
    <dict>
      <key>CFBundleIconFiles</key>
      <array>
        <string>MinimalIcon</string>
      </array>
    </dict>
  </dict>
</dict>

런타임 code은 쉬운 부분입니다. iOS는 대체 아이콘 switching을 통해

간단한 구현: 사용.

Call the iOS API from Swift

The runtime API is the easy part. iOS exposes alternate icon switching through UIApplication.

.

import UIKit

func setAppIcon(to iconName: String?) {
    guard UIApplication.shared.supportsAlternateIcons else {
        return
    }

    UIApplication.shared.setAlternateIconName(iconName) { error in
        if let error = error {
            print("Failed to change icon: \(error.localizedDescription)")
        } else {
            print("Icon changed successfully")
        }
    }
}

. nil __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_0__ supportsAlternateIcons __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

__CAPGO_KEEP_0__ API

__CAPGO_KEEP_0__ 앱에 대한 애플 정책 업데이트 Capacitor 앱에 대한 애플 정책 업데이트 이러한 정책 업데이트와 함께 네이티브 커스터마이즈 기능을 추적하는 것이 중요합니다.

사용자가 혼란하지 않도록 설정 UI를 구축하세요.

최선의 아이콘 픽커 화면은 지루합니다. 그게 칭찬입니다. 사용자는 미리보기, 이름, 그리고 명확한 탭 대상만 보아야 합니다.

__CAPGO_KEEP_0__ 패턴입니다.

  • 작은 미리보기 그리드: 사용자는 시각적으로 보는 것보다 텍스트 레이블을 통해 비교하는 것이 더 빠릅니다.
  • 이름을 Literal로 유지하세요. '다크', '라이트', '레트로', '홀리데이'는 브랜드 내부의 코드네임보다 좋습니다.
  • 리셋 선택을 제공하세요. 기본값으로 돌아가기 방법을 명확하게 하세요.
  • 메뉴를 과도하게 채우지 마세요: 짧고 편집된 세트가 의도된 것처럼 느껴집니다.

사용자가 신뢰하는 설정 항목이 있다면, 최적화가 아닌 개인화로 기능을 프레임하세요. 사람들이 아이콘 선택을 즉시 이해할 때 UI가 간단할 때입니다.

개발자용 A Capacitor 및 Ionic을 위한 안내서

Capacitor 앱에서 아이콘 Switch는 여전히 네이티브 iOS에서 발생합니다. 웹层가 대체할 수 없는 것입니다. 웹层가 할 수 있는 것은 네이티브 API을 브릿지 통해 트리거하고, 나머지 설정 경험을 TypeScript에서 유지하는 것입니다.

A modern workspace with a computer monitor displaying code, a keyboard, and a smartphone on a desk.

첫 번째 규칙은 간단합니다. iOS 프로젝트에 대체 아이콘 자산과 plist 구성만 넣어야 합니다. __CAPGO_KEEP_0__는 네이티브 앱을 wrapping합니다. 대체 아이콘은 네이티브 앱 번들에 속합니다.

The first rule is simple. Put your alternate icon assets and plist configuration in the iOS project, not only in the web project. Capacitor wraps a native app. Alternate icons belong to that native app bundle.

iOS 대상에 대체 아이콘 자산을 추가하세요.

  1. 등록하세요.
  2. 네이티브 메소드를 __CAPGO_KEEP_0__ 플러그인으로 노출하세요. CFBundleIcons.
  3. Capacitor
  4. Ionic, React, Vue, 또는 일반 웹 설정 화면에서 해당 메서드를 호출하세요.

1번 또는 2번 단계를 건너뛰면, JavaScript의 어떠한 조차도 이를 해결할 수 없습니다.

TypeScript에서 아이콘 Switching을 노출하세요.

최소한의 플러그인 인터페이스는 작을 수 있습니다.

Swift 측:

import Capacitor
import UIKit

@objc(AppIconPlugin)
public class AppIconPlugin: CAPPlugin, CAPBridgedPlugin {
    public let identifier = "AppIconPlugin"
    public let jsName = "AppIcon"
    public let pluginMethods: [CAPPluginMethod] = [
        CAPPluginMethod(name: "setIcon", returnType: CAPPluginReturnPromise)
    ]

    @objc func setIcon(_ call: CAPPluginCall) {
        let iconName = call.getString("iconName")

        guard UIApplication.shared.supportsAlternateIcons else {
            call.reject("Alternate icons are not supported on this device.")
            return
        }

        UIApplication.shared.setAlternateIconName(iconName) { error in
            if let error = error {
                call.reject(error.localizedDescription)
            } else {
                call.resolve()
            }
        }
    }
}

TypeScript 정의:

import { registerPlugin } from '@capacitor/core';

export interface AppIconPlugin {
  setIcon(options: { iconName: string | null }): Promise<void>;
}

export const AppIcon = registerPlugin<AppIconPlugin>('AppIconPlugin');

이 브릿지를 처음부터 다시 구축해야 한다면, iOS Native Bridge 구현에 대한_walkthrough on__CAPGO_KEEP_0__ implementing a native bridge for iOS in Capacitor Ionic 설정 화면에 연결하세요.

브릿지가 존재하면, UI__CAPGO_KEEP_0__는 간단합니다. 그곳에서__CAPGO_KEEP_1__가 빛을 발합니다. 제품 로직은 웹层에서 유지하고 iOS는 시스템 특정 호출을 처리합니다.

Once the bridge exists, the UI code is simple. That’s where Capacitor shines. You keep product logic in the web layer while iOS handles the system-specific call.

__CAPGO_KEEP_0__

async function changeIcon(iconName: string | null) {
  try {
    await AppIcon.setIcon({ iconName });
  } catch (err) {
    console.error('Failed to change icon', err);
  }
}

A few product decisions make the feature feel finished:

  • Reflect the current choice in UI: Don’t make users guess which icon is active.
  • iOS 전용 제어를 게이트웨이로: iOS가 적용되지 않는 플랫폼에서 옵션을 숨기거나 비활성화하십시오.
  • 디자인에서 공유하는 레이블을 유지하십시오. code에서 사용하는 아이콘 이름을 QA 메모와 스크린샷에서도 동일하게 사용하십시오.
  • 자산 업데이트 계획을 신중히 하십시오. 릴리즈 후 아이콘 아트가 변경되는 경우 웹과 네이티브의 기대치를 조정하십시오.

이것은 릴리즈 도구가 관련이 되는 유일한 곳입니다. 설정 화면, 아이콘 레이블, 복사본, 미리보기 자산이 나중에 변경되는 경우 __CAPGO_KEEP_0__와 같은 도구는 JavaScript, CSS, 복사본, 설정, 자산을 __CAPGO_KEEP_0__ 앱에서 업데이트할 수 있습니다. native 아이콘 번들 자체를 변경하지 않고도. Apple의 대체 아이콘 메커니즘을 대체하지는 않지만, 주변 인터페이스에 대한 반복적인 작업을 도와줍니다. Capgo Capacitor

개인화의 미래는 협력입니다.

애플리케이션 아이콘을 아이폰에서 커스터마이즈하는 것은 이전에 두 세계 사이에 느슨한 선을 그리는 것처럼 느껴졌습니다. 사용자는 해킹을 사용했습니다. 개발자는 플랫폼 API를 사용했습니다. 그 선은 더 얇아졌습니다.

사용자에게는 간단한 실용적인 결과가 있습니다. 빠른 시각적 폴리시를 원한다면, Apple의 내장 홈 스크린 스타일링이 가장 쉬운 경로입니다. 특정 아이콘에 대한 완전한 시각적 자유를 원한다면, Shortcuts는 여전히 작동하지만, 약점을 수용해야 합니다.

개발자에게, 대체 아이콘은 더 이상 계절적인 장난이 아닙니다. 그것은 제품 폴리시의 일부입니다. 잘 만든 아이콘 픽커는 사용자에게 소유감을 주지만, 경험을 약화시키는 작업-around을 강요하지 않습니다.

최고의 개인화 기능은 사용자가 미학과 사용성 사이를 선택해야 하는 것을 묻지 않습니다. 그들은 두 가지 사이의 간격을 좁히는 것입니다.

그것은 특히 하이브리드 스택에서 더 중요합니다. 네이티브 기능과 웹 기반 제품 반복이 경쟁하지 않아도 됩니다. 팀은 iOS에서 아이콘 switch를 유지하고, 주의 깊은 릴리스 관행과 분할 롤아웃思 想을 사용하여 시간이 지남에 따라 설정 경험을 개선할 수 있습니다. 특히 이미 사용자 구분을 사용하는 실시간 업데이트 앱에서. 실시간 업데이트와 사용자 구분을 사용하는 앱에서..

큰 트렌드는 건강합니다. 애플은 홈 스크린 커스터마이즈를 더 네이티브하게 만들었습니다. 사용자는 더 많은 제어를 기대합니다. 개발자는 깨끗하게 그 예상을 충족할 수 있습니다. 그들은 순수 스위프트 앱을 배달하거나 Capacitor 앱과 네이티브 브리지가 밑바닥에 있는 앱을 배달할 수 있습니다.


If you maintain a Capacitor app and want to improve the settings experience around features like icon selection, rollout targeting, or asset updates, Capgo __CAPGO_KEEP_0__

Capacitor 앱에 대한 실시간 업데이트

웹层 버그가 활성화된 경우, 앱 스토어 승인까지 며칠 기다리지 않고 Capgo를 통해 패치를 배포하세요. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로를 유지합니다.

시작하기

블로그에서 최신 뉴스

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.