1 Reply
      Latest reply on Mar 27, 2017 12:17 PM by edford
      seung yeob Level 1 Level 1 (0 points)

        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

         

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

        • Re: How can i reduce __TEXT segment size?
          edford Apple Staff Apple Staff (705 points)

          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.

          1 of 1 people found this helpful