-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Copy bcsymbolmap files to build products folder when archiving #2759
Conversation
@@ -111,6 +111,14 @@ xcrealmswift() { | |||
xc "-project $PROJECT $@" | |||
} | |||
|
|||
copy_bcsymbolmap() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could just be find "$1" -name '*.bcsymbolmap' -type f -exec cp {} "$2" \;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, thanks.
d8f0150
to
fda411d
Compare
echo "Copy .bcsymbolmap files to .xcarchive" | ||
mv Realm.framework/*.bcsymbolmap RealmSwift.framework/*.bcsymbolmap "${CONFIGURATION_BUILD_DIR}" | ||
else | ||
# Delete *.bcsymbolmap files from framework bundle unless archiving |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this says archiving, but above you're checking for "$ACTION" = "install"
. Are those actually the same?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, ACTION
variable is to be build
, clean
, install
, installhdrs
, and installsrc
. I confirmed the variable will be install
when archiving.
Out of curiosity, how much larger does this make the binaries? |
@jpsim The size of each symbol files is 350KB for Realm and 150KB for RealmSwift. Compressed total size is around 200KB. |
1. Copy bcsymbolmap files to framework bundle 2. Move bcsymbolmap files from bundle to xcarchive whenever archiving
fda411d
to
7cc31db
Compare
|
||
if [ "$ACTION" = "install" ]; then | ||
echo "Copy .bcsymbolmap files to .xcarchive" | ||
find . -name '*.bcsymbolmap' -type f -exec mv {} "${CONFIGURATION_BUILD_DIR}" \; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kishikawakatsumi I've generalized this so strip-frameworks.sh
works for any framework, like the rest of this script. Could you please test this?
@kishikawakatsumi feel free to merge this once you've confirmed that my latest change is correct. |
@jpsim Thanks. I've confirmed/tested to work if other frameworks contain |
Copy bcsymbolmap files to build products folder when archiving
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
Copied strip-frameworks.sh from realm/realm-swift@7cc31db for realm/realm-swift#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
*.bcsymbolmap
files are necessary to submit an app with including debug symbols. If there are no those files, following error occurs unless uncheck "include app symbols ..."This PR makes it include the
*.bcsymbolmap
files to the each framework bundles. Those files are moved to an app bundle when archiving.See also:
Missing BCSymbolMap for AppStore Submission - Xcode7B5
/cc @jpsim @mrackwitz