2017-11-27 1 views
0

2012 년 Objective-C에서 처음으로 iOS 앱을 작성했습니다. 앱 파일, dSYMs 파일 등 전체 아카이브 크기는 1MB 미만이었습니다. Xcode 9를 사용하여 Swift에서 최근에 다시 작성했으며 아카이브 크기는 이제 160MB입니다. 모든 공간을 차지하는 것은 무엇입니까? Swift 코드는 Objective-C 코드와 매우 유사하고 실제로는 더 작은 금액이기 때문에 이것은 내 코드가 아닙니다.내 Swift 앱 아카이브가 너무 큰 이유는 무엇입니까?

다른 앱에서 Google지도를 사용하고 있는데 아카이브 크기가 거의 절반 인 것으로 나타났습니다. 최근의 모든 Swift 앱이 매우 크다는 것을 알게 될 때까지 Google지도 라이브러리가 모든 공간을 차지하고 있을지도 모른다고 생각했습니다. 내 관련된 질문은 : 필요한 경우 Bitcode를 사용하도록 설정하고 .app 파일 크기가 200MB 인 경우 사용자의 iPhone에 실제로 얼마나 많은 양이 다운로드되는지?

답변

2

모든 Swift 앱에는 Swift 런타임이 정적으로 링크되어 있습니다. 그 이유는 여전히 안정적인 ABI를 달성하지 못했기 때문에 다른 버전의 컴파일러로 컴파일 된 Swift 앱은 동일한 런타임을 공유 할 수 없기 때문입니다.

+0

Yikes. 그게 사실이라면 그건 말도 안돼. 왜 앱은 실행에 필요한 런타임을 포함하고 사용하지 않는 코드를 가지고 다니지 않을 수 있습니까? – KenM

+0

@KenM 아마 그 코드가 내 추측 일 필요가 있기 때문일 것입니다. – JeremyP

관련 문제