blob: ff76006dcfaad17628fd53f1adb556e7e0e7181b [file] [log] [blame]
#!/bin/bash
###############################################################################
# Copyright 2015 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
###############################################################################
#
# ios_setup_idevicefs.sh: defines functions used by other iOS scripts.
if [ -z "$IOS_BUNDLE_ID" ]; then
echo "Please set the IOS_BUNDLE_ID variable."
exit 1
fi
# Location on the ios device where all data are stored. This is
# relative to the mount point.
IOS_DOCS_DIR="@${IOS_BUNDLE_ID}/Documents"
ios_rm() {
local TARGET="$IOS_DOCS_DIR/$1"
idevicefs rm -Rfd "$TARGET"
}
ios_mkdir() {
local TARGET="$IOS_DOCS_DIR/$1"
cpy="$(mktemp -d)"
idevicefs push "$cpy" "$TARGET"
rm -rf "$cpy"
}
ios_cat() {
ios_pull "$1" /dev/stdout
}
# ios_restart: restarts the iOS device.
ios_restart() {
idevicediagnostics restart
}
# ios_pull(ios_src, host_dst): Copies the content of ios_src to host_dst.
# The path is relative to the 'Documents' folder on the device.
ios_pull() {
# read input params
local IOS_SRC="$IOS_DOCS_DIR/$1"
local HOST_DST="$2"
idevicefs pull "$IOS_SRC" "$HOST_DST"
}
# ios_push(host_src, ios_dst)
ios_push() {
# read input params
local HOST_SRC="$1"
local IOS_DST="$IOS_DOCS_DIR/$2"
dir="$(dirname $2)"
ios_path_exists "$dir" || ios_mkdir "$dir"
idevicefs push "$HOST_SRC" "$IOS_DST"
}
ios_path_exists() {
local TARGET_PATH="$IOS_DOCS_DIR/$1"
idevicefs ls "$TARGET_PATH" > /dev/null
return $?
}