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

create iOS download without symbols #1650

Closed
incanus opened this issue May 27, 2015 · 5 comments
Closed

create iOS download without symbols #1650

incanus opened this issue May 27, 2015 · 5 comments
Assignees
Labels
build iOS Mapbox Maps SDK for iOS
Milestone

Comments

@incanus
Copy link
Contributor

incanus commented May 27, 2015

Not everyone is used to a large static library (300MB+ currently) which includes symbols, since most frameworks aren't open source.

#1234, #1633

We should push dual downloads of each release, one as we do currently and one with debug symbols stripped. Maybe something like:

  • mapbox-gl-ios-X.Y.Z.zip
  • mapbox-gl-ios-symbols-X.Y.Z.zip

It's still the Release build configuration both ways.

@incanus incanus added iOS Mapbox Maps SDK for iOS build labels May 27, 2015
@incanus incanus added this to the iOS Beta 2 milestone May 27, 2015
@incanus incanus self-assigned this Jun 15, 2015
@incanus
Copy link
Contributor Author

incanus commented Jun 15, 2015

Needs some testing, but mostly followed the above scheme — two different release products:

  • mapbox-gl-ios-X.Y.Z.zip
  • mapbox-gl-ios-X.Y.Z-symbols.zip

@incanus
Copy link
Contributor Author

incanus commented Jun 17, 2015

Latest sizes:

  • Unstripped, device & sim: 397.1MB
  • Unstripped, sim only: 161.7MB
  • Stripped, device & sim: 20MB

Big improvement there. I think that means that we increase the size of apps by 20MB, though, in the best case, but need to confirm.

@incanus
Copy link
Contributor Author

incanus commented Jun 17, 2015

  • Basic Objective-C app from Xcode template: 28KB .ipa
  • Same app with unstripped GL integrated showing map view: 1.1MB .ipa
  • Same app with stripped GL integrated and showing map view: 1.1MB .ipa

So, significant increase but totally acceptable in both cases considering OTA apps are limited to 100MB. The end app strips during its archive process.

Really this comes down to the question of whether we make the download/install process easier for devs or not, since the end app won't bloat if we leave symbols in.

Either way, we should document this fact so people know what to expect in their app sizes.

@incanus
Copy link
Contributor Author

incanus commented Jun 17, 2015

Publish process releases two packages per #1650 (comment) and we'll add both to GitHub releases, which gets linked from the binary install process directly.

@incanus
Copy link
Contributor Author

incanus commented Jun 18, 2015

Note that we'll have to do stuff like 7bef7b3 in order to use symbols-laden builds for internal testing apps.

$ pod update
Update all pods
Analyzing dependencies
Fetching podspec for `MapboxGL` from `https://raw.githubusercontent.com/mapbox/mapbox-gl-native/release-v0.4.0/ios/MapboxGL.podspec`
Downloading dependencies
Installing MapboxGL 0.4.0-rc.1-symbols (was 0.3.5)
Generating Pods project
Integrating client project

1ec5 added a commit that referenced this issue Jun 18, 2015
Errors caused by client code should be communicated through NSExceptions. NSAsserts are intended for internal usage; because they include helpful information like the absolute path to the file containing the assertion, stripping the build (#1650) also strips assertion messages. Also replaced hardcoded references to methods in these messages with __PRETTY_FUNCTION__, which avoids future copy-pasta and handles cases in which the MGL class has been subclassed.
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
Projects
None yet
Development

No branches or pull requests

1 participant