这真的让我很头疼,我所要做的只是使用Xcode命令行工具构建Xcode CLI。
流程如下:
- 应用程序代码从Git克隆
- 信息Plist和我自己的自定义Plist被生成并复制到项目文件夹
- 一个新的应用程序图标集复制到assets目录中
- Xcode Archive构建已执行
- Xcode生成IPA生成已执行
问题是Archive部分一直失败,我无法使其正常工作。令人烦恼的是,如果我在Xcode中打开项目并将其存档,它会很好地工作,但这违背了这个自动化过程的意义。
这是命令xcodebuild -verbose -scheme EpicHRV1.1.0 -archivePath ios/app.xcarchive archive
这是常数的结果误差。我真的不明白它在抱怨什么,我的意思是,它说这与Alamofire和缺少的模块有关,但为什么这在Xcode中有效,而在命令行中无效?
Command failed: xcodebuild -verbose -scheme EpicHRV1.1.0 -archivePath ios/app.xcarchive archive
2017-01-07 20:24:04.255 xcodebuild[43780:2460638] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-11754/DVTFoundation/Utilities/DVTFileSystemUtilities.mm:142
Details: lstat('/Users/Justin/Library/Developer/Xcode/DerivedData/EpicHR-dgdtmzwowkyxgkfzmizhuhiaxkrt/Build/Intermediates/ArchiveIntermediates/EpicHRV1.1.0/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Alamofire.framework/Modules') failed with errno 2 (No such file or directory)
Function: DVTRecursiveMkdirResult dvt_recursiveMkdir_returningErrorString(NSString *__strong, NSString *__autoreleasing *)
Thread: <NSThread: 0x7f90e8ae7cf0>{number = 7, name = (null)}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
** ARCHIVE FAILED **
这是另一个可爱的错误,也是随机出现的,但不是每次。。。
The following build commands failed:
SymLink /Users/Justin/Library/Developer/Xcode/DerivedData/EpicHR-dgdtmzwowkyxgkfzmizhuhiaxkrt/Build/Intermediates/ArchiveIntermediates/EpicHRV1.1.0/BuildProductsPath/Release-iphoneos/Alamofire.framework /Users/Justin/Library/Developer/Xcode/DerivedData/EpicHR-dgdtmzwowkyxgkfzmizhuhiaxkrt/Build/Intermediates/ArchiveIntermediates/EpicHRV1.1.0/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Alamofire.framework
有时还会出现另一个错误。对于以上所有内容,唯一一致的是错误中提到了Alamofire。。
The following build commands failed:
Strip /Users/Justin/Library/Developer/Xcode/DerivedData/EpicHR-dgdtmzwowkyxgkfzmizhuhiaxkrt/Build/Intermediates/ArchiveIntermediates/EpicHRV1.1.0/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Alamofire.framework/Alamofire
所以我用以下命令解决了这个问题:
xcodebuild -scheme EpicHRV1.1.0 -archivePath ../ios/app.xcarchive archive
xcrun xcodebuild -exportArchive -exportOptionsPlist exportPlist.plist -archivePath ../ios/app.xcarchive -exportPath ../ios/ipa/