我正在尝试在Build Pre-actions中运行Xcode中的python脚本:
#! /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)并且脚本成功运行。
我在尝试获取环境变量时遗漏了一些东西。
答案 0 :(得分:2)
好的,我想通了,而不是试图通过使用$ {PROJECT_DIR}直接获取环境变量,你需要调用os.getenv()函数。我可以通过调用:
来获取环境变量proj_dir = os.getenv('PROJECT_DIR')