macOS 앱 기획하기

Mac 소프트웨어 개발이 처음인 경우 잠시 시간을 내어 앞으로 사용하게 될 도구 및 기술에 대해 알아보십시오. Apple에서는 개발을 시작하는 데 필요한 모든 것을 제공하며, macOS 기술은 앱에 원하는 기능과 성능을 구현하는 데 도움이 될 것입니다.

새로운 macOS 응용 프로그램 아이디어 및 기술을 나타낸 Storyboard.

    가능성 탐색

    Mac은 빠른 속도와 뛰어난 성능을 제공하며, macOS를 사용하여 앱의 성능을 극대화할 수 있습니다. Mac은 작업을 최대한 빨리 처리하기 위해 뛰어난 정보 처리 능력을 필요로 하는 앱에 가장 적합합니다. 하지만 커뮤니케이션, 뉴스 및 정보, 소셜 미디어, 게임 등 일상적인 작업에도 사용할 수 있습니다.

    macOS에서는 콘텐츠를 전달하는 다양한 경로를 제공하며, 선택한 개발 경로가 이후 내리게 될 많은 결정에 영향을 미칩니다.

    표준 뷰에서 UI 조합하기

    macOS에 내장된 버튼, 텍스트 레이블 및 기타 표준 뷰 및 제어 기능을 사용하여 신속하게 앱을 빌드해 보십시오. 제어 기능의 디자인을 맞춤화하거나 완전히 새로운 뷰를 생성하여 독창적인 방식으로 콘텐츠를 표현할 수 있습니다. 이러한 접근 방법은 대부분의 앱에 적용 가능하며 개발 시간도 단축할 수 있습니다.

    화면상의 모든 것 직접 그리기

    앱 디자인에 대한 주도권을 가지고 화면에 표시되는 모든 것을 직접 그려보십시오. 맞춤형 2D 또는 3D 환경의 게임이나 몰입감 넘치는 경험을 구축해 볼 수 있습니다. Metal 같은 기술을 사용하여 높은 프레임 레이트로 콘텐츠를 렌더링하고 애니메이션을 적용해 보십시오.

    UI 없이 소프트웨어 빌드하기

    UI가 필요 없는 간단한 도구 및 유틸리티를 개발하는 경우 이 경로를 선택해 보십시오. 커맨드 라인 도구 및 스크립트, XPC 서비스, 맞춤형 파일 시스템 또는 클라우드 저장 공간을 지원하는 모듈, 데이터베이스 및 서버 소프트웨어, 오픈 소스 도구, 새로운 프로그래밍 언어, UNIX 도구 등을 만들 수 있습니다.

    특정 경로를 선택한 다음 앱에 필요한 기능에 대해 생각해 보십시오. 몇 가지 핵심 기술을 제외하고 필요할 때마다 특정한 기능 지원을 위한 대부분의 기술을 도입할 수 있습니다. macOS 기술은 개발자의 앱을 수준 낮은 하드웨어 시스템으로부터 보호하고 앱의 나머지 부분을 빌드할 수 있는 안정적인 기반을 제공합니다.

    기존의 iPadOS 앱이 있는 경우 Mac Catalyst를 사용하여 Mac에서 실행되는 앱의 버전을 만들 수 있습니다.

    시작 방법

    소프트웨어 개발은 Apple의 통합 개발 환경인 Xcode에서 시작됩니다. Xcode에서는 프로젝트 관리 지원, 코드 편집기, UI용 비주얼 편집기, 디버깅 도구, 다양한 기기용 시뮬레이터, 성능 측정 도구 등을 포함하여 소프트웨어 개발에 필요한 모든 도구를 제공합니다. 또한 Xcode에는 프레임워크라고 불리는 소프트웨어 개발을 위한 시스템 코드 모듈 세트 전체가 포함되어 있습니다.

    Mac App Store에서 Xcode 다운로드하기

    Xcode에는 iOS, iPadOS, macOS, tvOS 및 watchOS용 SDK가 포함되어 있습니다.

    Xcode에서 새로운 프로젝트를 생성하려면 File(파일) > New(신규) > Project(프로젝트)를 선택하고 화면에 표시되는 메시지를 따라 macOS 앱을 생성하도록 합니다. 새로운 프로젝트에는 개발을 시작할 때 사용할 수 있는 기본 코드가 일부 포함되어 있으며, 각 앱의 유형에 의해 시작 지점이 결정됩니다. Xcode 사용 방법에 대한 자세한 내용은 Xcode 문서를 참고하시기 바랍니다.

    Swift Playgrounds는 대화식 코딩 환경으로, 코딩 및 개발자 기술을 배우고 실험하고자 하는 사람들을 위한 환경입니다. 자세한 내용은 Swift Playgrounds 참고하시기 바랍니다.

    Swift 도입하기

    프로젝트를 설정하면서 어떤 프로그래밍 언어를 사용할 것인지 생각해 보십시오. Swift의 구문은 간결하며 안전하게 설계되었고 코드 표현력을 향상하게 하는 최신 기능을 제공하기 때문에 우선 선택되는 옵션입니다. Swift 코드를 사용하여 빛의 속도로 빠르게 실행되는 소프트웨어를 제작할 수 있으며, Objective-C와도 상호 운용이 가능하므로 같은 프로젝트에 두 가지 언어의 소스 파일을 포함시킬 수 있습니다.

    Swift 프로그래밍 언어 설명서

    Swift 프로그래밍 언어 설명서는 Swift 프로그래밍 언어의 전체적인 개요를 제공하는 책으로, Swift를 처음 시작하는 사람들에게 딱 맞는 입문서입니다.

    앱 기술 선택하기

    개발 초기에 선택해야 할 또 다른 사항은 인터페이스에 사용할 앱 빌더 기술을 선택하는 것입니다. Apple의 앱 빌더 기술에는 macOS에서 앱과 커뮤니케이션하는 데 필요한 코어 인프라가 포함되어 있습니다. 또한 인터페이스를 빌드하고 이벤트를 처리하는 등의 작업에 사용되는 프로그래밍 모델도 정의할 수 있습니다.

    SwiftUI

    SwiftUI에서는 UI 및 앱 인프라를 빌드하는 데 현대적이며 플랫폼 애그노스틱한 접근 방식을 제공합니다. 표준 SwiftUI 보기 세트에서 프로그래매틱한 방식으로 인터페이스를 구체화하거나 원하는 디자인으로 맞춤형 보기를 생성해 보고 실시간으로 인터페이스를 시각적으로 표현해 보십시오. 런타임 동안 시스템에서는 코드를 사용하여 앱의 최종 인터페이스에서 변경 사항을 관리하도록 빌드합니다. UI에 대한 이러한 프로그래매틱한 접근 방법을 통해 다양한 표준 동작을 무료로 제공하며 UI를 최신 상태로 유지하는 절차를 단순화합니다. SwiftUI 사용 방법에 대한 자세한 안내는 SwiftUI 소개 튜토리얼을 참고하시기 바랍니다.

    AppKit

    AppKit을 사용하면 Storyboard를 사용하여 인터페이스를 시각적으로 조합할 수 있습니다. AppKit에서는 보다 전통적인 앱 빌드 방식을 제공하므로 인터페이스 요소의 관리를 완벽하게 제어할 수 있습니다. 뷰 및 컨트롤 업데이트, 구성 변경 및 앱의 다른 부분에 대한 변경 사항을 커뮤니케이션하는 데 필요한 코드를 작성해 보십시오. AppKit 앱 빌드를 시작하려면 AppKit 문서를 참고하시기 바랍니다.

    SwiftUI는 앱의 인프라 및 UI를 빌드하는 데 우선 선택되는 기술이며, 더 나은 상황에서 개발 시작을 시작할 수 있도록 해줍니다. 초기 UI를 AppKit으로 빌드했더라도 SwiftUI와 AppKit의 뷰는 상호 운용이 가능합니다. 동일한 뷰 계층에 SwiftUI 뷰와 AppKit 뷰를 손쉽게 혼합하여 사용할 수 있습니다.

    앱의 인프라를 빌드하는 기술 외에도 macOS에는 앱의 데이터 구조를 빌드하는 기술도 포함되어 있습니다. Swift Standard LibraryFoundation 프레임워크에서는 배열 및 딕셔너리, 문자열, 숫자, 날짜 및 기타 일반적인 데이터 값과 같이 자주 사용하는 기본 유형을 제공합니다. 자신이 직접 맞춤형 유형을 생성하고 Swift의 Codable 지원을 적용하여 디스크에서 해당 유형이 지속되도록 할 수 있습니다. 앱에서 대량의 구조적 데이터를 관리하는 경우 Core DataCloudKit을 사용하여 데이터 관리 및 지속하는 것을 고려해 보십시오.

    사용자 경험 설계하기

    매력적인 경험을 제공하는 앱에는 앱을 지속적으로 사용하도록 만드는 힘이 있습니다. 멋진 디자인, 이해하기 쉬운 레이아웃 그리고 적절한 콘텐츠를 강조하는 Ui를 만들어 보십시오.

    Mac에서는 다채로운 인터페이스를 빌드할 수 있는 넓은 화면 공간을 제공하므로 직관적인 방식으로 정보를 선보일 수 있는 방법을 생각해 봅니다. 또한 시스템별 디자인 패턴이 UI에 미치는 영향도 고려하도록 합니다.

    • 윈도우에 의해 앱 UI의 핵심이 정의됩니다 윈도우를 하나 또는 여러 개 생성해 보고, 각각의 윈도우에 비슷한 콘텐츠 또는 다른 콘텐츠를 배치해 봅니다. 윈도우를 특정 크기로 설정하거나 사용자가 크기를 조정하도록 할 수 있습니다. 방해받지 않는 작업 환경을 위해 전체 화면 모드를 지원해 보십시오.
    • 메뉴에 의해 사용자가 콘텐츠에서 수행하는 작업이 정의됩니다. 화면 상단의 메뉴 막대에는 활성화된 앱의 메뉴가 표시됩니다. 앱에서 관련된 작업을 식별하고 사용자가 콘텐츠와 상호 작용하는 방식을 반영한 메뉴를 만들어 보십시오.
    • Dock을 통해 앱, 문서, 윈도우 및 폴더에 편리한 접근하는 방법을 제공할 수 있습니다. 맞춤형 Dock 메뉴를 추가하여 자주 이용하는 명령을 표시하거나 앱 아이콘에 배지를 달아 새로운 콘텐츠가 추가되었음을 알릴 수 있습니다.

    Human Interface Guidelines

    Apple의 Human Interface Guidelines에는 앱 인터페이스 디자인 방법, 콘텐츠 탐색 방법 및 Mac에서 상호 작용 관리 방법에 관한 유용한 정보가 담겨 있습니다. macOS 생태계에 관해 살펴볼 때 이러한 지침서를 가장 먼저 읽어보고 해당 Apple 디자인 리소스를 사용하여 앱 디자인을 시작하시기 바랍니다.

    특정 기능과 기술은 모든 macOS 앱에 반드시 필요합니다. UI 기획 초기 단계에 반드시 다음 기능을 도입하도록 합니다.

    윈도우 컨트롤러

    macOS에서 윈도우 컨트롤러는 윈로우 로드, 표시 및 닫기 기능을 포함하여 하나의 윈도우에 표시되는 인터페이스의 콘텐츠를 관리합니다. SwiftUI에서는 Scene을 사용하여 윈도우를 관리합니다. AppKit에서는 NSWindowController 대상체를 사용합니다.

    자동 레이아웃

    전체 화면 및 서로 다른 윈도우 크기를 지원하기 위해 페이지의 위치를 수동으로 조정하는 대신 시스템에 현재 안전 영역에 비례하여 조정하는 방법을 알아보십시오. SwiftUI에는 자동 레이아웃이 UI 디자인 방식의 일부로 도입되어 있습니다. AppKit 뷰에 자동 레이아웃을 도입하려면 인터페이스에 Auto Layout 컨스트레인을 추가하도록 합니다.

    다양한 화면 스타일

    시스템 수준의 화면 스타일 변경을 지원하는 UI를 빌드해 보십시오. 다크 모드를 도입하면 사람들은 라이트 모드 또는 다크 모드 UI를 선택할 수 있고, 손쉬운 사용 설정을 도입하면 고대비 UI를 선택할 수 있습니다. 각각의 화면 스타일에는 각양각색의 색상 팔레트 및 이미지 애셋이 필요하며, 이는 애셋 카탈로그를 사용하여 관리할 수 있습니다. UI의 다른 부분에서 라이트, 다크 또는 고대비 콘텐츠로 언제 변경해야 할지 판단하는 데 시스템 API를 사용하도록 합니다. 자세한 내용은 인터페이스에 다크 모드 지원하기를 참고하시기 바랍니다.

    텍스트 스타일

    앱의 텍스트에 텍스트 스타일 및 동적 서체 버전을 도입해 보십시오. 텍스트 스타일에 의해 텍스트의 의미론적 사용이 정의됩니다. 예를 들어, 본문 스타일은 가장 주된 콘텐츠가 담겨 있다는 의미입니다. 텍스트 스타일의 서체 특성은 서체 크기를 변경해도 그대로 유지되므로 텍스트 크기를 조정할 수 있으며 원하는 앱 화면 스타일을 유지할 수 있습니다. 메뉴, 툴팁 및 인터페이스의 특정 요소에 동적 서체 버전을 사용하여 표준 UI 요소의 모양새를 일관성 있게 유지하도록 합니다. 자세한 지침은 타이포그래피를 참고하시기 바랍니다.

    확장 가능한 이미지

    앱이 변경 사항에 더 잘 대응할 수 있도록 SF Symbols를 통합해 보십시오. SF Symbols 앱에는 화면 스타일 및 크기 변경 사항에 맞춰 자연스럽게 조정되는 구성 가능한 벡터 기반 이미지 컬렉션이 방대하게 포함되어 있습니다. 또한 San Francisco 시스템 서체와 잘 어울리기 때문에 Apple 플랫폼 전반에 걸쳐 일관된 스타일을 제공합니다. UI에서 기호 이미지 구성 및 표시하기를 참고하시기 바랍니다.

    수고스럽게 않게 문서 및 파일 처리하기

    macOS에서는 사용자가 파일 시스템에 직접 접근할 수 있으며, Finder 또는 터미널 앱에서 파일을 추가, 삭제, 이동 및 검사할 수 있습니다. 사용자가 파일에 접근하는 데 도움이 되는 기술을 지원하고, 앱이 다른 곳에서 발생하는 변화에 탄력적으로 대처할 수 있도록 합니다.

    iCloud Drive로 기기 간 파일 공유하기

    문서 및 파일을 iCloud에 저장하는 옵션을 제공하면, 사용자는 보유하고 있는 모든 기기에서 파일에 접근할 수 있습니다. 적은 양의 데이터를iCloud 키 값 저장 공간을 사용하여 공유해 보십시오.

    앱의 컨테이너 디렉토리에 비공개 파일 보관하기

    앱에서 중간 파일, 캐시 또는 사용자가 변경하면 안되는 다른 콘텐츠를 생성하는 경우 이러한 파일을 앱 컨테이너 디렉토리에 저장해 보십시오. 컨테이너에서는 콘텐츠에 알맞게 정의된 위치를 제공하며, 다른 사람이 실수로 콘텐츠를 변경할 수 없도록 보이지 않게 가려져 있습니다.

    맞춤형 파일 유형에 맞는 훑어보기 미리보기 제공하기

    사용자는 훑어보기를 사용하여 파일을 열지 않고 Finder에서 볼 수 있습니다. 개발자가 정의한 맞춤형 문서 유형에 맞는 훑어보기 플러그인을 제공하도록 합니다. 자세한 내용은 QuickLookUI참고하시기 바랍니다.

    앱에서 파일 기반 문서를 지원하는 경우 원활하고 순조로운 문서 편집 경험을 제공하도록 합니다. SwiftUI 문서 유형 또는AppKit NSDocument 유형을 사용하여 문서 콘턴츠를 모델링하도록 합니다. 실행 취소 및 실행 복귀 지원을 앱의 편집 코드에 빌드하여 문서 편집 중 실수한 내용을 되돌리 수 있도록 합니다. 자동 저장 기능을 도입하여 문서에 변경한 사항이 잃어버리지 않도록 합니다. 더 자세한 내용은 문서 기반의 앱 개발하기를 참고하시기 바랍니다.

    개발 중 모범 사례 적용하기

    다음 사항을 준수하고 모든 사용자에게 최상의 경험을 제공해 보십시오.

    사용자의 개인정보 보호하기

    개인 정보는 중요하므로 사용자의 데이터가 어떻게 사용되는지 사용자에게 지속적으로 알리도록 합니다. 데이터를 수집하는 경우 수집한 정보가 어떻게 사용되는지를 설명하는 개인정보 처리방침을 제공하도록 합니다. 개인 데이터를 기반으로 작동하는 Apple 기술을 사용하는 경우 첫 사용 시 사용 내용을 시스템에서 표시하도록 합니다. 더 자세한 내용은 사용자의 개인정보 보호하기를 참고하시기 바랍니다.

    수집 및 저장하는 데이터 보호하기

    데이터를 수집하는 경우 악의적인 공격으로부터 데이터를 보호해야 합니다. 암호를 대신하는 안전한 대안으로 패스키를 도입해 보십시오. 개인 식별 가능 정보, 금융 데이터 또는 기타 민감한 정보를 사용자의 암호화된 키체인에 보관하도록 합니다. 디스크 내 암호화 또는 다른 Apple 보안 기술을 사용하여 기타 개인 정보를 저장하도록 합니다. Apple CryptoKit을 사용하여 로컬에 저장하거나 앱 밖으로 전송하는 데이터를 암호화하도록 합니다.

    손쉬운 사용 지원 감사하기

    Apple에서는 자체 기술에 손쉬운 사용 지원을 구축했으나, 화면 읽기 도구 및 기타 손쉬운 사용 기능에는 앱에서 제공하는 정보가 필요합니다. SwiftUI 및 AppKit에서 UI의 각 부분을 설명할 수 있지만, 각 부분이 어떻게 연동하여 작동되는지 아는 사람은 개발자뿐입니다. 손쉬운 사용 레이블 및 기타 설명을 검토하여 유용한 정보를 제공하고 있는지 확인하고, 포커스 기반 탐색이 간단하고 직관적인지 확인하도록 합니다. 더 자세한 내용은 손쉬운 사용을 참고하시기 바랍니다.

    앱 국제화 및 현지화

    다른 지역 및 언어에 맞게 앱을 현지화하여 세계 시장에 진출해 보십시오. Foundation 프레임워크에서는 각기 다른 언어 및 지역에 맞는 문자열, 날짜, 시간, 통화 및 숫자 형식을 지정하는 코드를 제공하므로, 이를 사용하여 앱을 준비하도록 합니다. 좌횡서 언어 및 우횡서 언어 모두에서 UI가 제대로 보이는지 확인하도록 합니다. 앱 리소스를 현지화하고 Xcode 프로젝트에 추가하도록 합니다. 국제화 및 현지화 절차에 대한 자세한 내용은 현지화를 참고하시기 바랍니다.

    모두를 위한 디자인

    콘텐츠를 개발할 때 사회적, 문화적인 차이를 고려해 보고 사용자 중 일부가 부정적 또는 모욕적으로 느낄 수 있는 이미지 및 용어의 사용을 피하도록 합니다. 더 자세한 내용은 포용성을 참고하시기 바랍니다.

    철저하게 앱 테스트 및 디버깅하기

    개발이 진행되는 동안 내장된 Xcode 디버거를 사용하여 문제가 일어날 때마다 디버깅해 보십시오. XCTest를 사용하여 자동화된 테스트 도구 모음을 빌드하고 모든 빌드에서 실행하여 새로운 코드가 정상적으로 작동하는지 확인하도록 합니다. Xcode Cloud의 지속적 통합 시스템을 사용하여 빌드, 테스트 주기 및 QA 팀에 앱 배포를 자동화하도록 합니다.

    앱 성능 최적화하기

    Xcode와 함께 제공되는 Instruments 앱을 사용하여 코드에서 발생하는 병목 현상 및 기타 성능 문제를 식별해 보십시오. 실행 중인 코드를 프로파일링하고, 메모리 누수를 찾고, 리소스 사용 내역을 분석하는 등 다양한 작업을 수행할 수 있습니다. Instruments를 사용하여 지표를 수집하는 방법에 관한 자세한 내용은 앱 성능 개선하기를 참고하시기 바랍니다.

    앱에 맞는 비즈니스 모델 선택하기

    무료, 앱 내 구입 포함 무료, 유료 다운로드 등 다양한 비즈니스 모델을 사용하여 전 세계에 배포해 보십시오. 응집력 있는 경험을 제공하고 선택한 비즈니스 모델을 지원하는 인터페이스를 빌드하도록 합니다. 더 자세한 내용은 비즈니스 모델 선택하기를 참고하시기 바랍니다.

    편의 기능 추가하기

    앱이 제대로 작동하면 사용 경험을 향상시킬 수 있는 추가적인 방법을 찾아보십시오. 특정 기능을 추가하는 것이든, 다른 방법으로 콘텐츠를 선보이는 것이든 사소한 것이 큰 차이를 만듭니다. 예를 들면 다음과 같습니다.

    사용자에게 상황에 알맞은 콘텐츠 제공하기

    사용자가 앱을 어떻게 사용하는지에 대해 생각해 보고 중요한 콘텐츠를 빠르게 노출하는 방법을 찾아보십시오. 현재 날짜 및 시간을 사용하여 결과를 필터링하거나 중영한 알림을 생성해 보십시오. 데이터를 분석하고 더 나은 솔루션을 제공하기 위해 머신 러닝을 사용할 수 있습니다. 인터페이스를 동적으로 재배열하여 자주 이용하는 콘텐츠에 쉽게 접근하도록 할 수 있습니다.

    앱의 콘텐츠를 찾는 데 도움주기

    항목을 더 쉽게 찾을 수 있도록 Spotlight 검색에 항목에 대한 포괄적인 설명을 제공해 보십시오. 사용자가 검색 결과를 선택하는 경우 제공된 사용자 활동 대상체를 사용하여 해당 결과를 표시할 수 있는 적절한 상태로 앱을 만듭니다.

    새로운 기능에 런타임 상태 확인 추가하기

    새로운 버전의 macOS를 지원하기 위해 앱을 업데이트하는 경우 새로운 기능을 구현하는 코드의 런타임 상태를 확인해 보십시오. 런타임을 확인하면 새로운 버전의 macOS를 사용하는 사용자와 이전 버전의 macOS를 사용하는 사용자를 위해 각기 다른 버전의 앱을 제공하지 않아도 됩니다. 모든 사용자가 동일한 앱을 사용하며 새로운 버전의 macOS를 사용하는 사용자는 새로 추가된 기능을 사용할 수 있습니다. 런타임 확인을 추가하는 방법에 대한 자세한 내용은 특정 플랫폼 또는 OS 버전에서 코드 실행하기를 참고하시기 바랍니다.

    앱을 통해서만 콘텐츠와 상호 작용할 수 있는 것은 아닙니다. 다음 기술을 도입하여 시스템의 다른 부분으로 앱 사용을 확장해 보십시오.

    콘텐츠를 다른 시스템 서비스에 통합하기

    일부 시스템에서는 앱에 특화된 정보를 지원하며, 앱 확장 프로그램을 사용하여 해당 정보를 수집합니다. 앱에 위젯 앱 확장 프로그램을 추가하여 알림 센터에 콘텐츠를 표시하거나 동작 앱 확장 프로그램을 추가하여 앱에서 사용할 수 있는 빠른 동작을 정의하도록 합니다. 지원되는 앱 확장 프로그램에 대한 자세한 내용을 앱 확장 프로그램을 참고하시기 바랍니다.

    다른 기기에서 작업을 이어가도록 지원하기

    Handoff를 사용하면 사용자는 하나의 기기에서 앱에 특화된 활동을 시작하여 다른 기기에서 활동을 이어갈 수 있습니다. 예를 들어, 사용자는 Mac에서 활동을 시작하고 해당 앱을 실행 중인 iPad 또는 iPhone에서 활동을 계속해서 이어갈 수 있습니다. 연속성 카메라를 사용하여 연결된 iOS 기기를 사용하여 문서를 스캔하거나 macOS 앱에서 고품질 사진 또는 비디오 캡처를 수행할 수 있습니다.

    앱 콘텐츠용 범용 링크 지원하기

    웹 사이트와 앱에서 유사한 콘텐츠를 제공한다면 앱에 범용 링크 지원을 추가해 보십시오. 범용 링크를 사용하면 앱에서 콘텐츠를 열기 위해 별도의 URL을 생성할 필요가 없습니다. 하나의 URL을 통해, 앱이 설치된 경우 앱을 열거나, 앱이 설치되지 않은 경우 웹 사이트를 엽니다. 더 자세한 내용은 앱과 웹 사이트를 콘텐츠에 연결하기를 참고하시기 바랍니다.

    다른 앱에 도움이 될 수 있는 내보내기 기능

    macOS의 서비스 메뉴에는 현재 선택한 항목에 수행할 수 있는 작업이 표시됩니다. 서비스 메뉴를 앱에서 제공하는 작업으로 채우고, 이러한 서비스를 런타임에서 수행하도록 코드를 작성하도록 합니다. 자세한 내용은 서비스 구현 설명서를 참고하시기 바랍니다.

    일부 앱에서는 맞춤형 하드웨어와 커뮤니케이션하거나 시스템 수준의 서비스 또는 보안 기능을 제공하기 위해 시스템을 확장해야 합니다. 다음 활동을 지원한다면 앱에 시스템 확장 프로그램을 추가하는 것을 고려해 보십시오.

    이벤트 모니터링을 통해 잠재적으로 악의적인 활동을 식별하는 경우

    예를 들면 개발자가 프로세스의 실행 또는 포킹, 파일 시스템의 마운트 및 신호 올리기를 모니터링하는 것입니다. 자세한 내용은 엔드포인트 보안을 참고하시기 바랍니다.

    코어 네트워크 기능을 맞춤화 또는 확장하는 경우

    개발자가 시스템의 Wi-Fi 설정을 구성, VPN 구성을 생성 및 관리, 콘텐츠 필터링 수행, 시스템 전반의 DNS 구성 관리 또는 맞춤형 핫스팟과 통합하는 것을 예로 들 수 있습니다. 자세한 내용은 네트워크 확장 프로그램을 참고하시기 바랍니다.

    맞춤형 하드웨어와 직접 커뮤니케이션하는 경우

    예를 들어 개발자가 외장 USB 기기, HID 기기, PCI 기기, 시리얼 기기나 다른 여러 기기와 커뮤니케이션하는 것을 의미합니다. 자세한 내용은 DriverKit을 참고하시기 바랍니다.

    더 살펴보기

    고유한 기능을 제공하면서 Apple 플랫폼과 긴밀하게 통합하여 iOS, iPadOS, macOS, tvOS, visionOS watchOS 어디에서나 앱 및 게임을 위한 원활한 생태계를 형성하는 기술에 대해 자세히 알아보시기 바랍니다.

    앱 배포하기

    앱을 배포할 준비가 되면 App Store를 통해 전 세계 수억 명의 사용자에게 앱을 전달할 수 있습니다. App Store에 앱을 제출하기 위해 준비하는 방법에 대해 알아보시기 바랍니다.

    앱 제출하기에 대해 알아보기