Windows 개발자 가이드

Windows 프로젝트를 Mac에 연결해 계속 개발하세요

대부분의 사용 문제는 브라우저 원격 데스크톱과 SSH, 두 가지 경로로 직접 해결할 수 있습니다. 그래픽 작업은 데스크톱에서, 빌드 출력을 확인할 때는 명령줄을 사용하세요. 먼저 연결 상태를 확인한 다음 툴체인, 코드 서명, 파일 문제를 해결하면 됩니다.

이미 서비스를 신청했다면 로그인한 뒤 인스턴스 상세 정보에서 접속 정보를 확인하세요. 이 문서에서는 공용 호스트 주소나 비밀번호를 제공하지 않습니다.

먼저 연결하고 설정하세요

인스턴스 상세 정보에서 작업 환경에 접속

브라우저 데스크톱은 원격 데스크톱 클라이언트를 설치하지 않아도 사용할 수 있습니다. Windows에서는 SSH를 대체 접속 방법으로 이용할 수 있습니다. 데스크톱 화면에 문제가 있을 때도 SSH로 서버 접속 여부를 확인할 수 있습니다. 두 방법 모두 콘솔에 표시된 현재 주소, 포트, 계정 정보를 사용하세요.

  1. 01

    인스턴스 상태 확인

    콘솔에 로그인해 신청한 주문과 인스턴스를 찾으세요. 모델, 리전, 만료일, 현재 상태를 확인합니다. 결제가 완료됐지만 아직 설정 중이라면 페이지의 안내를 먼저 확인하고 같은 구성으로 중복 신청하지 마세요.

  2. 02

    브라우저 데스크톱 열기

    인스턴스 상세 정보에서 원격 데스크톱 접속을 선택하세요. macOS 화면이 나타날 때까지 기다린 다음 데스크톱 영역을 클릭해 입력합니다. 접속 페이지 주소, 비밀번호, 화면에 표시된 민감한 정보를 다른 사람에게 전달하지 마세요.

  3. 03

    기본 조작 확인

    마우스 클릭, 일반 영문 입력, 창 전환을 차례로 테스트하세요. Finder를 열어 파일이 보이는지 확인한 다음 터미널에서 툴체인을 점검합니다. 한글 입력에 문제가 있다면 로컬 입력기와 원격 입력 소스를 구분해 확인하세요. 바로 시스템을 재설치하지 마세요.

  4. 04

    SSH 접속 방법 준비

    Windows PowerShell에서 아래 명령을 실행하고 인스턴스 상세 정보에 표시된 사용자 이름, 호스트, 포트를 입력하세요. 처음 접속할 때는 호스트 지문을 확인해야 합니다. 비밀번호를 입력해도 화면에 표시되지 않는 것은 정상입니다.

Windows PowerShell에서 접속 정보를 하나씩 입력하세요. 변수에는 직접 입력한 값이 저장되며, 그대로 사용할 수 있는 접속 정보가 아닙니다.

$MacUser = Read-Host "인스턴스 사용자 이름 입력"
$MacHost = Read-Host "인스턴스 호스트 입력"
$MacPort = Read-Host "SSH 포트 입력"
ssh -p $MacPort "$MacUser@$MacHost"

시간 초과가 발생하면 네트워크, 호스트, 포트를 먼저 확인하세요. 인증에 실패하면 사용자 이름과 인증 방식을 확인합니다. 호스트 지문이 바뀌었다면 시스템을 재설치했는지 먼저 확인하세요. 확인 없이 기존 기록을 삭제하지 마세요.

재현 가능한 출력 기록하기

아카이브 로그로 진행 단계 확인

SSH 접속이 된다고 해서 프로젝트 설정까지 완료된 것은 아닙니다. 먼저 Xcode 경로와 버전을 확인한 뒤 프로젝트 디렉터리에서 아카이브를 실행하세요. 업로드 단계에는 미리 설정된 fastlane lane, 코드 서명 자료, 배포 권한이 필요합니다.

