在通过命令行 xcodebuild 调用后分发 .app 文件。
在通过命令行 xcodebuild 调用后分发 .app 文件。
我正在使用命令行调用(如下)构建/存档我的Mac应用程序,已安装Xcode 4.3。需要明确的是,在Xcode 4.3之前,我对这个问题没有有效的解决方案,因此早期Xcode版本的建议可能仍然有效。以下是调用的命令:
/usr/bin/xcodebuild -project "项目路径/项目.pbxproj" -scheme "项目" -sdk macosx10.7 archive
这个命令成功运行,并生成一个位于~/Library/Developer/Xcode/Archives/日期
文件夹中的.xcarchive
文件。获取生成的存档文件的路径的正确方法是什么?我正在寻找一种获取其中包含的.app
文件路径的方法,以便我可以进行分发。
我查看了xcodebuild
的MAN页面(并在网上进行了大量搜索),但没有找到任何线索。
问题的出现的原因是在使用Xcode进行构建时,想要在命令行中调用xcodebuild命令后,分发.app文件。解决方法是使用环境变量来获取构建过程中生成的路径信息,并将其写入文本文件中。然后,在构建脚本中解析这些值,并获取存档的路径和应用程序包的路径。
首先,在构建方案的归档阶段设置一个后续操作,调用一个Python脚本,将要提取的环境变量的名称和文本文件的路径传递给它。脚本将这些环境变量写入一个以"key = value"形式的文本文件。
然后,在构建脚本中解析这些值,可以获取到存档的路径和其中的应用程序包路径。
这是我解决问题的方式,可以很容易地适应其他脚本环境。根据我的限制条件,这是有意义的:我希望项目中尽可能少的代码,我更喜欢使用Python脚本而不是Bash,并且这个脚本在其他项目和其他用途中可以轻松重用。
问题原因:在使用命令行调用xcodebuild时,希望在完成编译后能够获取到.app文件,但是却没有找到获取.app文件的正确方法。
解决方法:
1. 首先,通过在编译时指定archivePath参数来指定要存档的路径和名称:
xcodebuild -archivePath GoTray -scheme GoTray archive
这样,将会在当前目录下得到一个名为GoTray.xcarchive的文件。
2. 然后,再次运行xcodebuild命令,从xcarchive文件中导出.app文件:
xcodebuild -exportArchive -exportFormat APP -archivePath GoTray.xcarchive -exportPath GoTray
这样,将会从GoTray.xcarchive文件中导出GoTray.app文件,并存放在当前目录下。
通过以上步骤,即可解决获取.app文件的问题。
将Xcode项目导出为.app文件是开发者在iOS开发中常见的任务之一。在使用命令行工具xcodebuild调用后,开发者可能需要将生成的.app文件分发给其他人使用。然而,有时候出现了一些问题,导致无法找到生成的.app文件或者无法正确分发。本文将分析这个问题的原因以及解决方法。
首先,这个问题的原因可能是由于开发者没有正确设置导出路径。在使用xcodebuild命令行工具时,开发者需要通过指定导出路径来告诉Xcode应该将生成的.app文件存储在哪里。如果开发者没有正确设置导出路径,那么生成的.app文件可能会被存储在不可预测的位置,导致无法找到它。
解决这个问题的方法是在使用xcodebuild命令时,通过添加-exportPath参数来指定导出路径。例如,以下命令将生成的.app文件存储在指定的路径中:
xcodebuild -exportArchive -archivePath /path/to/archive.xcarchive -exportOptionsPlist /path/to/exportOptions.plist -exportPath /path/to/exported/app
通过指定正确的导出路径,开发者可以确保生成的.app文件被正确地存储在指定的位置。
除了导出路径的设置,另一个可能导致问题的原因是无法正确地找到生成的.app文件。这可能是因为开发者没有使用正确的方法来获取最新生成的.app文件。在命令行中,开发者可以使用一些shell脚本来获取最新生成的.app文件。
以下是一个示例脚本,用于获取最新生成的.app文件:
#!/bin/bash # 获取最新的.archive文件夹 latest_folder=$(ls -td /path/to/Archives/* | head -n 1) # 获取最新的.archive文件夹中的.app文件 latest_app=$(ls -td $latest_folder/*.app | head -n 1) # 分发最新的.app文件 cp -R $latest_app /path/to/distribute/app
通过使用这个脚本,开发者可以获取最新生成的.app文件,并将其复制到指定的分发路径中。
开发者在使用xcodebuild命令行工具导出.app文件时,可能会遇到无法找到生成的.app文件或无法正确分发的问题。这些问题的原因可能是由于没有正确设置导出路径或者没有使用正确的方法来获取最新生成的.app文件。通过正确设置导出路径并使用适当的shell脚本,开发者可以解决这些问题,并成功地分发.app文件。