这真的让我很烦恼,我想做的就是使用 Xcode 命令行工具构建 Xcode CLI。
流程如下:
- 应用代码是从 Git 克隆的
- 生成 Info Plist 和我自己的自定义 plist 并将其复制到项目文件夹
- 复制到 Assets 目录中的新应用图标集
- Xcode Archive 构建已执行
- Xcode 生成 IPA 构建已执行
问题是存档部分一直失败,我无法让它工作。令人烦恼的是,如果我在 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/
关于iphone - 由于 Alamofire 的符号链接(symbolic link)错误,xcodebuild 无法创建存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41526214/