명령을 확인하고 마지막 줄을 살펴보세요

오른쪽은 워크플로 예시이며 실제 서버 성능 측정 결과가 아닙니다. 모든 프로젝트에서 그대로 실행할 수 있는 것도 아닙니다. 호스트 이름은 예시이며 실제 접속에는 앞 절의 대화형 명령을 사용하세요.

App 는 예시 scheme입니다. 아카이브를 실행하기 전에 프로젝트에 맞는 workspace, project, scheme으로 해당 매개변수를 바꾸세요. 종속성이 설치되지 않았다면 먼저 종속성 오류를 해결하세요.

fastlane beta 기존 beta lane이 있는 프로젝트에만 사용할 수 있습니다. 아카이브 성공 메시지가 표시되면 배포 플랫폼의 실제 처리 상태를 확인하세요. 명령이 시작됐다고 업로드가 완료된 것은 아닙니다. beta 기존 beta lane이 있는 프로젝트에만 사용할 수 있습니다. 아카이브 성공 메시지가 표시되면 배포 플랫폼의 실제 처리 상태를 확인하세요. 명령이 시작됐다고 업로드가 완료된 것은 아닙니다.

osxmesh — ssh
$ ssh developer@your-mac-host
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
$ xcodebuild -version
$ cd ~/Projects/App
$ xcodebuild -scheme App archive
** ARCHIVE SUCCEEDED **
$ fastlane beta
Successfully uploaded package to TestFlight

실행한 전체 명령, 최초 오류, 마지막 오류 요약을 기록하세요. “빌드 실패”라는 문구만으로는 문제를 파악하기 어렵습니다.

툴체인 및 코드 서명

Xcode가 프로젝트에 필요한 자료를 인식하도록 설정

macOS 그래픽 인터페이스와 명령줄을 모두 사용할 수 있습니다. 처음 프로젝트를 열 때는 먼저 툴체인을 확인하고 코드 서명을 설정하세요. 시스템에 설치된 Xcode 버전과 현재 선택된 버전은 인스턴스에서 직접 확인한 결과를 기준으로 합니다.

버전 및 종속성 확인

다음을 실행하세요 xcodebuild -version 및 xcode-select -p를 실행하세요. Xcode 설정에서 명령줄 도구 선택을 확인하고 프로젝트에 필요한 SDK와 대상 OS 범위를 점검하세요.

프로젝트에서 CocoaPods, Swift Package Manager 또는 다른 종속성 관리 도구를 사용한다면 프로젝트 안내에 따라 먼저 종속성을 복원하세요. 오류가 발생했다고 모든 도구를 한꺼번에 업그레이드하지 마세요.

코드 서명 인증서 가져오기

보안이 확보된 전송 방법으로 인증서를 인스턴스에 전송한 뒤 키체인 접근에서 필요한 인증서와 개인 키를 가져오세요. 암호로 보호된 파일의 비밀번호는 파일과 다른 경로로 보관하세요.

인증서만 있고 연결된 개인 키가 없으면 해당 ID가 필요한 코드 서명을 완료할 수 없습니다. 개인 키나 인증서 비밀번호를 저장소, 명령 기록, 공개 지원 티켓 첨부 파일에 남기지 마세요.

프로비저닝 프로파일 연결

프로젝트에 필요한 프로비저닝 프로파일을 가져오세요. Bundle Identifier, 팀 식별자, 유효 기간, 배포 유형이 대상과 일치하는지 확인한 다음 각 타깃의 코드 서명 설정을 점검하세요.

처음에는 그래픽 인터페이스에서 재현 가능한 아카이브를 한 번 만들어 보세요. 설정을 확인한 다음 동일한 매개변수를 스크립트나 CI에 적용하면 그래픽 인터페이스와 명령줄 설정의 차이를 줄일 수 있습니다.

