# Upload IPA with Application Loader from terminal

**URL:** <https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150>\
**Category:** iOS\
**Tags:** testflight, ios\
**Created:** [May 22, 2018, 2:50pm UTC](https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150 "2018-05-22T14:50:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![BirmacherAkos](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/birmacherakos/32/1319_2.png) [@BirmacherAkos](https://discuss.bitrise.io/u/BirmacherAkos)\
**Post date:** [May 22, 2018, 2:50pm UTC](https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150/1 "2018-05-22T14:50:15Z")

</div>

If you want to upload your IPA to iTunes Connect you can use the [Deploy to iTunes Connect (with deliver)](https://github.com/bitrise-io/steps-deploy-to-itunesconnect-deliver) step for that.

However, there are some cases when you won’t be able to use this step:

1. You can’t use it if you only have a Developer role on iTunes Connect.
2. And right now, there is an issue if you have two-factor authentication enabled on your Apple Developer account.

---

<div class="post-metadata">

**Author:** ![BirmacherAkos](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/birmacherakos/32/1319_2.png) [@BirmacherAkos](https://discuss.bitrise.io/u/BirmacherAkos)\
**Post date:** [May 22, 2018, 2:50pm UTC](https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150/2 "2018-05-22T14:50:42Z")

</div>

As an alternative, you can upload your IPA to TestFlight with the Application Loader from terminal.

- It will not upload any metadata to iTunes Connect only the binary, and as a result it will work with a Developer role too.
- And it’s working with two-factor authentication enabled as well:

1. Just change the “Deploy to iTunes Connect” step to a “Script” step with this input:

```auto
#!/usr/bin/env bash
set -e
set -x

/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool --upload-app -f "$BITRISE_IPA_PATH" -u "$LOADER_USER_NAME" -p "$LOADER_PASSWORD"

```

1. Create a secret for $LOADER\_USER\_NAME and for $LOADER\_PASSWORD with your iTunes Connect username and password.

---

<div class="post-metadata">

**Author:** ![BirmacherAkos](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/birmacherakos/32/1319_2.png) [@BirmacherAkos](https://discuss.bitrise.io/u/BirmacherAkos)\
**Post date:** [May 22, 2018, 2:51pm UTC](https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150/3 "2018-05-22T14:51:14Z")

</div>

If you have two-factor authentication enabled on your Apple Developer account:

1. You need to generate an app-specific password for this step (you will use this instead of your regular password):  
[https://appleid.apple.com/account/manage](https://appleid.apple.com/account/manage)  
Under Security, you can generate an “APP-SPECIFIC PASSWORD”.

2. Use this generated app-specific password instead of your regular password in the secret env called $LOADER\_PASSWORD.

---

<div class="post-metadata">

**Author:** ![elvislopes](https://avatars.discourse-cdn.com/v4/letter/e/4da419/32.png) [@elvislopes](https://discuss.bitrise.io/u/elvislopes)\
**Post date:** [July 7, 2020, 2:01pm UTC](https://discuss.bitrise.io/t/upload-ipa-with-application-loader-from-terminal/5150/4 "2020-07-07T14:01:23Z")

</div>

thanks, you helped me. :sorrindo:
