How can i reduce __TEXT segment size?

My App failed to submit due to app size problem before, and the following build options were applied.

So I could submit an app.


*. Dead Code Stripping(DEAD_CODE_STRIPPING) : YES

*. Enable C++ Exceptions(GCC_ENABLE_CPP_EXCEPTIONS) : NO


But at this time, I can not submit my App architecture because of the following issue in arm64 architecture.

ERROR ITMS-90122 : "Invalid ExecutableSize. The size of your app`s executable file '******' is 60948500 bytes for architecture 'arm64', which exceeds the maximum allowed size of 60MB."


Exactly, the size of the '__TEXT,__text' section`s size is overflow.

Is there a way to solve this problem while keeping Deployment Target(8.0)?


----------------My App Build Settings---------------

iOS Deployment Target : 8.0

Devices : Universal

Validate Architecture : arm64 armv7 arm7s

Build Active Architecture Only : NO


Strip Debug Symbols During Copy : YES

Strip Linked Product : YES

Strip Style : All Symbols


DeadCode Stripping : YES

Optimization Level : Fastest, smallest(-Os)

Enable C++ Exceptions : NO


--------------------------------------------------------------

Accepted Reply

There are two things you can do:

1. Keep data out of code.

If you have significant amounts of data compiled into your binary, such as long strings or tables, it makes more sense to pull that data out of the binary into a file that is packaged as part of your app instead, and to read the file into memory as needed.


2. Look for places where parts of your code can be moved out of the main executable and into a framework instead. Frameworks are supported with your iOS 8 deployment target.

Replies

There are two things you can do:

1. Keep data out of code.

If you have significant amounts of data compiled into your binary, such as long strings or tables, it makes more sense to pull that data out of the binary into a file that is packaged as part of your app instead, and to read the file into memory as needed.


2. Look for places where parts of your code can be moved out of the main executable and into a framework instead. Frameworks are supported with your iOS 8 deployment target.