AutorÃa | Ultima modificación | Ver Log |
#!/bin/sh# Copyright 2019 Google## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.## run## This script is meant to be run as a Run Script in the "Build Phases" section# of your Xcode project. It sends debug symbols to symbolicate stacktraces,# sends build events to track versions, and onboards apps for Crashlytics.## This script calls upload-symbols twice:## 1) First it calls upload-symbols synchronously in "validation" mode. If the# script finds issues with the build environment, it will report errors to Xcode.# In validation mode it exits before doing any time consuming work.## 2) Then it calls upload-symbols in the background to actually send the build# event and upload symbols. It does this in the background so that it doesn't# slow down your builds. If an error happens here, you won't see it in Xcode.## You can find the output for the background execution in Console.app, by# searching for "upload-symbols".## If you want verbose output, you can pass the --debug flag to this script## Figure out where we're being called fromDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )# Build up the arguments list, passing through any flags added, and quoting# every argument in case there are spaces in any of the the paths.ARGUMENTS=''for i in "$@"; doARGUMENTS="$ARGUMENTS \"$i\""doneVALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate"UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase"# Quote the path to handle folders with special charactersCOMMAND_PATH="\"$DIR/upload-symbols\" "# Ensure params are as expected, run in sync mode to validate,# and cause a build error if validation failseval $COMMAND_PATH$VALIDATE_ARGUMENTSreturn_code=$?if [[ $return_code != 0 ]]; thenexit $return_codefi# Verification passed, convert and upload dSYMs in the background to prevent# build delays## Note: Validation is performed again at this step before upload## Note: Output can still be found in Console.app, by searching for# "upload-symbols"#eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 &