iOS 개발을 위해 Mac에 페어링

.NET 다중 플랫폼 앱 UI(.NET MAUI)를 사용하여 네이티브 iOS 애플리케이션을 빌드하려면 Mac에서만 실행되는 Apple의 빌드 도구에 액세스해야 합니다. 이 때문에 Visual Studio 2022는 네트워크에 액세스할 수 있는 Mac에 연결하여 .NET MAUI iOS 앱을 빌드해야 합니다.

Visual Studio 2022의 Mac 쌍 기능은 Windows에서 생산성을 높일 수 있도록 Mac 빌드 호스트를 검색, 연결, 인증 및 기억합니다.

Mac에 페어링하면 다음 소프트웨어 개발 워크플로를 사용할 수 있습니다.

  • Visual Studio 2022에서 .NET MAUI iOS 코드를 작성할 수 있습니다.
  • Visual Studio 2022는 Mac 빌드 호스트에 대한 네트워크 연결을 열고 해당 컴퓨터의 빌드 도구를 사용하여 iOS 앱을 컴파일하고 서명합니다.
  • Mac에서 별도의 애플리케이션을 실행할 필요가 없습니다. Visual Studio 2022는 SSH를 통해 Mac 빌드를 안전하게 호출합니다.
  • Visual Studio 2022는 변경 내용이 발생하는 즉시 알림을 받습니다. 예를 들어 iOS 디바이스가 Mac에 연결되어 있거나 네트워크에서 사용할 수 있게 되면 iOS 도구 모음이 즉시 업데이트됩니다.
  • Visual Studio 2022의 여러 인스턴스는 Mac에 동시에 연결할 수 있습니다.
  • Windows 명령줄을 사용하여 iOS 앱을 빌드할 수 있습니다.

참고 항목

이 문서의 지침을 따르기 전에 Mac에서 Xcode설치합니다. 그런 다음, 추가 구성 요소를 추가할 수 있도록 설치 후 Xcode를 수동으로 엽니다. 또한 최신 Mac용 Visual Studio 2022 또는 Mono도 설치해야 합니다. 또한 Apple 실리콘이 있는 Mac 컴퓨터가 있는 경우 Rosetta가 설치되어 있는지 확인하세요.

Mac용 Visual Studio 2022를 설치하지 않으려면 Visual Studio 2022에서 Mac 빌드 호스트를 자동으로 구성할 수 있습니다. 그러나 여전히 Xcode를 설치 및 실행하고 Mono를 설치해야 합니다.

Mac에서 원격 로그인을 사용하도록 설정

Mac 빌드 호스트를 설정하려면 먼저 원격 로그인을 사용하도록 설정합니다.

  1. Mac에서 시스템 기본 설정을 열고 공유 창으로 이동합니다.

  2. 서비스 목록에서 원격 로그인을 선택합니다.

    Enabling remote login.

    모든 사용자에 대한 액세스를 허용하도록 구성되었거나 Mac 사용자 이름 또는 그룹이 허용된 사용자 목록에 포함되어 있는지 확인합니다.

  3. 메시지가 표시되면 macOS 방화벽을 구성합니다. 들어오는 연결을 차단하도록 macOS 방화벽을 설정한 경우 mono-sgen에서 들어오는 연결을 받도록 허용해야 할 수도 있습니다. 경고가 나타나면 메시지가 표시됩니다.

  4. Windows 컴퓨터와 동일한 네트워크에 있는 경우 이제 Visual Studio 2022에서 Mac을 검색할 수 있어야 합니다. Mac을 여전히 검색할 수 없는 경우 Mac을 수동으로 추가해 보세요.

Visual Studio 2022에서 Mac으로 커넥트

