python_subprocess_xcode

用python3下的subprocess库来操纵xcode命令行的演示:

# 清理 - clean
import subprocess
cmd = 'xcodebuild clean -project /Users/sdf/Documents/lzh/projects/xcode/commandline/Unity-iPhone.xcodeproj -scheme Unity-iPhone'
cmdpath = None
process = subprocess.Popen(cmd, shell=True, cwd=cmdpath)
process.wait()
result = process.returncode
print(result)

# 归档 - archive
import subprocess
cmd = 'xcodebuild archive -project /Users/sdf/Documents/lzh/projects/xcode/commandline/Unity-iPhone.xcodeproj -scheme Unity-iPhone -archivePath /Users/sdf/Documents/lzh/projects/xcarchive/commandline/Unity-iPhone.xcarchive -configuration Release'
cmdpapth = None
process = subprocess.Popen(cmd, shell=True, cwd=cmdpapth, stdin=subprocess.PIPE,stdout=subprocess.PIPE)
# process.wait()
# result = process.returncode
# print(result)
# lines = process.stderr.readlines()
# for line in lines:
#     print(line.decode('utf-8'))
while subprocess.Popen.poll(process)==None:
    log = process.stdout.readline().decode("utf-8")
    print(log)
result = process.returncode
print(result)


# 导出 - export
import subprocess
cmd = 'xcodebuild -exportArchive -archivePath /Users/sdf/Documents/lzh/projects/xcarchive/commandline/Unity-iPhone.xcarchive -exportOptionsPlist /Users/sdf/Documents/lzh/projects/xcarchive/commandline/Unity-iPhone.xcarchive/Info.plist  -exportPath /Users/sdf/Documents/lzh/projects/ipa/'
cmdpath = None
process = subprocess.Popen(cmd, shell=True, cwd=cmdpath, stderr=subprocess.PIPE, stdin=subprocess.PIPE,stdout=subprocess.PIPE)
# process.wait()
# result = process.returncode
# print(result)
# lines = process.stderr.readlines()
# for line in lines:
#     print(line.decode('utf-8'))
while subprocess.Popen.poll(process)==None:
    log = process.stdout.readline().decode("utf-8")
    print(log)
    # log = process.stderr.readline().decode("utf-8")
    # print(log)
result = process.returncode
print(result)


# 清除 - archive
import subprocess
cmd = 'rm -r /Users/sdf/Documents/lzh/projects/xcarchive/commandline/Unity-iPhone.xcarchive'
cmdpath = None
process = subprocess.Popen(cmd, shell=True, cwd=cmdpath, stderr=subprocess.PIPE, stdin=subprocess.PIPE,stdout=subprocess.PIPE)
process.wait()
result = process.returncode
print(result)

猜你喜欢

转载自blog.csdn.net/anyuanlzh/article/details/78853666