Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Investigate dSYM size decrease between v3.3.6 and v3.4.0 #7029

Closed
1ec5 opened this issue Nov 11, 2016 · 5 comments
Closed

Investigate dSYM size decrease between v3.3.6 and v3.4.0 #7029

1ec5 opened this issue Nov 11, 2016 · 5 comments
Assignees
Labels
build iOS Mapbox Maps SDK for iOS performance Speed, stability, CPU usage, memory usage, or power usage

Comments

@1ec5
Copy link
Contributor

1ec5 commented Nov 11, 2016

Building the iOS SDK with Xcode 8 would decrease the framework size significantly. Unfortunately, #6842 is keeping us on Xcode 7.3.

Since it’s only the dynamic framework that’s giving Xcode 7.3 users problems, I’m wondering whether we could ship an unstripped dynamic framework and add code in strip-frameworks.sh to strip that framework (in addition to stripping out irrelevant architecture slices as it does now). As it is, you can’t submit to the App Store without having strip-frameworks.sh in a Run Script build phase, so this should cover anyone who needs to use the dynamic framework in a simulator that comes with Xcode 7.3.

Putting on the 3.4.0 milestone for consideration for a beta.

/cc @boundsj

@1ec5 1ec5 added build iOS Mapbox Maps SDK for iOS labels Nov 11, 2016
@1ec5 1ec5 added this to the ios-v3.4.0 milestone Nov 11, 2016
@boundsj boundsj self-assigned this Nov 17, 2016
@boundsj
Copy link
Contributor

boundsj commented Nov 17, 2016

Here are some notes I took while investigating this a bit more yesterday

  • The 3.3.x series branch, when built with Xcode 7.3.1 produces a 50 MB symbol stripped dynamic framework and a 190 MB dSYM
  • The 3.3.x series branch when built with Xcode 8.0 produces a 38 MB symbol stripped dynamic framework and a 190 MB dSYM
  • The latest 3.4.0 beta, built with Xcode 7.3.1 has a 49 MB symbol stripped dynamic framework and a 34.5 MB dSYM
  • The latest 3.4.0 beta, built with Xcode 8.0 has a 37.5 MB symbol stripped dynamic framework and a 36.7 MB dSYM

I think we should use Xcode 8.0+ for future builds. Although we are left with the issue for Xcode 7.3.1 users.

@1ec5 I’m wondering whether we could ship an unstripped dynamic framework and add code in strip-frameworks.sh to strip that framework

I'm not sure if I understand how to pull this off. We currently ship an unstripped (i.e. does not have strip -Sx run on it) mapbox-ios-sdk-#.#.#-symbols-dynamic.zip output that works fine in an Xcode 7.3.1 swift environment. But it would fail if we suggested stripping it in a build phase, I think. But I'm sure I'm missing something.

I'd also like to investigate the large decrease in dSYM size on the 3.4.0 branch. We've gone from ~100 MB to close to 200 MB (in more recent 3.3.x version built with Xcode 7.3.1) to ~37 MB in the 3.4.0 branch using Xcode 8.0

@boundsj boundsj removed their assignment Nov 30, 2016
@boundsj boundsj self-assigned this Jan 8, 2017
@1ec5
Copy link
Contributor Author

1ec5 commented Jan 11, 2017

We shipped v3.3.7 built in Xcode 8; there’s no going back to Xcode 7.3. ⏩ It’s too late in the game to try shipping an unstripped dynamic framework. Do we need to investigate the dSYM size decrease as part of this task for the v3.4.0 release?

@boundsj
Copy link
Contributor

boundsj commented Jan 11, 2017

Do we need to investigate the dSYM size decrease as part of this task for the v3.4.0 release?

At this point I'd say no (at least I would not want to block the release on this investigation). A size decrease is a good thing and we seem to be getting nicely symbolicated crash reports from the latest version.

@1ec5 1ec5 changed the title Build iOS SDK with Xcode 8 Investigate dSYM size decrease between v3.3.6 and v3.4.0 Jan 11, 2017
@1ec5 1ec5 modified the milestones: ios-3.4.1, ios-v3.4.0 Jan 11, 2017
@1ec5 1ec5 added performance Speed, stability, CPU usage, memory usage, or power usage and removed needs information labels Jan 11, 2017
@1ec5
Copy link
Contributor Author

1ec5 commented Jan 11, 2017

OK, I pushed this investigation to v3.4.1.

@1ec5
Copy link
Contributor Author

1ec5 commented Jan 24, 2017

Closing; we can reopen if we see any issues related to the size decrease.

@1ec5 1ec5 closed this as completed Jan 24, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build iOS Mapbox Maps SDK for iOS performance Speed, stability, CPU usage, memory usage, or power usage
Projects
None yet
Development

No branches or pull requests

2 participants