Mac에서 원격 로그인을 사용하도록 설정한 후 Visual Studio 2022를 Mac에 연결합니다.

  1. Visual Studio 2022에서 기존 .NET MAUI 프로젝트를 열거나 새 프로젝트를 만듭니다.

  2. Mac에 페어링 단추 iOS 도구 모음을 사용하여 Mac에 페어링 대화 상자를 엽니다.

    The iOS toolbar, with the Pair to Mac button highlighted.

    또는 Mac에 대한 도구 > iOS > 쌍을 선택합니다.

    Mac에 페어링 대화 상자에는 이전에 연결되고 현재 사용 가능한 모든 Mac 빌드 호스트 목록이 표시됩니다.

    The Pair to Mac dialog.

  3. 목록에서 Mac을 선택하고 커넥트 선택합니다.

  4. 사용자 이름 및 암호를 입력합니다. 특정 Mac에 처음 연결할 때 해당 컴퓨터의 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다.

    Entering a username and password for the Mac.

    로그인할 때 시스템 사용자 이름을 사용합니다.

    Mac에 페어링은 이러한 자격 증명을 사용하여 Mac에 대한 새 SSH 연결을 만듭니다. 성공하면 Mac의 authorized_keys 파일에 키가 추가됩니다. 동일한 Mac에 대한 후속 연결은 자동으로 로그인됩니다.

  5. Mac에 페어링은 Mac을 자동으로 구성합니다. Visual Studio 2022는 필요에 따라 연결된 Mac 빌드 호스트에 필수 구성 요소를 설치하거나 업데이트합니다. 그러나 Xcode는 여전히 수동으로 설치해야 합니다.

  6. 연결 상태 아이콘을 검사합니다. Visual Studio 2022가 Mac에 연결되면 Mac에 페어링 대화 상자의 해당 Mac 항목에 현재 연결되어 있음을 나타내는 아이콘이 표시됩니다.

    A connected Mac.

    한 번에 하나의 Mac만 연결할 수 있습니다.

    Mac에 페어링 목록에서 Mac을 마우스 오른쪽 단추로 클릭하면 연결..., 이 Mac 지우기 또는 연결 끊기를 허용하는 바로 가기 메뉴가 표시됩니다.

    The Pair to Mac context menus.

    이 Mac 지우기를 선택하는 경우 선택한 Mac에 대한 자격 증명이 무시됩니다. 해당 Mac에 다시 연결하려면 사용자 이름과 암호를 다시 입력해야 합니다.

Mac 빌드 호스트에 성공적으로 페어링한 경우 Visual Studio 2022에서 .NET MAUI iOS 앱을 빌드할 준비가 되었습니다. 자세한 내용은 첫 번째 앱 빌드를 참조하세요.

Mac을 페어링할 수 없는 경우 Mac을 수동으로 추가해 보세요.

수동으로 Mac 추가

Mac에 페어링 대화 상자에 나열된 특정 Mac표시되지 않으면 수동으로 추가합니다.

  1. Mac에서 시스템 기본 설정 > 공유 > 원격 로그인을 열어 Mac의 IP 주소를 찾습니다.

    The Mac's IP address in System Preferences > Sharing.

    또는 명령줄을 사용합니다. 터미널에서 다음 명령을 실행합니다.

    ipconfig getifaddr en0
    

    네트워크 구성에 따라 예를 들어 en1en2다른 인터페이스 이름을 en0사용해야 할 수도 있습니다.

  2. Visual Studio 2022의 Mac에 페어링 대화 상자에서 Mac 추가...를 선택합니다.

    The Add Mac button in the Pair to Mac dialog.

  3. Mac의 IP 주소를 입력하고 추가를 선택합니다.

    Entering the Mac's IP address.

  4. Mac에 대한 사용자 이름과 암호를 입력합니다.

    Enter a username and password.

    로그인할 때 시스템 사용자 이름을 사용합니다.

  5. 로그인을 선택하여 SSH를 통해 Visual Studio 2022를 Mac에 연결하고 알려진 컴퓨터 목록에 추가합니다.

알려진 Mac에 대한 자동 연결 사용

기본적으로 Visual Studio가 시작될 때 이전에 페어링된 Mac에 대한 연결은 설정되지 않습니다. 그러나 도구 > 옵션 Xamarin > iOS 설정 이동하고 알려진 Mac에 대한 자동 연결 사용이 검사 확인하여 Visual Studio에서 알려진 Mac에 대한 자동 연결을 사용하도록 설정할 수 > 있습니다.

Enable auto connection to known Macs in Visual Studio.

