在Travis CI上,iOS应用程序代码是如何签名并上传到Apple TestFlight的?

在Travis CI上,iOS应用程序代码是如何签名并上传到Apple TestFlight的?,ios,app-store-connect,travis-ci,testflight,Ios,App Store Connect,Travis Ci,Testflight,我一直试图将Travis CI设置为构建服务器,但在对应用程序进行代码签名和将其上载到TestFlight时遇到了问题 主要问题是上传到Apple TestFlight。我可以在testflightapp.com上找到很多关于如何上传到旧版本testflightapp.com的在线指南,但我还不知道如何上传到iTunes Connect 我试图使用altool命令: altool --upload-app -f "$OUTPUTDIR/$APP_NAME.ipa" -u '$ITUNES_CON

我一直试图将Travis CI设置为构建服务器,但在对应用程序进行代码签名和将其上载到TestFlight时遇到了问题

主要问题是上传到Apple TestFlight。我可以在testflightapp.com上找到很多关于如何上传到旧版本testflightapp.com的在线指南,但我还不知道如何上传到iTunes Connect

我试图使用
altool
命令:

altool --upload-app -f "$OUTPUTDIR/$APP_NAME.ipa" -u '$ITUNES_CONNECT_USERNAME' -p '$ITUNES_CONNECT_PASSWORD'
但在Travis CI上,它不起作用:
altool:未找到命令

-

我主要使用了以下教程来达到这一目的:和

这是一个有用的官方页面:

-

这是我的项目设置:

.travis.yml文件:

language: objective-c
osx_image: xcode7.1
xcode_workspace: XXXXXXX.xcworkspace
xcode_scheme: XXXXXXX
env:
  global:
  - APP_NAME="XXXXXX"
  - DEVELOPER_NAME="iPhone Distribution: XXXXXXX (XXXXXXX)"
  - PROFILE_NAME="XXXXXXXXXXXXX"
  - ITUNES_CONNECT_USERNAME="XXXXXX@XXXXXX.com"
  - secure: XXXXXXXXXXXXXXXXXXXXXX
before_script:
- ./scripts/add-key.sh
- ./scripts/update-bundle.sh
script:
- xctool -workspace XXXXXXX.xcworkspace -scheme XXXXXXX -sdk iphoneos -configuration
  Release OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY=""
  CODE_SIGNING_REQUIRED=NO
after_success:
- ./scripts/sign-and-upload.sh
after_script:
- ./scripts/remove-key.sh
请注意,build命令末尾的
code\u SIGN\u IDENTITY=”“code\u SIGNING\u REQUIRED=NO
,因为否则应用程序无法生成(有关详细信息和更多信息,请参阅)。这可能是下面描述的代码签名问题的原因

添加key.sh、签名并上传.sh删除key.sh脚本基本上是直接从

除了这一行被添加到签名和上传的末尾之外。sh:

altool --upload-app -f "$OUTPUTDIR/$APP_NAME.ipa" -u '$ITUNES_CONNECT_USERNAME' -p '$ITUNES_CONNECT_PASSWORD'
-

应用程序将生成,但这是结尾处签名并上载.sh脚本的输出:

env SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication /Users/travis/build/XXXXXX/ios/build/Release-iphoneos/XXXXXXX.app -o /Users/travis/build/XXXXXX/ios/build/Release-iphoneos/XXXXXXX.ipa -sign iPhone\ Distribution\=XXXXXXXXXXXX -embed /Users/travis/Library/MobileDevice/Provisioning\ Profiles/XXXXXXXXXXX.mobileprovision
error: Failed to read entitlements from '/var/folders/my/XXXXXXXXXXXXXXXXXXX/X/XXXXXXXXX/Payload/Kimono.app'
./scripts/sign-and-upload.sh: line 20: altool: command not found
-

如果您对如何在Travis CI上运行iOS应用程序,或者如何通过命令行将构建提交给TestFlight有任何线索,我将永远感激您


谢谢。

在我的机器上,我的路径中没有
altool
,但是
xcrun altool
可以工作。也许试试看