Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

iOS로 내보내기

더 보기

이 페이지는 Godot 프로젝트를 iOS로 내보내는 방법을 설명합니다. 소스로부터 내보내기 템플릿 바이너리를 컴파일하고자 한다면, 대신 iOS용 컴파일를 읽으세요.

Xcode에 Godot 프로젝트를 불러오려면 몇 가지 과정이 필요합니다. 이렇게 하면 iOS 기기에 빌드하고 배포할 수 있고, App Store에 출시할 수 있으며, Xcode에서 하는 다른 것도 정상적으로 할 수 있습니다.

주의

C#으로 작성된 프로젝트는 Godot 4.2부터 iOS로 내보낼 수 있지만 지원은 실험적이며 :ref:`몇 가지 제한 사항이 적용 <doc_c_sharp_platforms>`입니다.

요구 사항

  • 반드시 Xcode가 설치된 macOS 컴퓨터에서 iOS를 내보내야 합니다.

  • Godoy 내보내기 템플릿을 다운로드하세요. Godot 메뉴를 사용하세요: 편집기 > 내보내기 템플릿 관리

Godot 프로젝트를 Xcode로 내보내기

Godot 편집기에서, 프로젝트 메뉴에서 내보내기 창으로 갑니다. 내보내기 창이 열리면, 추가하기..를 클릭하고 iOS를 선택합니다.

The App Store Team ID and (Bundle) Identifier options in the Application category are required. Leaving them blank will cause the exporter to throw an error. The bundle ID must be unique.

참고

A valid bundle ID can only contain alphanumeric characters, hyphens, and periods (A-Z, a-z, 0-9, -, and .). Apple recommends using reverse-DNS format (e.g. com.example.your-game) of a domain you own, so that your bundle ID is guaranteed to be unique. Bundle IDs are case-insensitive. See CFBundleIdentifier.

참고

내보내기 중에 다음과 유사한 오류가 발생하는 경우
JSON text did not start with array or object and option to allow fragments not set
그렇다면 형식이 잘못된 App Store 팀 ID 때문일 수 있습니다!
내보내기자는 ``ABCDE12XYZ``와 같은 (10자 길이) 코드를 기대하지만 Xcode가 서명 및 기능 탭에 표시하기를 좋아하는 귀하의 이름은 기대하지 않습니다.
`developer.apple.com <https://developer.apple.com/account/resources/certificates/list>`_에서 오른쪽 상단의 이름 옆에 있는 코드를 찾을 수 있습니다.

프로젝트 내보내기를 클릭한 뒤에도, 두 개의 중요한 옵션이 남아있습니다:

  • 경로는 내보낸 Xcode 프로젝트 파일이 들어가는 빈 폴더입니다.

  • 파일은 Xcode 프로젝트의 이름과 여러 프로젝트 별 파일과 디렉터리의 이름이 될 것입니다.

../../_images/ios_export_file.webp

참고

이 튜토리얼은 exported_xcode_project_name을 사용하지만, 나중엔 당신의 프로젝트 이름을 사용할 것입니다. 다음 단계에서 exported_xcode_project_name을 본다면, 그곳을 당신이 사용하는 이름으로 바꾸면 됩니다.

참고

exported_xcode_project_name 을 지정할 때 공백 문자를 사용하면 XCode 프로젝트 파일이 손상될 수 있으므로 공백 문자 사용을 피하세요.

내보내기를 마치면, 출력 폴더는 다음과 같아야 합니다:

../../_images/ios_export_output.webp

경고

The iOS simulator only supports the Compatibility renderer.

Apple Silicon Macs can run iOS apps natively, so you can run exported iOS projects directly on an Apple Silicon Mac without iOS simulator limitations.

exported_xcode_project_name.xcodeproj를 열면 다른 iOS 앱처럼 게임을 빌드하고 배포할 수 있게 됩니다.

능동적 개발 고려사항

위의 방법으로 프로젝트를 내보내서 출시를 위한 빌드를 할 수 있지만, Godot에서 변경사항이 있다면 그 때마다 다시 내보내어야 합니다.

개발 도중, Godot 프로젝트 파일을 앱에 직접 연결함으로써 이 처리 속도를 높일 수 있습니다.

다음 예시에서:

  • exported_xcode_project_name은 내보낸 iOS 애플리케이션의 이름입니다 (위와 같이).

  • godot_project_to_export는 Godot 프로젝트의 이름입니다.

참고

XCode에서 서명 관련 문제가 발생하는 것을 막기 위해 godot_project_to_export 의 이름은 exported_xcode_project_name 과 달라야 합니다.

iOS 용 플러그인

Special iOS plugins can be used in Godot. Check out the 간단한 플러그인 만들기 page.

환경변수

다음 환경 변수를 사용하여 편집기 외부에서 내보내기 옵션을 설정할 수 있습니다. 내보내기 프로세스 중에 이는 내보내기 메뉴에서 설정한 값보다 우선 적용됩니다.

iOS 내보내기 환경 변수

내보내기 옵션

환경 변수

암호화 / 암호화 키

GODOT_SCRIPT_ENCRYPTION_KEY

옵션 / 애플리케이션 / 프로비저닝 프로필 UUID 디버그

GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG

옵션 / 애플리케이션 / 프로비저닝 프로파일 UUID 릴리스

GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE

문제 해결

잘못된 SDK 위치의 xcode 선택 지점

xcode-select는 Xcode와 함께 제공되는 도구이며 무엇보다도 Mac의 iOS SDK를 가리킵니다. Xcode를 설치하고 열고 라이선스 계약에 동의하고 명령줄 도구를 설치한 경우 xcode-select는 iPhone SDK의 올바른 위치를 가리켜야 합니다. 그렇지 않으면 Godot는 다음과 같은 오류와 함께 iOS로 내보내기에 실패할 것입니다:

MSB3073: The command ""clang" <LOTS OF PATHS AND COMMAND LINE ARGUMENTS HERE>
"/Library/Developer/CommandLineTools/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"" exited with code 1.

이 경우 Godot는 /Library/Developer/CommandLineTools/ 폴더 내에서 iPhone SDK가 포함된 Platforms 폴더를 찾으려고 시도하지만, iPhone SDK가 포함된 Platforms 폴더는 실제로 /Applications/Xcode.app/Contents/Developer 아래에 있습니다. 이를 확인하려면 터미널을 열고 다음 명령을 실행하여 xcode-select가 가리키는 지점을 확인할 수 있습니다.

xcode-select -p

잘못된 위치를 가리키는 xcode-select를 수정하려면 터미널에 다음 명령을 입력하세요.

sudo xcode-select -switch /Applications/Xcode.app

이 명령을 실행한 후 Godot는 iOS로 성공적으로 내보낼 수 있어야 합니다.

내보내기 옵션

EditorExportPlatformIOS 클래스 참조에서 사용 가능한 내보내기 옵션의 전체 목록을 찾을 수 있습니다.