Xcode预操作运行python脚本环境变量没有正确设置$ {PROJECT_DIR}

时间:2014-11-11 22:34:37

标签: python xcode

我正在尝试在Build Pre-actions中运行Xcode中的python脚本:

screenshot

#! /usr/bin/env python
import shutil
import os

app_name = 'name'

def skinfunction(root_src_dir, root_dst_dir):
    for src_dir, dirs, files in os.walk(root_src_dir):
        print(str(files))
        dst_dir = src_dir.replace(root_src_dir, root_dst_dir)
        if not os.path.exists(dst_dir):
            os.mkdir(dst_dir)
        for file_ in files:
            src_file = os.path.join(src_dir, file_)
            dst_file = os.path.join(dst_dir, file_)
            if os.path.exists(dst_file):
                os.remove(dst_file)
            shutil.copy(src_file, dst_dir)
root_src_dir = '${PROJECT_DIR}/skins/'+str(app_name)+'/authorize_bg.imageset'
root_dst_dir = '${PROJECT_DIR}/iDetail/Images.xcassets/authorize_bg.imageset'
skinfunction(root_src_dir,root_dst_dir);

接近脚本的结尾我正在尝试获取PROJECT_DIR Xcode环境变量,但它无法正常工作。值无效或格式化已关闭。

如果我硬编码PROJECT_DIR值(项目所在的完整URL)并且脚本成功运行。

我在尝试获取环境变量时遗漏了一些东西。

1 个答案:

答案 0 :(得分:2)

好的,我想通了,而不是试图通过使用$ {PROJECT_DIR}直接获取环境变量,你需要调用os.getenv()函数。我可以通过调用:

来获取环境变量
proj_dir = os.getenv('PROJECT_DIR')