명확한 설정 누락부터 해결한 뒤 다시 아카이브하세요
오류 또는 증상 우선 확인할 항목 다음 단계
No signing certificate 현재 키체인에 필요한 서명 ID와 해당 인증서의 개인 키가 있는지 확인하세요. 가져온 자료와 유효 기간을 다시 확인하세요. 같은 인증서를 반복해서 다운로드하는 것만으로는 해결되지 않습니다.
No profiles for… 프로비저닝 프로파일의 앱 ID, 팀, 배포 유형이 현재 타깃과 일치하는지 확인하세요. 일치하는 프로비저닝 프로파일을 가져온 다음 프로젝트의 코드 서명 선택을 확인하세요.
User interaction is not allowed 빌드를 실행하는 사용자, 키체인의 잠금 상태, 서명 도구의 접근 권한을 확인하세요. 데스크톱에서 키체인 잠금 해제와 접근 권한을 확인한 뒤 같은 사용자로 다시 시도하세요.
SDK 또는 대상 버전 불일치 선택된 Xcode 경로, 설치된 SDK, 프로젝트 배포 대상 버전을 확인하세요. 호환되는 툴체인을 선택하세요. 업그레이드하기 전에 프로젝트 종속성을 확인하고 기존 환경을 무작정 덮어쓰지 마세요.
프로젝트는 올리고 빌드 결과물은 내려받기

전송 경로와 빌드 디렉터리를 명확히 구분

소스 코드, 코드 서명 자료, 빌드 결과물을 각각 분리해 보관하세요. 먼저 원격 환경에 프로젝트 디렉터리를 만든 다음 파일을 전송합니다. IPA를 내려받은 뒤에는 파일 크기와 체크섬을 확인하세요. 파일 이름만으로 전송 완료 여부를 판단하지 마세요.

프로젝트를 클라우드 Mac으로 전송

코드 저장소가 있다면 팀의 인증 방식에 따라 인스턴스에서 프로젝트를 가져오세요. 액세스 토큰을 공유 스크립트에 저장하지 마세요. 로컬 디렉터리만 있는 경우 Windows OpenSSH의 scp를 사용하거나 SFTP를 지원하는 도구로 업로드할 수 있습니다.

먼저 원격 터미널에서 실행하세요: mkdir -p ~/Projects그런 다음 아래 PowerShell 명령을 실행하세요. 처음 접속할 때 입력한 세 변수를 그대로 사용하며, 로컬 프로젝트 경로를 입력하라는 메시지가 표시됩니다.

$ProjectPath = Read-Host "로컬 프로젝트 디렉터리 입력"
scp -P $MacPort -r "$ProjectPath" "${MacUser}@${MacHost}:~/Projects/"

참고:ssh 에서 포트를 지정할 때는 소문자 -p를 사용하고,scp 에서는 대문자 -P를 사용합니다. 업로드 전에 대상 디렉터리를 확인해 기존 종속성과 새 프로젝트가 섞이지 않도록 하세요.

IPA를 Windows에 다운로드

Archive와 내보낸 IPA는 서로 다른 파일입니다. 프로젝트에 필요한 내보내기 절차를 먼저 완료한 다음 macOS 터미널에서 ls -lh 를 실행해 IPA의 실제 경로를 확인하세요.

아래 명령에 원격 IPA의 절대 경로와 로컬에 이미 있는 저장 디렉터리를 입력하세요. 경로에 공백이 있으면 따옴표를 유지하고, 다운로드가 끝난 뒤 파일을 확인하세요.

$IpaPath = Read-Host "원격 IPA 절대 경로 입력"
$SavePath = Read-Host "로컬 저장 디렉터리 입력"
scp -P $MacPort "${MacUser}@${MacHost}:$IpaPath" "$SavePath"

