ios용 앱은 한번도 빌드해본 적이 없기 때문에, 인터넷에 있는 정보들을 요약하여 정리하였습니다.
Enable Bitcode
앱 스토어에 업로드되어 Apple의 서버에서 사용자에게 제공되기 전에
특정 기기 아키텍처를 위해 다시 컴파일할 수 있도록 설계되어 유저에게
성능 향상 및 더 작은 앱 크기를 제공할 수 있다.
비트코드(Enable Bitcode)는
앱의 컴파일된 이진 파일에 비트코드가 포함되는지 여부를 결정하는 Xcode의 옵션이다.
이때 비트코드를 비활성화하는 것은
서비스 연결 등 호환성 문제가 있는 경우 좋은 선택이 될 수 있다. (비록 앱 크기는 커지더라도)
Bitcode 비활성화하기
Player Setting의 Other Settings 섹션에 보면 옵션이 있다.
스크립트에서 수정한다면 PostProcessBuild 콜백을 활용할 수도 있다.
Unity는 빌드 프로세스 전후에 사용자 지정 작업을 수행할 수 있는 'PreProcessBuild' 및 'PostProcessBuild'라는 두 가지 빌드 콜백을 제공한다. 이 두 콜백의 주요 차이점은 실행 타이밍에 있다.
PreProcessBuild
이 콜백은 빌드 프로세스가 시작되기 전에 호출된다.
실제 빌드 프로세스가 시작되기 전에 프로젝트 설정, 에셋을 수정하거나 기타 사전 빌드 작업을 수행할 수 있다.
설정을 조정하거나, 데이터를 준비하거나, 빌드에 필요한 설정을 수행해야 할 때 유용하다.
- 예제 코드
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;
class MyCustomBuildProcessor : IPreprocessBuildWithReport
{
public int callbackOrder { get { return 0; } }
public void OnPreprocessBuild(BuildReport report)
{
Debug.Log("MyCustomBuildProcessor.OnPreprocessBuild for target " + report.summary.platform + " at path " + report.summary.outputPath);
}
}
PostProcessBuild
이 콜백은 빌드 프로세스가 완료된 후 호출된다.
빌드가 생성된 후 추가 작업이나 수정을 수행할 수 있는 기회를 제공한다.
이 콜백을 사용하여 추가 파일 복사, 빌드 출력 수정, 빌드 완료 후
외부 스크립트 실행과같은 작업을 수행할 수 있다.
- 예제 코드: UnityEditor 네임스페이스를 사용하려면, 해당 네임스페이스를 선언한 스크립트는 Editor 폴더 안에 있어야 한다.
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
public class MyBuildPostprocessor {
[PostProcessBuildAttribute(1)]
public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) {
Debug.Log( pathToBuiltProject );
}
}
'유니티 개발 기술 > 멀티플랫폼 개발' 카테고리의 다른 글
Platform Dependent Compilation (0) | 2023.07.31 |
---|---|
WEBGL 빌드 관련 팁 (0) | 2023.07.15 |