Visual Studio를 다시 시작하면 각 시작 시 알려진 Mac에 자동으로 연결됩니다.

자동 Mac 프로비전

Mac에 페어링하면 .NET MAUI iOS 앱을 빌드하는 데 필요한 소프트웨어로 Mac이 자동으로 프로비전됩니다. 여기에는 .NET 및 다양한 Xcode 관련 도구(Xcode 자체는 포함되지 않음)가 포함됩니다.

Important

  • Mac에 페어링하면 Xcode를 설치할 수 없습니다. Mac 빌드 호스트에 수동으로 설치해야 합니다. .NET MAUI iOS 개발에 필요합니다.
  • 자동 Mac 프로비전을 사용하려면 Mac에서 원격 로그인을 사용하도록 설정하고 네트워크를 통해 Windows 컴퓨터에 액세스할 수 있어야 합니다.
  • 자동 Mac 프로비저닝을 수행하려면 Mac에서 .NET을 설치할 수 있는 충분한 여유 공간이 필요합니다.

또한 Mac에 페어링은 Visual Studio 2022가 연결할 때 필요한 소프트웨어 설치 및 Mac 업데이트를 수행합니다.

Xcode 도구 및 라이선스

Mac에 페어링은 Xcode가 설치되어 있고 해당 라이선스가 승인되었는지 여부도 확인합니다. Mac에 페어링은 Xcode를 설치하지 않지만 라이선스 동의를 묻는 메시지를 표시합니다.

또한 Mac에 페어링은 Xcode와 함께 배포된 다양한 패키지를 설치하거나 업데이트합니다. 이러한 패키지의 설치는 프롬프트 없이 빠르게 수행됩니다.

자동 Mac 프로비전 문제 해결

자동 Mac 프로비저닝을 사용하는 데 문제가 발생하는 경우 %LOCALAPPDATA%\Xamarin\Logs\17.0에 저장된 Visual Studio 2022 IDE 로그를 살펴보세요. 이러한 로그에는 효율적으로 오류를 진단하거나 지원을 받는 데 도움이 되는 오류 메시지가 포함될 수 있습니다.

Windows 명령줄에서 iOS 응용 프로그램 빌드

Mac에 페어링은 명령줄에서 .NET MAUI 앱 빌드를 지원합니다. .NET MAUI iOS 앱의 원본을 포함하는 폴더로 이동하고 다음 명령을 실행합니다.

dotnet build -f net8.0-ios -p:ServerAddress={macOS build host IP address} -p:ServerUser={macOS username} -p:ServerPassword={macOS password} -p:TcpPort=58181 -p:_DotNetRootRemoteDirectory=/Users/{macOS username}/Library/Caches/Xamarin/XMA/SDKs/dotnet/

위의 예제에서 dotnet에 전달된 매개 변수는 다음과 같습니다.

  • ServerAddress – Mac 빌드 호스트의 IP 주소입니다.
  • ServerUser – Mac 빌드 호스트에 로그인할 때 사용할 사용자 이름입니다. 전체 이름이 아닌 시스템 사용자 이름을 사용합니다.
  • ServerPassword – Mac 빌드 호스트에 로그인할 때 사용할 암호입니다.
  • _DotNetRootRemoteDirectory - .NET SDK를 포함하는 Mac 빌드 호스트의 폴더입니다.

Mac에 페어링이 처음으로 Visual Studio 2022 또는 명령줄에서 Mac 빌드 호스트에 로그인하면 SSH 키가 설정됩니다. 이러한 키를 사용하면 이후 로그인에 사용자 이름 또는 암호가 필요하지 않습니다. 새로 만든 키는 %LOCALAPPDATA%\Xamarin\MonoTouch에 저장됩니다.

명령줄 빌드 호출에서 ServerPassword 매개 변수가 생략되면 Mac에 페어링은 저장된 SSH 키를 사용하여 Mac 빌드 호스트에 로그인하려고 합니다.

Windows 명령줄에서 iOS 앱을 빌드하는 방법에 대한 자세한 내용은 명령줄을 사용하여 iOS 앱 게시를 참조 하세요.