체크섬을 확인하려면 Mac에서 shasum -a 256을 실행하고 Windows에서 Get-FileHash -Algorithm SHA256을 실행한 뒤 동일한 파일의 결과를 비교하세요.

증상별 문제 해결

환경에 영향을 주지 않는 점검부터

문제가 발생했을 때 어떤 작업을 하고 있었는지 먼저 기록한 다음 되돌릴 수 있는 조치를 시도하세요. 검은 화면, 키 입력 오류, 디스크 공간 부족이 곧 재설치가 필요하다는 뜻은 아닙니다. 재설치는 기존 환경에 영향을 주므로 첫 번째 해결 방법으로 선택하지 마세요.

브라우저 데스크톱이 검은 화면이거나 오랫동안 표시되지 않음

먼저 인스턴스에 접속할 수 있는 상태인지 확인한 뒤 기존 접속 탭을 닫고 인스턴스 상세 정보에서 다시 접속하세요. 로컬 네트워크에서 장시간 연결을 제한하는지 확인하고 다른 네트워크나 브라우저 세션에서도 시험해 보세요.

SSH로 접속할 수 있다면 명령줄은 정상이고 데스크톱에만 문제가 있다는 점을 기록하세요. 실행 중인 작업을 먼저 저장하고 연속해서 재시작하지 마세요. 두 방법 모두 접속되지 않는다면 인스턴스 상태, 오류 메시지, 발생 시간을 첨부해 지원 티켓을 제출하세요.

키보드 기호가 다르게 입력되거나 단축키가 작동하지 않음

먼저 원격 입력 영역을 클릭하고 영문 입력으로 전환한 뒤 문자, 숫자, 문장 부호를 테스트하세요. macOS 입력 소스와 Windows 키보드 레이아웃을 확인하세요. 로컬 입력기가 입력을 가로채는 문제와 원격 키보드 레이아웃 문제를 구분해야 합니다.

Windows와 macOS는 보조 키 사용 방식이 다르며 일부 키 조합은 로컬 브라우저에서 가로챌 수 있습니다. 먼저 앱 메뉴에서 같은 작업을 수행한 다음 키 매핑을 확인하세요. 포커스가 어디에 있는지 확인하지 않은 채 비밀번호를 입력하지 마세요.

아카이브 중 디스크 공간 부족 오류

macOS 터미널에서 df -h를 실행해 공간이 부족한 볼륨을 먼저 확인하세요. 이전 Archive, 내보낸 결과물, 시뮬레이터 데이터, 프로젝트 캐시를 점검하세요. 정리 전에 더 이상 필요하지 않은지 확인하고 인증서, 소스 코드, 유일한 백업을 캐시로 간주해 삭제하지 마세요.

용량을 추가해야 한다면 +1TB SSD 또는 +2TB SSD 옵션을 확인할 수 있습니다. 확장 용량이 실제로 마운트됐는지, 어느 경로에 마운트됐는지, 프로젝트에서 새 위치를 사용하는지 작업 후 확인하세요. 추가 신청 기록만 보고 현재 볼륨의 용량이 늘었다고 판단하지 마세요.

SSH로 호스트에 접속되지만 인증에 실패함

인스턴스 사용자 이름, 포트, 현재 인증 방식을 하나씩 확인하고 불필요한 공백이 복사되지 않았는지 점검하세요. 키 인증을 사용한다면 지정한 개인 키 파일과 권한을 확인하세요. 개인 키 내용을 지원 티켓 본문에 붙여 넣지 마세요.

재설치 후에는 접속 정보가 달라질 수 있으므로 인스턴스 상세 정보에서 다시 확인하세요. 원래 오류 메시지를 기록하세요. 인증 실패와 연결 시간 초과는 서로 다른 문제이므로 지원 티켓에 단순히 “SSH가 안 됩니다”라고만 쓰지 마세요.

작업이 끝날 때까지 환경 관리

주문에서 갱신을 확인하고 재설치 전에는 백업하세요

