xcode.plugin.zsh 1.74 KB
Newer Older
1
2
#xc function courtesy of http://gist.github.com/subdigital/5420709
function xc {
3
4
  local xcode_proj
  xcode_proj=(*.{xcworkspace,xcodeproj}(N))
5

6
  if [[ ${#xcode_proj} -eq 0 ]]; then
7
    echo "No xcworkspace/xcodeproj file found in the current directory."
8
    return 1
9
  else
10
11
    echo "Found ${xcode_proj[1]}"
    open "${xcode_proj[1]}"
12
13
14
  fi
}

15
alias xcsel='sudo xcode-select --switch'
16
17
alias xcb='xcodebuild'
alias xcp='xcode-select --print-path'
18
alias xcdd='rm -rf ~/Library/Developer/Xcode/DerivedData/*'
19

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

# "XCode-SELect by Version" - select Xcode by just version number
# Uses naming convention:
#  - different versions of Xcode are named Xcode-<version>.app or stored
#     in a folder named Xcode-<version>
#  - the special version name "-" refers to the "default" Xcode.app with no suffix
function xcselv {
  emulate -L zsh
  local version=$1
  local apps_dirs apps_dir apps app
  apps_dirs=( $HOME/Applications /Applications )
  for apps_dir ($apps_dirs); do
    if [[ $version == "-" ]]; then
      apps=( $apps_dir/Xcode.app $apps_dir/Xcode/Xcode.app )
    else
      apps=( $apps_dir/Xcode-$version.app $apps_dir/Xcode-$version/Xcode.app )
    fi
    for app ($apps); do
      if [[ -e "$app" ]]; then
        echo "selecting Xcode $version: $app"
        xcsel "$app"
        return
      fi
    done
  done
  echo "xcselv: Xcode version $version not found"
  return 1
}

49
50
51
52
53
54
55
56
57
58
59
60
function simulator {
  local devfolder
  devfolder="$(xcode-select -p)"

  # Xcode ≤ 5.x
  if [[ -d "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app" ]]; then
    open "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app"
  # Xcode ≥ 6.x
  else
    open "${devfolder}/Applications/iOS Simulator.app"
  fi
}