【问题标题】:What `xcodebuild` commands are executed when I run Product -> Archive in Xcode?当我在 Xcode 中运行 Product -> Archive 时会执行哪些 `xcodebuild` 命令?
【发布时间】:2020-05-25 16:05:37
【问题描述】:

我正在尝试从命令行而不是通过 Xcode 构建一个 IOS 应用程序,这是一场艰苦的斗争。通过转到 Product -> Archive,我的项目在 Xcode 中构建良好,但是当我尝试在终端中使用 xcodebuild 做我认为相同的事情时,由于缺少一些头文件而失败。

当我点击存档时,我如何知道实际发生了什么?

或者,如果有人能发现我的错误在哪里,我认为应该起作用的命令是:

xcodebuild -workspace MyApp.xcworkspace -scheme MyApp -configuration Beta -destination 'generic/platform=iOS' -archivePath <path to xcarchive file> archive

【问题讨论】:

  • 得到过有效的解决方案吗?

标签: xcode xcodebuild


【解决方案1】:

您好,我有一个猜测,因为我找不到实际的文档。我有一个小脚本,可以使用我的私钥直接在 App Store 上进行部署。 如果有帮助,我将与您分享,请您接受答案。

#clean and build
xcodebuild -workspace ./my-app.xcworkspace/ -scheme my-app -sdk iphonesimulator12.0 clean # analyze
xcodebuild -workspace ./my-app.xcworkspace/ -scheme my-app -destination generic/platform=iOS build

#archive
xcodebuild -workspace ./my-app.xcworkspace/ -scheme my-app -sdk iphoneos -configuration AppStoreDistribution archive -archivePath $PWD/build/my-app.xcarchive

# create build ipa
xcodebuild -exportArchive -archivePath $PWD/build/my-app.xcarchive -exportOptionsPlist exportOptions.plist -exportPath $PWD/build

# /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool
# upload app for testflight
export USERNAME=myusername
export PASSWORD=mypassword
# password is generated at appleid.apple.com
cd build
altool --upload-app -f "my-app.ipa" -u $USERNAME -p $PASSWORD

参考文献

  1. How do I determine the target architecture of static library (.a) on Mac OS X?
  2. https://github.com/fastlane/fastlane/issues/13401

  3. https://medium.com/xcblog/xcodebuild-deploy-ios-app-from-command-line-c6defff0d8b8

您提到您的应用程序因头文件而失败,我建议您检查一下,因为它有时会让人感到痛苦。顺便说一句,我的应用程序也有一些本机标头。

【讨论】:

  • 感谢您的全面回答,这真的很有用!不幸的是,您的存档命令版本也不起作用,但我会查看您发布的链接。
猜你喜欢
  • 2011-07-21
  • 1970-01-01
  • 2020-05-15
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多