根据项目环境变量 XCODE_VERSION 选择对应版本的xcodebuild命令 :return: 将项目对应版本的xcodebuild路径加载到path环境变量最前面
()
| 21 | class XcodeSwitch(object): |
| 22 | @staticmethod |
| 23 | def set_xcodebuild_version(): |
| 24 | """ |
| 25 | 根据项目环境变量 XCODE_VERSION 选择对应版本的xcodebuild命令 |
| 26 | :return: 将项目对应版本的xcodebuild路径加载到path环境变量最前面 |
| 27 | """ |
| 28 | xcode_version = os.environ.get('XCODE_VERSION', None) |
| 29 | if xcode_version: |
| 30 | xcode_path = "/Applications/Xcode_%s.app/Contents/Developer/usr/bin" % xcode_version |
| 31 | if os.path.exists(xcode_path): |
| 32 | path_env = os.environ["PATH"] |
| 33 | os.environ["PATH"] = os.pathsep.join([xcode_path, path_env]) |
| 34 | # logger.info(">>> PATH: %s" % os.environ.get("PATH")) |
| 35 | else: |
| 36 | logger.info("Xcode版本(%s)不存在,将使用系统默认的Xcode版本.", xcode_path) |
| 37 | # 查看当前使用的xcode版本 |
| 38 | logger.info("查看当前使用的Xcode版本...") |
| 39 | SubProcController(command=["xcodebuild", "-version"], |
| 40 | stdout_line_callback=subprocc_log, |
| 41 | stderr_line_callback=subprocc_log, |
| 42 | stdout_filepath=None, |
| 43 | stderr_filepath=None).wait() |
| 44 | logger.info("如果Xcode版本与项目不匹配,请在CodeDog项目配置中设置XCODE_VERSION环境变量,如 XCODE_VERSION=10.1") |