3

In the last month I uploaded two Builds for TestFlight. On ItunesConnect, one has a size of 63MB, while the other is 160MB! To make it worse: It shows 195MB on TestFlight, and regarding other posts, it will be double the size on the App Store!

Frameworks / libraries I use:

  • Facebook SDK: I Inlcude FBSDKCoreKit and FBSDKLoginKit. (Just drag and drop the .framework items into the project.
  • Alamofire, both versions contained the swift 2.0 pre-release branch (Xcode 7 was still in beta). I Included this by drag and drop the .xcodeproj into my app.
  • Google Cloud Messeging, downloaded via CocoaPods.

regarding changes:

  • I updated the FacebookSDK to the latest SDK (v4.6.0). To check if this was the issue, I included the old SDK again, and check the file size, but that did not make any difference.
  • I updated Alamofire, included the offcial release through cocoapods. Including via cocoapods increases the file size by 17MB so I switched back to including the .xcodeproj in my project.

Regarding code: Nothing big, just bug fixes.

I have bitcode disabled for my app because GCM doesn't support this yet, it is supported for the Facebook SDK and Alamofire.

I'm really wondering why the file size changed so dramatically. It is probably something around the release of Xcode 7, because the lower file size version was published while using Xcode 7 beta.

On Itunes Connect, it says: Supported Architectures: armv7, arm64 and Required Capabilities armv7

Is it a good thing to send a 32bit version of the app? Will this reduce file size? Will it reject my app?

Any ideas?

CularBytes
  • 9,924
  • 8
  • 76
  • 101
  • The app store requires a 64-bit slice in your app binary now. No getting around shipping a armv7 / arm64 binary. Just arm64 might work though, not positive on that. – Sandy Chapman Sep 16 '15 at 10:43
  • Hmm ok, but it says amv7 required? Will it actually decrease my filesize? – CularBytes Sep 16 '15 at 10:44
  • Possibly, but you'd be dropping support for the iPhone 5C and below and the iPad 3rd gen and below. These devices don't support arm64. Here's a site with [some additional details](http://iossupportmatrix.com/). – Sandy Chapman Sep 16 '15 at 10:48
  • Another question. Have you popped open the .ipa and taken a look at the file sizes? It might be useful to see what's causing the largest increase in your bundle size. – Sandy Chapman Sep 16 '15 at 10:50
  • 1
    Thanks Sandy for the help, I extracted the ipa file and noticed I had two fonts included, `.ttc` extensions which I got from the mac itself, they are huge! 71MB and 80MB. – CularBytes Sep 16 '15 at 14:35
  • I've converted my comment to an answer. Feel free to accept so that others who come to the question have an accepted answer to help them out. – Sandy Chapman Sep 16 '15 at 14:37

1 Answers1

5

Try popping open the .IPA and take a look at the file sizes. It might be useful to see what's causing the largest increase in your bundle size. Code by itself shouldn't be causing the size increases, so it's likely that you're including an asset that is causing the size increases.

If you have an IPA file, you can change the file extension to .zip and double click to extract it. It should produce a "Payload" folder with the contents of the app inside.

Sandy Chapman
  • 11,133
  • 3
  • 58
  • 67
  • 2
    Probably add some guidelines on getting ipa file from for example archive: http://testdroid.com/tech/tipstricks-how-to-archive-and-export-ipa-from-script – CularBytes Sep 16 '15 at 17:49
  • Where in "Payload" do you find the additional weight of a cocoapods file? I don't see it. All I see is my app, and the OnDemandResources folder. The app also doesn't have anything unusual. Even my Frameworks folder is empty. – Erika Electra May 29 '17 at 23:02