Building Apps against large Cafex iOS binaries

Building Apps against large Cafex iOS binaries

Introduction

It has been noted there can be difficulties checking large Cafex binaries into code repositories.

However committing large binaries (even ones under 100MB) to version control is not the best way to approach your build needs for the following reasons:

  • Version Control systems are rarely good at versioning binary files.
  • Small changes to our source can result in a binary that, at that level (i.e. byte-for-byte), is significantly different thus it's hard for VCS to create a "diff".
  • Compression also affects the "diff".
  • Storing binaries becomes wasteful I.e. Committing builds 1, 2 and 3 of a 100mb file will result in the version control repo being 300mb (to all intents and purposes), not 100mb + a bit extra for the diffs.
  • Github (along with other companies) have been working on GitLFS - https://git-lfs.github.com/ - to address this problem. However we would suggest that using your build system to download binary artefacts is more efficient than storing those binaries in version control.

Solution

The build process should be pulling in the binary, which is then built/compiled into the app. There is no need to attempt to do this at runtime.

Xcode will strip out the parts of binaries it determines it doesn't need depending on the project build settings and the target devices.

Have more questions? Submit a request

Comments

Powered by Zendesk