노드는 365일 연중 내내 정상 운영됩니다. 대여 권한은 주문 기간에 따라 달라집니다. 장시간 작업을 시작하기 전에 콘솔에 표시된 만료일을 확인하세요. 마지막 빌드가 시작된 뒤에야 갱신을 처리하지 마세요.

만료일 확인

콘솔에 로그인해 주문이나 인스턴스 상세 정보에서 현재 대여 기간과 만료일을 확인하세요. 여러 시간대에 걸쳐 작업한다면 페이지에 표시된 시간과 시간대를 기준으로 확인하고 결제 완료 시간을 만료 시간으로 간주하지 마세요.

소스 코드, 코드 서명 자료, 환경 설정, 빌드 결과물을 각각 별도로 백업하세요. 만료된 서버를 장기 파일 저장소로 사용하지 마세요.

내 주문 보기

다음 대여 기간 선택

일간, 주간, 월간, 분기별 요금제를 지원하며 모든 결제는 미국 달러로 처리됩니다. 콘솔에서 현재 주문에 사용할 수 있는 갱신 옵션과 요금을 확인한 뒤 작업 기간에 맞게 선택하세요.

결제 수단은 USDT-TRC20 및 Visa / Mastercard / Amex(Stripe)만 지원합니다. 실제 사용 가능한 결제 게이트웨이는 백엔드 응답을 기준으로 확인하세요.

전체 요금 확인

재설치 전 백업 목록 작성

재설치는 환경을 새로 준비하는 작업이며 기존 파일을 보존하는 복구 방법이 아닙니다. 먼저 빌드를 중지하고 프로젝트, 인증서, 결과물을 내려받은 뒤 도구 버전, 종속성, 시작 스크립트를 기록하세요.

인스턴스 상세 정보에서 현재 사용할 수 있는 시스템 작업을 확인하세요. 대상 인스턴스와 위험 안내를 확인한 뒤 진행하고, 작업이 끝나면 접속 정보와 툴체인을 다시 확인하세요.

내 인스턴스 관리
확인한 결과를 함께 전달

문제 해결을 이어갈 수 있는 지원 티켓

이미 주문한 서비스에 관한 기술 문제는 콘솔에 로그인해 지원 티켓을 제출하면 해당 인스턴스와 연결해 처리할 수 있습니다. 구매 전 문의, 청구 관련 문의 또는 로그인이 불가능한 경우 support@osxmesh.com으로 연락하세요. 비밀번호, 개인 키, 전체 카드 번호, 인증서 암호는 보내지 마세요.

  1. 01

    대상 인스턴스 명시

    주문 번호나 인스턴스 ID, 모델, 리전을 함께 적어 주세요. 리전은 싱가포르, 도쿄, 서울, 홍콩이며 모델은 Mesh M4 또는 Mesh M4 Pro입니다. “내 Mac”이라고만 적지 마세요.

  2. 02

    문제 발생 과정 설명

    발생 시간과 시간대, 예상 결과, 실제 결과, 마지막으로 정상 작동했던 작업을 적어 주세요. 재현 가능한 최소 단계를 추가하고 문제가 계속 발생하는지 간헐적으로 발생하는지도 구분하세요.

  3. 03

    진단 자료 첨부

    접속 문제라면 브라우저 및 운영체제 버전, 오류 화면 캡처, SSH 사용 가능 여부를 첨부하세요. 빌드 문제라면 도구 버전, 실행한 명령, 최초 오류를 첨부하세요. 캡처와 로그를 업로드하기 전에 민감한 정보를 가리세요.

다음 문제 해결은 확인된 결과에서 이어가세요

인스턴스, 증상, 이미 시도한 단계를 하나의 지원 티켓에 정리하세요. 문의 페이지에서 구매 전 문의, 청구, 기술 문제별로 준비해야 할 정보를 확인할 수 있습니다.