2011-03-06 1 views
0

Unity 3D 엔진을 사용하여 iPhone 응용 프로그램을 구축하고 컴파일을 위해 Xcode 프로젝트를 생성 할 때 상당히 큰 라이브러리가 포함됩니다 : Mono .Security.dll.s, System.dll.s, System.Core.dll.s 등Xcode가 특정 라이브러리에 연결하기로 결정한 이유 알아보기

이 질문이 정말로 Xcode 질문인지 또는 Unity 질문인지는 모르겠지만 시도하고 있습니다. 을 알아 내려면 각 라이브러리가 링크되고있는 중 (어떤 함수/클래스가 참조되고 있는지) 이상적으로 가능한 한 많은 종속성을 제거하기 위해 코드를 다시 작성할 수 있어야합니다. 아무도이 정보를 찾는 방법을 알고 있습니까?

답변

1

외부 어셈블리를 사용하고 있습니까? 그렇다면 소스 코드를 받아서 무엇을 포함하고 있는지 확인해야합니다. 때때로 불필요한 의존성을 제거하기 위해 외부 어셈블리의 내용을 비활성화 할 수 있습니다.

유니티의 "프로젝트 설정 -> 플레이어"메뉴로 이동하여 스트립 레벨이 가능한 한 높게 설정되어 있는지 확인하십시오. 스트리핑은 System.Core를 Linq와 같은 것들을 포함하지 않는 mscorlib과 바꾸려고합니다.

특정 어셈블리가 포함 된 이유를 찾는 방법은 MonoDevelop 솔루션의 참조 섹션을 열고 어셈블리를 두 번 클릭하는 것입니다. 그러면 어셈블리 브라우저가 열리 며 특정 어셈블리에 의존하는 네임 스페이스에 대한 아이디어를 얻을 수 있습니다.

+0

감사합니다. MonoDevelop 팁은 검색 대상에 대한 힌트를 제공하더라도 매우 유용합니다. – andygeers

+0

@andygeers - 내 프로젝트는 거의 항상 시스템 및 모노로 끝납니다. 보안. System.Core는 이례적인 것입니다. – Calvin

0

이 DLL은 Unity3D 프로젝트에 추가되었으며, Xcode와 관련이 없습니다. Unity3D의 어떤 버전을 사용합니까? 프로젝트 설정 (Inspector)에서 최적화 옵션을 조정 해보십시오 (특히 '스트립 핑').

+0

Unity에 의해 추가 된 것을 알고 있지만, Xcode가 존재하는 참조를 찾을 수 있는지 궁금해했습니다. – andygeers

관련 문제