Opened on 09/12/2017 at 12:23:15 AM
Closed on 09/19/2017 at 07:19:28 AM
#5657 closed change (fixed)
Create a build script to strip simulator slices from frameworks built by Carthage to use when creating an archive for distribution
Reported by: | dzhang | Assignee: | dzhang |
---|---|---|---|
Priority: | Unknown | Milestone: | Adblock-Plus-for-iOS-next |
Module: | Adblock-Plus-for-iOS/macOS | Keywords: | |
Cc: | mario, tiago, ashephard, CraftyDeano | Blocked By: | |
Blocking: | Platform: | iOS | |
Ready: | no | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description (last modified by dzhang)
Background
The app store does not accept simulator slices (i386, x86_64) in frameworks.
Dynamic frameworks are copied into an ipa with all slices intact, whereas static frameworks are compiled in.
The solution is to strip simulator slices from dynamic frameworks.
Why not use Carthage’s copy frameworks? It slows down every single build unnecessarily - it has been reported to slow down CI.
As an example, running the following before producing an archive for distribution accomplishes the stripping as needed for a single framework (in this case, YAJL):
$ lipo -remove i386 -output yajl.framework/yajl yajl.framework/yajl
$ lipo -remove x86_64 -output yajl.framework/yajl yajl.framework/yajl
What to change
Create a script that can be run before producing an archive that performs the needed stripping of frameworks built by Carthage. The script should not have to run for any other build.
Attachments (0)
Change History (4)
comment:2 Changed on 09/14/2017 at 11:26:28 PM by dzhang
- Owner set to dzhang
comment:3 Changed on 09/15/2017 at 01:18:39 AM by dzhang
- Review URL(s) modified (diff)
- Status changed from new to reviewing
comment:4 Changed on 09/19/2017 at 07:19:28 AM by dzhang
- Resolution set to fixed
- Status changed from reviewing to closed