新建存档的 xcodebuild 存档路径
xcodebuild archive path of newly created archive
当我使用 xcodebuild archive
从命令行归档时,如何获取新创建的归档文件的路径?我想继续使用 -exportArchive
命令来创建临时分发。
我知道我可以定义一个 -archivePath
,但是如果我那样做,Organizer 就不知道这个存档在哪里,所以这不好。
想法?
您可以简单地创建一个变量来保存您要生成的存档的路径。然后当你想导出时使用相同的路径
$ARCHIVE_PATH="<path_of_your_archive>" # can be something like "build/app_name.xcarchive"
# ARCHIVING
xcodebuild archive \
-workspace "${APP_NAME}.xcworkspace" \
-configuration $CONFIGUATION \
-scheme $SCHEME \
-archivePath $ARCHIVE_PATH
# EXPORTING
xcodebuild -exportArchive \
-archivePath $ARCHIVE_PATH \
-exportPath $OUTPUT_DIRECTORY \
-exportOptionsPlist exportPlist.plist
希望这对您有所帮助!
假设您的机器上有一个标准的存档路径,我使用这个 python 代码来获取构建的当前存档路径。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import datetime
class Xcodebuild:
@staticmethod
def current_archive_path():
# The default archives path is as follows
#
# /Users/<USER>/Library/Developer/Xcode/Archives/<YYYY>-<MM>-<DD>
#
home = os.path.expanduser("~")
archives_path = os.path.join(home, "Library/Developer/Xcode/Archives")
if not os.path.isdir(archives_path):
exit("error: Xcode archives directory not found at {}".format(archives_path))
dirname = str(datetime.date.today())
archive_path = os.path.join(archives_path, dirname)
if not os.path.exists(archive_path):
os.makedirs(archive_path)
return archive_path
$ARCHIVE_PATH
变量仅在存档 post-actions 脚本中可用
编辑:
$ARCHIVE_PATH
returns 一种不考虑日期、时间或重复后缀的通用路径。
改用$ARCHIVE_PRODUCTS_PATH
。或者实际上 REAL_ARCHIVE_PATH=$(dirname ${ARCHIVE_PRODUCTS_PATH})
.
当我使用 xcodebuild archive
从命令行归档时,如何获取新创建的归档文件的路径?我想继续使用 -exportArchive
命令来创建临时分发。
我知道我可以定义一个 -archivePath
,但是如果我那样做,Organizer 就不知道这个存档在哪里,所以这不好。
想法?
您可以简单地创建一个变量来保存您要生成的存档的路径。然后当你想导出时使用相同的路径
$ARCHIVE_PATH="<path_of_your_archive>" # can be something like "build/app_name.xcarchive"
# ARCHIVING
xcodebuild archive \
-workspace "${APP_NAME}.xcworkspace" \
-configuration $CONFIGUATION \
-scheme $SCHEME \
-archivePath $ARCHIVE_PATH
# EXPORTING
xcodebuild -exportArchive \
-archivePath $ARCHIVE_PATH \
-exportPath $OUTPUT_DIRECTORY \
-exportOptionsPlist exportPlist.plist
希望这对您有所帮助!
假设您的机器上有一个标准的存档路径,我使用这个 python 代码来获取构建的当前存档路径。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import datetime
class Xcodebuild:
@staticmethod
def current_archive_path():
# The default archives path is as follows
#
# /Users/<USER>/Library/Developer/Xcode/Archives/<YYYY>-<MM>-<DD>
#
home = os.path.expanduser("~")
archives_path = os.path.join(home, "Library/Developer/Xcode/Archives")
if not os.path.isdir(archives_path):
exit("error: Xcode archives directory not found at {}".format(archives_path))
dirname = str(datetime.date.today())
archive_path = os.path.join(archives_path, dirname)
if not os.path.exists(archive_path):
os.makedirs(archive_path)
return archive_path
$ARCHIVE_PATH
变量仅在存档 post-actions 脚本中可用
编辑:
$ARCHIVE_PATH
returns 一种不考虑日期、时间或重复后缀的通用路径。
改用$ARCHIVE_PRODUCTS_PATH
。或者实际上 REAL_ARCHIVE_PATH=$(dirname ${ARCHIVE_PRODUCTS_PATH})
.