iOS 개발 시작하기 Getting Started with iOS Development

iOS를 위한 개발 Developing for the iOS

iPhone/iPad같은 기기를 위한 게임을 빌드하는 것은 데스크톱 PC 게임들의 경우와 다른 방식을 취하게 됩니다. PC 마켓과는 달리 사용자의 목표 하드웨어는 표준화 되어졌고 전용 비디오 카드가 있는 컴퓨터만큼 빠르거나 강력하지 않습니다. 그렇기 때문에 사용자는 이러한 플랫폼들을 위해서는 약간 다른 게임 개발 방식이 필요할 것입니다. 또한 유니티에서 iOS를 위한 기능들은 데스크탑 PC들을 위한 유니티의 기능들과 약간 다릅니다.

사용자의 애플 개발자 계정 설정하기 Setting Up Your Apple Developer Account

사용자가 유니티 iOS 게임을 실제 디바이스에서 사용하기 전에 사용자는 사용자의 애플 개발자 계정이 승인받고설정될 필요가 있습니다. 이것은 사용자의 팀을 정하는 것, 사용자의 기기를 추가하는 것 그리고 사용자의 표준 프로필을 확정짓는 것을 포함합니다. 이 모든 셋업은 애플의 개발자 웹사이트를 통해서 실행됩니다. 이것은 복잡한 과정이기 때문에 우리는 사용자가 사용자의 iOS 기기에서 코드를 실행할 수 있기 전에 완료되어야만 하는 일들에 대한 기본 아웃라인을 제공합니다. 그러나 가장 좋은 것은 Apple's iPhone Developer portal로부터 지시사항을 하나하나씩 차례대로 따르는 것입니다.

_참고_: 애플 개발자 계정이 iOS 개발시 유니티의 모든 기능을 최대한 사용하기 위해 필요되기 때문에 우리는 진행 전에 사용자가 사용자의 애플 개발자 계정을 먼저 설정을 마치는 것을 권장합니다.

iOS 기능 사용하기 Access iOS Functionality

유니티는 멀티-터치 스크린, 가속도계, 기기의 지리적 위치 등 더 많은 것들에 접근하기 위해 많은 수의 스크립팅 API 들을 제공합니다. 사용자는 iOS scripting page에서 새로운 스크립트 클래스들에 대해 더 많은 것을 찾을 수 있습니다.

스크립트에 네이티브 C, C++ 또는 Objective-C 노출하기 Exposing Native C, C++ or Objective-C Code to Scripts

유니티는 사용자가 C# 스크립트로 부터 C, C++ 또는 Objective-C로 쓰여진 사용자 정의 네이티브 함수를 호출하도록 허용합니다. 함수들을 어떻게 연결 bind 하는지에 대해 알고 싶다면 plugins page를 방문해 보시기 바랍니다.

앱 내 구매기능을 위한 사용자 앱 준비 Prepare Your Application for In-App Purchases

유니티 iOS 런타임은 사용자가 새로운 컨텐츠를 다운로드하게 해주며 사용자가 앱 내에서의 구매기능을 구현하기 원할때 이 특성을 사용할 수 있습니다. 더 많은 정보를 원한다면 downloadable content page를 방문해 주세요.

오클루젼 컬링 Occlusion Culling

유니티는 많은 오브젝트들이 포함된 복잡한 씬에서 가장 높은 성능을 쥐어짜낼때 편리한 오클루젼 컬링 occlusion culling을 지원합니다. 더 많은 정보를 알고 싶다면 occlusion culling page를 방문해 주세요.

스플래쉬 스크린 커스터마이제이션 Splash Screen Customization

사용자가 기기에서 사용자의 게임을 시작할 때 나타나는 이미지를 바꾸는 법을 알고 싶다면 splash screen customization page를 방문해 주세요.

문제해결과 충돌 보고 Troubleshooting and Reporting Crashes

사용자의 기기에서 자꾸 충돌이 일어난다면 how to troubleshoot on iOS 페이지에서 자주 일어나는 문제점과 해결책에 대한 내용들을 참고해 주세요. 하지만 만약 여기서 해결방법을 찾을 수 없다면 그 충돌에 관한 버그 보고서를 보내주세요. (유니티 에디터 안에서 메뉴: Help > Report A Bug)

iOS에서읭 충돌 버그 보고하기 Reporting Crash Bugs on iOS

우리는 유효한 버그 리포트를 환영합니다. 그러나 troubleshooting on iOS page를 먼저 살펴보시기를 바랍니다.

어떻게 유니티의 iOS 와 데스크톱 타겟이 달라지는가 How Unity’s iOS and Desktop Targets Differ

Statically Typed JavaScript

자바 스크립트에서 동적 타이핑 Dynamic typing 은 iOS를 타켓으로 할때 유니티에서 항상 꺼둡니다 (이것은 #pragma strict가 사용자의 모든 스크립트들에 자동적으로 더해지는 것과 같습니다). 정적 타이핑 Static typing 은 성능을 매우 향상시키고 이것은 iPhone/iPad 디바이스에서 특별히 매우 중요합니다. 사용자가 기존의 유니티 프로젝트를 그 iOS 타겟으로 바꿀때, 사용자가 동적 타이핑을 사용한다면 사용자는 컴파일 에러를 받게 될 것입니다. 사용자는 이것둘을 에러를 일으키는 변수들을 위한 명시적 선언 타입들을 사용하거나 타입 유추 type inference 를 이용함으로써 쉽게 고칠수 있습니다.

Ogg Vorbis 오디오 압축 대신 MP3 MP3 Instead of Ogg Vorbis Audio Compression

성능적인 이유로 인해 iPhone/iPad 기기들에서 MP3 압축이 선호됩니다. 사용자의 프로젝트가 Ogg Vorbis 압축된 오디오 파일을 포함한다면 그들은 빌드하는 동안 MP3로 재압축될 것입니다. iPhone에서 압축된 오디오의 사용에 대한 더 많은 정보를 위해서는 audio clip 문서를 참고하세요.

DXT 텍스쳐 압축 대신에 PVRTC PVRTC Instead of DXT Texture Compression

유니티 iOS는 DXT 텍스쳐를 지원하지 않습니다. 대신 PVRTC 텍스쳐 압축이 iPhone/iPad에서 네이티브 지원됩니다. iOS 텍스쳐 포맷에 대한 더 많은 정보를 원하면 texture import settings 문서를 참고하세요.

무비 재생 Movie Playback

MovieTextures는 iOS에서 지원되지 않습니다. 대신 전체 화면 스트리밍 재생이 스크립팅 함수를 통해서 제공됩니다. 지원되는 파일 포맷과 스크립팅 API에 대해서 배우려면 movie page를 참고하시기 바랍니다.

더 읽을거리 Further Reading

(:tocportion:)

역링크