由于Alamofire的SymLink错误,xcodebuild无法创建存档



这真的让我很头疼,我所要做的只是使用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/

最新更新